์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- c++
- native
- linearalgebra
- Titanic
- ๊ฒฐ์ ํธ๋ฆฌ
- nlp
- ํ์ดํ๋
- ์ ํ๋์ํ
- ๊นํ
- ๋ฐ์ดํฐ์๊ฐํ
- ์๋๋ก์ด๋์คํ๋์ค
- ๋ฐ์ดํฐ๋ถ์
- ๋ฅ๋ฌ๋
- cs231n
- ๋ฐ์ดํฐ
- ๋ค์ดํฐ๋ธ
- ์๋ฒ ๋ฉ
- Git
- ์๊ณ ๋ฆฌ์ฆ
- ๋ถ์
- ์ํ์ฝ๋ฉ
- ์ธํ๋ฐ
- ๋จธ์ ๋ฌ๋
- AI
- ๋์
- Kaggle
- ํ๊ตญ์ด์๋ฒ ๋ฉ
- ๋ฐฑ์ค
- ๋ฆฌ์กํธ
- react
- Today
- Total
yeon's ๐ฉ๐ป๐ป
์์ด๋ค ๋ถ์คํธ (AdaBoost) ๋ณธ๋ฌธ
https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-14-AdaBoost?category=1057680
๋จธ์ ๋ฌ๋ - 14. ์์ด๋ค ๋ถ์คํธ(AdaBoost)
๋ณธ ์ฑํฐ์์๋ ๋ถ์คํ ๊ธฐ๋ฒ ์ค ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ AdaBoost์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ถ์คํ ์ ๋ํด์ ์ ๋ชจ๋ฅด์ ๋ค๋ฉด '๋จธ์ ๋ฌ๋ - 11. ์์๋ธ ํ์ต (Ensemble Learning): ๋ฐฐ๊น (Bagging)๊ณผ ๋ถ์คํ (Boosting)'์ ์ฐธ
bkshin.tistory.com
์ ๋ธ๋ก๊ทธ๋ฅผ ํ์ฌํ๋ฉฐ ๊ณต๋ถ
* ๋ชจ๋ ํ ์คํธ์ ์ด๋ฏธ์ง์ ์ถ์ฒ๋ ์ ๋ธ๋ก๊ทธ์ ๋๋ค.
AdaBoost์ ๊ฐ์
์๋์ ๊ฐ์ด ๋ ธ๋ 1๊ฐ์ 2๊ฐ์ ๋ฆฌํ(leaf)๋ฅผ ์ง๋ ํธ๋ฆฌ๋ฅผ stump๋ผ๊ณ ํฉ๋๋ค.
AdaBoost๋ ์๋์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ stump๋ก ๊ตฌ์ฑ์ด ๋์ด ์์ต๋๋ค. ์ด๋ฅผ Forest of stumps๋ผ๊ณ ํฉ๋๋ค.
ํธ๋ฆฌ์ ๋ค๋ฅด๊ฒ stump๋ ์ ํํ ๋ถ๋ฅ๋ฅผ ํ์ง ๋ชปํ๋ค.
์ฌ๋ฌ ์ง๋ฌธ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ๋ ํธ๋ฆฌ์ ๋ค๋ฅด๊ฒ, stump๋ ๋จ ํ๋์ ์ง๋ฌธ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์ stump๋ ์ฝํ ํ์ต๊ธฐ (weak learner)์ด๋ค.
๋๋ค ํฌ๋ ์คํธ๋ ์ฌ๋ฌ ๊ฐ์ ํธ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ํฉ์ฐํด ๋ค์๊ฒฐ์ ์์น์ ํตํด ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค.
์ต์ข ๋ถ๋ฅ๋ฅผ ํ๋๋ฐ ์์ด ๊ฐ ํธ๋ฆฌ๋ ๋๋ฑํ ๊ฐ์ค์น๋ฅผ ์ง๋๋ค.
ํ์ง๋ง AdaBoost์์ ํน์ stump๋ ๋ค๋ฅธ stump๋ณด๋ค ๋ ์ค์ํ๋ค. ์ฆ, ๊ฐ์ค์น๊ฐ ๋ ๋๋ค.
์๋์ ๊ทธ๋ฆผ์์ ํฌ๊ธฐ๊ฐ ํฐ ๊ฒ์ ๊ฐ์ค์น๊ฐ ๋ ๋์ stump๋ฅผ ๋ปํ๋ค.
์ฌ๊ธฐ์ ๊ฐ์ค์น๊ฐ ๋๋ค๋ ๊ฒ์ Amount of Say๊ฐ ๋๋ค๊ณ ํํํ๋ค. (๊ฒฐ๊ณผ์ ๋ฏธ์น๋ ์ํ์ ํฌ๋ค๋ ๋ป)
๋ํ, ์ฒซ ๋ฒ์งธ stump์์ ๋ฐ์ํ error์ ๋ ๋ฒ์งธ stump์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ค๋ค.
๋ ๋ฒ์งธ stump์์ ๋ฐ์ํ error ์ญ์ ์ธ ๋ฒ์งธ stump์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ค๋ค.
๊ทธ๋ ๊ฒ ๋ง์ง๋ง stump๊น์ง ์ค์ค์ด ์ํฅ์ ์ค๋ค
์ ๋ฆฌํ์๋ฉด, AdaBoost๋ ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง ํน์ง์ ๊ฐ์ง๋ค.
1. ์ฝํ ํ์ต๊ธฐ(weak learner)๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์ฝํ ํ์ต๊ธฐ๋ stump์ ํํ์ด๋ค.
2. ์ด๋ค stump๋ ๋ค๋ฅธ stump๋ณด๋ค ๊ฐ์ค์น๊ฐ ๋๋ค. (Amount of Say๊ฐ ํฌ๋ค.)
3. ๊ฐ stump์ error์ ๋ค์ stump์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ค๋ค.
AdaBoost์ ์๋ ์๋ฆฌ
Chest Pain, Blocked Arteries, Patient Weigth์ ๋ฐ๋ฅธ Heart Disease ์ฌ๋ถ์ ๋ํ ๋ฐ์ดํฐ์ด๋ค.
๋งจ ์ฒ์ Sample Weight๋ 8๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ ๋์ผํ๊ฒ 1 / (total number of samples) = 1/8 ์ด๋ค.
๋ชจ๋ sample์ ๊ฐ์ค์น๊ฐ 1/8๋ก ๋์ผํ๋ค.
์ด์ ๊ฐ๊ฐ์ feature๊ฐ target value(์ฌ๊ธฐ์๋ Heart Disease์ ๋ฏธ์น๋ ์ํฅ์ ๋ํด ์ดํด๋ณด์.
๋ค์์ Chest Pain๊ณผ Heart Disease์์ ๊ด๊ณ์ด๋ค.
๋จ์ํ Chest Pain์ด yes์ด๋ฉด Heart Disease๋ yes ๋ผ๊ณ ํ๋จํ๋ ๋ชจ๋ธ์ด๋ค.
์ด 8๊ฐ์ ๋ฐ์ดํฐ ์ค Chest Pain์ด yes์ธ ๋ฐ์ดํฐ (์ฆ, Heart Disease๋ฅผ yes๋ผ๊ณ ํ๋จํ ๋ฐ์ดํฐ)๋ 5๊ฐ, no์ธ ๋ฐ์ดํฐ๋ 3๊ฐ์ด๋ค.
Heart Disease๋ฅผ yes๋ผ๊ณ ํ๋จํ ๊ฒ ์ค ์ฌ๋ฐ๋ฅด๊ฒ ํ๋จํ ๊ฒ์ 3๊ฐ, ํ๋ฆฌ๊ฒ ํ๋จํ ๊ฒ์ 2๊ฐ์ด๋ค.
๋ฐ๋๋ก, Heart Disease๋ฅผ no๋ผ๊ณ ํ๋จํ ๊ฒ ์ค ์ฌ๋ฐ๋ฅด๊ฒ ํ๋จํ ๊ฒ์ 2๊ฐ, ํ๋ฆฌ๊ฒ ํ๋จํ ๊ฒ์ 1๊ฐ์ด๋ค.
๋ค์์ Blocked Arteries์ Heart Disease์์ ๊ด๊ณ์ด๋ค.
๋ง์ง๋ง์ผ๋ก, Patient Weight์ Heart Disease๊ฐ์ ๊ด๊ณ์ด๋ค.
๊ฐ stump์ ์ง๋ ๊ณ์๋ฅผ ๊ตฌํ๋ค.
๋ง์ง๋ง stump์ ์ง๋ ๊ณ์๊ฐ ๊ฐ์ฅ ์๊ธฐ ๋๋ฌธ์ forest์ ์ฒซ stump๋ก ์ง์ ํ๋ค.
์ด stump๊ฐ ์ต์ข ๊ฒฐ๊ณผ ์์ธก์ ์์ด ์ผ๋ง๋งํผ์ ์ค์๋๊ฐ ์๋์ง ๋ณธ๋ค.
Amount of Say ๊ตฌํ๊ธฐ
ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๊ฒ์ด No Heart Disease์ incorrect๋ก 1๊ฐ๋ฐ์ ์๋ค.
๋ฐ๋ผ์ Total Error = 1/8 ์ด๋ค.
๋ชจ๋ sample weights์ ํฉ์ 1์ด๊ธฐ ๋๋ฌธ์, Total Error์ 0~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค.
Total Error๊ฐ Amount of Say๋ฅผ ๊ฒฐ์ ํ๋ค.
Amount of Say๋ ์ต์ข ๋ถ๋ฅ์ ์์ด ํด๋น stump๊ฐ ์ผ๋ง๋งํผ์ ์ํฅ์ ์ฃผ๋๊ฐ๋ฅผ ๋ปํ๋ค.
Amount of Say๋ฅผ ๊ทธ๋ํ๋ก ๊ทธ๋ ค๋ณด๋ฉด ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
X์ถ์ Total Error, Y์ถ์ Amount of Say์ด๋ค.
Total Error๊ฐ 0์ด๋ฉด Amount of Say๋ ๊ต์ฅํ ํฐ ์์์ด๊ณ , Total Error๊ฐ 1์ด๋ฉด Amount of Say๋ ๊ต์ฅํ ์์ ์์๊ฐ ๋๋ค.
๋ฐ๋ผ์ Total Error๊ฐ 0๋ฉด ํญ์ ์ฌ๋ฐ๋ฅธ ๋ถ๋ฅ๋ฅผ ํ๋ค๋ ๋ป์ด๊ณ , 1์ด๋ฉด ํญ์ ๋ฐ๋๋ก ๋ถ๋ฅ๋ฅผ ํ๋ค๋ ๋ป์ด๋ค.
Total Erorr๊ฐ 0.5์ผ ๋๋ Amount of Say๊ฐ 0์ด๋ค. (๋์ ์ ๋์ง๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฏธ๊ฐ ์๋ค๋ ๋ป)
๋ค์ Stump๋ก ๋ฌธ์ ๋ก ๋์์, Total Error=1/8์ด๋ฏ๋ก,
= 0.97์ด๋ค.
๊ทธ๋ํ ์์์ ํํํด๋ณด๋ฉด, Total Error๊ฐ 1/8์ด๊ณ , Amount of Say=0.97์ธ ์๋ ์ง์ ์ด๋ค.
Chest Pain Stump์ Amount of Say๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด stump์ Total Error์ 1/8 + 1/8 + 1/8 = 3/8์ด๋ฏ๋ก, Amount of Say๋ฅผ ๊ตฌํด๋ณด๋ฉด,
= 0/42์ด๋ค.
Blocked Arteries๋ ๋์ผํ ๋ฐฉ์์ผ๋ก Amount of Say๋ฅผ ๊ตฌํด์ค ์ ์๋ค.
์ํ ๊ฐ์ค์น ์ค์
AdaBoost์์๋ ํ๋์ stump๊ฐ ์๋ชป ๋ถ๋ฅํ sample์ ๋ํด์๋ ๋ค์ stump๋ก ๋๊ฒจ์ค ๋ ๊ฐ์ค์น๋ฅผ ๋ ๋์ฌ ๋๊ฒจ์ค๋ค.
๊ทธ๋์ผ ๋ค์ stump์์ ํด๋น sample์ ๋ ์ง์คํด ์ฌ๋ฐ๋ก ๋ถ๋ฅํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
๋งจ ์ฒ์ weight stump์์๋ ์๋ ๋นจ๊ฐ ๋ค๋ชจ ์์ ์๋ sample๋ง ์๋ชป ๋ถ๋ฅํ๋ค.
๋ฐ๋ผ์ ํด๋น sample์ weight๋ฅผ 1/8๋ณด๋ค ํฌ๊ฒ ํ๊ณ , ๋๋จธ์ง sample์ weight๋ 1/8๋ณด๋ค ์๊ฒ ํ์ฌ ๋ค์ stump๋ก ๋๊ฒจ์ค๋ค.
์ด์ stump์์ ์๋ชป ๋ถ๋ฅ๋ sample์ ๊ฒฝ์ฐ ๋ค์ stump๋ก ๋๊ฒจ์ค ๋์ ์๋ก์ด sample weight๋ฅผ ๊ตฌํ๋ ๊ณต์์ ์๋์ ๊ฐ๋ค.
(์ด์ stump์์ ์๋ชป ๋ถ๋ฅ๋ sample์) New Sample Weight = (1/8) * e^(0.97) = (1/8) * 2.64 = 0.33 ์ด๋ค.
๊ธฐ์กด์ sample weight = 1/8 = 0.125๋ณด๋ค ๋ ๋์์ก๋ค.
์ด์ stump์์ ์ ๋ถ๋ฅ๋ sample์ธ ๊ฒฝ์ฐ ์๋ก์ด sample weight๋ฅผ ๊ตฌํ๋ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค.
(์ด์ stump์์ ์ ๋ถ๋ฅ๋ sample์) New Sample Weight = (1/8) * e^(-0.97) = (1/8) * 0.38 = 0.05์ด๋ค.
๊ธฐ์กด์ weight์ธ 0.125๋ณด๋ค ๋ ์์์ก๋ค.
์ด๋ฐ ์์ผ๋ก ์งํ์ด ๋์ด์ผ ๋ค์ stump์์ ์ด์ stump์์ ์๋ชป ๋ถ๋ฅํ ๊ฒ์ ๋ ์ง์ค์ ํด ์ฌ๋ฐ๋ฅธ ๋ถ๋ฅ๋ฅผ ํด์ฃผ๊ธฐ ๋๋ฌธใ ๋ค.
์๋ก ๊ตฌํ sample weight๋ ์๋์ ๊ฐ๋ค.
New Sample Weight๋ ๊ณต์์ ์ํด ๊ตฌํ weight์ด๋ค.
๋จ, ๋ค ๋ํ์ ๋ ๊ฐ์ 0.68๋ก 1์ด ๋์ง ์๋๋ค.
Sample weight์ ํฉ์ ํญ์ 1์ด ๋์ด์ผ ํ๋ฏ๋ก ์ค๋ฅธ์ชฝ Weight์ฒ๋ผ ์ ๊ทํ์์ผ์ค๋ค. (๊ฐ weight๋ฅผ ๋ชจ๋ weight์ ํฉ์ผ๋ก ๋๋๊ธฐ)
๊ทธ ๋ค์ ์คํ ์ ์ํ๋ง์ ํตํด ์๋ก์ด ํ ์ด๋ธ์ ๋ง๋๋ ๊ฒ์ด๋ค.
0๋ถํฐ 1๊น์ง์ ์ซ์๋ฅผ ๋๋คํ๊ฒ ๋ฝ์ 0~0.07 ์ฌ์ด์ ์ซ์๊ฐ ๋์ค๋ฉด ์ฒซ ๋ฒ์งธ sample์ ์ ํํ๋ค.
0.07~0.14๊ฐ ๋์ค๋ฉด ๋ ๋ฒ์งธ sample์ ์ ํ, 0.14~0.21์ ์ธ ๋ฒ์งธ, 0.21~0.70๊ฐ ๋์ค๋ฉด ๋ค ๋ฒ์งธ sample์ ์ ํํ๋ค.
์ฆ, sample weight์ ๋์ ์ซ์์ ํด๋นํ๋ sample์ ๋ฝ๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ฒ ์๋ ํ ์ด๋ธ์ sample ์์ ๋๊ฐ์ sample ์๋ฅผ ๊ฐ์ง ์๋ก์ด ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ค.
๋ฝํ sample๋ค์ ๋ณด๋ ์ค๋ณต๋๋ ๊ฒ๋ ์๋ค.
์๋ ํ ์ด๋ธ์์ sample weight๊ฐ 0.49์ธ sample์ด 4๋ฒ์ด๋ ๋ฝํ๋ค.
(๋น์ฐํ 0.21~0.70 ์ฌ์ด์ ์ซ์๊ฐ ๋์ค๋ฉด ํด๋น sample์ ๋ฝ์ผ๋ ํ๋ฅ ์ด ๋ง์ ๊ฒ์ด๋ค.)
์ด์ ์๋์ ํ ์ด๋ธ์ ์ง์ฐ๊ณ , ์ํ๋งํ ์๋ก์ด ํ ์ด๋ธ์ ๊ฐ์ ธ์จ๋ค.
๋ชจ๋ sample์ weight๋ ๋ค์ 1/8๋ก ํต์ผ์์ผ์ค๋ค.
์ฒซ stump์์ ์๋ชป ๋ถ๋ฅํ๋ sampel์ด 4๋ฒ์ด๋ ํฌํจ๋์๋ค. -> sample weight๋ 1/8๋ก ๋์ผํ๋๋ผ๋ ๋๊ฐ์ ๋ฐ์ดํฐ๊ฐ 4๊ฐ๊ฐ ์์ด ์ค์ ๋ก๋ 4/8์ weight๋ฅผ ๊ฐ๋ ๊ฒ์ด๋ค.
์ด๋ ์ฒ์์ ์๋ชป ๋ถ๋ฅํ๊ธฐ ๋๋ฌธ์, ๊ทธ ๋ค์์๋ weight๋ฅผ ๋์ฌ ์ ๋๋ก ๋ถ๋ฅํ๊ธฐ ์ํจ์ด๋ค.
weight๊ฐ ๋์์ง๋ ํด๋น sample์ ๊ฐ์ค์น๋ฅผ ๋ ๋๊ณ ๋ถ๋ฅํ ๊ฒ์ด๋ค.
๋ค์ ๋งจ ์ฒ์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์งํํ๋ฉด ๋๋ค.
์ต์ข ๋ถ๋ฅ
์ด๋ ๊ฒ ์ฌ๋ฌ ์ฐจ๋ก ์งํํ๋ฉด ์๋์ ๊ฐ์ด ๊ฐ stump ๋ง๋ค์ Amount of Say๊ฐ ๋์จ๋ค.
์ผ์ชฝ์ Heart Disease๊ฐ ์๋ค๊ณ ํ๋จํ stup์ด๊ณ , ์ค๋ฅธ์ชฝ์ Heart Disease๊ฐ ์๋ค๊ณ ํ๋จํ stump์ด๋ค.
๊ฐ stump์ Amount of Say๋ฅผ ๋ํ๋ฉด Total Amount of Say๊ฐ ๋์จ๋ค.
์ด ๊ฒฝ์ฐ Heart Disease๊ฐ ์๋ค๋ ๊ฒ์ Total Amount of Say๊ฐ 2.7๋ก ๋ ํฌ๋ค.
๋ฐ๋ผ์ ์ต์ข ์ ์ผ๋ก Heart Disease๊ฐ ์๋ค๊ณ ๋ถ๋ฅํ ์ ์๋ค.
๊ฐ stump๋ง๋ค ๋ถ๋ฅ๋ฅผ ํด์ฃผ์ง๋ง stump ํ๋์ ๋ถ๋ฅ๋ ฅ์ ๊ต์ฅํ ์ฝํ๋ค. (weak learner)
ํ์ง๋ง ์ฌ๋ฌ stump์ ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํ๋ฉด ๊ฐํ ํ์ต๊ธฐ(strong learner)๊ฐ ๋๋ค.
๋ํ, ๊ฐ stump๋ง๋ค Amount of Say๊ฐ ๋ค๋ฅด๋ค.
๊ฐ stump์ Amount of Say๋ฅผ ํฉ์น๋ฉด Total Amount of Say๊ฐ ๋์ค๊ณ , ์ด๋ฅผ ํตํด ์ต์ข ๋ถ๋ฅ๋ฅผ ํด์ฃผ๋ ๊ฒ์ด๋ค.
์ด๋ ต๋ฅ !!!!!!!!!!!!
'Computer ๐ป > Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
KNN (K-Nearest Neighbor) (0) | 2021.11.09 |
---|---|
๊ทธ๋ผ๋์ธํธ ๋ถ์คํธ (Gradient Boost) (0) | 2021.11.07 |
๋์ด๋ธ ๋ฒ ์ด์ฆ (Naive Bayes Classification) (0) | 2021.11.05 |
๋ฒ ์ด์ฆ ์ถ์ (Bayesian Estimation) (0) | 2021.11.05 |
์์ ๋ค์ ๊ธฐ๋ ๊ฒฐ์ ํธ๋ฆฌ(Decision Tree) ๋ค์ ์ ๋ฆฌํ๊ธฐ ํธํธ (0) | 2021.11.03 |