๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CODING/AI & ML & DL

[๊ธฐ๊ณ„ํ•™์Šต] ๋‹ค์ค‘์„ ํ˜•ํšŒ๊ท€ & ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• | Multiple Linear Regression & Gradient Descent

by ๋ฐํ†จ๋งนํ†จ 2020. 9. 28.
728x90
728x90

๐Ÿ“Œ ๋‹ค์ค‘์„ ํ˜•ํšŒ๊ท€(Multiple Linear Regression)

 - ์ˆ˜์น˜ํ˜• ์„ค๋ช…๋ณ€์ˆ˜ X + ์—ฐ์†ํ˜• ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ข…์†๋ณ€์ˆ˜ Y์˜ ๊ด€๊ณ„๋ฅผ ์„ ํ˜•์œผ๋กœ ๊ฐ€์ •ํ•˜๊ณ  ์ด๋ฅผ ๊ฐ€์žฅ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ๊ท€๊ณ„์ˆ˜(β)๋ฅผ ์ถ”์ •

 - ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด X์— ๋”ฐ๋ผ Y๊ฐ’์ด ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์งˆ์ง€ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ 

ex) ์ฃผํƒ ์ž„๋Œ€๋ฃŒ ์˜ˆ์ธกํ•  ๋•Œ
X : ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ๋˜์—ˆ๋Š”์ง€(X1) , ์ง€ํ•˜์ฒ ์—ญ๊ณผ์˜ ๊ฑฐ๋ฆฌ(X2), ์ฃผ๋ณ€ ํŽธ์˜์‹œ์„ค์˜ ๊ฐœ์ˆ˜(X3) ••• (Xn)
Y : ์ฃผํƒ ์ž„๋Œ€๋ฃŒ ๊ฐ€๊ฒฉ 

(X1 * β1) + (X2 * β2) + (X3 * β3) ••• + ( Xn * βn ) = Y 

(β1, β2, β3•••, βn) : ํšŒ๊ท€๊ณ„์ˆ˜

๐Ÿ“ ํšŒ๊ท€ ๊ณ„์ˆ˜(β1, β2, β3•••, βn) ๊ตฌํ•˜๋Š” ๋ฒ•

( ์‹ค์ œ๊ฐ’(Y) - ์˜ˆ์ธก๊ฐ’(Y') ) ^ 2 = Error = Loss ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ

- ์œ„์˜ error์‹์˜ ๋ฏธ๋ถ„๊ฐ’ = 0 ์œผ๋กœ ๋†“๊ณ  ํ’€๋ฉด ๋ช…์‹œ์ ์ธ ํ•ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ 0์ด ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๊ณ  ๋ฏธ๋ถ„์ด ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ 

 

 โฌ‡๏ธ ๊ทธ๋Ÿด ๋•Œ 

 

โœ”๏ธ Numerical Search - ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• (gradient descent)์„ ์‚ฌ์šฉ

๐Ÿ“Œ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• 

        - ์—๋Ÿฌ๊ฐ’์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ์œ„ํ•ด ๊ฒฝ์‚ฌ(๊ทธ๋ž˜๋””์–ธํŠธ)๋ฅผ ๊ตฌํ•˜๊ณ  ๊ฒฝ์‚ฌ์˜ ๋ฐ˜๋Œ€๋ฐฉํ–ฅ์œผ๋กœ ์กฐ๊ธˆ์”ฉ ์ด๋™ํ•˜๋Š” ๊ณผ์ •์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ

๐Ÿ” ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์˜ ์ข…๋ฅ˜

    1๏ธโƒฃ Batch Gradient Descent (GD) -  ๋ฐฐ์น˜ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

    - ํŒŒ๋ผ๋ฏธํ„ฐ (ํšŒ๊ท€๊ณ„์ˆ˜ : β1, β2, β3•••, βn ) ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ๋งˆ๋‹ค ๋ชจ๋“  ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ cost function(error๊ฐ’)์˜ gradient(๊ฒฝ์‚ฌ)๊ฐ’์„ ๊ตฌํ•จ

    - ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์ด๋ผ Vanilla Gradient Descent ๋ผ ๋ถˆ๋ฆผ

    ๋‹จ์  - ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š” โžก๏ธ ๋งค์šฐ ๋‚ฎ์€ ํ•™์Šต ํšจ์œจ

 

     2๏ธโƒฃ Stochastic Gradient Descent (SGD) - ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

     - ํŒŒ๋ผ๋ฏธํ„ฐ (ํšŒ๊ท€๊ณ„์ˆ˜ : β1, β2, β3•••, βn ) ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ๋งˆ๋‹ค ๋ฌด์ž‘์œ„๋กœ ์ƒ˜ํ”Œ๋ง๋œ ํ•™์Šต๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜ ( N๊ฐœ ์ค‘์— 1 ๊ฐœ )์”ฉ๋งŒ ์ด์šฉํ•˜์—ฌ cost function(error๊ฐ’)์˜ gradient(๊ฒฝ์‚ฌ)๊ฐ’์„ ๊ตฌํ•จ

     ์žฅ์ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ์„œ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ธ์„ ์ž์ฃผ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ โžก๏ธ ์„ฑ๋Šฅ ๊ฐœ์„  ์ •๋„ ๋น ๋ฅด๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅ

             - Local  minima์— ๋น ์งˆ ๊ฐ€๋Šฅ์„ฑ 

     ๋‹จ์  - ์ตœ์†Œ cost์— ์ˆ˜๋ ดํ–ˆ๋Š”์ง€ ํŒ๋‹จ์ด ์ƒ๋Œ€์ ์œผ๋กœ ์–ด๋ ค์›€

 

     3๏ธโƒฃ Mini Batch Gradient Descent - ๋ฏธ๋‹ˆ ๋ฐฐ์น˜ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

-  ํŒŒ๋ผ๋ฏธํ„ฐ (ํšŒ๊ท€๊ณ„์ˆ˜ : β1, β2, β3•••, βn ) ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ๋งˆ๋‹ค ํ•˜๋‚˜์˜ ์ƒ˜ํ”Œ์ด ์•„๋‹Œ ' ๋ฏธ๋‹ˆ ๋ฐฐ์น˜ '๋ผ ๋ถ€๋ฅด๋Š” ์ž‘์€ ์ƒ˜ํ”Œ ์„ธํŠธ์„ ์‚ฌ์šฉํ•˜์—ฌ cost function(error๊ฐ’)์˜ gradient(๊ฒฝ์‚ฌ)๊ฐ’์„ ๊ตฌํ•จ 

- 1๏ธโƒฃ GD์˜ ์ „์ฒด ๋ฐฐ์น˜๋ณด๋‹ค ํšจ์œจ์„ฑ ๐Ÿ”บ โž• 2๏ธโƒฃ SGD ์˜ ๋…ธ์ด์ฆˆ ๐Ÿ”ป =  3๏ธโƒฃ Mini batch GD  

 

 

728x90

๋Œ“๊ธ€