optimizer, loss, metrics

Optimizer๋Š” ํ•™์Šต ์ง„ํ–‰์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์ค‘์น˜๋ฅผ ์–ด๋Š ์ •๋„๋กœ ์ด๋™ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.  Loss Function์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์—…๋ฐ์ดํŠธ๋ ๊ฑด์ง€ ์„ค์ •ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ตœ์ ํ™” ์‹œํ‚จ๋‹ค. ์˜ตํ‹ฐ๋งˆ์ด์ €์—๋Š” Adam, RMSprop, SGD ๋“ฑ์ด ์žˆ๋‹ค.

Loss Function์€ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ๊ฐ’๊ฐ„์˜ ์ฐจ์ด๋ฅผ ํ‘œํ˜„ํ•œ ์ˆ˜์‹์œผ๋กœ, ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ์˜ค์ฐจ๊ฐ’์ธ ํ”ผ๋“œ๋ฐฑ ์‹ ํ˜ธ๋ฅผ ์ •์˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ, ํ›ˆ๋ จ์„ ํ•˜๋Š” ๋™์•ˆ์— ์ตœ์†Œํ™”๊ฐ€ ๋  ๊ฐ’์„ ๋œปํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ฑ๊ณต์ง€ํ‘œ๋ผ๊ณ  ๋งํ•œ๋‹ค. ๋กœ์Šค์—๋Š” binary_crossentropy, categorical_crossentropy ๋“ฑ์ด ์žˆ๋‹ค.

Metrics๋Š” ์‹ค์ œ ํ™”๋ฉด์ƒ์— ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ตํ‹ฐ๋งˆ์ด์ €์™€ ์†์‹คํ•จ์ˆ˜์˜ ๊ด€๊ณ„

์‹ ๊ฒฝ๋ง์„ ํ†ตํ•ด ์˜ˆ์ธก๋œ ๊ฐ’๊ณผ ์‹ค์ œ ๋ ˆ์ด๋ธ” ๊ฐ’์˜ ์ฐจ์ด๋ฅผ loss function์„ ์‚ฌ์šฉํ•ด์„œ loss๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณ„์‚ฐ๋œ loss๋ฅผ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

Optimizer๋Š” ํ•™์Šต ์ง„ํ–‰์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์ค‘์น˜๋ฅผ ์–ด๋Š ์ •๋„๋กœ ์–ผ๋งŒํผ ์กฐ์ •ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.  Loss Function์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์—…๋ฐ์ดํŠธ๋ ๊ฑด์ง€ ์„ค์ •ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ตœ์ ํ™” ์‹œํ‚จ๋‹ค. ์˜ตํ‹ฐ๋งˆ์ด์ €์—๋Š” Adam, RMSprop, SGD ๋“ฑ์ด ์žˆ๋‹ค.

Loss Function์€ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ๊ฐ’๊ฐ„์˜ ์ฐจ์ด๋ฅผ ํ‘œํ˜„ํ•œ ์ˆ˜์‹์œผ๋กœ, ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ์˜ค์ฐจ๊ฐ’์ธ ํ”ผ๋“œ๋ฐฑ ์‹ ํ˜ธ๋ฅผ ์ •์˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ, ํ›ˆ๋ จ์„ ํ•˜๋Š” ๋™์•ˆ์— ์ตœ์†Œํ™”๊ฐ€ ๋  ๊ฐ’์„ ๋œปํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ฑ๊ณต์ง€ํ‘œ๋ผ๊ณ  ๋งํ•œ๋‹ค. ๋กœ์Šค์—๋Š” binary_crossentropy, categorical_crossentropy ๋“ฑ์ด ์žˆ๋‹ค.

 

์˜ค์ฐจ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•

์˜ค์ฐจ๋ฅผ ์ค„์ด๋ ค๋ฉด ์ „๋‹ฌํ•˜๋Š” ์‹ ํ˜ธ์˜ ์„ธ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ด์•ผํ•˜๊ณ , ๊ทธ๋Ÿฌ๋ ค๋จผ ๊ฐ ๋…ธ๋“œ๋ฅผ ์ž‡๋Š” ๊ฐ€์ค‘์น˜์˜ ๊ฐ’์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณ€๊ฒฝํ•ด์•ผํ•œ๋‹ค.  ์ฆ‰, ๊ฐ€์ค‘์น˜์˜ ๊ฐ’์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•๊ณผ ์˜ค์ฐจ ์—ญ์ „ํŒŒ๋ฒ•์ด ์žˆ๋‹ค.

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์ด๋ž€ ๊ธฐ์šธ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๊ธฐ์šธ๊ธฐ๋ฅผ ๋ณด๊ณ  ๊ธฐ์šธ๊ธฐ๊ฐ€ ์ค„์–ด๋“œ๋Š” ์ชฝ์œผ๋กœ ๊ฐ€์ค‘์น˜ ๊ฐ’์„ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์˜ ํ•ต์‹ฌ์€ ๋ฏธ๋ถ„์ด๋ฉฐ, ๊ฐ€์ค‘์น˜๋ฅผ ์–ด๋Š ์ •๋„๋กœ ์ด๋™ํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ด๋‹ค.

