๐Ÿ“ Week 1: Linear Regression๊ณผ Logistic Regression

oceannยท2024๋…„ 8์›” 12์ผ
2

๐Ÿ’ป Naver Boostcamp AI Tech 7๊ธฐ NLP

๋ชฉ๋ก ๋ณด๊ธฐ
1/5
post-thumbnail

1์ฃผ์ฐจ๊ฐ€ ๋“œ๋””์–ด ์‹œ์ž‘๋๋Š”๋ฐ ํ•˜๋ฃจ์ข…์ผ ๊ณต๋ถ€ํ•ด๋ณธ ๊ฒŒ ์ •๋ง ์˜ค๋žœ๋งŒ์ด๋ผ ์€๊ทผ ํž˜๋“ค์—ˆ๋‹ค.๐Ÿ’ฆ
๋งค์ฃผ ์• ๋งคํ–ˆ๋˜, ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๊ฐœ๋…๋“ค์„ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š”๋ฐ ๊พธ์ค€ํžˆ ๊ธฐ๋กํ•˜๋Š” ๊ฑธ ์ž˜ ๋ชปํ•ด์„œ ์ด๋ฒˆ์— ์ •๋ง ๋น ์ง ์—†์ด ๋งค์ฃผ!! ๊ธฐ๋กํ•˜์ž๊ณ  ๋‹ค์งํ–ˆ๋‹ค.
๋ฎ์–ด๋†“๊ณ  ์ง€๋‚˜๊ฐ€๋Š” ๊ฐœ๋…์ด ์—†๋„๋ก ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„๋“ค์„ ์ „๋ถ€ ์ฐพ์•„๋ณด๊ณ ์ž ํ–ˆ๋Š”๋ฐ ์—ญ์‹œ ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์€ ์ˆ˜ํ•™... ์ˆ˜์‹์„ ์œ ๋„ํ•˜๊ณ  ์‹ถ์–ด๋„ ๊ธฐ๋ณธ ์ง€์‹์ด ๋ถ€์กฑํ•œ ๋А๋‚Œ์ด ๋“ค์–ด ์ˆ˜ํ•™ ๊ณต๋ถ€๋ฅผ ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.๐Ÿ˜ญ


Linear Regression

๋ฐ”๋กœ ์ง์ „ ํ•™๊ธฐ์— ๋จธ์‹ ๋Ÿฌ๋‹์„ ๋“ค์—ˆ์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ์ต์ˆ™ํ•œ ๋‚ด์šฉ๋“ค์ด๋ผ ํ‰์ดํ•˜๊ฒŒ ๋А๊ปด์กŒ๋‹ค.
์‹ฌ์ง€์–ด ์ด์ „๊นŒ์ง€ ํ–ˆ๋˜ PyTorch ์ž๋ฃŒํ˜•์˜ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ•๋ณด๋‹ค ๋” ๋“ฃ๊ธฐ ํŽธํ–ˆ๋‹ค. ใ…Žใ…Ž

์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„์ด๋ž€, ์ข…์† ๋ณ€์ˆ˜ y์™€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋…๋ฆฝ ๋ณ€์ˆ˜ x์™€์˜ ์„ ํ˜• ์ƒ๊ด€ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ํšŒ๊ท€ ๋ถ„์„ ๊ธฐ๋ฒ•์ด๋‹ค. [์ถœ์ฒ˜: Wikipedia]
๋˜ํ•œ, ๊ตญ์–ด์‚ฌ์ „์—์„œ ํšŒ๊ท€๋ž€ ์ˆ˜ํ•™ ์šฉ์–ด๋กœ, ํ•˜๋‚˜์˜ ์ข…์† ๋ณ€์ˆ˜์™€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋…๋ฆฝ ๋ณ€์ˆ˜ ์‚ฌ์ด์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ด€๊ณ„๋ฅผ ์ตœ์†Œ ์ œ๊ณฑ๋ฒ•์œผ๋กœ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค. [์ถœ์ฒ˜: ๊ตญ์–ด์‚ฌ์ „]

