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

はじめての人のための機械学習入門

 はじめての人のための機械学習入門

クックパッドサマーインターンシップ2015

7cca11c5257fda526eeb4b1ada28f904?s=128

Kenta Murata

August 25, 2015
Tweet

More Decks by Kenta Murata

Other Decks in Technology

Transcript

  1. ͸͡ΊͯͷਓͷͨΊͷػցֶशೖ໳ ଜాݡଠ  ΫοΫύουαϚʔΠϯλʔϯγοϓ

  2. ୭ʁ wଜాݡଠ ๺ւಓେֶത࢜ ৘ใՊֶ  ‣ ॴଐ ‣ ձһࣄۀ෦αʔϏε։ൃάϧʔϓ ‣

    ݚڀ։ൃνʔϜ ‣ 3VCZDPNNJUUFS ‣ ઐ໳෼໺ ‣ ෳࡶωοτϫʔΫɺػցֶश
  3. ߨٛͷྲྀΕ  ػցֶशͱ͸  ػցֶशͷ֓ཁ  ڭࢣ͋ΓֶशͷྲྀΕ  ·ͱΊ

  4. ػցֶशͱ͸

  5. Ṗͷ ٕज़ cat dog bicycle house meal https://www.flickr.com/photos/freefoto/4910780215 https://www.flickr.com/photos/onasill/16394567531 https://www.flickr.com/photos/muraken/19133489198

    https://www.flickr.com/photos/muraken/19579394778 https://www.flickr.com/photos/muraken/15697878907 ػցֶशͷΠϝʔδ
  6. ػցֶशͰͰ͖Δ͜ͱ wϨγϐ΁ͷࣗಈϥϕϧ෇͚ wҟͳΔϨγϐؒͷؔ࿈౓ͷਪఆ wϢʔβͷߦಈʹ߹Θͤͨίϯςϯπ഑৴ wࣸਅͷإೝࣝͱਓͷ൑ఆ wεύϜϝʔϧ൑ఆ w঎඼ͷਪન

  7. ػցֶशͰͰ͖Δ͜ͱ w͞·͟·ͳϩά͔ΒͷσʔλϚΠχϯά ‣ ҩྍ਍அه࿥ ‣ 8FCͷΫϦοΫϩά ‣ αʔό΁ͷΞΫηεϩά ‣ FUD

  8. ػցֶशͰͰ͖Δ͜ͱ wखॻ͖͢Δ͜ͱ͕ෆՄೳͳϓϩάϥϜ ‣ ϔϦ΍ࣗಈंͷࣗಈૢॎ ‣ खॻ͖จࣈೝࣝ ‣ ࣗવݴޠॲཧ ‣ ίϯϐϡʔλϏδϣϯ

  9. ػցֶशͬͯʁ wਓ͕ؒࣗવʹߦ͍ͬͯΔֶशೳྗͱಉ༷ͷػೳΛ ίϯϐϡʔλͰ࣮ݱ͠Α͏ͱ͢Δٕज़ɾख๏
 Wikipedia  w໌ࣔతʹϓϩάϥϜ͠ͳͯ͘΋ֶश͢ΔೳྗΛί ϯϐϡʔλʹ༩͑Δݚڀ෼໺
 ΞʔαʔɾαϛϡΤϧ, 1958

  10. ػցֶशͬͯʁ wίϯϐϡʔλϓϩάϥϜ͕ɺ͋ΔछͷλεΫTͱ ධՁई౓Pʹ͓͍ͯܦݧE͔Βֶश͢Δͱ͸ɺλ εΫTʹ͓͚ΔͦͷϓϩάϥϜͷੑೳΛPʹΑͬ ͯධՁͨ͠ࡍʹܦݧEʹΑͬͯੑೳ͕վળ͞Εͯ ͍Δ৔߹Ͱ͋Δ
 τϜɾϛονΣϧ, 1998

  11. ྫϨγϐ΁ͷࣗಈϥϕϧ෇͚ wϨγϐʹ෇͘ϥϕϧΛ༧ଌ͢Δ wϨγϐʹର͠Δద੾ͳϥϕϧΛਓ͕બͿ wϥϕϧ෇͚ͷ༧ଌ݁Ռ͕ਖ਼͔ͬͨ͠Ϩγϐͷ݅਺ λεΫ T ܦݧ E ධՁई౓ P

  12. τϚτ 1 φε 0 ਫࡊ 0 ιό 1 ྫྷ΍͠ 1

    : : Ϩγϐ ಛ௃ϕΫτϧ ෼ྨث : : 0.13 0.89 0.62 : ෼ྨ֬཰ϕΫτϧ ໙ྉཧ ओ৯ ೑ྉཧ : ෼ྨ݁Ռ Ϩγϐ΁ͷࣗಈϥϕϧ෇͚ͷྲྀΕ લॲཧ ޙॲཧ
  13. ҟͳΔϨγϐؒͷؔ࿈౓ͷਪఆ Ϩγϐ A Ϩγϐ B Ϩγϐ C Ϩγϐͷಛ௃ϕΫτϧ ಛ௃ϕΫτϧؒͷ ྨࣅ౓ΛଌΔ

    ಛ௃ 1 ಛ௃ 2 ಛ௃ 3 ಛ௃ 4
  14. Ϣʔβͷߦಈʹ߹Θͤͨίϯςϯπ഑৴ “ϙτϑ” Λ
 ݕࡧͨ͠ਓͷը໘ “ೲ౾” Λ
 ݕࡧͨ͠ਓͷը໘ Ϩγϐݕࡧ݁ՌͷதʹɺϨγϐͰ͸ͳ͍͕Ϩγϐ୳͠Λखॿ͚Ͱ͖Δ৘ใΛࠞͥͯ͋͛ͯɺϨγϐܾΊΛ ద੾ʹΞγετ͍ͨ͠ɻͲΜͳίϯςϯπΛࠞͥΔͱϢʔβ͸ຬ଍͢ΔΜͩΖ͏ʁ ໰୊:

    (޿ࠂ) “͓ʹ͗Βͣ” Λ
 ݕࡧͨ͠ਓͷը໘ (޿ࠂ)
  15. Ṗͷٕज़͸Ͳ͏࣮ݱ ͞ΕͯΔΜͩΖ͏ʁ

  16. ػցֶशͷ֓ཁ μ΢ϯϩʔυ͸ॱௐͰ͔͢ʁ

  17. ػցֶशͷ࿮૊Έ wڭࢣ͋Γֶशsupervised le rning wڭࢣͳֶ͠शunsupervised le rning w൒ڭࢣ͋Γֶशsemi-supervised le rning

    wڧԽֶशreinforcement le rning
  18. ͖ͬ͞ྫΛ࿮૊Έʹ͋ͯ͸ΊΔ wࣸਅ΍ϨγϐͳͲ΁ͷࣗಈϥϕϧ෇͚ ‎ڭࢣ͋Γֶश wҟͳΔϨγϐؒͷؔ࿈౓ͷࣗಈਪఆ ‎ڭࢣͳֶ͠श wϢʔβͷߦಈʹ߹Θͤͨίϯςϯπ഑৴ ‎ڧԽֶश

  19. ڭࢣ͋Γֶशͱ͸ wೖྗσʔλʹରͯ͠ग़ྗ͢΂͖ਖ਼ղσʔλ ڭࢣ σʔλ ͕༩͑ΒΕΔ ‣ ڭࢣσʔλϥϕϧ΍਺஋ͳͲ wਖ਼ղ͕෼͔Βͳ͍ೖྗσʔλʹରͯ͠ɺରԠ͢Δ ϥϕϧ΍਺஋Λ༧ଌ͢Δؔ਺΍نଇΛߏங͢Δ Ϟσϧ

  20. ڭࢣ͋ΓֶशΛ࢖͏λεΫͷछྨ wճؼregression ‣ ࿈ଓ஋ͷग़ྗΛ༧ଌ͢ΔճؼϞσϧʢؔ਺ʣΛߏங wΫϥε෼ྨclassification ‣ ϥϕϧͷग़ྗΛ༧ଌ͢Δ෼ྨϞσϧΛߏங

  21. ྫɿճؼϞσϧ

  22. ௚ઢʹΑΔճؼ 2࣍ۂઢʹΑΔճؼ ڭࢣσʔλ ༧ଌ݁Ռ

  23. ྫɿ෼ྨϞσϧ BMI ˔ ˔ ˔ ˔ ˔ ˔ ʷ ʷ

    ʷ ʷ ʷ ʷ ʷ ˔ ˔ʜ݈߁ମ ʷʜ৺ଁප ෼ྨڥք (ՍۭͷσʔλͰ͢)
  24. ڭࢣͳֶ͠शͱ͸ wೖྗσʔλʹରͯ͠ڭࢣσʔλ͸༩͑ΒΕͳ͍ wσʔλͷ෼෍ͳͲΛཔΓʹɺຊ࣭తͳߏ଄΍ύλʔ ϯΛநग़͢Δ

  25. ڭࢣͳֶ͠शͱ͸ x1 x2 ˔ Ϩγϐ1 ˔ Ϩγϐ2 Ϩγϐ3 ˔ ˔

    Ϩγϐ5 Ϩγϐ8 ˔ ˔ Ϩγϐ4 ˔ Ϩγϐ7 ˔ Ϩγϐ6 Ϩγϐ9 ˔ ˔ Ϩγϐ10 x1 x2 ˒ Ϩγϐ1 ˛ Ϩγϐ2 Ϩγϐ3 ˒ ˒ Ϩγϐ5 Ϩγϐ8 ˒ ˛ Ϩγϐ4 ˛ Ϩγϐ7 ˛ Ϩγϐ6 Ϩγϐ9 ˛ ˒ Ϩγϐ10 ڭࢣ͋Γֶश ڭࢣͳֶ͠श
  26. ڭࢣͳֶ͠शͷछྨ wΫϥελϦϯά w࣍ݩ࡟ݮ wසग़ύλʔϯϚΠχϯά

  27. ػցֶशͷྲྀΕ  ܇࿅༻σʔλΛूΊΔ  ΫϨϯδϯάͳͲͷલॲཧΛ͢Δ  ಛ௃ʢૉੑʣͷઃܭΛ͢Δ ‣ χϡʔϥϧωοτϫʔΫͷ৔߹͸ӅΕ૚ͷઃܭΛ͢Δ 

    ϞσϧΛֶश͠ɺݕূ͢Δ ‣ ݁Ռ͕ྑ͘ͳ͍৔߹͸PSʹ໭ͬͯ΍Γ௚͠  ӡ༻͢Δ
  28. 2. લॲཧ 3. ಛ௃ઃܭ ਤʹ͢ΔͱϦʔϯελʔτΞοϓΈ͍ͨͩͶ 4. Ϟσϧֶश 5. ݕূ 6.

    ӡ༻ 1. ܇࿅༻
 σʔλ
  29. ػցֶशͷྲྀΕ  ܇࿅༻σʔλΛूΊΔ  ΫϨϯδϯάͳͲͷલॲཧΛ͢Δ  ಛ௃ʢૉੑʣͷઃܭΛ͢Δ ‣ χϡʔϥϧωοτϫʔΫͷ৔߹͸ӅΕ૚ͷઃܭΛ͢Δ 

    ϞσϧΛֶश͠ɺݕূ͢Δ ‣ ݁Ռ͕ྑ͘ͳ͍৔߹͸PSʹ໭ͬͯ΍Γ௚͠  ӡ༻͢Δ ໰୊ͷੑ࣭ʹ େ͖͘ґଘ͢Δ ໰୊ͷੑ࣭ • λεΫͷछྨ • ֶशσʔλͷྔ • ֶशσʔλͷ౷ܭతੑ࣭ • ͳͲ ໰୊ͷੑ࣭ʹґଘ ͢Δ෦෼͕͋Δ
  30. ػցֶशͷྲྀΕ  ܇࿅༻σʔλΛूΊΔ  ΫϨϯδϯάͳͲͷલॲཧΛ͢Δ  ಛ௃ʢૉੑʣͷઃܭΛ͢Δ ‣ χϡʔϥϧωοτϫʔΫͷ৔߹͸ӅΕ૚ͷઃܭΛ͢Δ 

    ϞσϧΛֶश͠ɺݕূ͢Δ ‣ ݁Ռ͕ྑ͘ͳ͍৔߹͸PSʹ໭ͬͯ΍Γ௚͠  ӡ༻͢Δ ໰୊ͷੑ࣭ʹ͸
 ґଘ͠ͳ͍ ໰୊ͷੑ࣭ • λεΫͷछྨ • ֶशσʔλͷྔ • ֶशσʔλͷ౷ܭతੑ࣭ • ͳͲ
  31. ڭࢣ͋ΓֶशͷྲྀΕ μ΢ϯϩʔυ͸ऴΓ·͔ͨ͠ʁ

  32. τϚτ 1 φε 0 ਫࡊ 0 ιό 1 ྫྷ΍͠ 1

    : : Ϩγϐ ಛ௃ϕΫτϧ ෼ྨث : : 0.13 0.89 0.62 : ෼ྨ֬཰ϕΫτϧ ໙ྉཧ ओ৯ ೑ྉཧ : ڭࢣσʔλ Ϩγϐ΁ͷࣗಈϥϕϧ෇͚༻෼ྨثͷֶश 0 1 1 : ޡࠩ ෼ྨύϥϝʔλͷमਖ਼
  33. ෼ྨثͷ࠷దԽޯ഑߱Լ๏ ݱࡏͷग़ྗ E(y) ޡࠩ y ग़ྗ ݱࡏͷޡࠩ : ޡࠩΛগ͠ݮগͤ͞ΔͨΊʹ
 ඞཁͳग़ྗͷඍখมԽྔ

    y ग़ྗΛมԽͤ͞ΔͨΊʹඞཁͳ
 ෼ྨύϥϝʔλͷमਖ਼ྔ y = f ( x ; ⇥) ͷͱ͖ y ⇥ : ෼ྨύϥϝʔλ ⇥ ⇥ = @E @⇥ = @E @y @f @⇥
  34. ൚Խೳྗͱաֶश w൚Խೳྗgener liz tion ‣ ܇࿅Ͱ࢖༻͍ͯ͠ͳ͍ະ஌ͷσʔλʹରͯ͠΋ޡΓ͕ খ͍͞༧ଌ͕Մೳͳ͜ͱ wաֶशʢաద߹ʣoverfitting ‣ ܇࿅Ͱ࢖༻ͨ͠σʔλʹద߹͗ͯ͢͠͠·͍ɺະ஌ͷ

    σʔλʹର͢Δྑ͍༧ଌ͕Ͱ͖ͳ͍͜ͱ
  35. ྫɿճؼϞσϧ

  36. ௚ઢʹΑΔճؼ 2࣍ۂઢʹΑΔճؼ

  37. 2࣍ۂઢʹΑΔճؼ ߴ࣍ۂઢʹΑΔճؼ աֶशʢաద߹ʣ
 overfitting

  38. ֶशͨ͠Ϟσϧͷݕূ wֶशͨ͠Ϟσϧͷ൚ԽೳྗΛ֬ೝ͢Δ wະ஌ͷೖྗΛਖ਼͘͠༧ଌͰ͖Δׂ߹ΛٻΊΔ

  39. ڭࢣ͋Γֶशʹ͓͚Δݕূ wճؼͷ৔߹ wΫϥε෼ྨͷ৔߹

  40. ճؼͷ৔߹ͷݕূ wਅ஋ͱ༧ଌ஋ͷࠩͷೋ৐࿨Λ࢖͏

  41. Ϋϥε෼ྨͷ৔߹ͷݕূ wਖ਼͘͠෼ྨ͞Εׂͨ߹ͱޡͬͯ෼ྨ͞Εׂͨ߹Λ ར༻ͯ͠൚ԽೳྗΛݟੵΔ

  42. ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ
 ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ

    'BMTF/FHBUJWF ӄ
 ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ཰ accuracy ਅཅੑ཰ true positive rate ࠶ݱ཰ recall ਫ਼౓ʢద߹཰ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
  43. ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ
 ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ

    'BMTF/FHBUJWF ӄ
 ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ཰ accuracy ਅཅੑ཰ true positive rate ࠶ݱ཰ recall ਫ਼౓ʢద߹཰ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
  44. ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ
 ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ

    'BMTF/FHBUJWF ӄ
 ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ཰ accuracy ਅཅੑ཰ true positive rate ࠶ݱ཰ recall ਫ਼౓ʢద߹཰ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
  45. ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ
 ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ

    'BMTF/FHBUJWF ӄ
 ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ཰ accuracy ਅཅੑ཰ true positive rate ࠶ݱ཰ recall ਫ਼౓ʢద߹཰ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
  46. Precision Recall F-score = 2 1 precision + 1 recall

    = n tp n tp + nfp+ nfn 2 Precision ͱ Recall ͷௐ࿨ฏۉ ͲͪΒ͔͕௿͍ͱ F-score ͸௿͍
  47. ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ
 ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ

    'BMTF/FHBUJWF ӄ
 ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ཰ accuracy ਅཅੑ཰ true positive rate ࠶ݱ཰ recall ਫ਼౓ʢద߹཰ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2 F-score ͕ߴ͚Ε͹ྑ͍ͷʁ → ໰୊ʹґଘ͢Δ
  48. ྫɿҩྍσʔλͷ෼ྨ BMI ˔ ˔ ˔ ˔ ˔ ˔ ʷ ʷ

    ʷ ʷ ʷ ʷ ʷ ˔ ˔ʜ݈߁ମ ӄੑ  ʷʜ৺ଁප ཅੑ (ՍۭͷσʔλͰ͢) ِӄੑ ِཅੑ ҩྍσʔλͷ෼ྨͰ͸ِӄੑΛ0݅ʹ͍ͨ͠ → ࠶ݱ཰Λ100%ʹ͢Δ͜ͱ͕ॏཁ
  49. ྫɿҩྍσʔλͷ෼ྨ BMI ˔ ˔ ˔ ˔ ˔ ˔ ʷ ʷ

    ʷ ʷ ʷ ʷ ʷ ˔ ˔ʜ݈߁ମ ӄੑ  ʷʜ৺ଁප ཅੑ (ՍۭͷσʔλͰ͢) ِӄੑ ِཅੑ ҩྍσʔλͷ෼ྨͰ͸ِӄੑΛ0݅ʹ͍ͨ͠ → ࠶ݱ཰Λ100%ʹ͢Δ͜ͱ͕ॏཁ
  50. ଟΫϥε෼ྨͷ৔߹ wΫϥεຖʹࠞ߹ߦྻΛ࡞Γ౷߹͢Δ

  51. Ϋϥεͷ৔߹ ཅੑ ӄੑ ཅੑ ӄੑ ༧ଌͷ݁Ռ ਖ਼ղσʔλ ཅੑ ӄੑ ཅੑ

    ӄੑ ਖ਼ղσʔλ ཅੑ ӄੑ ཅੑ ӄੑ ਖ਼ղσʔλ n(1) tp n(2) tp n(3) tp n(1) tn n(2) tn n(3) tn n(3) fp n(2) fp n(1) fp n(1) fn n(2) fn n(3) fn Ϋϥε1 Ϋϥε2 Ϋϥε3 ֤Ϋϥεʹଐ͢Δ ֤Ϋϥεʹଐ͞͵ ༧ଌͷ݁Ռ ਖ਼ղσʔλ ֤Ϋϥεʹ
 ଐ͢Δ ֤Ϋϥεʹ
 ଐ͞͵ n(1) fn + n(2) fn + n(3) fn n(1) tp + n(2) tp + n(3) tp n(1) fp + n(2) fp + n(3) fp n(1) tn + n(2) tn + n(3) tn
  52. ަࠩݕূcross v lid tion w܇࿅σʔλΛֶश༻ͱݕূ༻ʹ෼ׂ͢Δύλʔϯ Λมߋ͠ɺෳ਺ͷݕূ݁ՌͷฏۉΛͱΔ͜ͱͰɺ ൚ԽੑೳΛ෼ׂύλʔϯʹґଘ͠ͳ͍ͰଌΔ ‣ K-෼ׂަࠩݕূ ‣

    LOOCV (Leave-one-out ަࠩݕূ)
  53. ,෼ׂަࠩݕূ 1 2 3 4 … K N ݸͷֶशσʔλΛ K

    ϒϩοΫʹ෼ׂ ݕূʹ࢖͏ϒϩοΫΛ ॱ൪ʹ੾Γସ͑ͯ K ύλʔϯͷݕূΛߦ͏ ֶश༻ϒϩοΫ ݕূ༻ϒϩοΫ (K=N ͷͱ͖ LOOCV ʹͳΔ)
  54. ,ͷબͿͱ͖ʹؾʹ͢Δ͜ͱ ֶश༻σʔλ ݕূ༻
 σʔλ K=2 K=N N ݕূύλʔϯ਺ 2 ≒ܭࢉίετ

    N(K 1) K K = 2 K = N N 2
  55. ·ͱΊ

  56. ·ͱΊ wػցֶशͱ͸ɺίϯϐϡʔλϓϩάϥϜ͕ܦݧʹ ΑͬͯλεΫͷղ͖ํΛֶΜͰ͍͘࢓૊Έͷ͜ͱ wػցֶशΛ༻͍ͨγεςϜ͸ɺαʔϏε։ൃͱಉ ͡Α͏ͳαΠΫϧͰ։ൃɾӡ༻͞ΕΔ wϞσϧͷ൚Խೳྗ͕ॏཁͰ͋ΔͨΊɺաֶशͯ͠ ͍ͳ͍ࣄΛݕূ͢Δඞཁ͕͋Δ