Save 37% off PRO during our Black Friday Sale! »

Deep Learning 5章後半

Deep Learning 5章後半

ゼミの輪講資料.Goodfellow本5.5節〜5.11節

3c1b9d9be0fff4a8904e2a26d4122c0c?s=128

Takahiro Kawashima

May 29, 2018
Tweet

Transcript

  1. 5 ষ: Machine Learning Basics ઒ౡوେ May 29, 2018 ిؾ௨৴େֶ

    ঙ໺ݚڀࣨ B4
  2. ໨࣍ 1. ࠷໬ਪఆ 2. ϕΠζ౷ܭ 3. ڭࢣ͋Γֶश 4. ڭࢣͳֶ͠श 5.

    ֬཰తޯ഑߱Լ๏ (SGD) 6. Deep Learning ΁ͷಈػ 2
  3. ࠷໬ਪఆ

  4. ࠷໬ਪఆ ൘ॻͰ΍Δ 3

  5. ϕΠζ౷ܭ

  6. ϕΠζ౷ܭ ൘ॻͰ΍Δ 4

  7. ڭࢣ͋Γֶश

  8. ڭࢣ͋Γֶश ֬཰తڭࢣ͋Γֶश ෮श: ҰൠઢܗϞσϧ    y = θT

    x + ϵ ϵ ∼ N(ϵ|0, σ2) ⇒ p(y|x; θ) = N(y; θT x, σ2) (5.80) ਖ਼ن෼෍ͷఆٛҬ͸ (−∞, ∞) ˠ {0, 1} ͷೋ஋෼ྨ໰୊ʹ͸࢖͑ͳ͍ 5
  9. ڭࢣ͋Γֶश ֬཰తڭࢣ͋Γֶश લड़ͷཧ༝͔Β (0, 1) ͷ஋ҬΛ΋ͭؔ਺Λߟ͍͑ͨ ˠγάϞΠυؔ਺ f(x) = 1

    1 + e−x 6
  10. ڭࢣ͋Γֶश ֬཰తڭࢣ͋Γֶश ϩδεςΟ οΫճؼ p(y = 1|x; θ) = 1

    1 + e−θT x = 1 1 + e−(θ0+θ1x1+θ2x2+··· ) ˠ {0, 1} ͷೋ஋൑ผʹ࢖͑Δ 7
  11. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) ಛ௃্ۭؒͰઢܗ෼཭Մೳͳೋ஋෼ྨ໰୊Λߟ͑Δ ˠ͍Ζ͍Ζͳઢ (௒ฏ໘) ͷҾ͖ํ͕͋Δ 8

  12. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) マージンを最大化 支持超平面 分類超平面 サポートベクトル ࢧ࣋௒ฏ໘ͷʮϚʔδϯʯΛ࠷େԽ͢ΔΑ͏ʹ෼ྨ௒ฏ໘Λֶश 9

  13. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) ฏ໘ͷํఔࣜ͸ ax + by + c =

    0 ͳͷͰ͜ΕΛҰൠԽͯ͠ɼ෼ྨ௒ฏ໘ͷํఔࣜ͸αϙʔτϕΫτ ϧͷू߹ x∗ Λ༻͍ͯ w0 + wT x∗ = 0 ͱॻ͚Δɽֶश͢Δͷ͸͜ͷ܎਺ w Ͱ͋Δ 2 ͭͷࢧ࣋௒ฏ໘͸ɼ෼ྨ௒ฏ໘Λ ±k ͚ͩͣΒͯ͠    w0 + wT x∗ = k w0 + wT x∗ = −k ⇒ |w0 + wT x∗| = k Ͱ͋Δ 10
  14. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) ௒ฏ໘ͷࣜ͸ఆ਺ഒͯ͠΋ಉ͡΋ͷΛࣔ͢ͷͰɼֶश݁Ռ͕Ұҙ ʹఆ·Βͳ͍ ˠҰҙੑΛ࣋ͭΑ͏ʹ੍໿Λ՝͢ ੍໿: |w0 + wT

    x∗| = 1 ॏΈϕΫτϧʹ͍ͭͯඪ४Խ͢Δͱ |w0 + wT x∗| ∥w∥ = 1 ∥w∥ ͜ΕΛ࠷େԽ͢ΔΑ͏ʹֶश͢Δ 11
  15. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) ͜Ε·Ͱ͸ઢܗ෼཭Մೳͳ໰୊ͷ࿩ ˠઢܗ෼཭ෆՄೳͳ໰୊Λߟ͍͑ͨ ղܾࡦ: ಛ௃ʹඇઢܗม׵Λࢪͯ͠ผͷಛ௃ۭؒʹࣹӨ 12

  16. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) ྫ: ສ༗Ҿྗͷࣜ ಛ௃: ࣭ྔ m1, m2 ɼڑ཭

    r f(m1, m2, r) = G m1m2 r2 ͜ΕΛ֤ಛ௃ʹؔͯ͠ઢܗʹ͍ͨ͠ ˠର਺ΛͱΔ logf(m1, m2, r) = logG + logm1 + logm2 − logr2 ઢܗʹͳͬͨ 13
  17. ڭࢣ͋Γֶश αϙʔτϕΫλʔϚγϯ (SVM) Ұൠʹ͸΋ͱͷಛ௃ΑΓߴ࣍ݩͷۭؒ΁ࣹӨ͢Δ ˠֶशσʔλ͕ଟ͍ͱܭࢉྔ͕๲େʹͳΔ ˠ ΧʔωϧτϦοΫͱ͍͏ຐज़Λ༻͍Δͱখ͍͞ܭࢉྔͰߴ࣍ݩ (ແݶ࣍ݩ) ΁ͷࣹӨΛධՁͰ͖Δ 14

  18. ڭࢣͳֶ͠श

  19. ڭࢣͳֶ͠श ओ੒෼෼ੳ ΍ͬͨͷͰύε 15

  20. ڭࢣͳֶ͠श ΫϥελϦϯά໰୊ ΫϥελϦϯά ྨࣅͨ͠σʔλΛάϧʔϓʹ෼ྨ͢Δ 16

  21. ڭࢣͳֶ͠श k-means ๏ ΞϧΰϦζϜ 1. Ϋϥελத৺ͷॳظ஋ͱͯ͠ɼσʔλ఺͔Β k ݸͷηϯτϩ ΠυΛϥϯμϜʹબͿ (k

    ͸ط஌) 2. ֤αϯϓϧΛ࠷΋͍ۙηϯτϩΠυʹׂΓ౰ͯΔ 3. ֤ηϯτϩΠυΛࣗ਎ʹׂΓ౰ͯΒΕͨσʔλͷத৺ʹҠಈ ͢Δ 4. 2,3 Λ܁Γฦ͢ 17
  22. ڭࢣͳֶ͠श k-means ๏ σϞΛ΍Ε http://tech.nitoyon.com/ja/blog/2013/11/07/k-means/ 18

  23. ڭࢣͳֶ͠श ิ଍: k-means++๏ k-means ๏͸ॳظ஋ґଘੑ͕ඇৗʹߴ͍ ˠ֤ηϯτϩΠυͷॳظ஋Λόϥόϥʹࢃ͘͜ͱͰվળ (k-means++๏) σϞΛ΍Ε https://wasyro.github.io/k-meansppVisualizer/ 19

  24. ֬཰తޯ഑߱Լ๏ (SGD)

  25. ֬཰తޯ഑߱Լ๏ (SGD) ίετؔ਺͸ (ςετ) σʔλ͝ͱͷଛࣦؔ਺ͷ࿨ʹ෼ղͰ͖Δ͜ ͱ͕ଟ͍ ઢܗճؼͰ͸ɼର਺໬౓ L(x, y, θ)

    Λ༻͍ͯ J(θ) = Ex,y∼ˆ pdata [L(x, y, θ)] = 1 m m ∑ i=1 L(x(i), y(i), θ) (5.96) L(x(i), y(i), θ) = −logp(y|x, θ) ͜ͷίετؔ਺ʹؔͯ͠ɼύϥϝʔλ θ ʹ͍ͭͯޯ഑๏Λద༻ 20
  26. ֬཰తޯ഑߱Լ๏ (SGD) ∇θJ(θ) = ∇θ [ 1 m m ∑

    i=1 L(x(i), y(i), θ) ] = 1 m m ∑ i=1 ∇θL(x(i), y(i), θ) (5.97) ͜ͷܭࢉྔ͸ O(m) Ͱɼσʔλ͕૿͑Δͱ͔ͳΓͭΒ͍ ˠ֬཰తޯ഑߱Լ๏ (SGD) 21
  27. ֬཰తޯ഑߱Լ๏ (SGD) SGD ͸ޯ഑Λظ଴஋ͰදݱͰ͖Δͱߟ͑ɼαϯϓϧͷখ͍͞αϒ ηοτ (ϛχόον) ͷޯ഑๏Ͱۙࣅతʹٻ·Δͱ͢Δ B = {x(1),

    . . . , x(m′)} ͷϛχόονΛҰ༷ϥϯμϜʹֶशσʔλ ηοτ͔Β΋ͬͯ͘Δ m′ ͸͍͍ͩͨ 100ʙ300 ͘Β͍Ͱɼm ͕ଟͯ͘΋ಉ༷ ޯ഑ͷਪఆྔ g ͸ g = 1 m′ ∇θ m′ ∑ i=1 L(x(i), y(i), θ) (5.98) ύϥϝʔλͷਪఆྔ͸ θ ← θ − ϵg 22
  28. Deep Learning ΁ͷಈػ

  29. Deep Learning ΁ͷಈػ ࣍ݩͷढ͍ ಛ௃ྔͷ࣍ݩ͕૿͑Δͱࢦ਺తʹऔΓ͏Δ૊Έ߹Θ͕ͤ૿͑Δ ্ਤ͸֤ಛ௃͕ͦΕͧΕ 10 ݸͷ஋ΛऔΓ͏Δ৔߹ͷ֓೦ਤ 23

  30. Deep Learning ΁ͷಈػ ࣍ݩͷढ͍ ྫͱͯ͠ k ۙ๣๏ (k-Nearest Neighbour) ͱ͍͏ֶशΞϧΰϦζϜ

    Λߟ͑Δ k ۙ๣๏ ςετσʔλͷೖྗʹରͯ͠ɼಛ௃্ۭؒͰ΋ͬͱ΋͍ۙ k ݸ ͷֶशσʔλΛ୳͠ɼͦΕΒͷֶशσʔλͷଐ͢ΔΫϥεͷଟ ਺ܾͰςετσʔλʹׂΓৼΔΫϥεΛܾఆ͢Δ k = 3 ͷ৔߹ ೖྗ˔ͷϥϕϧ͸˙ 24
  31. Deep Learning ΁ͷಈػ ࣍ݩͷढ͍ ಛ௃ۭؒͰσʔλ͕εΧεΧͰ k ۙ๣๏Ͱ͸͏·͍͔͘ͳͦ͞͏ ˠಉ༷ʹଟ͘ͷݹయతػցֶशख๏Ͱ͸ଠ౛ଧͪͰ͖ͳ͘ͳΔ 25

  32. References I [1] ਢࢁರࢤ, ϕΠζਪ࿦ʹΑΔػցֶशೖ໳. ߨஊࣾ, 2017. [2] খ໺ాਸ, αϙʔτϕΫλʔϚγϯ.

    ΦʔϜࣾ, 2007. [3] Sebastian Raschka ஶ, גࣜձࣾΫΠʔϓ༁, ୡਓσʔλαΠ ΤϯςΟετʹΑΔཧ࿦ͱ࣮ફ Python ػցֶशϓϩάϥϛ ϯά, ΠϯϓϨε, 2016.