์„ ํ˜• ๊ด€๊ณ„๋ผ๋Š” ์šฉ์–ด์— ๋Œ€ํ•ด์„œ ์–ด๋ ต๊ฒŒ ์ƒ๊ฐํ•  ๊ฒƒ ์—†๋‹ค!
๋‹จ์ง€ ๋…๋ฆฝ ๋ณ€์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•  ๋•Œ ์ข…์† ๋ณ€์ˆ˜๋„ ํ•จ๊ป˜ ์ฆ๊ฐ€ํ•˜๋Š”์ง€, ํ˜น์€ ๋…๋ฆฝ ๋ณ€์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•  ๋•Œ ์ข…์† ๋ณ€์ˆ˜๋Š” ๋ฐ˜๋Œ€๋กœ ๊ฐ์†Œํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ด€๊ณ„๋ฅผ ์„ ํ˜• ๊ด€๊ณ„๋ผ๊ณ  ํ•œ๋‹ค.
์ด๋•Œ, ์ „์ž์˜ ๊ฒฝ์šฐ๋ฅผ ์–‘์˜ ์„ ํ˜• ๊ด€๊ณ„๋ผ๊ณ  ํ•˜๊ณ , ํ›„์ž์˜ ๊ฒฝ์šฐ๋ฅผ ์Œ์˜ ์„ ํ˜• ๊ด€๊ณ„๋ผ๊ณ  ํ•œ๋‹ค.
๋‹ค์‹œ ๋งํ•ด, ๋‘ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’ ์‚ฌ์ด์— ์ง์„ ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์˜ ์‹์ด ์žˆ์œผ๋ฉด ์„ ํ˜• ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.


์„ ํ˜• ํšŒ๊ท€์—์„œ์˜ ๊ฐ€์ •
์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ •์ด ์„ฑ๋ฆฝํ•ด์•ผ ํ•œ๋‹ค.

์„ ํ˜•์„ฑ
์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„์˜ ์ •์˜์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ์ข…์† ๋ณ€์ˆ˜๊ฐ€ ๋…๋ฆฝ ๋ณ€์ˆ˜์™€ ์„ ํ˜• ํšŒ๊ท€ ๊ณ„์ˆ˜์˜ ์„ ํ˜• ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•จ์„ ๋งํ•œ๋‹ค.

๋…๋ฆฝ์„ฑ
๋‹ค์ค‘ ํšŒ๊ท€ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋…๋ฆฝ ๋ณ€์ˆ˜ x๊ฐ„ ์ƒ๊ด€ ๊ด€๊ณ„๊ฐ€ ์—†์ด ๋…๋ฆฝ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ํŠน์„ฑ์„ ์˜๋ฏธํ•œ๋‹ค.
๋น„์Šทํ•œ ํŠน์ง•์„ ๊ฐ–๋Š” ๋…๋ฆฝ ๋ณ€์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์œ ์˜๋ฏธํ•˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๊ฐ€ ๋„์ถœ๋˜๋ฉฐ, ์ด๋ ‡๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‹ค์ค‘๊ณต์„ ์„ฑ(Multicollinearity)๋ผ๊ณ  ํ•œ๋‹ค.

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

์ด๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ์ฆ๋ช…ํ•ด๋ณด์ž! ํ™•ํ†ต์ ์œผ๋ฃจ๋‹ค๊ฐ€...
์„œ๋กœ ์ข…์† ๊ด€๊ณ„์— ์žˆ๋Š” ์„ค๋ช… ๋ณ€์ˆ˜๋ฅผ ๊ฐ๊ฐ XX๋ผ ํ•˜๊ณ , ํšŒ๊ท€ ๊ณ„์ˆ˜(weight)๋ฅผ WW๋ผ๊ณ  ํ•˜์ž.
y=WX+by = WX + b๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ํšŒ๊ท€ ๊ณ„์ˆ˜ W๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ตœ์†Œ ์ œ๊ณฑ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์€ ์‹์œผ๋กœ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

W=(XTX)โˆ’1XTyW = (X^TX)^{-1}X^Ty

์—ฌ๊ธฐ์„œ ํ–‰๋ ฌ XTXX^TX๊ฐ€ ์„ ํ˜• ์ข…์„์ผ ๊ฒฝ์šฐ ํ•ด๋‹น ํ–‰๋ ฌ์˜ determinant๊ฐ€ ๋งค์šฐ ์ž‘์•„์ ธ (XTX)โˆ’1(X^TX)^{-1}๊ฐ€ ๋งค์šฐ ์ปค์ง„๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํšŒ๊ท€ ๊ณ„์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์–ด๋ ค์›Œ์งˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ WW์˜ ๊ฐ’์ด ๋งค์šฐ ์ปค์ ธ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋œ๋‹ค.

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

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

์ถœ์ฒ˜
Wikipedia
๋ชจ๋‘์˜ ์—ฐ๊ตฌ์†Œ
Tistory ๋…ธ๋งˆ๋“œ๋ถ„์„๊ฐ€




