๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (355)

DATA101

[Deep Learning] ์ตœ์ ํ™”(Optimizer): (2) AdaGrad

๐Ÿ“š ๋ชฉ์ฐจ 1. ๊ฐœ๋… 2. ์žฅ์  3. ๋‹จ์  1. ๊ฐœ๋… AdaGrad๋Š” ๋”ฅ๋Ÿฌ๋‹ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ์จ Adaptive Gradient์˜ ์•ฝ์ž์ด๊ณ , ์ ์‘์  ๊ธฐ์šธ๊ธฐ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. Feature๋งˆ๋‹ค ์ค‘์š”๋„, ํฌ๊ธฐ ๋“ฑ์ด ์ œ๊ฐ๊ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  Feature๋งˆ๋‹ค ๋™์ผํ•œ ํ•™์Šต๋ฅ ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€์ ์—์„œ AdaGrad ๊ธฐ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AdaGrad๋Š” Feature๋ณ„๋กœ ํ•™์Šต๋ฅ (Learning rate)์„ Adaptiveํ•˜๊ฒŒ, ์ฆ‰ ๋‹ค๋ฅด๊ฒŒ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. AdaGrad๋ฅผ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. $$ g_{t} = g_{t-1} + (\nabla f(x_{t-1}))^{2} $$ $$ x_{t} = x_{t-1} - \frac{\eta}{\sqrt{g_{t} + \epsi..

[Deep Learning] ์ตœ์ ํ™”(Optimizer): (1) Momentum

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋”ฅ๋Ÿฌ๋‹ ์ตœ์ ํ™”(optimizer) ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ Momentum์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๋จผ์ €, Momentum ๊ธฐ๋ฒ•์ด ์ œ์•ˆ๋œ ๋ฐฐ๊ฒฝ์ธ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)์˜ ํ•œ๊ณ„์ ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ  ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ“š ๋ชฉ์ฐจ1. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์˜ ํ•œ๊ณ„ 1.1. Local Minimum ๋ฌธ์ œ 1.2. Saddle Point ๋ฌธ์ œ2. Momentum 2.1. ๊ฐœ๋… 2.2. ์ˆ˜์‹1. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์˜ ํ•œ๊ณ„๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)์€ ํฌ๊ฒŒ 2๊ฐ€์ง€ ํ•œ๊ณ„์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, Local Minimum์— ๋น ์ง€๊ธฐ ์‰ฝ๋‹ค๋Š” ์ . ๋‘˜์งธ, ์•ˆ์žฅ์ (Saddle point)๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์ . ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.1.1. Local Minimum..

[Deep Learning] ์ตœ์ ํ™” ๊ฐœ๋…๊ณผ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)