์˜ค์ฐจ ์—ญ์ „ํŒŒ๋ฒ•(Back Propagation)์€ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์˜ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ค‘์น˜๋ฅผ ์ฐจ๋ก€๋กœ ๋ณ€๊ฒฝํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๋’ค์—์„œ๋ถ€ํ„ฐ ์•ž์œผ๋กœ ๊ฐ’์„ ์ˆ˜์ •ํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋งˆ์ง€๋ง‰๋ถ€ํ„ฐ ์ฒ˜์Œ๊นŒ์ง€ ๋˜๋Œ์•„๊ฐ€๋ฉด์„œ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์„ ์ด์šฉํ•ด ๊ฐ๊ฐ์˜ ๊ฐ€์ค‘์น˜์˜ ๊ฐ’์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ• _์ง€์—ญ ์ตœ์†Ÿ๊ฐ’

์ ์ ˆํ•œ step(ํ•™์Šต๋ฅ )๊ฐ’์„ ๊ณจ๋ผ์•ผ ํ•œ๋‹ค. ์ด ๊ฐ’์ด ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๊ณก์„ ์„ ๋”ฐ๋ผ ๋‚ด๋ ค๊ฐ€๋Š”๋ฐ ๋งŽ์€ ๋ฐ˜๋ณต์ด ํ•„์š”ํ•˜๊ณ  local minimum์— ๊ฐ‡ํž ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ step์ด ๋„ˆ๋ฌด ํฌ๋ฉด ์†์‹คํ•จ์ˆ˜ ๊ณก์„ ์—์„œ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์ž„์˜์˜ ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ ์ ˆํ•œ ํฌ๊ธฐ์˜ ๋ฏธ๋‹ˆ ๋ฐฐ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค.

์—…๋ฐ์ดํŠธํ•  ๋‹ค์Œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ, ํ˜„์žฌ ๊ทธ๋ž˜๋””์–ธํŠธ ๊ฐ’๋งŒ ๋ณด๋Š”๊ฒŒ ์•„๋‹Œ ์ด์ „ ๊ฐ€์ค‘์น˜๋ฅผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๊ณ ๋ คํ•˜๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ๊ธฐ์šธ๊ธฐ๊ฐ€ ํฌ๋ฉด ๋” ๋งŽ์ด ์ด๋™ํ•˜๋Š” ๋ชจ๋ฉ˜ํ…€ ๊ฐœ๋…์ด ์ค‘์š”ํ•˜๊ณ , SGD์— ์žˆ๋Š” 2๊ฐœ์˜ ๋ฌธ์ œ์ ์ธ ์ˆ˜๋ ด ์†๋„์™€ ์ง€์—ญ ์ตœ์†Ÿ๊ฐ’์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

k-fold cross validation (k-๊ฒน ๊ต์ฐจ๊ฒ€์ฆ)

K-fold ๊ต์ฐจ ๊ฒ€์ฆ ๋ฐฉ์‹์€ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ k๊ฐœ์˜ fold๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ๋“ค์„ ํ›ˆ๋ จ์šฉ๋ฐ์ดํ„ฐ์™€ ๊ฒ€์ฆ์šฉ๋ฐ์ดํ„ฐ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, K๊ฐœ์˜ ๋ชจ๋ธ์„ ๊ฐ๊ฐ ๋งŒ๋“ค์–ด์„œ K-1๊ฐœ์˜ ๋ถ„ํ•  ๋ฐ์ดํ„ฐ๋กœ ํ›ˆ๋ จํ•˜๊ณ , ๋‚จ์€ ๋ถ„ํ• ์—์„œ ํ‰๊ฐ€,๊ฒ€์ฆํ•˜์—ฌ ๋ชจ๋ธ์˜ ํ‰๊ท ์„ ๊ตฌํ•˜๊ฑฐ๋‚˜ ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ

๊ฐ€์ค‘์น˜๋Š” ์‹ ๊ฒฝ๋ง์—์„œ ์‹ ํ˜ธ์˜ ์„ธ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ์•ž์ชฝ ๋‰ด๋Ÿฐ์—์„œ ์ „๋‹ฌ๋œ ์‹ ํ˜ธ์˜ ๊ฐ’์— ๊ฐ€์ค‘์น˜ ๊ฐ’์„ ๊ณฑํ•˜๊ณ  ํŽธํ–ฅ์„ ๋”ํ•ด์„œ ๋‹ค์Œ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ๊ฐ€์ค‘์น˜๋Š” ๋žœ๋ค์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ๊ณ , ํŽธํ–ฅ์€ ๊ฐ ์ธต์— ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ์กด์žฌํ•จ. ํŽธํ–ฅ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฑฐ์ณ ๋ณ€ํ™˜๋œ ์‹ ํ˜ธ์˜ ์„ธ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋†’์ž„.

 

