[Machine Learning] ๋จธ์ ๋ฌ๋, ๋ชจ๋ธ์ ํธํฅ(bias)๊ณผ ๋ถ์ฐ(variance) : trade-off ๊ด๊ณ
๋จธ์ ๋ฌ๋์์ ํธํฅ๊ณผ ๋ถ์ฐ์ ์ธ์ ์ฐ์ด๋ ์ฉ์ด์ธ๊ฐ?
Supervised Learning(์ง๋ํ์ต)์ ๋ํด์ ๊ฐ๋จํ ์ค๋ช
ํด๋ณด์๋ฉด ์ฌ๋์ด ์ ํด์ค ์ ๋ต์ด ์๊ณ , ์ฐ๋ฆฌ์ ๋ชจ๋ธ์ ๊ทธ ์ ๋ต์ ์ ๋ง์ถ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต(training)์ ํ๋ค. ์ด๋, ํ์ต์ ํ๋ฉด์ ๋ชจ๋ธ์ด ๋ด๋๋ ์์ธก๊ฐ๋ค์ ๊ฒฝํฅ์ ํํํ๊ธฐ์ํด ํธํฅ๊ณผ ๋ถ์ฐ์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ค.
์ฝ๊ฒ ๋งํ์๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค
A. ์์ธก๊ฐ๊ณผ ์ ๋ต ๊ฐ์ ๊ด๊ณ๋ฅผ "ํธํฅ"์ผ๋ก ํํ (bias : model์ output๊ณผ ์ค์ ๊ฐ ์ฌ์ด์ ์ ๊ณฑ error, ์ ํ๋์ ๋น์ทํ ๊ฐ๋
)
B. ์์ธก๊ฐ๋ผ๋ฆฌ์ ๊ด๊ณ๋ฅผ "๋ถ์ฐ"์ผ๋ก ํํ (variance : model์ด ๊ฐ๊ธฐ ๋ค๋ฅธ train set์ ๋ํ์ฌ ์ฑ๋ฅ์ ๋ณํ์ ๋๊ฐ ๊ธํ๊ฒ ๋ณํ๋์ง, ์์ ์ ์ผ๋ก ๋ณํ๋์ง๋ฅผ ๋ํ๋ด๋ ์ฒ๋)
ํ์๊ธฐ๋ก ๋น์
ํธํฅ๊ณผ ๋ถ์ฐ์ ๋น์ ํ ๋ ๊ฐ์ฅ ํํ ๋ฑ์ฅํ๋ "ํ์๊ธฐ"๋ก ๋น๋์ด๋ณด์
- ๋นจ๊ฐ ์ : ์ฌ๋์ด ์ ํด์ค ์ ๋ต (true)
- ํ๋ ์ : ์ปดํจํฐ๊ฐ ์์ธกํ ๊ฐ (predicted value)
์ ๊ทธ๋ฆผ์ ํด์ํด๋ณด์.
1. ์ผ์ชฝ ์
A. ์์ธก๊ฐ๊ณผ ์ ๋ต๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค์ด ๋์ฒด์ ์ผ๋ก ์ ๋ต ๊ทผ๋ฐฉ์ ๋ถํฌํ๋ค โก ํธํฅ์ด ๋ฎ๋คโฌ
B. ์์ธก๊ฐ๋ค๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค๊น๋ฆฌ ์๋ก ๋ชฐ๋ ค์๋ค โก ๋ถ์ฐ์ด ๋ฎ๋คโฌ
2. ์ค๋ฅธ์ชฝ ์ - overfitting
A. ์์ธก๊ฐ๊ณผ ์ ๋ต๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค์ด ๋์ฒด์ ์ผ๋ก ์ ๋ต ๊ทผ๋ฐฉ์ ๋ถํฌํ๋ค โก ํธํฅ์ด ๋ฎ๋คโฌ
B. ์์ธก๊ฐ๋ค๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค๊น๋ฆฌ ์๋ก ํผ์ ธ์๋ค โก ๋ถ์ฐ์ด ๋๋คโฌ
3. ์ผ์ชฝ ์๋ - underfitting
A. ์์ธก๊ฐ๊ณผ ์ ๋ต๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค์ด ๋์ฒด์ ์ผ๋ก ์ ๋ต์ผ๋ก๋ถํฐ ๋ฉ๋ฆฌ ๋ถํฌํ๋ค โก ํธํฅ์ด ๋๋คโฌ
B. ์์ธก๊ฐ๋ค๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค๊น๋ฆฌ ์๋ก ๋ชฐ๋ ค์๋ค โก ๋ถ์ฐ์ด ๋ฎ๋คโฌ
4. ์ค๋ฅธ์ชฝ ์๋
A. ์์ธก๊ฐ๊ณผ ์ ๋ต๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค์ด ๋์ฒด์ ์ผ๋ก ์ ๋ต์ผ๋ก๋ถํฐ ๋ฉ๋ฆฌ ๋ถํฌํ๋ค โก ํธํฅ์ด ๋๋คโฌ
B. ์์ธก๊ฐ๋ค๊ฐ์ ๊ด๊ณ : ์์ธก๊ฐ๋ค๊น๋ฆฌ ์๋ก ํผ์ ธ์๋ค โก ๋ถ์ฐ์ด ๋๋คโฌ
์ด์ ํ์๊ธฐ ๊ณผ๋
์์ ๋ฒ์ด๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ฐ์ง๊ณ ์ดํดํด๋ณด์.
ํธํฅ๊ณผ ๋ถ์ฐ์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ "๋ณต์กํ๊ฒ ์๊ธด ์ ๋"์ ํฐ ๊ด๋ จ์ด ์๋ค
๋จผ์ , Regression Model (ํ๊ท) ์์๋ฅผ ๋ณด๊ฒ ๋ค
์๋๋ 3๊ฐ์ง์ ์๋ก ๋ค๋ฅธ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ด๋ค. ์ด ๋ชจ๋ธ๋ค์ ๋ชจ๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ค๋ช
ํ๊ณ ์๋ค.
- ์ : ์ ๋ต
- ์ : ๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ
(์์ ๋งํ๋ฏ์ด ๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ค์ ๊ฒฝํฅ์ ์ฐ๋ฆฌ๊ฐ ์์๋ณด์๊ณ ํ๋ ๊ฒ์ด๋ฉฐ ์ด๋ฅผ ์ํด ์ฐ์ด๋ ์ฉ์ด๊ฐ ํธํฅ๊ณผ ๋ถ์ฐ์ด๋ค.)
1๋ฒ ๊ทธ๋ํ :
์ ์ด ์ ๋ค๋ก๋ถํฐ ๋ฉ๋ค โก ํธํฅ์ด ๋๋ค
๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ผ๋ฆฌ๋ ์๋ก ๋ชฐ๋ ค์๋ค (๊ฐ์ ์ง์ ์์ ์ ๋ค์ด๋๊น) โก ๋ถ์ฐ์ด ๋ฎ๋ค
2๋ฒ ๊ทธ๋ํ : (๊ฐ์ฅ ์ด์์ ๋ชจ๋ธ)
์ ์ด ์ ๋ค๋ก๋ถํฐ ๊ฐ๊น๋ค โก ํธํฅ์ด ๋ฎ๋ค
๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ค๋ผ๋ฆฌ๋ ์๋ก ๋ชฐ๋ ค์๋ค (๊ฐ์ ์ง์ ์์ ์ ๋ค์ด๋๊น) โก ๋ถ์ฐ์ด ๋ฎ๋ค
3๋ฒ ๊ทธ๋ํ :
์ ์ด ์ ๋ค๋ก๋ถํฐ ๊ฐ๊น๋ค โก ํธํฅ์ด ๋ฎ๋ค
๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ค๋ผ๋ฆฌ ์๋ก ํผ์ ธ์๋ค (๊ตฌ๋ถ๊ตฌ๋ถํ ์ ์์ ์ ๋ค์ด๋๊น) โก ๋ถ์ฐ์ด ๋๋ค
๋ค์์ผ๋ก, Classification Model (๋ถ๋ฅ) ์์๋ฅผ ๋ณด๊ฒ ๋ค
์๋๋ 3๊ฐ์ง์ ์๋ก ๋ค๋ฅธ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ด๋ค. ์ด ๋ชจ๋ธ๋ค์ ๋ชจ๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ค๋ช
ํ๊ณ ์๋ค.
- ๋นจ๊ฐ ์ /์ด๋ก ์ญ์๊ฐ : ์ ๋ต
- ์ : ๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ
(์์ ๋งํ๋ฏ์ด ๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ค์ ๊ฒฝํฅ์ ์ฐ๋ฆฌ๊ฐ ์์๋ณด์๊ณ ํ๋ ๊ฒ์ด๋ฉฐ ์ด๋ฅผ ์ํด ์ฐ์ด๋ ์ฉ์ด๊ฐ ํธํฅ๊ณผ ๋ถ์ฐ์ด๋ค.)
1๋ฒ ๊ทธ๋ํ :
์ ์ด ์ ๋ค๋ก๋ถํฐ ๋ฉ๋ค โก ํธํฅ์ด ๋๋ค
๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ผ๋ฆฌ๋ ์๋ก ๋ชฐ๋ ค์๋ค (๊ฐ์ ์ง์ ์์ ์ ๋ค์ด๋๊น) โก ๋ถ์ฐ์ด ๋ฎ๋ค
2๋ฒ ๊ทธ๋ํ : (๊ฐ์ฅ ์ด์์ ๋ชจ๋ธ)
์ ์ด ์ ๋ค๋ก๋ถํฐ ๊ฐ๊น๋ค โก ํธํฅ์ด ๋ฎ๋ค
๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ค๋ผ๋ฆฌ๋ ์๋ก ๋ชฐ๋ ค์๋ค (๊ฐ์ ์ง์ ์์ ์ ๋ค์ด๋๊น) โก ๋ถ์ฐ์ด ๋ฎ๋ค
3๋ฒ ๊ทธ๋ํ :
์ ์ด ์ ๋ค๋ก๋ถํฐ ๊ฐ๊น๋ค โก ํธํฅ์ด ๋ฎ๋ค
๋ชจ๋ธ์ด ๋ด๋์ ์์ธก๊ฐ๋ค๋ผ๋ฆฌ ์๋ก ํผ์ ธ์๋ค (๊ตฌ๋ถ๊ตฌ๋ถํ ์ ์์ ์ ๋ค์ด๋๊น) โก ๋ถ์ฐ์ด ๋๋ค
Underfitting๊ณผ Overfitting
์์์ ๋ณธ ๋ฐ์ ๊ฐ์ด, regression ๋ชจ๋ธ์ด๋ classification ๋ชจ๋ธ์ด๋ 1๋ฒ ๊ทธ๋ํ์ ๊ฐ์ ์ํฉ์ "Underfitting", 3๋ฒ์งธ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ํฉ์ "Overfitting" ์ด๋ผ๊ณ ํ๋ค
์์ ํธํฅ๊ณผ ๋ถ์ฐ์ ๋ชจ๋ธ์ "๋ณต์กํ๊ฒ ์๊ธด ์ ๋"์ ๊ด๋ จ์ด ์๋ค๊ณ ํ๋ค.
- ๋ชจ๋ธ์ด ๋๋ฌด ๋จ์ํ๊ฒ ์๊ฒผ์ผ๋ฉด(=ํ์ต์ด ๋ ๋์ด ์์ผ๋ฉด) ์ ๋ต์์ ๋จผ ์์ธก๊ฐ์ ๋ด๋๋๋ค(=์ ๋ต์ ์ ๋ง์ถ์ง ๋ชปํ๋ค)
- ๋ชจ๋ธ์ด ๋๋ฌด ๋ณต์กํ๊ฒ ์๊ฒผ์ผ๋ฉด(=ํ์ต์ด ๋๋ฌด ์ฌํ๊ฒ ๋์ด ์์ผ๋ฉด) ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ธ์์ ๋ง์ถ๋ ๊ฒ๊ณผ ๊ฐ์ ํ์์ด ๋ฒ์ด์ง๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ฐ์ดํฐ๋ก testํ๊ฒ ๋๋ฉด ๋ชจ๋ธ์ด ์ธ์ ๋ ๋ฐ์ดํฐ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ํ๋ฆด ๋ต์ ๋ด๋์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๋ฐ๋ผ์ 2๋ฒ ๊ทธ๋ํ์ ๊ฐ์ด ๋ชจ๋ธ์ด ์ ๋นํ ํ๋ จ๋์์ ๋๊ฐ ๊ฐ์ฅ ์ด์์ ์ด์ง๋ง ์ด๊ฒ ์ ์ผ ์ด๋ ต๋ค
Model Complexity
ํธํฅ๊ณผ ๋ถ์ฐ์ trade-off ๊ฒฝํฅ์ ๋ค๋ค
trade-off๋ ํ์ชฝ์ด ์ฆ๊ฐํ๋ฉด ๋ค๋ฅธ ํ์ชฝ์ ๊ฐ์ํ๊ฑฐ๋ ํ์ชฝ์ด ๊ฐ์ํ๋ฉด ๋ค๋ฅธ ํ์ชฝ์ ์ฆ๊ฐํ๋ ํ์์ ๋งํ๋ค
์ฐ๋ฆฌ์ ๋ชจ๋ธ์ด train set์ ์ฌ๋ฌ๋ฒ ํ์ตํ ์๋ก ๋ชจ๋ธ์ ๋ณต์ก๋(model complexity)๋ ์ด์ ๋ฐ๋ผ ๋์ด๋๊ฒ ๋๋๋ฐ, ์ด๋ ๋ชจ๋ธ์ด train set์ ๊ทธ๋๋ก ์ธ์ฐ๋ ๋ฐฉํฅ์ด๊ธฐ ๋๋ฌธ์ด๋ค
๋ฐ๋ผ์, training error๋ ํ์ตํ ์๋ก ์ค์ด๋ค๊ฒ ๋์ง๋ง, validation error๋ ์ค์ด๋ค๋ค๊ฐ ์ด๋ ์ง์ ์ดํ๋ถํฐ๋ ๋ค์ ์์นํ๊ฒ ๋๋ค
(training error, validation error๋ฅผ ๋ชจ๋ฅด์๋ ๋ถ์ ์๋ ์ ์ ๊ธ์ ํ์ธํด์ฃผ์ธ์)
training error
- train set์ผ๋ก ๋ชจ๋ธ์ ํ๋ จ์ํฌ ๋ ๋ฐ์ํ๋ ์ค์ฐจ
- ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ธ์ ๋ด๋ถ๊ตฌ์กฐ๋ฅผ ๋ณํ์ํค๋ฉด์ ์ด ์ค์ฐจ๋ฅผ ์ค์ด๋ ๊ฒ์ด ๋ชจ๋ธ์ ์งํฅ์ (์ฆ, ๋ชจ๋ธ์ ๊ตฌ์กฐ์ ์ํฅ์ ์ค๋ค)
validation error
- ๋ฐ์ดํฐ๋ก ๋ชจ๋ธ์ ํ๊ฐํ ๋ ๋ฐ์ํ๋ ์ค์ฐจ
- ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ธ์ ๋ด๋ถ๊ตฌ์กฐ๋ฅผ ๋ณํ์ํค์ง ์๊ณ , ๊ทธ์ validation set์ ์ง์ด๋ฃ์์ ๋ ๋ชจ๋ธ์ output(์์ธก๊ฐ)์ ๊ด์ฐฐ (์ฆ, ๋ชจ๋ธ์ ๊ตฌ์กฐ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค)
reference : opentutorials.org/module/3653/22071