๐Ÿ“š ๋ชฉ์ฐจ1. ์ตœ์ ํ™” ๊ฐœ๋… 2. ๊ธฐ์šธ๊ธฐ ๊ฐœ๋… 3. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• ๊ฐœ๋… 4. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์˜ ํ•œ๊ณ„1. ์ตœ์ ํ™” ๊ฐœ๋…๋”ฅ๋Ÿฌ๋‹ ๋ถ„์•ผ์—์„œ ์ตœ์ ํ™”(Optimization)๋ž€ ์†์‹ค ํ•จ์ˆ˜(Loss Function) ๊ฐ’์„ ์ตœ์†Œํ™”ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค(์•„๋ž˜ ๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ๊ฑฐ์ณ ์˜ˆ์ธก๊ฐ’(\(\hat{y}\))์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ์ •๋‹ต(\(y\))๊ณผ์˜ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์†์‹ค ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๊ฐ’๊ณผ ์‹ค์ ฏ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ(a.k.a., Feature)๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์ด ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. ์ตœ์ ํ™” ๊ธฐ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.2. ๊ธฐ์šธ๊ธฐ ๊ฐœ๋…..

[Deep Learning] ํ‰๊ท ์ ˆ๋Œ€์˜ค์ฐจ(MAE) ๊ฐœ๋… ๋ฐ ํŠน์ง•

๐Ÿ’ก ๋ชฉํ‘œ ํ‰๊ท ์ ˆ๋Œ€์˜ค์ฐจ(MAE)์˜ ๊ฐœ๋… ๋ฐ ํŠน์ง•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. 1. MAE ๊ฐœ๋… ํ‰๊ท ์ ˆ๋Œ€์˜ค์ฐจ(Mean Absolute Error, MAE)๋Š” ๋ชจ๋“  ์ ˆ๋Œ€ ์˜ค์ฐจ(Error)์˜ ํ‰๊ท ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์˜ค์ฐจ๋ž€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์˜ˆ์ธกํ•œ ๊ฐ’๊ณผ ์‹ค์ œ ์ •๋‹ต๊ณผ์˜ ์ฐจ์ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ •๋‹ต์„ ์ž˜ ๋งžํž์ˆ˜๋ก MSE ๊ฐ’์€ ์ž‘์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, MAE๊ฐ€ ์ž‘์„์ˆ˜๋ก ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MAE์˜ ์ˆ˜์‹์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. $$ E = \sum_{i}|y_{i} -\tilde{y_{i}}| $$ \(E\): ์†์‹ค ํ•จ์ˆ˜ \(y_i\): \(i\)๋ฒˆ์งธ ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ์ •๋‹ต \(\tilde{y_i}\): \(i\)๋ฒˆ์งธ ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ ์˜ˆ์ธกํ•œ ๊ฐ’ 2. MAE ํŠน์ง• 2.1. ์˜ค์ฐจ์™€ ๋น„๋ก€ํ•˜๋Š” ์†์‹ค ํ•จ์ˆ˜ MAE๋Š” ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ..

[BFS] ๋ฐฑ์ค€#16234: ์ธ๊ตฌ ์ด๋™/Python

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/16234 16234๋ฒˆ: ์ธ๊ตฌ ์ด๋™ N×Nํฌ๊ธฐ์˜ ๋•…์ด ์žˆ๊ณ , ๋•…์€ 1×1๊ฐœ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋•…์—๋Š” ๋‚˜๋ผ๊ฐ€ ํ•˜๋‚˜์”ฉ ์กด์žฌํ•˜๋ฉฐ, rํ–‰ c์—ด์— ์žˆ๋Š” ๋‚˜๋ผ์—๋Š” A[r][c]๋ช…์ด ์‚ด๊ณ  ์žˆ๋‹ค. ์ธ์ ‘ํ•œ ๋‚˜๋ผ ์‚ฌ์ด์—๋Š” ๊ตญ๊ฒฝ์„ ์ด ์กด์žฌํ•œ๋‹ค. ๋ชจ www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ(Queue) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œํ•ด๊ฒฐ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ตญ๊ฐ€๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ฐ๊ฐ ์ค‘์‹ฌ๊ตญ์œผ๋กœ ์„ ์ •ํ•˜๊ณ , ์ƒํ•˜์ขŒ์šฐ ๋ฐฉ๋ฉด์— ์—ฐํ•ฉ์ด ๊ฐ€๋Šฅํ•œ ์ธ์ ‘๊ตญ์ด ์žˆ๋Š”์ง€ ํƒ์ƒ‰ํ•˜๋‹ˆ๋‹ค. ๋งŒ์ผ ์—ฐํ•ฉ๊ตญ์ด ์„ฑ๋ฆฝ๋œ๋‹ค๋ฉด, ํ•ด๋‹น ์ธ์ ‘๊ตญ์„ ์ค‘์‹ฌ์œผ๋กœ ๋‹ค์‹œ ์ƒํ•˜์ขŒ์šฐ ๋ฐฉ๋ฉด์˜ ์ธ์ ‘๊ตญ๊ณผ ์—ฐํ•ฉ๊ตญ์ด ์„ฑ๋ฆฝ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ์ƒํ•˜์ขŒ์šฐ ๋ฐฉ๋ฉด์œผ๋กœ..

[Combination] ๋ฐฑ์ค€#14889: ์Šคํƒ€ํŠธ์™€ ๋งํฌ/Python ํ’€์ด

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/14889 14889๋ฒˆ: ์Šคํƒ€ํŠธ์™€ ๋งํฌ ์˜ˆ์ œ 2์˜ ๊ฒฝ์šฐ์— (1, 3, 6), (2, 4, 5)๋กœ ํŒ€์„ ๋‚˜๋ˆ„๋ฉด ๋˜๊ณ , ์˜ˆ์ œ 3์˜ ๊ฒฝ์šฐ์—๋Š” (1, 2, 4, 5), (3, 6, 7, 8)๋กœ ํŒ€์„ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค. www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ์กฐํ•ฉ(Combination)์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด 2ํŒ€์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํŒ€์„ ๊ตฌ์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋‚˜๋จธ์ง€ ํ•œ ํŒ€์˜ ํŒ€์›์€ ์ •ํ•ด์ง‘๋‹ˆ๋‹ค. ๋จผ์ €, ์ฝค๋น„๋„ค์ด์…˜์„ ํ™œ์šฉํ•˜์—ฌ ํ•œ ํŒ€์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ํŒ€ ๋‚ด \(i\), \(j\)๋ฒˆ์งธ ๊ตฌ์„ฑ์› ๊ฐ„์˜ ์‹œ๋„ˆ์ง€๋กœ ์ง์„ ์ด๋ฃจ์–ด ๋Šฅ๋ ฅ์น˜๋ฅผ ๋”ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. start ํŒ€๊ณผ link ํŒ€ ๊ฐ๊ฐ์˜ ๋Šฅ๋ ฅ์น˜ ํ•ฉ์˜ ์ฐจ๋ฅผ ์ ˆ๋Œ“๊ฐ’์œผ๋กœ ๋ฐ›๋Š” ๊ณผ..

[Combination] ๋ฐฑ์ค€#15686: ์น˜ํ‚จ ๋ฐฐ๋‹ฌ/Python ํ’€์ด

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/15686 15686๋ฒˆ: ์น˜ํ‚จ ๋ฐฐ๋‹ฌ ํฌ๊ธฐ๊ฐ€ N×N์ธ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ๋„์‹œ๋Š” 1×1ํฌ๊ธฐ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ๋„์‹œ์˜ ๊ฐ ์นธ์€ ๋นˆ ์นธ, ์น˜ํ‚จ์ง‘, ์ง‘ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋„์‹œ์˜ ์นธ์€ (r, c)์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , rํ–‰ c์—ด ๋˜๋Š” ์œ„์—์„œ๋ถ€ํ„ฐ r๋ฒˆ์งธ ์นธ www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ์กฐํ•ฉ(combination)์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์น˜ํ‚จ ์ง‘์˜ ํƒ์ƒ‰ ์ˆœ์„œ๊ฐ€ ์น˜ํ‚จ ์ง‘๊ณผ ๊ฐ€์ •์ง‘ ๊ฐ„ ๊ฑฐ๋ฆฌ ํ•ฉ์˜ ์ตœ์†Ÿ๊ฐ’์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ „์ฒด ์›์†Œ ์ค‘ \(N\)๊ฐœ ๋ฝ‘๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ์กฐํ•ฉ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ•ด๊ฒฐ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๊ฒŒ 3๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. 1๏ธโƒฃ \(M\)๊ฐœ์˜ ์น˜ํ‚จ ์ง‘ ์กฐํ•ฉ(combination) ๊ตฌํ•˜๊ธฐ 2๏ธโƒฃ ์ง‘๋งˆ๋‹ค ..

[BFS] ๋ฐฑ์ค€#13460: ๊ตฌ์Šฌ ํƒˆ์ถœ2/Python

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/13460 13460๋ฒˆ: ๊ตฌ์Šฌ ํƒˆ์ถœ 2 ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋ณด๋“œ์˜ ์„ธ๋กœ, ๊ฐ€๋กœ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋‘ ์ •์ˆ˜ N, M (3 ≤ N, M ≤ 10)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์— ๋ณด๋“œ์˜ ๋ชจ์–‘์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธธ์ด M์˜ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์€ '.', '#', 'O', 'R', 'B' www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ(Queue) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋นจ๊ฐ„ ๊ณต๊ณผ ํŒŒ๋ž€ ๊ณต์˜ ์ขŒํ‘œ ์ •๋ณด์™€ ๋ณด๋“œ๋ฅผ ๊ธฐ์šธ์ธ ํšŸ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณต์ด ์›€์ง์ผ ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ์ƒํ•˜์ขŒ์šฐ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๊ฒŒ ํ•˜๋ฉฐ, ๋ณด๋“œ๋ฅผ ๊ธฐ์šธ์ธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ณต์ด ๋ชจ๋‘ ์›€์ง์˜€๋‹ค๋ฉด ํ์— ๊ณต๋“ค์˜ ์ขŒํ‘œ์™€ ๊ธฐ..