Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hands-On ML2_ch7_Ensemble Learning and Random F...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for csg csg
August 06, 2020

Hands-On ML2_ch7_Ensemble Learning and Random Forests

Avatar for csg

csg

August 06, 2020

Other Decks in Technology

Transcript

  1. ଵҊޙ೴ • )BOETPO.BDIJOF-FBSOJOH • ౵੉ॆ ݠन۞׬ ৮߷ о੉٘ ӂ୍޹ •

    ӝ҅೟ण য়ੌࢳ • "EB#PPTU $MFBSMZ &YQMBJOFE IUUQTZPVUVCF-T,Y(D-:"
  2. ঔ࢚࠶ • ৈ۞ ੹ޙо۽ࠗఠ ঳਷ ৈ۞ ੄Ѽਸ ੸੺ೠ ߑߨਵ۽ Ѿ೤ೞৈ

    ખ ؊ ੸೤ೠ Ѿ੿ • ঔ࢚࠶ ೞח ੉ਬ ü ҃೷੉ ੸਷ ࢸ҅੗о ୭Ҋ੄ ݽ؛ਸ ࢸ҅ೞ૑ ޅ೧ب ৈ۞ ѐ Ѿ೤ೞݶ ࠺Ү੸ ݅઒ೡ ݅ೠ ࢿמ ü ӝઓী ݅ٚ ݽ؛ٜ ઺ ৴઺৴੉ ইצ ݽف ഝਊ೧ ؊ ֫਷ ࢿמ • ݆਷ োҳীࢲ ঔ࢚࠶੉ о੢ જ਷ ࢿמ ױੌ ࠙ܨӝ ࠁ׮ ؊ ڪযա׮Ҋ ੑૐ ü ؘ੉ఠ ন੉ ࠗ઒ೠ ҃਋ э਷ ؘ੉ఠܳ ৈ۞ ߣ ࢎਊೞח SFTBNQMJOH੉ ബҗ੸ؘ੉ఠ ন੉ ցޖ ݆ ইب ೞաо ইצ ৈ۞ ঔ࢚࠶۽ ࠙ܨೞח Ѫ੉ ബҗ੸ ü ؘ੉ఠ ૕੉ ծਸ ٸ ള۲ ؘ੉ఠо ݽࣻܳ ؀಴ೞ૑ ޅೡ ҃਋ ೞա੄ ࠙ܨӝ ࠁ׮ ബҗ੸ ü ࢜۽਍ ؘ੉ఠо ୶о ؼ ҃਋ ӝઓ ࠙ܨӝܳ ߡܻח Ѫ੉ ইצ ࢜۽਍ ؘ੉ఠী ݏח ࠙ܨӝܳ ӝઓ ঔ࢚࠶ী ୶оೞח ੼૓ ೟ण੉ оמ
  3. ঔ࢚࠶ • ঔ࢚࠶ җ੿ • ঔ࢚࠶ ࢤࢿ৘ஏӝ ৈ۞ѐ ઁ੘ೞח ױ҅

    • ঔ࢚࠶ Ѿ೤ࠂࣻ੄ ৘ஏчਸ Ѿ೤ೞח ߑߨ • ઱۽ ࠙ܨী ੸ਊ ഥӈب оמ • п ࠙ܨӝח ׮ন೧ঠ ೣ • п ࠙ܨӝ ݃׮ ౣܻח ࢠ೒੉ ࢲ۽ ׮ܳࣻ۾ ׮নೣ • ׮নࢿ ஏ੿ ୋب ଵҊ • ׮নೠ ࠙ܨӝ ݅٘ח ߑߨ • SFTBNQMJOHള۲ ૘೤ਸ ੤ࢠ೒ • TVCTQBDF ౠ૚ ҕр੄ ੌࠗ ࢶఖ How? 최종 결과 앙상블 결합 앙상블 생성
  4. ঔ࢚࠶ Bagging (= Bootstrap aggregating) Boosting Pasting Bootstrapping 분할 방식

    Random Forest Gradient Boost Machine (GBM) XGBoost (eXtra Gradient Boost) LightGBM (Light Gradient Boost) AdaBoost (Adaptive boosting) Hard Voting Soft Voting Stacking Voting
  5. ঔ࢚࠶ Bagging (= Bootstrap aggregating) Boosting Pasting Bootstrapping 분할 방식

    Random Forest Gradient Boost Machine (GBM) XGBoost (eXtra Gradient Boost) LightGBM (Light Gradient Boost) AdaBoost (Adaptive boosting) Hard Voting Soft Voting 여러개의 분류기를 순차적으로 학습하되, 앞에서 학습한 분류기가 예측이 틀린 데이터에 대해서 올바르게 예측할수 있도록 다음 분류기에게는 가중치를 부여하면서 학습과 예측 진행 개별 분류기가 bootstrapping방식(중복)으로 sampling된 데이터 세트를 학습해 개별적인 예측 결과를 voting을 통해 최종 결과 선정 개별 분류기에 데이터를 sampling 해서 추출하는 방식 (중복) Stacking 여러가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어서 다른 모델(메타 모델)로 재학습시켜 결과 예측 최종값 = 예측 결과값 중 다수 분류기의 결과값 최종값 = 분류기의 각 클래스 결정 확률을 평균하여 가장 높은 클래스 Voting 개별 분류기에 데이터를 sampling 해서 추출하는 방식 (중복x)
  6. ঔ࢚࠶ Sampling data set #1 Sampling data set #2 Sampling

    data set #3 Decision Tree 1 Decision Tree 2 Decision Tree 3 voting 최종 결과 예측 예측 예측 Data set Linear Regreesion K Nearest Neighbor SVM voting 최종 결과 예측 예측 예측 Bagging Voting 다른 알고리즘 같은 알고리즘 (Decision Tree) Sampling (중복 가능) àRandom Forests
  7. ঔ࢚࠶ AdaBoost K Nearest Neighbor Decision Tree 예측 예측 예측

    Data set Boosting Stacking Stacking Meta model (Logistic Regression) 최종 결과 Data set 타겟값 Decision Tree 1 Data set Decision Tree 2 Data set Decision Tree 3 Data set Decision Tree 4 예측 초기 가중치 가중치 업데이트 예측 가중치 업데이트 예측 가중치 업데이트 예측 다른 알고리즘 예측기 가중치 예측기 가중치 예측기 가중치 예측기 가중치 voting 최종 결과
  8. 7PUJOH DMBTTJGJFST • 4PGUWPUJOHDMBTTJGJFS੄ ҃਋ ݽٚ DMBTTJGJFSо ௿ېझ ഛܫ ৘ஏ੉

    оמ೧ঠ ೣ • 4PGUWPUJOH੉ )BSEWPUJOHࠁ׮ ࢿמ੉ ֫਺ à ഛܫ੉ ֫਷ ై಴ী ࠺઺ਸ ؊ فӝ ٸޙ
  9. #BHHJOHBOE1BTUJOH • ള۲ ؘ੉ఠ TBNQMJOH TVCTFUٜ݅ӝ • ߓӦ CBHHJOH CPPUTUSBQBHHSFHBUJOHডয

    ള۲ ؘ੉ఠীࢲ ઺ࠂ ೲਊ TBNQMJOH • ಕ੉झ౴ QBTUJOH  ള۲ ؘ੉ఠীࢲ ઺ࠂ ೲਊ উೠ TBNQMJOH • ߓӦ੄ ࠗ౟झ౟ېೝ਷ TVCTFUী ׮নࢿਸ ૐоदெ ಕ੉झ౴ࠁ׮ ߓӦ੉ ಞೱ੉ ֫਺৘ஏӝ ٜ੄ ࢚ҙҙ҅ܳ ઴ৈ ࠙࢑਷ хࣗ • ߓӦ੉ ؊ ա਷ ݽ؛ਸ ٜ݅যࢲ ؊ ࢶഐ • ౠࢿ TBNQMJOH • ޖ੘ਤ۽ ࢶఖೠ ੑ۱ ౠࢿ੄ ੌࠗ࠙ਵ۽ ള۲ ઺ࠂ ೲਊೲਊYل׮ оמ • ׮নೠ ৘ஏӝܳ ݅ٝ
  10. • ےؒ ಁ஖ ߑध 3BOEPNQBUDIFTNFUIPE • ള۲ ؘ੉ఠ ౠࢿ ل

    ׮ TBNQMJOH • ےؒ ࢲ࠳झಕ੉झ ߑध 3BOEPNTVCTQBDF NFUIPE • ള۲ ؘ੉ఠח ݽف ࢎਊ TBNQMJOH Y ౠࢿ݅ TBNQMJOH 3BOEPNQBUDIFTBOE 3BOEPNTVCTQBDF
  11.  3BOEPN'PSFTU • ےؒ ನۨझ౟ 3BOEPN'PSFTU • #BHHJOH QBTUJOHоמ ੸ਊೠ

    EFDJTJPOUSFFFOTFNCMF • ֢٘ ࠙ೡ द ੹୓ ౠࢿ੄ ୭ࢶ੄ ౠࢿਸ ଺ח ؀न ޖ੘ਤ۽ ࢶఖೠ ౠࢿ റࠁ ઺ ୭੸੄ ౠࢿ ਸ ଺਺ à ౟ܻ੄ ׮নࢿ ݅ٝಞೱ ૐо࠙࢑ хࣗ • ুझ౟ۄ ౟ܻ &YUSBUSFFT &YUSFNFMZSBOEPNJ[FEUSFFT ੊झ౟ܿ ےؒ ౟ܻ • ؊ ޖ੘ਤೞѱ ٜ݅ӝ ਤ೧ ୭੸੄ ੐҅чਸ ଺ח ؀न റࠁ ౠࢿਸ ޖ੘ਤ۽ ࠙ೡೠ ׮਺ Ӓ ઺ ীࢲ ୭࢚੄ ࠙ೡਸ ࢶఖ • ӓױ੸ਵ۽ ޖ੘ਤೠ ౟ܻ੄ ےؒ ನۨझ౟ • ݽٚ ֢٘ীࢲ ౠࢿ݃׮ ୭੸੄ ੐҅ч ଺חѪ੉ о੢ ݆਷ दр੉ ࣗਃغ޲۽ ੌ߈੸ੋ ےؒ ನ ۨझ౟ࠁ׮ ഻ঁ ࡅܴ
  12. #PPTUJOH • ࠗझ౴ IZQPUIFTJTCPPTUJOH • 8FBLMFBSOFSTܳ ৈ۞ѐ োѾೞৈ TUSPOHMFBSOFSTܳ ݅٘ח

    ঔ࢚࠶ ߑߨ • খ੄ ݽ؛ਸ ࠁ৮೧ աоݶࢲ ੌ۲੄ DMBTTJGJFSܳ ೟ण • "EB#PPTU "EBQUJWFCPPTUJOH ই׮ࠗझ౟ (SBEJFOUCPPTUJOH Ӓې٣঱౟ ࠗझ౴ Boosting 공통점 차이점 AdaBoost 앙상블에 이전까지의 오차 를 보정하도록 predictor를 순차적으로 추가 반복마다 sample의 가중치를 수정 Gradient boosting 이전 predictor가 만든 잔여 오차 (residual error)에 새로운 predictor 를 학습
  13.  "EB#PPTU • ੉੹ DMBTTJGJFS੉ VOEFSGJUUJOHೠ ള۲ ࢠ೒ ੜޅ ࠙ܨ

    ࢠ೒ ੄ о ઺஖ܳ ֫੐࢜۽਍ DMBTTJGJFSח ੼੼ য۰਍ ࢠ೒ী ݏ୾૑ѱ ؽ • җ੿ • ୐ߣ૩ ࠙ܨӝ Ѿ੿ ౟ܻ ܳ ള۲ ࣁ౟ীࢲ ള۲ റ ৘ஏ à ੜޅ ࠙ܨػ ࢠ೒੄ о઺஖ܳ ֫੐ • فߣ૩ ࠙ܨӝח সؘ੉౟ ػ о ઺஖ܳ ࢎਊী ള۲ റ ৘ஏ à ੜޅ ࠙ܨػ ࢠ೒੄ о઺஖ ֫੐ • ߈ࠂ
  14.  "EB#PPTU • ध  • Kߣ૩ ৘ஏӝ о઺஖о ੸ਊػ

    ী۞ਯ • ध  • ৘ஏӝ о઺஖ • ध  • о઺஖ সؘ੉౟ ӏ஗ • ध  • ৘ஏ
  15.  (SBEJFOUCPPTUJOH • ঔ࢚࠶ী ੉੹ө૑੄ য়ରܳ ࠁ ੿ೞب۾ ৘ஏӝܳ ࣽର੸ਵ۽

    ୶о੉੹ ৘ஏӝо ݅ٚ ਖ਼ৈ য়ର SFTJEVBMFSSPS ী ࢜۽਍ ৘ஏӝܳ ೟ण • "EBCPPTUח ߈ࠂ݃׮ ࢠ೒੄ о઺஖ܳ ࣻ੿ • Ӓې٣঱౟ ౟ܻ ࠗझ౴ Ӓې ٣঱౟ ࠗझ౭٘ ഥӈ ౟ܻ  (#35 • %FDJTJPOUSFF ӝ߈ SFHSFTTPS
  16. 4UBDLJOH • झకఊ 4UBDLJOH TUBDLFEHFOFSBMJ[BUJPO • ঔ࢚࠶੄ ৘ஏӝ੄ ݽٚ ৘ஏ

    Ѿҗܳ ஂ೤ೞח ೣ ࣻ WPUJOH о ইצ ஂ೤ೞח ݽ؛ਸ ള۲दః੗ • ࠶۪؊ CMFOEFS ݫఋ ೟णӝ .FUBMFBSOFS • ஂ೤ೞח ള۲ ݽ؛ • ള۲ ࣁ౟ܳ ف ѐ TVCTFUਵ۽ ա׃ • 4VCFTU ୐ߣ૩ ۨ੉য ೟ण • 4VCTFU IPMEPVUTFU ୐ߣ૩ ۨ੉য੄ ৘ஏ ӝٜਸ ੉ਊ೧ ৘ஏ Ѿҗ ݅ٝ • ৘ஏ Ѿҗਸ ౠࢿਵ۽ TVCTFU੄ ఋѶчਸ Ӓ ؀۽ ࢎਊೞৈ ࢜ ള۲ ࣁ౟ ݅ٝ • ࢜ ള۲ ࣁ౟۽ ࠶۪؊ܳ ള۲