julia coding story
๋จธ์ ๋ฌ๋ ๊ธฐ์ด ๊ฐ๋ -06. loss function (1) ๋ณธ๋ฌธ
728x90
๐ก loss function : ๋ชจ๋ธ์ inference ๊ฒฐ๊ณผ์ ์ค์ ๊ฐ ์ฌ์ด์ ํ๋ฆฐ ์ ๋๋ฅผ ๊ณ์ฐํ๋ ํจ์
Source : https://datahacker.rs/003-pytorch-how-to-implement-linear-regression-in-pytorch/
- hat y(์์ธก๊ฐ predicted value)์ y(traget value) ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํด์ฃผ๋ ํจ์.
- ๋ ํ๋ฆด ์๋ก(= ์ฐจ์ด๊ฐ ์ ์ ์๋ก) ํ์ต์ ์ํ ๊ฒ
- ๊ทธ๋ผ Loss function์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ๋ ๋ณ์๋ ๋ฌด์์ผ๊น?
- โ parameter (weight)
- Loss function์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์ฅ ์์์ง ์ ์๋ parameter๋ฅผ ์ฐพ๋ ๊ฒ์ด ํ์ต์ ๋ชฉํ
Loss Function Optimization
Source : https://www.kaggle.com/mrhippo/data-science-notes5-deep-learning-ann
- Loss function์ด ์ต์ ์ ๊ฐ์ ๊ฐ์ง ์ ์๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ ํ๊ฒ ์ ๋ฐ์ดํธ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ์ด ํฅ์๋๋ ๋ฐฉํฅ์ผ๋ก ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํ ํ๋ ๊ฒ ์ค์ (=loss๊ฐ ์ค์ด๋๋ ๋ฐฉํฅ)
- Loss space์์ ์ต์ ์ ํ๋ผ๋ฏธํฐ ์กฐํฉ์ ์ฐพ๋ ๋ฌธ์ ๋ ์ํ์ ์ผ๋ก ๋งค์ฐ ์ด๋ ต์ต๋๋ค. (๊ณ ์ฐจ์์์์ ์ต์ ํ ๋ฌธ์ ๋ ํด๋ต์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์)
- ํ์ค์ ์ผ๋ก ์ต์ ์ ํ๋ผ๋ฏธํฐ ์กฐํฉ์ ์ฐพ์ ์ ์๋ โgradient Descent Algorithmโ ์ด ์ ์ผ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.Source : https://blog.clairvoyantsoft.com/the-ascent-of-gradient-descent-23356390836f
- Gradient Descent algorithm์ ์ฐ๋งฅ์์ ์์์ ํฌ์ธํธ์ ๋จ์ด์ก์ ๋, ํ์ฌ ์ ์๋ ์์น์์ ๊ฐ์ฅ ๊ฐํ๋ฅธ ๋ฐฉํฅ์ผ๋ก ํ ๋ฐ์๊ตญ์ฉ ๋ด๋ ค๊ฐ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ต์ ์ ๋คํด ๋ฐ๋ฐ๋ฅ์ผ๋ก ๋ด๋ ค๊ฐ ์ ์๋ ๋ฐฉ๋ฒ
- practicalํ๊ฒ ๊ต์ฅํ ์ข์ ํ๋ผ๋ฏธํฐ ์กฐํฉ์ ์ ์ฐพ์์ฃผ๋ฉฐ, ๋๋ถ๋ถ์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ ์ฉ๋์ด ์๋ ์ต์ ํ ๋ฐฉ์์
- Gradient Descent algorithm์ ํ๋ผ๋ฏธํฐ๊ฐ ์ ์ฐจ Loss Function์์ ์ต์๊ฐ์ ๊ฐ์ง ์ ์๊ฒ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํด์ค๋ค.
- ๋จ, ๋ฌด์กฐ๊ฑด global minimum(์ต์๊ฐ)์ ์ฐพ๋ ๊ฒ์ ์๋. local minimum(๊ทน์๊ฐ)์ ์ฐพ์ ์ ์์(๊ทน์๊ฐ์ ๋ฌด์กฐ๊ฑด ์ฐพ์)
Hands-on
- ๋จธ์ ๋ฌ๋์์ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ Loss Function์ 3๊ฐ์ง๋ง ์กฐ์ฌํด๋ณด์ธ์. (๋ถ๋ฅ, ํ๊ท, ํด๋ฌ์คํฐ๋ง์์ ํ๋์ฉ ์ฐพ์๋ณด๋ฉด ์ ์ผ ์ข์ต๋๋ค!)
- ๋ถ๋ฅ(Classification):
- ํฌ๋ก์ค ์ํธ๋กํผ ์์ค(Cross-Entropy Loss): ๋ถ๋ฅ ๋ฌธ์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ์์ค ํจ์๋ก, ์ค์ ๋ ์ด๋ธ๊ณผ ์์ธก๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค. ํฌ๋ก์ค ์ํธ๋กํผ ์์ค์ ๋ค์ค ํด๋์ค ๋ถ๋ฅ ๋ฌธ์ ์์ ์์ฃผ ์ฌ์ฉ๋๋ฉฐ, ๋ชจ๋ธ์ด ์ ํํ ํด๋์ค๋ฅผ ์์ธกํ๋๋ก ๋์ต๋๋ค.
- ๋ก์ง์คํฑ ์์ค(Logistic Loss): ์ด์ง ๋ถ๋ฅ ๋ฌธ์ ์์ ์ฌ์ฉ๋๋ ์์ค ํจ์๋ก, ๋ก์ง์คํฑ ํ๊ท์์ ์ฃผ๋ก ํ์ฉ๋ฉ๋๋ค. ์ค์ ๋ ์ด๋ธ๊ณผ ์์ธก๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ์ฌ ๋ชจ๋ธ์ ํ์ต์ํต๋๋ค.
- ํ๊ท(Regression):
- ํ๊ท ์ ๊ณฑ ์ค์ฐจ(Mean Squared Error, MSE): ํ๊ท ๋ฌธ์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ์์ค ํจ์๋ก, ์์ธก๊ฐ๊ณผ ์ค์ ๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ์ฌ ํ๊ท ์ ์ทจํฉ๋๋ค. MSE๋ ์ค์ฐจ์ ์ ๊ณฑ์ ์ฌ์ฉํ๋ฏ๋ก ํฐ ์ค์ฐจ์ ๋ ๋ง์ ํจ๋ํฐ๋ฅผ ๋ถ์ฌํฉ๋๋ค.
- ํ๊ท ์ ๋ ์ค์ฐจ(Mean Absolute Error, MAE): MSE์ ์ ์ฌํ ํ๊ท ๋ฌธ์ ์์ ์ฌ์ฉ๋๋ ์์ค ํจ์๋ก, ์์ธก๊ฐ๊ณผ ์ค์ ๊ฐ ์ฌ์ด์ ์ ๋ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ์ฌ ํ๊ท ์ ์ทจํฉ๋๋ค. MAE๋ ์ค์ฐจ์ ์ ๋๊ฐ์ ์ฌ์ฉํ๋ฏ๋ก ํฐ ์ค์ฐจ์ ๋ํด ๋ ๊ท ๋ฑํ ํจ๋ํฐ๋ฅผ ๋ถ์ฌํฉ๋๋ค.
- ํด๋ฌ์คํฐ๋ง(Clustering):
- ์ด์์น ํ์ง: ํด๋ฌ์คํฐ๋ง ๋ฌธ์ ์์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ์ด๋ธ์ด ์๊ธฐ ๋๋ฌธ์ ๋ช ์์ ์ธ ์์ค ํจ์๊ฐ ์ฌ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋์ ์ด์์น ํ์ง ๊ธฐ๋ฒ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ด์์ ์ด์์น๋ฅผ ์๋ณํ๊ณ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ํด๋ฌ์คํฐ๋ง์ ํ์ง์ ํ๊ฐํฉ๋๋ค. ์ด์์น ํ์ง ๊ธฐ๋ฒ์ ๋ฐ์ดํฐ์ ๋ฐ๋, ๊ฑฐ๋ฆฌ, ์ด์์น ์ ์ ๋ฑ์ ๊ณ ๋ คํ์ฌ ์ด์์น๋ฅผ ์๋ณํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ถ๋ฅ(Classification):
- Loss function optimization์์ ์ํ์ ์ผ๋ก ์ต์๊ฐ์ ์ฐพ๋ analytic solution ๋์ , Gradient Descent๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ผ์ง ์๊ฐํด๋ณด์ธ์.
- Gradient Descent๋ ๋ณต์กํ ์์ค ํจ์์์๋ ์ ์ฉ ๊ฐ๋ฅํ ๋ฒ์ฉ์ ์ธ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋ค์ํ ํํ์ ๋ชจ๋ธ๊ณผ ์์ค ํจ์์ ์ ์ฉํ ์ ์์ด ํ์ฉ ๋ฒ์๊ฐ ๋์ต๋๋ค.
- Gradient Descent๋ ๊ธฐ์ธ๊ธฐ(Gradient)๋ฅผ ์ฌ์ฉํ์ฌ ์์ค ํจ์์ ์ต์๊ฐ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ธฐ์ธ๊ธฐ๋์์ค ํจ์์ ๊ธฐ์ธ๊ธฐ(Gradient)๋ ํ์ฌ ์์น์์ ๊ฐ์ฅ ๊ฐํ๋ฅธ ๊ฐํ ๋ฐฉํฅ์ ๋ํ๋ ๋๋ค. Gradient Descent๋ ์ด ๊ธฐ์ธ๊ธฐ๋ฅผ ์ด์ฉํ์ฌ ์์ค ํจ์์ ์ต์๊ฐ์ ์ฐพ๊ธฐ ์ํด ๋ฐ๋ณต์ ์ผ๋ก ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ธ์ ์์ค์ ์ต์ํํ๊ณ , ์ต์ ์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ฐพ์ ์ ์์ต๋๋ค.