๐Ÿ‘ฆ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/TIL(Today I Learned)

TIL_220512_๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ ๊ธฐ์ดˆ

  • -

์–ด์ œ๋ถ€๋กœ ํŒ€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜๊ณ ,

 

๋“œ๋””์–ด ์‹œ์ž‘ํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ต์œก๊ณผ์ •!!

 

(๊ฐ€์Šด์ด ์›…์žฅํ•ด์ง„๋‹ค..!!!)

 

๊ทผ๋ฐ.. ์บ ํผ๋“ค ๋ถ„์œ„๊ธฐ๊ฐ€ ์™œ ๊ทธ๋Ÿฌ์ง€..??!!

 

(์–ด๋ฆฌ๋‘ฅ์ ˆ)

 

์•Œ๊ณ  ๋ดค๋”๋‹ˆ ์ด๋ฒˆ ๋จธ์‹  ๋Ÿฌ๋‹์—๋Š” ์ˆ˜ํ•™์ ์ธ ๋Šฅ๋ ฅ์ด ์ƒ๋‹นํžˆ ํ•„์š”ํ•˜๋‹ค ํ•˜๋”๋ผ..

 

์ˆ˜ํฌ์ž์˜ ์ตœํ›„..

 

์•„๋‹ˆ.. ์‹œ์ž‘๋„ ์•ˆํ•ด๋ณด๊ณ  ๊ธฐ๊ฐ€ ์ฃฝ์–ด์„œ์•ผ ๋˜๊ฒ ์–ด?!!

 

์ผ๋‹จ ์‹œ์ž‘ํ•ด๋ณธ๋‹ค..

 

๋ง›์ด๋ผ๋„ ๋ณด๊ณ  ํŒ๋‹จํ•˜๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

๋‚ด๊ฐ€ ์ด ๋ง›์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ!!!


์˜ค๋Š˜์˜ ๋ชฉํ‘œ : ๋จธ์‹ ๋Ÿฌ๋‹ 1์ฃผ์ฐจ ๊ณผ์ • ์™„๊ฐ•ํ•˜๊ธฐ

 

 

์„ ํ˜•ํšŒ๊ท€ : 

  • ์ปดํ“จํ„ฐ๊ฐ€ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ์ค‘์— ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ ๋‘ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์ง์„  ๊ด€๊ณ„๋ฅผ ์ฐพ์•„ ๋‚ด์„œ x๊ฐ’์ด ์ฃผ์–ด์กŒ์„ ๋•Œ y๊ฐ’์„ ์˜ˆ์ธก

 

 

๊ฐ•์˜๋ฅผ ์ง„ํ–‰ํ•˜์‹œ๋Š” ํŠœํ„ฐ๋‹˜์˜ ๊ถŒ์žฅ์‚ฌํ•ญ

์˜์–ด ๊ถŒ์žฅ

  1. ๊ตฌ๊ธ€, Stackoverflow ๋“ฑ์˜ ์‚ฌ์ดํŠธ์—์„œ ์˜์–ด๋ฅผ ๋งŽ์ด ์”€
  2. ์˜์‚ฌ์†Œํ†ต์‹œ ์˜์–ด๋กœ ์†Œํ†ตํ•ด์•ผ ์˜์‚ฌ์†Œํ†ต ์˜ค๋ฅ˜๊ฐ€ ์ ์Œ
  3. ์™ธ๊ตญ์ธ ์—”์ง€๋‹ˆ์–ด์™€์˜ ์˜์‚ฌ์†Œํ†ต
  4. ์™ธ๊ตญ๊ณ„ ๊ธฐ์—… ์ทจ์—…
  5. ์‹ฌํ•˜๊ฒŒ ์•„๋Š” ์ฒ™ ๊ฐ€๋Šฅ

๊ตฌ๊ธ€๋ง

  1. ์‹ค๋ฌด์—์„œ ์‹ค์ œ๋กœ ๊ตฌ๊ธ€๋ง์ด ์ฐจ์ง€ํ•˜๋Š” ๋น„์œจ์ด 90% ์ด์ƒ
  2. ๊ฒ€์ƒ‰ ๋Šฅ๋ ฅ์ด ๊ณง ์—…๋ฌด ์„ฑ๊ณผ์— ๋น„๋ก€ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ
  3. ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋ฅผ ๊ฐœ์ฒ™ํ•  ์ˆ˜๋ก ์งˆ๋ฌธํ•  ์‚ฌ๋žŒ(์‚ฌ์ˆ˜)์ด ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์ˆ˜ํ•™๊ณผ ์ปดํ“จํ„ฐ ๊ณผํ•™, ์–ธ์–ดํ•™ ๋˜๋Š” ๊ด€๋ จ ๋ถ„์•ผ์—์„œ ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•ด์ง„ ์ผ๋ จ์˜ ์ ˆ์ฐจ๋‚˜ ๋ฐฉ๋ฒ•์„ ๊ณต์‹ํ™”ํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„
  • ๊ณ„์‚ฐ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„์  ์ ˆ์ฐจ

- ์œ„ํ‚คํ”ผ๋””์•„

 

 