ํ™œ์„ฑํ™” ํ•จ์ˆ˜

ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋Š” ํŠน์ •ํ•œ ์ „๊ธฐ์  ์‹ ํ˜ธ๊ฐ€ ์–ด๋–ค ๊ฐ’ ์ด์ƒ ์ „๋‹ฌ๋˜๋ฉด ๋‹ค์Œ ๋‰ด๋Ÿฐ์—๊ฒŒ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ , ์ดํ•˜์ด๋ฉด ์ „๋‹ฌํ•˜์ง€ ์•Š๋Š” ์‹ ๊ฒฝ๋ง์˜ ์—ญ์น˜ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ ํ˜ธ๋ฅผ ์กฐ์ •ํ•˜๊ณ , ์ด๋ฅผ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ํ™œ์„ฑํ™” ํ•จ์ˆ˜์ด๋‹ค. ์—ฌ๋Ÿฌ ๋‰ด๋Ÿฐ์—์„œ ๋“ค์–ด์˜จ ์‹ ํ˜ธ์˜ ์„ธ๊ธฐ๋ฅผ ํŠน์ •ํ•œ ๊ฐ’์œผ๋กœ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ํ™œ์„ฑํ™” ํ•จ์ˆ˜์—๋Š” ์‹œ๊ทธ๋ชจ์ด๋“œ, ๋ ๋ฃจ ํ•จ์ˆ˜ ๋“ฑ์ด ์žˆ๋‹ค.

 

์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜, ๋ ๋ฃจ ํ•จ์ˆ˜, ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜

์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๋ž€ ๋กœ์ง€์Šคํ‹ฑ ํ•จ์ˆ˜๋ฅผ ๋ณ€ํ˜•ํ•œ ํ•จ์ˆ˜๋กœ, ์ฒ˜์Œ์— ์„œ์„œํžˆ ์ฆ๊ฐ€ํ•˜๋‹ค๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์–‘์ด ๋งŽ์•„์ง€๊ณ , ๊ทธ๋Ÿฌ๋‹ค ๋งˆ์ง€๋ง‰์—๋Š” ์ฆ๊ฐ€ํ•˜๋Š” ์–‘์ด ๋‹ค์‹œ ์ค„์–ด๋“œ๋Š” S์ž ๋ชจ์–‘๊ณผ  ๋น„์Šทํ•œ ๋ชจ์–‘์˜ ํ•จ์ˆ˜์ด๋‹ค. ๋ณดํ†ต ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋ถ„์„์ด๋‚˜ Binary classification์˜ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์˜ ํ• ์„ฑํ™”ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๋‰ด๋Ÿฐ์—์„œ ๋“ค์–ด์˜จ ์‹ ํ˜ธ ์„ธ๊ธฐ๊ฐ€ 0๋ณด๋‹ค ํด์ˆ˜๋ก 1์— ๊ฐ€๊นŒ์šด ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  0๋ณด๋‹ค ์ž‘์„์ˆ˜๋ก 0์— ๊ฐ€๊นŒ์šด ์‹ ํ˜ธ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค. ๋‹จ์ ์œผ๋กœ๋Š” ์ถœ๋ ฅ๊ฐ’์ด 0์— ๊ฐ€๊นŒ์›Œ์ง€๋ฉด ์‹ ๊ฒฝ๋ง์ด ์ž˜ ํ•™์Šตํ•˜์ง€ ๋ชปํ•˜๊ณ , ์ž…๋ ฅ๊ฐ’์ด ์•„๋ฌด๋ฆฌ ์ปค๋„ 1๋ณด๋‹ค ํฐ ์ˆ˜๋กœ๋Š” ๋‚ด๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘๊ฐ„ ๋ ˆ์ด์–ด์— ๋ ๋ฃจํ•จ์ˆ˜๋ฅผ ๊ฐ™์ด ์“ฐ๋ฉด ํšจ๊ณผ์ ์ด๋‹ค.

๋ ๋ฃจํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘์œผ๋ฉด 0์œผ๋กœ ์ถœ๋ ฅํ•˜๊ณ , 0์ด์ƒ์ด๋ฉด ์ž…๋ ฅ๋ฐ›๋Š” ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๋Š” ์—ญ์ „ํŒŒ๊ฐ€ ์ง„ํ–‰๋ ์ˆ˜๋ก ์˜ค์ฐจ๊ฐ€ ๊ธ‰๊ฒฉํžˆ ๊ฐ์†Œํ•จ์œผ๋กœ, relu ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