Logistic Regression

Linear Regression์ด ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์„ ์ž˜ ๋‚˜ํƒ€๋‚ด๋Š” ๋ชจ๋ธ์„ ๊ตฌํ•˜๋Š” ๊ฑฐ๋ผ๋ฉด, Logistic Regression์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ชจ๋ธ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ง์ „ ํ•™๊ธฐ(24๋…„๋„ 1ํ•™๊ธฐ)์— ๋จธ์‹ ๋Ÿฌ๋‹์„ ๋ฐฐ์šธ ๋•Œ๋„ ์ดˆ๊ธฐ์— ๋“ฑ์žฅํ–ˆ๋˜ ๊ฐœ๋…์ธ๋ฐ ์ค‘๊ฐ„๊ณ ์‚ฌ ๊ณต๋ถ€ ๊ฒธ ์ˆ˜์‹์— ๋Œ€ํ•˜์—ฌ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด ์žˆ์–ด ๋ณต์Šตํ•˜๋ฉฐ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค.
Multinomial Logistic Regression(๋‹ค์ค‘ ๋ถ„๋ฅ˜ ๋ฌธ์ œ)๋„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฐ„๋‹จํžˆ Binary Classification(์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ)์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•  ๊ฒƒ์ด๋‹ค.

๋ชจ๋ธ
๋จผ์ € ๋ชจ๋ธ์€ y์˜ ํ™•๋ฅ  ์ฆ‰, class๊ฐ€ 1์ผ ํ™•๋ฅ ์„ ๊ณ„์‚ฐํ•œ๋‹ค.

Odds & Logits
ํšŒ๊ท€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ wx+bwx+b์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ–๋Š”๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฐ’์€ (โˆ’โˆž,โˆž)(-\infty, \infty)์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— Binary Classification์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก [0, 1]์˜ ์ด์‚ฐ์  ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.
์ด๋•Œ Odds ๊ฐœ๋…์ด ๋“ฑ์žฅํ•˜๋Š”๋ฐ, Odds๋ž€ ์ „์ฒด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ฐ class label๋“ค์˜ ๋น„์œจ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด๋ฅผ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Odds=p(y=1โˆฃx)p(y=0โˆฃx)=p1โˆ’pOdds = \frac{p(y=1|x)}{p(y=0|x)} = \frac{p}{1-p}