ํšŒ๊ท€(Regression) : ์ถœ๋ ฅ๊ฐ’์ด ์—ฐ์†์ ์ธ ์†Œ์ˆ˜์ ์œผ๋กœ ์˜ˆ์ธกํ•˜๊ฒŒ ํ•˜๋„๋ก ํ‘ธ๋Š” ๋ฐฉ๋ฒ•

๋ถ„๋ฅ˜(Classification) : ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ฅธ ์ถœ๋ ฅ๊ฐ’ ์—ฌ๋ถ€(Pass or fail)๋ฅผ ์˜ˆ์ธก

 

๋จธ์‹ ๋Ÿฌ๋‹์˜ ๋ถ„๋ฅ˜

์ง€๋„ ํ•™์Šต (Supervised learning) : ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋ฉด์„œ ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•

๋น„์ง€๋„ ํ•™์Šต (Unsupervised learning) : ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ์ง€ ์•Š๊ณ  ๊ตฐ์ง‘ํ™”(Clustering)ํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐ•ํ™” ํ•™์Šต (Reinforcement learning) : ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์—†์ด ์‹คํ–‰๊ณผ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ• (์•ŒํŒŒ๊ณ ๋ฅผ ํƒ„์ƒ์‹œํ‚จ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐฉ๋ฒ•!!)

 

 

์„ ํ˜• ํšŒ๊ท€์™€ ๊ฐ€์„ค, ์†์‹คํ•จ์ˆ˜

  • ๊ฐ€์„ค : H(x) = Wx + b / W : weight * x / b : bias / (์ง์„  = 1์ฐจ ํ•จ์ˆ˜)
    • ์ •ํ™•ํ•œ ์‹œํ—˜ ์ ์ˆ˜๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์ž„์˜์˜ ์ง์„ (๊ฐ€์„ค)๊ณผ ์ (์ •๋‹ต)์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์›Œ์ง€๋„๋ก
  • ์†์‹คํ•จ์ˆ˜ : Cost = {{1\over N}\sum_{i=1}^{N}{(H(x_i) - y_i) ^ 2}} 
  • ์šฐ๋ฆฌ๊ฐ€ ์ž„์˜๋กœ ๋งŒ๋“  ์ง์„  H(x)๋ฅผ ๊ฐ€์„ค(Hypothesis)์ด๋ผ๊ณ  ํ•˜๊ณ  Cost๋ฅผ ์†์‹ค ํ•จ์ˆ˜(Cost or Loss function)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์†์‹คํ•จ์ˆ˜

๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€

  • ๊ฐ€์„ค $H(x_1, x_2, ..., x_n) = w_1x_1 + w_2x_2 + ... + w_nx_n + b$
  • ์†์‹ค ํ•จ์ˆ˜ $Cost = {{1\over N}\sum{(H(x_1, x_2, x_3, ..., x_n) - y) ^ 2}}$

 

 

์ค‘์š”!!) ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• (Gradient descent method)

๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

  • 1์ฐจ ๊ทผ์‚ฟ๊ฐ’ ๋ฐœ๊ฒฌ์šฉ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ(๊ฒฝ์‚ฌ)๋ฅผ ๊ตฌํ•˜๊ณ  ๊ฒฝ์‚ฌ์˜ ์ ˆ๋Œ“๊ฐ’์ด ๋‚ฎ์€ ์ชฝ์œผ๋กœ ๊ณ„์† ์ด๋™์‹œ์ผœ ๊ทน๊ฐ’์— ์ด๋ฅผ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
  • Learning rate : ํ•œ์นธ์”ฉ ์ „์ง„ํ•˜๋Š” ๋‹จ์œ„
    • ์ ๋‹นํ•œ Learning rate๋ฅผ ์ฐพ๋Š” ๋…ธ๊ฐ€๋‹ค๊ฐ€ ํ•„์ˆ˜
  • Overshooting : ์ฐพ์œผ๋ ค๋Š” ์ตœ์†Œ๊ฐ’์„ ์ง€๋‚˜์น˜๊ณ  ๊ฒ€์€ ์ ์€ ๊ณ„์† ์ง„๋™ํ•˜๋‹ค๊ฐ€ ์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋Š” ๋ฐœ์‚ฐ

 

๋จธ์‹ ๋Ÿฌ๋‹ ์—”์ง€๋‹ˆ์–ด์˜ ํ•ต์‹ฌ ์—ญํ• 

  • ์†์‹ค ํ•จ์ˆ˜์˜ ์ตœ์†Œ์ ์ธ Global cost minimum์„ ์ฐพ๋Š” ๊ฒƒ
  • Global minimum์„ ์ฐพ๊ธฐ ์œ„ํ•ด ์ข‹์€ ๊ฐ€์„ค๊ณผ ์ข‹์€ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ธฐ๊ณ„๊ฐ€ ์ž˜ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

 

 

Training set (ํ•™์Šต ๋ฐ์ดํ„ฐ์…‹, ํŠธ๋ ˆ์ด๋‹์…‹) = ๊ต๊ณผ์„œ

  • ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ.
  • ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹์˜ ์•ฝ 80% ์ •๋„๋ฅผ ์ฐจ์ง€