์‹œ๊ทธ๋ชจ์ด๋“œ ํ™œ์„ฑํ™”ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ๊ฒผ๋˜ Gradient Descent Problem์„ ํ•ด๊ฒฐํ•œ๋‹ค.

์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋Š” ๋ถ„๋ฅ˜๋ฅผ ํ•˜๋Š” ์‹ ๊ฒฝ๋ง์˜ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์ธ ์ถœ๋ ฅ์ธต์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ ๋ชจ๋“  ์ถœ๋ ฅ์ธต์˜ ๊ฐ’์„ ๋”ํ–ˆ์„ ๋•Œ 1์ด ๋˜๋„๋ก(one-hot-encoding) ๊ฐ’์„ ๋ฐ”๊พธ์–ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ๋ ˆ์ด๋ธ”์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ํฌ๊ฒŒ์ฃผ๊ณ  ๋‚˜๋จธ์ง€ ๋ ˆ์ด๋ธ”์€ ์ž‘๊ฒŒ์คŒ์œผ๋กœ์จ ์ „์ฒด์ ์œผ๋กœ ์˜ค์ฐจ์˜ ๊ฐ’์ด ์ค„์–ด๋“œ๋Š” ํšจ๊ณผ๋„ ์žˆ๋‹ค. ์†์‹คํ•จ์ˆ˜(loss function)์ธ Cross-entropy์™€ ์ฃผ๋กœ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ด์œ 

๋น„์„ ํ˜• ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธต์„ ๊นŠ๊ฒŒ ๋งŒ๋“œ๋Š” ์žฅ์ ์„ ์‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ˆœ ์„ ํ˜•ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ฌด๋ฆฌ ๊นŠ๊ฒŒ ์ธต์„ ์Œ“์•„๋„ ๋งˆ์ง€๋ง‰์— ๋ณด๋ฉด ํ•˜๋‚˜์˜ ์„ ํ˜• ํ•จ์ˆ˜๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์„œ ์˜๋ฏธ๊ฐ€ ์—†์–ด์ง„๋‹ค. ์‹œ๊ทธ๋ชจ์ด๋“œ๋ฅผ ์“ฐ๋ฉด ๋น„์„ ํ˜• ํ•จ์ˆ˜์ด๋ฉด์„œ ๋ถ„๋ฆฌ๋œ ๋ถ€๋ถ„์ด ์—†์–ด์„œ ์ธต์„ ์Œ“๋Š” ์žฅ์ ์„ ์‚ด๋ฆด ์ˆ˜ ์žˆ๊ณ , ๋ฏธ๋ถ„ํ•˜๊ธฐ ์‰ฌ์›Œ์ง€๋ฉฐ, 0~1์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์ •๊ทœํ™”๋˜๊ธฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

 

์‹ ๊ฒฝ๋ง์—์„œ ์˜ค๋ฒ„ํ”ผํŒ…์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•

1.ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ(training data)๋ฅผ ๋” ๋Š˜๋ฆฐ๋‹ค.

2.๋ชจ๋ธ์˜ ๋ณต์žก๋„๋ฅผ ์ค„์ธ๋‹ค.

3.๊ฐ€์ค‘์น˜ ๊ทœ์ œ๋ฅผ ์ ์šฉํ•œ๋‹ค. ๋ณต์žกํ•œ ๋ชจ๋ธ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€์ค‘์น˜ ๊ทœ์ œ์ด๋‹ค.

L1์€ ๊ฐ€์ค‘์น˜๋“ค์˜ ์ ˆ๋Œ€๊ฐ’ ํ•ฉ๊ณ„๋ฅผ ๋น„์šฉ ํ•จ์ˆ˜์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๊ณ , L2๋Š” ๊ฐ€์ค‘์น˜๋“ค์˜ ์ œ๊ณฑํ•ฉ์„ ๋น„์šฉ ํ•จ์ˆ˜์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. L1์€ ํŠน์ • ๊ฐ€์ค‘์น˜๋ฅผ 0์œผ๋กœ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ์–ด์„œ sparseํ•œ ํ˜•ํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , L2๋Š” ๊ท ์ผํ•œ ๊ฐ’๋“ค์ด ๋ถˆ๊ท ์ผํ•œ ๊ฐ’๋“ค๋ณด๋‹ค ๊ฐ€์ค‘์น˜ ์ˆ˜์ •์„ ๋” ์ž‘๊ฒŒ์คŒ์œผ๋กœ์จ, ํŠน์ •๊ฐ’์ด ํฐ๊ฒŒ ์žˆ์œผ๋ฉด ์ž๋ฅผ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค. ๋ณดํ†ต L2์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋” ์ž˜๋‚˜์˜ค๊ณ  ์ข‹๋‹ค.