์ด๋•Œ pp๋Š” p(y=1โˆฃx)p(y=1|x)์˜ ํ™•๋ฅ ์ด๋ฉฐ, [0,โˆž[0, \infty)์˜ ๋ฒ”์œ„๋Š” ๊ฐ–๋Š”๋‹ค.
์ด OddsOdds์— ์ž์—ฐ๋กœ๊ทธ๋ฅผ ์ทจํ•œ ๊ฒƒ์ด logitslogits์ด๋ฉฐ, ์ˆ˜์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

logits=lnโก(odds)=lnโก(p1โˆ’p)logits = \ln(odds) = \ln(\frac{p}{1-p})

logitslogits์˜ ๋ฒ”์œ„๊ฐ€ (-โˆž\infty, โˆž\infty)์ด๊ณ , ์ด๊ฒŒ ๋ฐ”๋กœ wx+bwx+b์˜ ์‹์ด ๋œ๋‹ค.

Logistic Function
์œ„ ๋‚ด์šฉ์˜ ๊ฒฐ๋ก ๋งŒ ์ˆ˜์‹์œผ๋กœ ํ‘œ๊ธฐํ•˜์—ฌ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

lnโก(p1โˆ’p)=wx+b\ln(\frac{p}{1-p}) = wx+b
p1โˆ’p=ewx+b\frac{p}{1-p} = e^{wx+b}
p=11+ewx+bp = \frac{1}{1+e^{wx+b}}

์•ž์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด p๋Š” class์˜ label์ด 1์ผ ํ™•๋ฅ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์‹์€ ๋…๋ฆฝ ๋ณ€์ˆ˜ x๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•ด๋‹น ๋ณ€์ˆ˜์˜ class๊ฐ€ 1์ผ ํ™•๋ฅ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์‹์ด ๋˜๋ฉฐ, ์ด ์‹์„ sigmoid ํ•จ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.

Estimating Parameters
ํ•™์Šต์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” sigmoid ํ•จ์ˆ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋งžํžˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” Cost Function์ด ํ•„์š”ํ•˜๋‹ค. Logistic Regression์—์„œ์˜ Cost Function์€ ์ •๋‹ต๊ณผ ์˜ˆ์ธก๊ฐ’(Logstic Function)์ด ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” Maximum Likelihood Estimation์„ ์‚ฌ์šฉํ•œ๋‹ค.
Maximum Likelihood Estimation์€ ์šฐ๋ฆฌ๋ง๋กœ ์ตœ๋Œ€ ๊ฐ€๋Šฅ๋„ ์ถ”์ •์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋ชจ์ง‘๋‹จ์— ๋Œ€ํ•ด ์ด๋ก ์ ์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ชจ์ˆ˜๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

์—ฌ๋Ÿฌ ํ™•๋ฅ  ๋ถ„ํฌ X์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜๋Š” p(x;ฮธ)p(x;\theta)๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ€๋Šฅ๋„ ํ•จ์ˆ˜์ธ L(ฮธ;x)L(\theta;x)์™€ ๋™์น˜์ด๋‹ค. ์ด๋•Œ ฮธ\theta๋Š” ๋ฒ ๋ฅด๋ˆ„์ด ํ™•๋ฅ  ๋ถ„ํฌ๋ผ๊ณ  ํ•˜๊ณ , ฮธ=(N,ฮผ)\theta=(N, \mu)๋กœ ํ‘œ๊ธฐํ•˜๋ฉฐ, ์ˆ˜์‹์œผ๋กœ ํ‘œ๊ธฐํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

L(ฮธ;x)=p(x;ฮธ)L(\theta;x) = p(x;\theta)

L(ฮธ;x)L(\theta;x): ๊ฐ€๋Šฅ๋„ ๊ด€์ ์—์„œ ๋ณธ, ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ x๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ์˜ ๋ชจ์ˆ˜
p(x;ฮธ)p(x;\theta): ํ™•๋ฅ  ๊ด€์ ์—์„œ ๋ณธ, ๋ฐ์ดํ„ฐ ๋ถ„ํฌ์˜ ๋ชจ์ˆ˜ ฮธ\theta๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ x๊ฐ’์„ ๊ฐ€์งˆ ํ™•๋ฅ 

์‹์„ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
(๋งˆํฌ๋‹ค์šด ๋„ˆ๋ฌด ๋ณต์žกํ•ด์„œ~~ ์†ํ•„๊ธฐ ์ฒจ๋ถ€๐Ÿ˜€)

y_hat์ด ์˜ˆ์ธกํ•œ ๊ฐ’์œผ๋กœ, sigmoid ํ•จ์ˆ˜๋กœ ๊ณ„์‚ฐํ•œ ํ™•๋ฅ  p์ด๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ทธ๋ฆผ์˜ ๋งˆ์ง€๋ง‰ ์‹์ด Cost Function์ด ๋˜๋ฉฐ, ์ด์ง„ ๋ถ„๋ฅ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” Binary Cross Entropy์ด๋‹ค.

์ถœ์ฒ˜
์ตœ๋Œ€๊ฐ€๋Šฅ๋„ ์ถ”์ •๋ฒ•





torch.nn.Linear

์ผ๋ฐ˜์ ์œผ๋กœ nn ๋ชจ๋“ˆ ์—†์ด ์ง์ ‘ ์ˆ˜์‹๊ณผ ๋ ˆ์ด์–ด, ๋ชจ๋ธ์„ ์ •์˜ํ•  ๋•Œ๋Š” weight์™€ bias๋ฅผ torch.randn()์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ torch์˜ Linear ๋ ˆ์ด์–ด์—๋Š” ์ดˆ๊ธฐ loss๊ฐ’์„ ์ค„์ด๋ฉฐ ๋ชจ๋ธ์„ ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•˜๊ฒŒ ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ ์šฉ๋˜์–ด ์žˆ๋‹ค.

๋จผ์ € ๊ณต์‹ ๋ฌธ์„œ์—์„œ ์„ค๋ช…ํ•˜๋Š” weight์™€ bias๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ฝ”๋“œ ๊ตฌํ˜„์„ ์‚ดํŽด๋ณด๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด weight์™€ bias๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค.

def reset_parameters(self) -> None:
      # Setting a=sqrt(5) in kaiming_uniform is the same as initializing with
      # uniform(-1/sqrt(in_features), 1/sqrt(in_features)). For details, see
      # https://github.com/pytorch/pytorch/issues/57109
      init.kaiming_uniform_(self.weight, a=math.sqrt(5))
      if self.bias is not None:
          fan_in, _ = init._calculate_fan_in_and_fan_out(self.weight)
          bound = 1 / math.sqrt(fan_in) if fan_in > 0 else 0
          init.uniform_(self.bias, -bound, bound)

์ด๋•Œ kaiming_uniform_์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ์ด๋Š” Kaiming He๋ผ๋Š” ์‚ฌ๋žŒ์ด ๊ฐœ๋ฐœํ•œ He Initialization์ด๋ผ๊ณ  ํ•˜๋Š” Parameter Initialization ๊ธฐ๋ฒ•์ด๋‹ค.
ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ ReLU๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋žœ๋ค ์ดˆ๊ธฐํ™” ํ•  ๊ฒฝ์šฐ ๊ธฐ์šธ๊ธฐ ์†Œ๋ฉธ ๋˜๋Š” ํญ๋ฐœ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
์•„๋ž˜๋Š” ์ฆ๋ช…์— ๊ด€ํ•œ ๋‚ด์šฉ์ธ๋ฐ ๋ฐ˜ ์ •๋„๋ฐ–์— ์ดํ•ด๋ฅผ ๋ชปํ•ด์„œ ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์‹ญ์…”.


He Initialization์˜ ์ฆ๋ช…์„ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ, ๋ถ„์‚ฐ์˜ ์„ฑ์งˆ๊ณผ ๊ฐ€์ •์ด ํ•„์š”ํ•˜๋‹ค.

๋‹ค์Œ์œผ๋กœ Logistic Regression ์ˆ˜ํ–‰์„ ์œ„ํ•ด k-1๋ฒˆ์งธ layer์™€ k๋ฒˆ์งธ layer์˜ ์‹์„ ์‚ดํŽด๋ณด์ž.

y_i๋Š” k๋ฒˆ์งธ layer์˜ i๋ฒˆ์งธ input์ด๊ณ , x_j๋Š” k-1๋ฒˆ์งธ layer์˜ j๋ฒˆ์งธ output์ด๋‹ค. ์œ„ ์‹์ด ๋ฐ”๋กœ ์ด์ „ layer์™€ ๋ฐ”๋กœ ๋‹ค์Œ layer์™€์˜ ๊ด€๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ๋ฒˆ์งธ layer๋ถ€ํ„ฐ L๋ฒˆ์งธ layer๊นŒ์ง€์˜ ๊ด€๊ณ„๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ด๋•Œ ์ ์ ˆํ•œ Parameter Initialization๋ž€, input ๋ฒกํ„ฐ(yiy_i)๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ layer(WLW_L)์„ ๊ฑฐ์ณค์„ ๋•Œ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ค„์–ด๋“ค๊ฑฐ๋‚˜ ํ™•๋Œ€๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ•œ๋‹ค.
์ฆ‰, input ๋ฒกํ„ฐ์™€ output ๋ฒกํ„ฐ์˜ ๋ถ„์‚ฐ์ด ์œ ์‚ฌํ•˜๊ฑฐ๋‚˜ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
๋”ฐ๋ผ์„œ ์œ„ ์‹์— ๊ทผ๊ฑฐํ•˜์—ฌ Var(yL)=Var(y1)Var(y_L) = Var(y_1)์ด ์„ฑ๋ฆฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด Var(WL)=1Var(W_L) = 1์ด ๋œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด!๐Ÿฅ

์ด์™€ ๊ฐ™์€ ๊ฒฐ๋ก ์ด ๋‚˜์˜ค๊ณ , ์ดˆ๊ธฐ parameter๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ชจ์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

E(w) = 0์€ ๊ฐ€์ •์— ์˜ํ•œ ๊ฐ’์ด๋‹ค.

๋…ผ๋ฌธ์—์„œ๋Š” ์‹ค์ œ๋กœ ReLU์— Xavier Initialiazation์™€ He Initialization์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ํ•™์Šต์ด ์ง„ํ–‰๋˜๋”๋ผ๋„ He Initialization์„ ์ ์šฉํ–ˆ์„ ๋•Œ ๋” ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•˜๋ฉฐ, ๋ชจ๋ธ์˜ ๊นŠ์ด๊ฐ€ ๊นŠ์–ด์กŒ์„ ๋•Œ Xavier Initialization์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ Parameter๋“ค์€ ํ•™์Šต์ด ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

์ถœ์ฒ˜
Geeksforgeeks
Tistory imlim

profile
๐ŸŒˆ๐ŸŒผ๐ŸŒธโ˜€๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€