Validation set (๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์…‹, ๋ฐธ๋ฆฌ๋ฐ์ด์…˜์…‹) = ๋ชจ์˜๊ณ ์‚ฌ

  • ๋จธ์‹  ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆ, ํŠœ๋‹ํ•˜๋Š” ์ง€ํ‘œ์˜ ์šฉ๋„๋กœ ์‚ฌ์šฉ
  • ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ
  • ์†์‹คํ•จ์ˆ˜, Optimizer ๋“ฑ์„ ๋ฐ”๊พธ๋ฉด์„œ ๋ชจ๋ธ์„ ๊ฒ€์ฆํ•˜๋Š” ์šฉ๋„
  • ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹์˜ ์•ฝ 20% ์ •๋„ ์ฐจ์ง€

Test set (ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์…‹, ํ…Œ์ŠคํŠธ์…‹) = ์ˆ˜๋Šฅ

  • ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ์˜ ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์…‹
  • ์‹ค๋ฌด ์ ์šฉ ์‹œ : Training set > Validation set > Test set ์ˆœ์œผ๋กœ ๊ผญ ์ดํ–‰

 


 

1์ฃผ์ฐจ ์ˆ™์ œ

 

์—ฐ์ฐจ๋กœ๋ถ€ํ„ฐ ์—ฐ๋ด‰์„ ์˜ˆ์ธกํ•ด๋ณด์•„์š”~

 

์ด๋ฒˆ ๊ฐ•์˜ ๋‚ด์šฉ ์ค‘์— ๊ฐ€์žฅ ๋งŽ์ด ๋“ฃ๊ฒŒ ๋˜์—ˆ๋˜ ๋ง..

 

"์ •๋ง ์‰ฝ์ฃ ?"

 

(ใ„นใ…‡ ๊ฑฐ์ง“๋ง ์•„๋‹ˆ๊ณ ..)

 

๋‚ด์šฉ๋ถ€ํ„ฐ๊ฐ€ ๋ญ”๊ฐ€ ์ „๊ณต์ž ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ์ˆ˜์ค€์— ๋ฏธ์น˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ์งœ์—ฌ์žˆ๋Š” ์ˆ˜์ค€์ธ๋“ฏ ํ–ˆ๋‹ค.

 

๊ทธ๋ž˜๋„ ๋ญ.. ํ•ด๋ด์•ผ์ง€

 

๋…ธ๊ฐ€๋‹ค๋Š” ์ „๋ฌธ์ด์ง€..!

 

 

์‹ค์Šต

 

1) ๊ฐ€์žฅ ๋จผ์ € ๋ฐ์ดํ„ฐ ๋กœ๋“œ

 

2) ๋ฐ์ดํ„ฐ์…‹ ์‚ดํ”ผ๊ธฐ

 

3) 2๊ฐ€์ง€ ๋ฐฉํ–ฅ์„ฑ์— ๋Œ€ํ•œ ์‹ค์Šต

 

3-1 : loss='mean_squared_erroroptimizer=Adam(lr=450000.0)

๋ญ”๊ฐ€ ๋น„์Šทํ•œ ์„ ํ˜•์„ ์ด๋ฃจ์—ˆ๋‹ค.

 

3-2 : loss='mean_absolute_error' optimizer=Adam(lr=450000.0)

๋ฐ”๊ฟ”์„œ ์‹คํ—˜ํ•˜๋ผ ํ–ˆ๋”๋‹ˆ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋น—๋‚˜๊ฐ”๋‹ค.

 

3-3 : loss='mean_absolute_error' optimizer=Adam(lr=250000.0)

์•„์ฃผ ๊ทน๋‹จ์ ์œผ๋กœ ๋–จ์–ด์ง€๋„ค..

 

3-4 : loss='mean_absolute_error' optimizer=Adam(lr=400000.0)

์˜ˆ..? ์ •์ƒ ์ˆ˜์น˜๊ฐ€ ๋ฐ”๋‹ฅ์„ ์ณ๋ฒ„๋ ธ๋„ค;;; ์ด๊ฒŒ ๋ญ”..

 

๋‹ต์•ˆ์ฝ”๋“œ

loss='mean_squared_error', optimizer=SGD(lr=0.01)

์–ผํƒฑ..

 

optimizer ์€ ์™ ๋งŒํ•˜๋ฉด Adam ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๋“ค์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ,

 

์–ด๋–ค Optimizer๋ฅผ ์จ์•ผ๋˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด Adam์„ ์จ๋ผ

๋‹ต์€ ๋‹ค๋ฅธ ๊ฑธ๋กœ ์‚ฌ์šฉํ–ˆ๋„ค.. ํ•˜ํ•˜

 

๊ทธ๋ž˜๋„ ๊ทผ์ ‘ํ•˜๊ฒŒ ์ฐพ์•˜๋Š”๋ฐ.. ์ž˜ํ•œ๊ฑธ๊นŒ..??

 

 

 

์ถœ์ฒ˜ ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ


 
 
 
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.