4.๋“œ๋กญ์•„์›ƒ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ํ•™์Šต๊ณผ์ •์—์„œ ์‹ ๊ฒฝ๋ง์˜ ์ผ๋ถ€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๋น„์œจ์„ 0.5๋กœ ํ•œ๋‹ค๋ฉด ํ•™์Šต ๊ณผ์ •๋งˆ๋‹ค ๋žœ๋ค์œผ๋กœ 50%์˜ ๋‰ด๋Ÿฐ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋‹ค๋Š” ๋œป์ด๋‹ค. ์‹ ๊ฒฝ๋ง์ด ํŠน์ • ๋‰ด๋Ÿฐ์— ๋„ˆ๋ฌด ์˜์กดํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ์„œ๋กœ ๋‹ค๋ฅธ ์‹ ๊ฒฝ๋ง๋“ค์„ ์•™์ƒ๋ธ”ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๋‚ธ๋‹ค.

 

Classification(๋ถ„๋ฅ˜)๊ณผ regression(ํšŒ๊ท€) ๋ฌธ์ œ

Classification์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋Š ํด๋ž˜์Šค์— ์†ํ•˜๋Š”์ง€ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ๋ฏธ๋ฆฌ ์ •์˜๋˜๊ฑฐ๋‚˜ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ํด๋ž˜์Šค๋ ˆ์ด๋ธ” ์ค‘์— ํ•˜๋‚˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Regression์€ ๊ฐœ๋ณ„์ ์ธ ๋ ˆ์ด๋ธ”์ด ์•„๋‹Œ ์—ฐ์†์ ์ธ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ์‹œ๊ณ„์—ด ๊ฐ™์€ ์—ฐ์†์„ฑ์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

Classification ๋ฌธ์ œ๋Š” ๋ณดํ†ต ์ถœ๋ ฅ์ธต์— softmaxํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐ’์ค‘์— ํ™•๋ฅ ์ด ๋†’์€ ๊ฐ’์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜, one-hot-encoding์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ๋ ˆ์ด๋ธ”์„ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ฐ”๊พธ๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ , loss function์€ cross entropy๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

์ง€์ˆ˜์ด๋™ํ‰๊ท 

์ตœ๊ทผ ๊ฐ’์—๋Š” ๋†’์€ ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๊ณ , ์ด์ „ ๊ฐ’์—๋Š” ๋‚ฎ์€ ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๊ณ  ํ‰๊ท ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ํ˜„์žฌ ์ตœ๊ทผ ๊ฐ’์„ ๋”์šฑ ์ค‘์š”์‹œ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์ด์ „์— ๊ณ„์‚ฐ๋œ ์ด๋™ ํ‰๊ท ์— factor์„ ๊ณฑํ•˜๊ณ  ํ˜„์žฌ ํฌ์ธํŠธ์— (1 โ€“ factor)์„ ๊ณฑํ•ด ํ•ฉ์‚ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

def smooth_curve(points, factor=0.9):

  smoothed_points = []

  for point in points:

    if smoothed_points:

      previous = smoothed_points[-1]

      smoothed_points.append(previous * factor + point * (1 - factor))

    else:

      smoothed_points.append(point)

  return smoothed_points

 

 

์›ํ•ซ์ธ์ฝ”๋”ฉ

ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ 1๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ์ „๋ถ€ 0์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์ด๋ฉฐ, ๋ฐฑํ„ฐ๊ฐ’์œผ๋กœ ํ‘œํ˜„์„ ํ•œ๋‹ค.

๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ผ€๋ผ์Šค ์œ ํ‹ธ๋„๊ตฌ์˜ to_categorical ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์น˜ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์›ํ•ซ์ธ์ฝ”๋”ฉ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์ด๋ผ ๋ฒ”์ฃผํ˜• ์ธ์ฝ”๋”ฉ์ด๋ผ ๋ถˆ๋ฆฌ๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ด๊ณ  ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค.

 

์ •๊ทœํ™”

์ •๊ทœํ™”๋ž€ ๊ฐ€์žฅ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ 0์œผ๋กœ, ๊ฐ€์žฅ ํฐ ๋ฐ์ดํ„ฐ๋Š” 1๋กœ ๋ฐ”๊พธ๊ณ , ๊ทธ ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๊ฐ’๋“ค์€ ํฌ๊ธฐ์— ๋”ฐ๋ผ 0๊ณผ 1์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ฒƒ.

 

์†์‹คํ•จ์ˆ˜ ์ข…๋ฅ˜

