์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๊ฒฐ์ ํธ๋ฆฌ
- c++
- react
- ๋ฐ์ดํฐ์๊ฐํ
- ์ ํ๋์ํ
- ๋จธ์ ๋ฌ๋
- ๋ถ์
- ํ์ดํ๋
- ๋ฐ์ดํฐ
- ๋ค์ดํฐ๋ธ
- ๋ฅ๋ฌ๋
- ์๋ฒ ๋ฉ
- nlp
- ์ํ์ฝ๋ฉ
- ๋ฆฌ์กํธ
- ๋์
- ์๋๋ก์ด๋์คํ๋์ค
- ๋ฐฑ์ค
- native
- ์ธํ๋ฐ
- Titanic
- Kaggle
- ๋ฐ์ดํฐ๋ถ์
- ์๊ณ ๋ฆฌ์ฆ
- ๊นํ
- Git
- ํ๊ตญ์ด์๋ฒ ๋ฉ
- linearalgebra
- AI
- cs231n
- Today
- Total
yeon's ๐ฉ๐ป๐ป
๊ทธ๋ผ๋์ธํธ ๋ถ์คํธ (Gradient Boost) ๋ณธ๋ฌธ
๋จธ์ ๋ฌ๋ - 15. ๊ทธ๋ ๋์ธํธ ๋ถ์คํธ(Gradient Boost)
์์๋ธ ๋ฐฉ๋ฒ๋ก ์๋ ๋ถ์คํ ๊ณผ ๋ฐฐ๊น ์ด ์์ต๋๋ค. (๋จธ์ ๋ฌ๋ - 11. ์์๋ธ ํ์ต (Ensemble Learning): ๋ฐฐ๊น (Bagging)๊ณผ ๋ถ์คํ (Boosting)) ๋ฐฐ๊น ์ ๋ํ์ ์ธ ๋ชจ๋ธ์ ๋๋ค ํฌ๋ ์คํธ๊ฐ ์๊ณ , ๋ถ์คํ ์ ๋ํ์ ์ธ ๋ชจ
bkshin.tistory.com
์ ๋ธ๋ก๊ทธ๋ฅผ ํ์ฌํ๋ฉฐ ๊ณต๋ถ
* ๋ชจ๋ ํ ์คํธ์ ์ด๋ฏธ์ง์ ์ถ์ฒ๋ ์ ๋ธ๋ก๊ทธ์ ๋๋ค.
์์๋ธ ๋ชจ๋ธ -> ๋ถ์คํ & ๋ฐฐ๊น
- ๋ฐฐ๊น -> ๋๋ค ํฌ๋ ์คํธ
- ๋ถ์คํ -> AdaBoost, Gradient Boost ๋ฑ
- Gradient Boost์ ๋ณํ ๋ชจ๋ธ๋ก๋ XGBoost, LightGBM, CatBoost
AdaBoost์ Gradient Boost์ ์ฐจ์ด
AdaBoost๋ stump๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ํ๋์ stump์์ ๋ฐ์ํ error๊ฐ ๋ค์ stump์ ์ํฅ์ ์ค๋ค.
- ์ด๋ฐ์์ผ๋ก ์ฌ๋ฌ stump๊ฐ ์์ฐจ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋์ถํจ
๋ฐ๋ฉด Gradient Boost๋ stump๋ tree๊ฐ ์๋ ํ๋์ leaf (single leaf)๋ถํฐ ์์ํ๋ค.
- ์ด leaf๋ ํ๊ฒ ๊ฐ์ ๋ํ ์ด๊ธฐ ์ถ์ ๊ฐ์ ๋ํ๋ธ๋ค.
(๋ณดํต์ ์ด๊ธฐ ์ถ์ ๊ฐ์ ํ๊ท ์ผ๋ก ์ ํจ)
- ๊ทธ ๋ค์์ AdaBoost์ ๋์ผํ๊ฒ ์ด์ tree์ error์ ๋ค์ tree์ ์ํฅ์ ์ค
- but, AdaBoost์ ๋ค๋ฅด๊ฒ stump๊ฐ ์๋ tree๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
(๋ณดํต์ leaf๊ฐ 8๊ฐ~32๊ฐ๊ฐ ๋๋ tree๋ก ๊ตฌ์ฑ)
Gradient Boost ํ๋ก์ธ์ค
ํค, ์ข์ํ๋ ์, ์ฑ๋ณ์ ๊ธฐ๋ฐ์ผ๋ก ๋ชธ๋ฌด๊ฒ๋ฅผ ์์ธกํ๋ Gradient Boost ๋ชจ๋ธ
Gradient Boost๋ single leaf๋ถํฐ ์์ํด, ๊ทธ single leaf ๋ชจ๋ธ์ด ์์ธกํ๋ ํ๊ฒ ์ถ์ ๊ฐ์ ๋ชจ๋ ํ๊ฒ ๊ฐ์ค์ด ํ๊ท ์ด๋ค.
(88 + 76 + 56 + 73 + 77 + 57) / 6 = 71.2
๋ฐ๋ผ์, single leaf๋ก ๋ชธ๋ฌด๊ฒ๋ฅผ ์์ธกํ๋ค๋ฉด ๋ชจ๋ ์ฌ๋์ 71.2kg๋ผ๊ณ ํ ๊ฒ์ด๋ค.
single leaf์์ ์์ธกํ ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์ฐจ์ด(error)๋ฅผ ๋ฐ์ํ ์๋ก์ด ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
- ์ ๊ทธ๋ฆผ์์๋ ํธ์์ leaf๊ฐ 4๊ฐ์ธ ํธ๋ฆฌ๋ฅผ ๊ทธ๋ ธ์ง๋ง ์ค์ ๋ก๋ leaf๊ฐ 8๊ฐ~32๊ฐ์ธ ํธ๋ฆฌ๋ฅผ ์ฃผ๋ก ์
error์ ๊ตฌํด๋ณด์.
- ์ฒซ ํ์ ์ค์ ๋ชธ๋ฌด๊ฒ ๊ฐ์ 88kg์ธ๋ฐ ์์ leaf๋ 71.2kg๋ก ์์ธกํ๋ค.
- ๋ฐ๋ผ์ ์ฐจ์ด๋ 88 - 71.2 = 16.8kg ์ด๋ค.
- ์ด๋ฅผ Pseudo Residual์ด๋ผ๊ณ ํ๋ค.
๋ชจ๋ ํ์ Pseudo Residual์ ๋ค์๊ณผ ๊ฐ๋ค.
ํค, ์ข์ํ๋ ์, ์ฑ๋ณ์ ํตํด Residual์ ์์ธกํ๋ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด์.
๋ชจ๋ธ์ ์๋์ ๊ฐ์ด ๋ง๋ค์๋ค.
- ๋งจ ์ฒ์ ๋ ธ๋์์ ์ฑ๋ณ์ด ์ฌ์๋ฉด ์ผ์ชฝ, ๋จ์๋ฉด ์ค๋ฅธ์ชฝ
- ๋ ๋ฒ์งธ ๋ ธ๋์์ ํค๊ฐ 1.6m ๋ฏธ๋ง์ด๋ฉด ์ผ์ชฝ, ์ด์์ด๋ฉด ์ค๋ฅธ์ชฝ,
์ข์ํ๋ ์์ด ํ๋์์ด ์๋๋ฉด ์ผ์ชฝ, ๋ง์ผ๋ฉด ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ค.
์ฌ๊ธฐ์ ๋ง์ง๋ง leaf ๋ ธ๋์ ๋ ๊ฐ์ residual ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
- ๊ทธ๋ด ๋ ๋ ๊ฐ์ ํ๊ท ์ผ๋ก ์นํํด ๋ฃ์ด์ฃผ์.
์ด์ , ์ด๊ธฐ์ ๊ตฌํ ํธ๋ฆฌ(์ฌ๊ธฐ์๋ single leaf)์ ๋ ๋ฒ์งธ๋ก ๊ตฌํ ํธ๋ฆฌ๋ฅผ ์กฐํฉํด ๋ชธ๋ฌด๊ฒ๋ฅผ ์์ธกํด๋ณด์
๋ ๋ฒ์งธ ํธ๋ฆฌ์์ ์ฑ๋ณ์ด ๋จ์๊ณ , ์ข์ํ๋ ์์ด ํ๋์์ด๋ฉด residual์ 16.8๋ก ์์ธกํ๋ค.
์ฒซ ๋ฒ์งธ ํธ๋ฆฌ์ ๋ชธ๋ฌด๊ฒ ์์ธก ๊ฐ์ธ 71.2kg์ ๋ ๋ฒ์งธ ํธ๋ฆฌ์ residual ์์ธก ๊ฐ์ธ 16.8kg์ ๋ํ๋ฉด 88์ด ๋๋ค.
- ์ฆ, ์ฑ๋ณ์ด ๋จ์๊ณ , ์ข์ํ๋ ์์ด ํ๋์์ด๋ฉด ๊ทธ ์ฌ๋์ ๋ชธ๋ฌด๊ฒ๋ 88kg๋ผ๊ณ ์์ธก์ ํ ๊ฒ
์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด์ค ๋ชจ๋ธ์ด ์์ธกํ ๋ชธ๋ฌด๊ฒ์ ์ค์ ๋ชธ๋ฌด๊ฒ๊ฐ 88kg๋ก ์ผ์นํจ
- but, ์ด๋ ํ๋ จ ๋ฐ์ดํฐ์ ๋๋ฌด fitํ ๋ชจ๋ธ (๊ณผ์ ํฉ)
๊ณผ์ ํฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ต๋ฅ (Learning Rate)์ด๋ผ๋ ๊ฒ์ ํ์ฉํ๋ค.
- ํ์ต๋ฅ ์ 0~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค.
- Residual์ ์์ธกํ๋ ๋ชจ๋ธ์ ํ์ต๋ฅ ์ ๊ณฑํด์ค์ผ๋ก์จ ๊ณผ์ ํฉ์ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค.
- ์ฌ๊ธฐ์ ํ์ต๋ฅ ์ 0.1๋ก ์ธํ
ํ์ต๋ฅ ์ด 0.1์ธ ๊ฒฝ์ฐ ๋ชจ๋ธ์ด ์์ธกํ ๋ชธ๋ฌด๊ฒ๋ 72.9kg
- ์ฒซ single leaf ๋ชจ๋ธ์ด ์์ธกํ 71.2kg๋ณด๋ค๋ ์ค์ ๊ฐ(88kg)์ ๋ ๊ฐ๊น์์ง
- Gradient Boost ๋ชจ๋ธ์ ์ด๋ฐ์์ผ๋ก ์ค์ ๊ฐ์ ์กฐ๊ธ์ฉ ๊ฐ๊น์์ง๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ ํจ
* ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก (์ฆ, ์ค์ ๊ฐ๊ณผ ๊ฐ๊น์์ง๋ ๋ฐฉํฅ์ผ๋ก) ์กฐ๊ธ์ฉ ๋ ๊ฐ๊น๊ฐ๋ ์์ผ๋ก ํ์ต๋ ๋ชจ๋ธ์ ํ ์คํธ ๋ฐ์ดํฐ์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค.
์ง๊ธ๊น์ง ๋ง๋ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก Pseudo Residual์ ๋ค์ ๊ตฌํด๋ณด์.
Pseudo Residual์ ์ค์ ๊ฐ - ์์ธก๊ฐ ์ด๋ค.
์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ์๋ก ๋ค๋ฉด, ์ค์ ๊ฐ์ 88kg์ด๊ณ ์๋ก์ด ๋ชจ๋ธ์ ์์ธก๊ฐ์ 71.2 + 0.1 * 16.8 ์ด๋ค.
-> Pseudo Residual = 88 - (71.2 + 0.1 * 16.8) = 15.1kg
๋งจ ์ฒ์ ๊ตฌํ Residual๊ณผ ๊ฒฐํฉ๋ ๋ชจ๋ธ๋ก ๊ตฌํ Residual์ ๋น๊ตํด๋ณด์.
- ์ผ์ชฝ์ด ์ฒ์ ๊ตฌํ Residual (ํ๊ท ๊ฐ์ธ 71.2๋ง ํ์ฉํด ๊ตฌํ ๊ฐ)
- ์ค๋ฅธ์ชฝ์ด ๊ฒฐํฉ๋ ๋ชจ๋ธ๋ก ๊ตฌํ Residual
- ์๋ก์ด Residual์ ์ด๊ธฐ Residual๋ณด๋ค ๋ชจ๋ ์์ ๊ฐ.
- Residual์ด ์์์ก๋ค๋ ๋ป์ ๋ค๋ฅธ ๋ง๋ก ํ๋ฉด ์ค์ ๊ฐ๊ณผ ์์ธก ๊ฐ์ ์ฐจ์ด๊ฐ ์์์ก๋ค๋ ๋ป
- ์ฆ, ์กฐ๊ธ์ฉ ์ค์ ๊ฐ์ผ๋ก ๋ค๊ฐ๊ฐ๊ณ ์๋ค๋ ๋ป !
์๋ก ๊ตฌํ Residual๋ก ํธ๋ฆฌ๋ ์๋ก ๋ง๋ค๊ธฐ
๋ณธ ์์ ์์๋ leaf๊ฐ 4๊ฐ์ธ ํธ๋ฆฌ๋ฅผ ๊ณ์ ์ฌ์ฉํ์ง๋ง ์ค์ ๋ ๋งค iteration๋ง๋ค ํธ๋ฆฌ์ ๋ชจ์์ด ๋ฐ๋ ์ ์๋ค.
(๋ง์ฐฌ๊ฐ์ง๋ก ๋ ๊ฐ์ด ๋ค์ด์๋ leaf๋ ํ๊ท ๊ฐ์ผ๋ก ๋์ฒดํ์)
์ด์ , ์ง๊ธ๊น์ง ๊ตฌํ ํธ๋ฆฌ์ ํ์ต๋ฅ ์ ๊ณฑํ ๋ค ํฉํด์ฃผ์.
'์ด๊ธฐ leaf ํธ๋ฆฌ + (ํ์ต๋ฅ * ์ฒซ ๋ฒ์งธ residual ์์ธก ํธ๋ฆฌ) + (ํ์ต๋ฅ * ๋ ๋ฒ์งธ residual ์์ธก ํธ๋ฆฌ)' ๊ฐ ์ง๊ธ๊น์ง ๊ตฌํ ๋ชจ๋ธ
์ง๊ธ๊น์ง ๊ตฌํ ๋ชจ๋ธ์ ํตํด ํค 1.6m์ ๋จ์์ด๊ณ , ์ข์ํ๋ ์์ด ํ๋์์ธ ์ฌ๋์ ๋ชธ๋ฌด๊ฒ๋ฅผ ์์ธกํด๋ณด์.
74.4kg๋ก ์์ธก
- ์ด๊ธฐ์๋ ํ๊ท ๊ฐ์ธ 71.2kg๋ก ์์ธกํ๊ณ ,
- ๊ทธ ๋ค์ ์คํ ์์ 71.2 + 0.1 * 16.8 = 72.9kg๋ก ์์ธกํ๊ณ ,
- ํ์ฌ ๋ชจ๋ธ์์ 71.2 + 0.1 * 16.8 + 0.1 * 15.1 = 74.4kg๋ก ์์ธกํ๋ค.
-> ์ค์ ๊ฐ์ 88kg์ธ๋ฐ ์ค์ ๊ฐ๊ณผ ์กฐ๊ธ์ฉ ๊ฐ๊น์์ง๋ค!
Residual ๊ตฌํด๋ณด๊ธฐ
Residual๋ ์ ์ ๊ฐ์ํ๊ณ ์๋ค.
- iteration์ ํ ์๋ก Residual์ด ๊ฐ์ํ๋ค.
- ์ฆ, ์์ธก ์ ํ๋๊ฐ ๋ ๋์์ง๋ค.
์ฌ์ ์ ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ก ์ ํด ๋์ iteration ํ์์ ๋๋ฌํ๊ฑฐ๋, ๋ ์ด์ residual์ด ์์์ง์ง ์์ ๋๊น์ง ๋ฐ๋ณต
- ๋ชจ๋ ๋ฐ๋ณต์ด ์๋ฃ๋๋ฉด ์ต์ข ์ ์ผ๋ก Gradient Boost ๋ชจ๋ธ์ด ๊ตฌ์ถ๋ ๊ฒ
-> ์ด์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง๋ฉด ๋ณธ ๋ชจ๋ธ๋ก ๋ชธ๋ฌด๊ฒ๋ฅผ ์์ธก ๊ฐ๋ฅํ๋ค.
์ด๊ธฐ ํ๊ท ๊ฐ์ธ 71.2์ ๋ชจ๋ ํธ๋ฆฌ์ ํ์ต๋ฅ * residual ์ ๋ํด์ฃผ๋ฉด ๋ชธ๋ฌด๊ฒ๋ฅผ ์์ธกํ ์ ์๋ค.
- ํค๊ฐ 1.7m์ด๊ณ ์ข์ํ๋ ์์ด ์ด๋ก์์ด๊ณ ์ฌ์๋ผ๋ฉด ๋ชธ๋ฌด๊ฒ๋ 70kg๋ผ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
'Computer ๐ป > Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
K-means Clustering (K-ํ๊ท ํด๋ฌ์คํฐ๋ง) (0) | 2021.11.09 |
---|---|
KNN (K-Nearest Neighbor) (0) | 2021.11.09 |
์์ด๋ค ๋ถ์คํธ (AdaBoost) (0) | 2021.11.07 |
๋์ด๋ธ ๋ฒ ์ด์ฆ (Naive Bayes Classification) (0) | 2021.11.05 |
๋ฒ ์ด์ฆ ์ถ์ (Bayesian Estimation) (0) | 2021.11.05 |