๋ฐ”์ด๋„ˆ๋ฆฌํฌ๋กœ์Šค์—”ํŠธ๋กœํ”ผ(binary_crossentropy)๋Š” ์‹ ๊ฒฝ๋ง์ด ์ž˜ ์˜ˆ์ธก์„ ํ•˜๋ฉด ์˜ค์ฐจ๊ฐ’์„ 0์„์ฃผ๊ณ , ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด ์˜ค์ฐจ๊ฐ’์„ ์ƒ๋‹นํžˆ ํฌ๊ฒŒ ์ฃผ๋Š” ์›๋ฆฌ์ด๋‹ค. ์ด์ง„ ๋ถ„๋ฅ˜ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ ๋ณดํ†ต ์‹œ๊ทธ๋ชจ์ด๋“œ ํ™œ์„ฑํ™”ํ•จ์ˆ˜๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

์นดํ…Œ๊ณ ๋ฆฌ์ปฌํฌ๋กœ์Šค์—”ํŠธ๋กœํ”ผ(categorical_crossentropy)๋Š” ์—ฌ๋Ÿฌ ๊ฐ’ ์ค‘ ํ•˜๋‚˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์—์„œ ์ •๋‹ต์„ ์˜ˆ์ธกํ•˜๋ฉด ์˜ค์ฐจ๊ฐ’์„ 0์œผ๋กœ, ์ •๋‹ต์— ๊ฐ€๊น๊ฒŒ ์˜ˆ์ธกํ•˜๋ฉด ์˜ค์ฐจ๊ฐ’์„ ์กฐ๊ธˆ ์ฃผ๊ณ , ์ •๋‹ต๊ณผ ๋ฉ€๊ฒŒ ์˜ˆ์ธกํ•˜๋ฉด ์˜ค์ฐจ๊ฐ’์„ ๋งŽ์ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ ˆ์ด๋ธ” ํด๋ž˜์Šค๊ฐ€ 2๊ฐœ ์ด์ƒ์ธ ๋ฉ€ํ‹ฐํด๋ž˜์Šค ๋ถ„๋ฅ˜์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์›ํ•ซ์ธ์ฝ”๋”ฉ์ด ๋œ ์ƒํƒœ์ผ ๋•Œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

 

sparse_categorical_crossentropy๋Š” ๋ฒ”์ฃผํ˜• ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ์™€ ๋™์ผํ•˜๊ฒŒ ๋ฉ€ํ‹ฐ ํด๋ž˜์Šค ๋ถ„๋ฅ˜์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. Categorical_crossentropy์™€ ๋‹ค๋ฅด๊ฒŒ ์›ํ•ซ์ธ์ฝ”๋”ฉ์ด ์•ˆ๋˜์žˆ๋Š” ์ •์ˆ˜ ์ธ์ฝ”๋”ฉ์ธ ์ƒํƒœ์—์„œ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

MSE(ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ)๋Š” ์˜ˆ์ธก๊ฐ’์ด ์‹ค์ œ๊ฐ’์—์„œ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์‹ค์ œ๊ฐ’๊ณผ ์˜ˆ์ธก๊ฐ’์˜ ์˜ค์ฐจ๋ฅผ ์ œ๊ณฑํ•˜์—ฌ ๋ถ€ํ˜ธ๋ฅผ ์—†์• ๊ณ  ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ๋ณดํ†ต ํšŒ๊ท€๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

MAE(ํ‰๊ท ์ ˆ๋Œ€์˜ค์ฐจ)๋Š” ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ๊ฐ’ ์‚ฌ์ด ๊ฑฐ๋ฆฌ์˜ ์ ˆ๋Œ“๊ฐ’์ด๋‹ค.

 

์‹ ๊ฒฝ๋ง ์ข…๋ฅ˜

์ผ๋ฐ˜์ ์ธ ์ธ๊ณต์‹ ๊ฒฝ๋ง(ANN)

ํ•ฉ์„ฑ๊ณฑ์‹ ๊ฒฝ๋ง(CNN) Convolutional Neural Network : ์‹œ๊ฐ ์„ธํฌ์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ๋ณธ๋•€.

์ˆœํ™˜์‹ ๊ฒฝ๋ง(RNN) Recursive Neural Network : ์žฌ๊ท€์‹ ๊ฒฝ๋ง. ๊ฐ€์ค‘์น˜์˜ ๋ณ€ํ™”๊ฐ€ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋‹ค์‹œ ์ž๊ธฐ ์ž์‹ ์—๊ฒŒ ๋Œ์•„์˜ค๋Š” ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐ€์ค‘์น˜๊ฐ€ ์ˆ˜์ •๋˜๋Š” ๋ชจ์Šต์ด๋‹ค. ๋ณดํ†ต ์—ฐ์† ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜ ๋ถ„๋ฅ˜ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์ธ๊ณต์‹ ๊ฒฝ๋ง๋ณด๋‹ค ๋›ฐ์–ด๋‚œ ์ ์€ ์ „ํ›„ ๊ด€๊ณ„์— ๋Œ€ํ•œ ํŒจํ„ด์„ ํ•™์Šตํ•œ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.  ์‹œ๊ฐ„์˜ ํ๋ฆ„, ์—ฐ์†๋œ ๊ด€๊ณ„๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๊ณต์ง€๋Šฅ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์‹ ๊ฒฝ๋ง์ด๋‹ค.

 

fit ๋ฉ”์†Œ๋“œ

epochs : ํ›ˆ๋ จ์€ ์—ํฌํฌ(epoch)๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ•œ ์—ํฌํฌ๋Š” ์ „์ฒด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ ์ˆœํšŒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์ž‘์€ ๋ฐฐ์น˜๋กœ ๋‚˜๋ˆ„์–ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค).

batch_size : numpy ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์€ ๋ฐฐ์น˜๋กœ ๋‚˜๋ˆ„๊ณ  ํ›ˆ๋ จ ๊ณผ์ •์—์„œ ์ด ๋ฐฐ์น˜๋ฅผ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •์ˆ˜ ๊ฐ’์€ ๋ฐฐ์น˜์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์ƒ˜ํ”Œ ๊ฐœ์ˆ˜๊ฐ€ ๋ฐฐ์น˜ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ๋งˆ์ง€๋ง‰ ๋ฐฐ์น˜์˜ ํฌ๊ธฐ๋Š” ๋” ์ž‘์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

validation_data(x_val, y_val) = ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ(validation data)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ์—ํฌํฌ๋งˆ๋‹ค ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•๋„๋„ ํ•จ๊ป˜ ์ถœ๋ ฅ๋˜๋Š”๋ฐ, ์ด ์ •ํ™•๋„๋Š” ํ›ˆ๋ จ์ด ์ž˜ ๋˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ค„ ๋ฟ์ด๋ฉฐ ์‹ค์ œ๋กœ ๋ชจ๋ธ์ด ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์˜ loss๊ฐ€ ๋‚ฎ์•„์ง€๋‹ค๊ฐ€ ๋†’์•„์ง€๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ์ด๋Š” ๊ณผ์ ํ•ฉ(overfitting)์˜ ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค.

validation_split : validation_data ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋™์ผํ•˜์ง€๋งŒ, ๋ณ„๋„๋กœ ์กด์žฌํ•˜๋Š” ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ X_train๊ณผ y_train์—์„œ ์ผ์ • ๋น„์œจ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ด๋ฅผ ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ญ์‹œ๋‚˜ ํ›ˆ๋ จ ์ž์ฒด์—๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š๊ณ  ํ›ˆ๋ จ ๊ณผ์ •์„ ์ง€์ผœ๋ณด๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์‹œ : validation_split=0.2

verbose : ํ›ˆ๋ จ์˜ ์ง„ํ–‰๊ณผ์ •์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. 0์ผ ๊ฒฝ์šฐ ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ณ , 1์ผ ๊ฒฝ์šฐ ํ›ˆ๋ จ์˜ ์ง„ํ–‰๋„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ง„ํ–‰ ๋ง‰๋Œ€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. 2์ผ ๊ฒฝ์šฐ ๋ฏธ๋‹ˆ ๋ฐฐ์น˜๋งˆ๋‹ค ์†์‹ค ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

Z-Distribution ์ •๊ทœ๋ถ„ํฌ

ํ‰๊ท ์ด 0์ด๊ณ , ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ 1์ธ ๋ถ„ํฌ๋ฅผ Z-Distribution๋ผ๊ณ  ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ํŠน์„ฑ๋“ค์ด ์žˆ์„ ๋•Œ ์„œ๋กœ ๊ฐ๊ด€์ ์œผ๋กœ ๋น„๊ตํ•˜๊ธฐ์œ„ํ•ด ํ‘œ์ค€ํ™”๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์™œ ์ธ๊ณต์ง€๋Šฅ์ด ๋œจ๋Š” ๊ฒƒ์ธ๊ฐ€?

๋น…๋ฐ์ดํ„ฐ. โ€˜์–ฝ๋งค์—ฌ์žˆ์ง€ ์•Š๊ณ  ๊ตฌ์กฐํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ(๋น„์ •ํ˜•), (๊ธฐ๊ฐ€ ยท ํ…Œ๋ผ ยท ํŽ˜ํƒ€ ยท ์—‘์‚ฌ ยท ์ œํƒ€ ยท ์š”ํƒ€) ์ •ํ™•ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ์ƒ๊ด€๊ด€๊ณ„๋Š” ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹คโ€™ ๋น…๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ†ต์ฐฐ๋ ฅ์„ ์–ป๊ธฐ ์œ„ํ•œ ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ์š”๊ตฌ๋จ

 

์‹ ๊ฒฝ๋ง์˜ ํŠน์ง•

1. ํŒจํ„ด์ธ์‹์— ํ•„์š”ํ•œ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ

2. ํŒจํ„ด์ธ์‹๊ณผ ๊ฐ™์€ ์ˆ˜ํ•™์  ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ ์šฉ์ด ๊ณค๋ž€ํ•œ ๋ฌธ์ œ๋ฅผ ํ•™์Šต ๋ฐฉ๋ฒ•์— ์˜ํ•˜์—ฌ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐ

3. ํŒจํ„ด์ธ์‹์— ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์žก์Œ์ด๋‚˜ ์• ๋งคํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌ

4. ํ•™์Šต๊ณผ ๊ธฐ์–ต์„ ํ†ตํ•˜์—ฌ ํŒจํ„ด์„ ์ธ์‹ํ•˜๋Š” ๋™์ ์ธ ์‹œ์Šคํ…œ

5. ๊ฐ„๋‹จํ•œ ํ•™์Šต์— ์˜ํ•ด ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ด์„œ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์ด ๋‹จ์ถ•

6. ํ•™์Šต์‹œํ‚ค๋Š”๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜์ง€๋งŒ ์‹คํ–‰ ์‹œ์—๋Š” ๋น ๋ฅธ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค

 

Backpropagation(BP) ์‹ ๊ฒฝ๋ง

์ง€๋„ํ•™์Šต(supervised learning) ํŒจํ„ด์˜ ๋Œ€ํ‘œ์ ์ธ ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์œผ๋กœ, ์˜ค์ฐจ ์—ญ์ „ํŒŒ(error back propagation)๊ธฐ๋ฒ•์„ processing unit์— ์ ์šฉํ•œ ๊ฒƒ์ด๋‹ค. ๊ฐ processing unit ๊ฐ„์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ˆ˜์ •ํ•จ์œผ๋กœ์จ ๋‹ค์Œ ํ•™์Šต ์‹œ ๋ชฉํ‘œ ๊ฐ’์— ๋”์šฑ ์ ‘๊ทผ๋œ ์ถœ๋ ฅ ๊ฐ’์„๊ฐ–๊ฒŒ ํ•œ๋‹ค. ์˜ˆ์ธก๊ฐ’์ด ๋ชฉํ‘œ๊ฐ’๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๋  ๋•Œ๊นŒ์ง€ ํ•™์Šต์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

1๋‹จ๊ณ„ : ์ „๋ฐฉํ–ฅ ๋‹จ๊ณ„๋กœ, ์ž…๋ ฅ์ธต์—์„œ ์ž…๋ ฅ์„๋ฐ›์•„ ์ถœ๋ ฅ์ธต์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ณผ์ •์ด๋ฉฐ ์˜ˆ์ธก๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.

2๋‹จ๊ณ„ : ์˜ค์ฐจ๋ฅผ ๊ตฌํ•˜๋Š” ๋‹จ๊ณ„๋กœ, ์˜ˆ์ธก๊ฐ’๊ณผ ๋ชฉํ‘œ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

3๋‹จ๊ณ„ : ์˜ค์ฐจ๋ฅผ ์ด์šฉํ•˜์—ฌ ์˜ค์ฐจ์‹ ํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์€๋‹‰์ธต๊ณผ ์ž…๋ ฅ์ธต์— ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ€๋ฉด์„œ ๋‰ด๋Ÿฐ ๊ฐ„์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์œจํ•œ๋‹ค.

 

ํ…์„œ

ํ…์„œ(tensor)๋Š” 0~ n ์ฐจ์›(์ถ•, axis)๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค์ด๋‹ค.

0์ฐจ ํ…์„œ : ์Šค์นผ๋ผ(0์ฐจ์›)

1์ฐจ ํ…์„œ: ๋ฒกํ„ฐ(1์ฐจ์›)

2์ฐจ ํ…์„œ: ํ–‰๋ ฌ(2์ฐจ์›)

3์ฐจ์› ์ด์ƒ: n์ฐจ ํ…์„œ

 

bottleneck

๋ณ‘๋ชฉํ˜„์ƒ์œผ๋กœ, ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ๋ฌธ์ œ๋กœ, ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘๋ณด๋‹ค ์•ˆ์ข‹์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๊ณ ์žˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์›ฌ๋งŒํ•˜๋ฉด ์€๋‹‰์ธต์˜ ๋…ธ๋“œ ์ˆ˜๋ฅผ ๋‹ค์Œ ๋ ˆ์ด์–ด์˜ ๋…ธ๋“œ ์ˆ˜๋ณด๋‹ค ํฌ๊ฒŒ ์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค.

 

 

 

728x90
๋ฐ˜์‘ํ˜•
Liky