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

サポートベクターマシンとは?アルゴリズムや数学の徹底解説!!

kenyu
July 23, 2019

 サポートベクターマシンとは?アルゴリズムや数学の徹底解説!!

サポートベクトルマシン(SVM)の数学の解説をしてます.
ダウンロードしたい方はご自由にどうぞ!!

良ければTwitterをフォローくださいませ.
https://twitter.com/kenyu0501_?lang=ja

詳細ブログ:サポートベクターマシン(SVM)とは?〜基本からPython実装まで〜
https://kenyu-life.com/2019/02/11/support_vector_machine/

kenyu

July 23, 2019
Tweet

More Decks by kenyu

Other Decks in Education

Transcript

  1. αϙʔτϕΫλʔϚγϯ 47. ͷ ਺ֶΛઆ໌͍͚ͨͩ͠ͷεϥΠυ ্ݪݡ༞!LFOZV@ ɹࢁޱେֶത࢜՝ఔֶज़ݚڀһ ࠷ۙͷτϐοΫ
 ɹਓ޻஌ೳͷݕఆ Hݕఆ ʹ߹֨

    ͨ͠ͷͰɼ"*ʹؔ͢ΔϚ΢ϯτ ͕ͱΕΔΑ͏ʹͳΓ·ͨ͠ɽ θϛࢿྉୈճ ࡱӨɼιʔγϟϧɼࣗݾ࢖༻ɼશ෦0, 5XJUUFSྑ͚Ε͹ϑΥϩʔͩ͘͞Εʂ
  2. ࠓճͷθϛͷ໨తͱίϯςϯπ ɾػցֶशͷେ࿮Λͬ͘͟Γͱཧղ͢Δ͜ͱɹɾɾɾ ɾ47.ͷ਺ֶతഎܠΛཧղ͢Δ͜ͱɾɾɾ ɾ47.Λ࣮ࡍʹ࢖༻Ͱ͖ΔΑ͏ʹͳΔ͜ͱɾɾɾ ɾػցֶशͱ͸ʂʁ ɾػցֶशͷҐஔ෇͚ ɾػցֶशͷΞϧΰϦζϜ ڭࢣ͋Γ74ͳ͠  ɾ47.͸ڭࢣ͋Γֶश

    ɾσϞϯετϨʔγϣϯɿ਎ۙͳ47. ɾݚڀͷϞνϕʔγϣϯ ೴೾ͷݚڀ  ɾϕΫτϧͷ෮श ɾઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯˠιϑτϚʔδϯ΁
 ɾओ໰୊74૒ର໰୊ɿઢܗ͔Βඇઢܗ47.΁ͷ֦ு ɾಛ௃ۭؒ΁ͷࣸ૾ɼΧʔωϧͷಋೖ ɾݚڀ΁ͷద༻ɿ঺հ ໨త ΊͬͪΌ਺ֶʂ ಺༰
  3. ػցֶश .BDIJOF-FBSOJOH ͱ͸ʂʁ τϨϯυ (PPHMFτϨϯυ ػցֶश͕͡Θ৳ͼ͍ͯ͠Δཧ༝ ɾσΟʔϓϥʔχϯάͰ͸େྔͷ ɹσʔλ͕ඞཁʹͳΔ ɾܭࢉϦιʔε͕ඞཁʹͳΔ ɾݸਓ͕ͳ͔ͳ͔࣮૷͠ʹ͍͘

    ʮσʔλΛ൓෮తʹֶशͯ͠ɼ͋Δ๏ଇΛݟ͚ͭΔ͜ͱʯ σΟʔϓϥʔχϯά͸͜͏͍ͬͨোน͕͋Δ ɾগྔͷσʔλͰ࣮૷Ͱ͖Δ  47.Ͱ͸ަࠩݕূͳͲͷख๏΋͋Δ  ɾೖग़ྗؔ܎ͷؔ਺ ౷ܭཧ࿦ʹجͮ͘  ɾܭࢉϦιʔε͸ͦ͜·ͰඞཁͰ͸ͳ͍ ɾݸਓͰ࣮૷͕༰қͰ͋Δ ਓؾͬ͢Α
  4. ਓ޻஌ೳ͔ΒΈͨػցֶशͷҐஔ෇͚ ৼΔ෣͍͕ܾΊΒΕ͍ͯΔ΋ͷ ਓ޻஌ೳͷͭͷϨϕϧ෼͚ -FWFM -FWFM -FWFM -FWFM γϯϓϧͳ੍ޚϓϩάϥϜ ݹయతͳਓ޻஌ೳ ػցֶश

    σΟʔϓϥʔχϯά 0O0GG੍ޚ 1*%੍ޚ 1SPQPSUJPOBM*OUFHSBM%JGGFSFOUJBM  ͋Δಛఆͷ؀ڥʹݶఆͨ͠৔߹ͷΈɼ ෳࡶͳಈ͖͕Ͱ͖Δ ೖग़ྗͷؔ܎Λֶशͨ͠΋ͷɽ ೖྗʹಛ௃ྔͱ͍͏ਓ͕ؒ ઃఆ͢Δ֓೦͕͋Δɽ ಛ௃ྔࣗମΛࣗಈͰֶशͰ͖Δ ͋ΒΏΔ৚݅ʹରԠͨ͠ಈ࡞΍੍ޚܥͷ ૊Έ߹Θͤ αϙʔτϕΫλʔϚγϯ ܾఆ໦ͳͲ χϡʔϥϧωοτϫʔΫ 3// $//ͳͲ
  5. ػցֶशͷΞϧΰϦζϜɿڭࢣ͋Γɼڭࢣͳ͠ɼ൒ڭࢣɼڧԽֶश ػցֶश ڭࢣ͋Γֶश ڭࢣͳֶ͠श ൒ڭࢣ͋Γֶश ڧԽֶश ϥϕϧ෇͖σʔλΛ༻͍ͯೖग़ྗؒͷ ؔ਺Λ࡞Δ ϥϕϧͳ͠ͷσʔλ͔ΒӅΕͨߏ଄Λ هड़͢Δؔ਺Λ࡞Δ

    ϥϕϧ෇͖ͱແ͠ͷ྆ํͷσʔλΛ༻ ͍ͯೖग़ྗؒͷؔ਺Λ࡞Δ ͋Δ؀ڥ಺ͰߦಈͷՁ஋Λ࠷େԽ͢Δ Α͏ͳಈ࡞ΛܾΊΔؔ਺Λ࡞Δ ɾճؼ ઢܗճؼɼϕΠζճؼ  ɾ෼ྨ 47.ɼܾఆ໦ ɾΫϥελϦϯά ɹ ,NFBOT๏ɼࠞ߹ਖ਼ن෼෍Ϟσϧ  ɾ৘ใѹॖ 1$"ɼಛҟ஋෼ղ ɾ෼ྨ ൒ڭࢣ͋ΓLۙ๣๏άϥϑɼɹɹɹ ɹɹ൒ڭࢣ͋Γࠞ߹Ψ΢εϞσϧ ɾήʔϜɼ੍ޚɼਪఆ ɹ 2MFBSOJOHɼ4BSTB
  6. ػցֶशͷΞϧΰϦζϜɿڭࢣ͋ΓαϙʔτϕΫλʔϚγϯ47. ݹయతͳ੍ޚ ೖྗ ϓϩάϥϜ ίϯϐϡʔλ ग़ྗ ೖྗ ग़ྗ ίϯϐϡʔλ ϓϩάϥϜ

    ڭࢣ͋Γֶश ػցֶश αϙʔτϕΫλʔϚγϯ ೖग़ྗσʔλͷύλʔϯΛ ίϯϐϡʔλʹ୳ͯ͠΋Β͏
  7. 47.͕͸͡Ίʹ࢖ΘΕͨ՝୊ɿखॻ͖จࣈೝࣝ ΞϝϦΧ༣੓αʔϏεɿखॻ͖༣ศ൪߸Λೝࣝͯ͠ɼࣗಈ࢓෼͚͢Δ՝୊ 77BQOJL 4UBUJTUJDBM-FBSOJOH5IFPSZ 4QSJOHFS7FSMBH   ࠓճ࣮૷EFNP͋Γ खॻ͖จࣈೖྗ ਺ࣈग़ྗ

    ػցֶशͷ࣮ߦ 47. //FUD  ίʔϧηϯλ  ༣ศ෺࢓෼͚  ి࿩ަ׵ख ݱࡏɼػցʹ୅ସ͞ΕΔ ͱ༧૝͞Ε͍ͯΔ࢓ࣄ#FTU 「RaspberryPiではじめる機械学習」 を参考にしました ෼ྨث ˠ಺ଆͷॲཧΛͬ͟ͱઆ໌ɽ ˠ47.ʹΑΓ෼ྨثΛ࡞੒ͯ͠ɼ࣮ࡍʹखॻ͖ ɹจࣈೝࣝΛߦ͏͜ͱ͕Ͱ͖Δ͔Ͳ͏͔ͷςετɽ σϞϯετϨʔγϣϯͷ಺༰
  8.          

                                                                    47.͕͸͡Ίʹ࢖ΘΕͨ՝୊ɿखॻ͖จࣈೝࣝ ֦େ ͕ͪΐͬͱҟ࣭ͩͱࢥ͍·͕͢ɼ ੈքతʹ͸͜ͷܗଶ͕ओྲྀ 特徴量 (8 × 8ピクセル) 0:白 → 15:黒 ಛ௃ྔΛ࣋ͬͨϕΫτϧΛλʔήοτຖʹ ண৭ͯ͠෼෍Λ֬ೝͯ͠ΈΔ ओ੒෼෼ੳQDBͱ͍͏࣍ݩΛམͱ͢ख๏ʢˠ࣍ݩ΁ʣ Λ࢖͍·͕͢ɼ͜͜Ͱ͸આ໌Λল͖·͢ʂ 1SJODJQMF$PNQPOFOUT"OBMZTJT खॻ͖਺ࣈ ΦʔϓϯΞΫηε ໊෼ͷखॻ͖਺ࣈݸ ػցֶशϥΠϒϥϦ4DJLJUMFBSOΑΓೖख ֤਺ࣈʹ͓͚Δ ಛ௃ྔͷ෼෍ͷ͹Β͖ͭ
  9. 47.͕͸͡Ίʹ࢖ΘΕͨ՝୊ɿखॻ͖จࣈೝࣝ x1 x2 Y1 = 6 Y2 = 5 特徴量(本当は64つ)

    特徴量 データ1797つ Q. Sklearnのオープンデータセット がどのようなものか確認して下さい データとターゲットを用意できれば, すぐにSVMやNNに与えることができます for文 「変数i を0から9まで変化させながら10回繰り返す」 n_classesには10が格納されている                                                                
  10. 47.͕͸͡Ίʹ࢖ΘΕͨ՝୊ɿखॻ͖จࣈೝࣝ サポートベクターマシンを使った分類器の作成に挑戦 サポートベクターマシンがたったの3行で実装できる!
 Sklearnを使用したらかなり楽に記述することができます. 予測と正解が一致した結果(合計)をsuccessに渡す SVM X y result =

    clf.predict(X) 入力のy(数字)と,出力のresult(数字)が一致して いるのか確かめる! 正解率を表示して,与えたデータでSVMを使ってきちんと0~9のクラスに 分けることができているのか確かめる
  11. ϕΫτϧͷ෮शɿزԿֶతදݱ͔Β୅਺తදݱ΁ r θ x y (r, θ) x1 x x1

    x (x, y) ༗޲ઢ෼͔Β࠲ඪܥͷ੒෼΁ ୅਺త֓೦ͩͱ ϕΫτϧΛ࢖ͬͨ ࿨ࠩ಺ੵͷԋࢉ͕༰қ ஍ཧ࠲ඪܥXJLJQFEJB IUUQTKBXJLJQFEJBPSHXJLJ஍ཧ࠲ඪܥ ֤ࠃ΋Ңઢͱܦઢͷ ৘ใΛ࣋ͭϕΫτϧ ࣾձਓͷͨΊͷσʔλ෼ੳೖ໳ୈճ IUUQTBNVTFNFOUKBQBODPKQBSUJDMFEFUBJM ϚοΫͱύνϯίͷ ৘ใΛ࣋ͭϕΫτϧ ສਓ͋ͨΓ ͜͏͍ͬͨ΋ͷ΋ ϕΫτϧ
  12. ಛ௃ྔ ಛ௃ྔ ઢܗ෼཭Մೳ K2 K1 ಛ௃ྔ ಛ௃ྔ K2 K1 ઢܗ෼཭ෆՄೳ

    ϋʔυϚʔδϯ ιϑτϚʔδϯ ϋʔυϚʔδϯΑΓ΋ݡ໌ͳ47. 47.ͷऔֻ͔ͬΓʹྑ͍ ઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯ
  13. ಛ௃ྔ ಛ௃ྔ αϙʔτϕΫτϧ αϙʔτϕΫτϧ Ϛʔδϯ࠷େԽ ໼ҹ෦ͷ௕͞ wT x + b

    = 0 K2 K1 ௚ઢΑΓԼʹ͋Δσʔλ͸ Ϋϥεʹଐ͢Δ ௚ઢΑΓ্ʹ͋Δσʔλ͸ Ϋϥεʹଐ͢Δ wT xi + b > 0 wT xi wT xi + b < 0 xi ∈ K1 wT xi xi ∈ K2 ͱͳΔσʔλxͷू߹ ઢܗ෼཭Մೳͳσʔλ ෼ྨڥքͰ͋Δ௚ઢ ௒ฏ໘ ͷํఔࣜΛ͜ͷΑ͏ʹఆٛ͢Δ ϥϕϧม਺ti Λಋೖͯ͠ɼΑΓେ͖͍ܗʹ ti (wT xi + b) > 0 wT xi i = 1,2,⋯, n w زԿϚʔδϯ ͱ͍͏Αʂ ɾ෼ྨڥքΛܾఆ͢Δؔ਺ʹΑΓ෼ྨثΛఆٛ͢Δɽ ɾσʔλΛ׬ᘳʹ෼཭͢Δؔ਺͕ଘࡏ͢Δͱ͍͏Ծఆ͕͋Δɽ ɾαϙʔτϕΫτϧͰͳ͍఺͸ɼ෼཭௚ઢ ௒ฏ໘ ʹશ͘ӨڹΛ༩͑ͳ͍ɽ ɹͭ·Γɼ࠷దղʹӨڹ͸ͳ͍ɽ w w b ॏΈ O࣍ݩ࣮਺ϕΫτϧ όΠΞε εΧϥʔ ઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯ
  14. 䡧఺ͱ௚ઢͷڑ཭ ࣍ݩ7FS (x1 , x2 ) d d = |w1

    x1 + w2 x2 + b| w2 1 + w2 2 wT xi + b = 0 wT xi 䡧఺ͱ௒ฏ໘ͷڑ཭ O࣍ݩ7FS (x1 , x2 , ⋯, xn ) d = |w1 x1 + w2 x2 + ⋯ + wn xn + b| w2 1 + w2 2 + ⋯ + w2 n O࣍ݩ͔͚ͳ͍͚Ͳɼ
 ࣍ݩతʹɼɼɼ wT xi + b = 0 wT xi d = |wT x + b| ||w|| w wT x ҰൠԽ͢Δ ͸ɼॏΈϕΫτϧͷϊϧϜ ௕͞ Λද͢ ||w|| w O࣍ݩσʔλ ࣍ݩฏ໘ͷ ఺ͱ௚ઢͷڑ཭ ߴߍ਺ֶͩͶ ઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯ
  15. ಛ௃ྔ ಛ௃ྔ αϙʔτϕΫτϧ αϙʔτϕΫτϧ Ϛʔδϯ࠷େԽ ໼ҹ෦ͷ௕͞ wT x + b

    = 0 K2 K1 ̎ͭͷΫϥεΛ෼͚Δ௒ฏ໘ʹ࠷΋͍ۙσʔλ αϙʔτϕΫτϧ ΁ͷڑ཭Λߟ͑Δ wT x M = wT x+ + b ||w|| = −(wT x− + b) ||w|| w wT x x+ x− x x w wT x αϙʔτϕΫτϧ αϙʔτϕΫτϧ ti (wT xi + b) ||w|| ≥ M maxM, w, b w (i = 1,2,⋯, n) wT xi w ͜ͷ࠷దԽ໰୊Λղ͘ ᶃαϙʔτϕΫτϧ PS  ʹରͯ͠Ϛʔδϯ࠷େԽ͢Δ ᶄશͯͷϕΫτϧɹ͕ ͦͷϚʔδϯΑΓ΋ڑ཭͕௕͍ ͜ͷͭͷ৚݅Λຬͨ͢ xi xi x+ x+ x− x− ઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯ
  16. ti (wT xi + b) ||w|| ≥ M maxM, w,

    b w (i = 1,2,⋯, n) wT xi w ͜ͷ࠷దԽ໰୊Λղ͘ ؔ਺ग़ྗͱͯ͠ଌఆ͞ΕΔؔ਺ϚʔδϯM͕มԽ͢ΔͷͰɼ زԿϚʔδϯΛ࠷దԽ͢ΔͨΊʹ΋ɼؔ਺ϚʔδϯΛʹ͢Δɽ ͦͷޙɼॏΈϕΫτϧͷϊϧϜΛ࠷େԽ ࠷খԽ ͢Δɽ M = wT x+ + b ||w|| = −(wT x− + b) ||w|| w wT x w wT x αϙʔτϕΫτϧ αϙʔτϕΫτϧ wT x + b = 1 w ͜͜Ͱɼ྆ลΛMͰׂΔ ti (wT xi + b) M||w|| ≥ 1 ti ( ˜ wT xi + ˜ b) ≥ 1 ˜ w = w M||w|| ˜ b = b M||w|| શͯͷσʔλʹରͯ͠ɼ͜ͷෆ౳͕ࣜͳΓͨͭ wT xi w wT xi w w ؆୯ͷͨΊνϧμͰද͓ͯ͘͠ ˜ M = ti ( ˜ wT xi + ˜ b) || ˜ w|| = 1 || ˜ w|| αϙʔτϕΫτϧ x+ ΍x- ʹ͓͍ͯ͸ɼ ҎԼͷ౳߸͕੒ཱ͢Δ wT xi w w ໨తؔ਺ ੍໿৚݅ ti ( ˜ wT xi + ˜ b) = 1 wT xi ಛʹαϙʔτϕΫτϧͰ͸౳߸͕੒ཱ ઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯ
  17. max 1 || ˜ w|| , ˜ w, b w

    (i = 1,2,⋯, n) ti ( ˜ wT xi + ˜ b) ≥ 1 wT xi w min 1 2 ||w||2 , ti (wT xi + b) ≥ 1 wT xi (i = 1,2,⋯, n) w, b w ࠷େԽ͸ɼٯ਺Λͱͬͯ࠷খԽ͢Δͷͱ౳ՁͰ͋Δ ࠷େԽˠ࠷খԽ໰୊ w ϊϧϜͷೋ৐΍͸ܭࢉΛߦ͍΍͘͢͢ΔͨΊʂ ໨తؔ਺ ੍໿৚݅ ࠷దԽ໰୊ͷ࠷దղΛٻΊΔͱɼ wT x + b = 1 w ti ( ˜ wT xi + ˜ b) = 1 wT xi ͸௨ৗ͍͔ͭ͘ݱΕΔɽ ͜Ε͸ɼ෼ྨڥքʹ࠷΋͍ۙϕΫτϧͰ͋Γɼࠨਤͷഁઢ্ ͷ఺ʹ૬౰͢Δ ઢܗֶशϚγϯͷ਺ֶɿϋʔυϚʔδϯ
  18. ಛ௃ྔ ಛ௃ྔ wT x + b = 0 ઢܗ෼཭Մೳ K2

    K1 ಛ௃ྔ ಛ௃ྔ K2 K1 ઢܗ෼཭ෆՄೳ wT x + b = 0 ϋʔυϚʔδϯ ιϑτϚʔδϯ ϋʔυϚʔδϯΑΓ΋ݡ໌ͳ47. ϋʔυϚʔδϯͷ੍࣋ͭ໿৚݅ͷ؇࿨ 47.ͷऔֻ͔ͬΓʹྑ͍ ઢܗֶशϚγϯͷ਺ֶɿιϑτϚʔδϯ
  19. K2 K1 ઢܗ෼཭ෆՄೳ wT x + b = 0 wT

    x + b = − 1 wT x + b = 1 ti (wT xi + b) ≥ 1 − ξi wT xi K1 ʹ͓͍ͯ෼཭͢Δ௚ઢͷ Ұ൪͍ۙσʔλ αϙʔτϕΫτϧ K2 ʹ͓͍ͯҰ൪͍ۙσʔλ αϙʔτϕΫτϧ w, b w ઢܗ෼཭Մೳͳ৔߹ ϋʔυϚʔδϯ ͸ɼ͜Εͷ࠷খԽ໰୊Λղ͘͜ͱ͕ඞཁͩͬͨ min 1 2 ||w||2 , ti (wT xi + b) ≥ 1 wT xi (i = 1,2,⋯, n) w ౳߸͕੒ཱ͢Δ৔߹ Ϛʔδϯ Ϛʔδϯ಺෦ʹҟͳΔσʔλ͕ ೖΓࠐΜͰ͠·͏ εϥοάม਺ξ Λಋೖ੍ͯ͠໿ΛऑΊΔ ξi = max{0, M − ti (wT xi + b) ||w|| } εϥοάม਺ξ ͸NBYؔ਺ wT x w w x w x w x ά β Π ઢܗֶशϚγϯͷ਺ֶɿιϑτϚʔδϯ
  20. ξi = max{0, (1 − 0.4 = 0.6)} ξi =

    max{0, M − ti (wT xi + b) ||w|| } wT x w K2 K1 ۩ମྫΛߟ͑Δ wT x + b = 0 wT x + b = 1 Ϛʔδϯ. ྫ͑͹ɼ͜ͷೖΓࠐΜͩ σʔλ ఺ Λߟ͑Δ ti (wT xi + b) ||w|| = 0.4 ௚ઢͱ఺ͷڑ཭ Ϛʔδϯ M = 1 ξi = 0.6 ti (wT xi + b) ≥ 1 − ξi = 0.4 wT xi ͜ͷೖΓࠐΜͩσʔλ ఺ ʹରͯ͠͸ɼ੍໿͕খ͘͞ͳΔ w x w x ্ͷ۩ମྫͷΑ͏ʹɼϚʔδϯΛ௒͑ͯ͠·ͬͨ఺ͷଘࡏΛڐՄ͢ΔͨΊͷ΋ͷ ͜ΕʹΑͬͯɼ෼཭ෆՄೳͳ৔߹΋ڥքͷਪఆΛՄೳʹ͍ͯ͠Δ ઢܗֶशϚγϯͷ਺ֶɿιϑτϚʔδϯ
  21. ti (wT xi + b) ≥ 1 wT xi (i

    = 1,2,⋯, n) ϋʔυϚʔδϯ min 1 2 ||w||2 w, b w w ໨తؔ਺ ੍໿৚݅ ιϑτϚʔδϯ min{ 1 2 ||w||2 + C n ∑ i=1 ξi} w, b, ξ w w ໨తؔ਺ ੍໿৚݅ ti (wT xi + b) ≥ 1 − ξi , wT xi (i = 1,2,⋯, n) ξi ≥ 0 C> 0ɿਖ਼ଇԽ܎਺ ϖφϧςΟͷ౓߹͍ ໨తؔ਺Λ࠷খԽ͢ΔͨΊʹ͸ɼ߲̎ͷόϥϯεΛ্ख͘औΒͳ͍ͱ͍͚ͳ͍ ϚʔδϯΛ޿͛Α͏ͱ͢ΔͱɼC n ∑ i=1 ξi ͷ෦෼ ξ ͷ૯࿨ ͕େ͖͘ͳΔͨΊ ΑΓ΋খ͘͞ͳΔͷͰɼ ϚʔδϯΛ௒͑ͯҟͳΔΫϥεʹೖΔͷΛڐ͢ ϚʔδϯΛ޿͛ΔͱɼୈҰ߲͸খ͘͞ͳΔ͕ɼୈೋ߲͸େ͖͘ͳ͍ͬͯ͘ ઢܗֶशϚγϯͷ਺ֶɿιϑτϚʔδϯ
  22. ਖ਼ଇԽ܎਺ ϋΠύʔύϥϝʔλ ͷ୳ٻɹɹɹɹɹɹιϑτϚʔδϯ ਖ਼ଇԽ܎਺ͷ஋ʹΑͬͯɼϚʔδϯʹͲͷΑ͏ͳӨڹ͕͋Δͷ͔֬ೝ͢Δ min{ 1 2 ||w||2 + C

    n ∑ i=1 ξi} w, b, ξ w w ໨తؔ਺ C> 0ɿਖ਼ଇԽ܎਺ ϖφϧςΟͷ౓߹͍ C= 100 C= 0.1 ਤͷҾ༻ɼαϙʔτϕΫτϧϚγϯɼ ஛಺Ұ࿠ɼௗࢁণ޾ɼߨஊࣾ   ▶︎ 2VFTUJPO Ͳ͕ͬͪ$ʁ$ʁ ɾ໨తؔ਺࠷খԽΛ͢ΔࡍɼC͕େ͖͍ͱɼξΛ཈੍͢Δྗ͕ڧ͘ͳΔɽ ɹ ޡͬͨσʔλ͕ϚʔδϯΛ௒͑ͯ৵ೖ͢Δ͜ͱ͕ͳ͘ͳΔ  ɾC͕খ͍͞ͱɼσʔλ͕ϚʔδϯΛ௒͑ͯ͠·͏͜ͱΛڐ͢ͷͰɼϚʔδϯΛ޿͘औΕΔɽ 47.͸Ϛʔδϯ࠷େԽΛ͍ͨ͠ͷ͚ͩͲɼɼɼɼ ߲ͷόϥϯεΛߟ͑Δඞཁ͕͋Δ CˠʿͰ͸ʮϋʔυϚʔδϯʯʹͳΔɽ
  23. ओ໰୊74૒ର໰୊ɿઢܗ͔Βඇઢܗ47.΁ͷ֦ு ιϑτϚʔδϯ min{ 1 2 ||w||2 + C n ∑

    i=1 ξi} w, b, ξ w w ໨తؔ਺ ੍໿৚݅ ti (wT xi + b) ≥ 1 − ξi , wT xi (i = 1,2,⋯, n) ξi ≥ 0 ओ໰୊ɿ͜Ε·ͰఆࣜԽ͖ͯͨ͠࠷దԽ໰୊ͷ͜ͱ 47.Λܭࢉ͢Δ৔߹͸ɼओ໰୊͸ղ͔ͣɼ૒ର໰୊Λղ͘ ૒ର໰୊ɿओ໰୊Λผͷղ͖қ͍ܗʹมܗͤͨ͞໰୊ ෼ྨڥքͷඇઢܗԽΛߟ͑Δ্Ͱɼ૒ର໰୊ͷܗ͕ࣜ༗༻Ͱ͋Δ w w w w w w w w w ̍ɽม਺ΛݮΒ͢͜ͱ͕Ͱ͖Δ ̎ɽΧʔωϧؔ਺͕ಋೖͰ͖Δ ੍໿৚݅ͷͳ͍࠷దԽ໰୊΁ͷมܗΛ͢Δ͜ͱ
  24. ໨తؔ਺f(x) Λ࠷খʹ͢Δ఺Λɼn ݸͷෆ౳੍ࣜ໿gi(x) ≦ 0ͷ΋ͱͰٻΊΔ ϥάϥϯδϡͷະఆ৐਺๏ ϥάϥϯδϡؔ਺ ओม਺ ૒ରม਺ ϥάϥϯδϡ৐਺

    x x (i = 1,2,⋯, n) x L(x, α) = f(x) + n ∑ i=1 αi gi (x) ∂L(x, α) ∂x = ∂f(x) ∂x + n ∑ i=1 αi ∂gi (x) ∂x ∂L(x, α) ∂αi = gi (x) ≤ 0 αi ≥ 0 αi gi (x) = 0 1. 2. 3. 4. x x x x x x x x x ओม਺ʹؔ͢Δมඍ෼ ૒ରม਺ʹؔ͢Δมඍ෼ ϥάϥϯδϡ৐਺͸ৗʹਖ਼ ੍໿৚݅ͱϥάϥϯδϡ৐਺ͷੵ͸ ҎԼͷͭΛղ͘͜ͱʹΑͬͯٻ·Δ ඇઢܗ47.΁ͷ֦ுɿϥάϥϯδϡͷະఆ৐਺๏
  25. (1, 1, 1) 0 x y z ʲྫ୊ʳத৺(1, 1, 1

    ) ൒ܘͷٿද໘ʹɹ ɹɹɹɹ͓͍ͯɼݪ఺(0, 0, 0)͔Βڑ཭͕ ɹɹɹɹ࠷খͱͳΔ࠲ඪΛٻΊΑ ͜ͷ໰୊Λϥάϥϯδϡͷ ະఆ৐਺Λ࢖ͬͯղ͘Α ࠷খ ݪ఺͔Βͷڑ཭ͳͷͰɼࡾฏํͷఆཧ f(x, y, z) = x2 + y2 + z2 ໨తؔ਺ ੍໿৚݅ g(x, y, z) = (x − 1)2 + (y − 1)2 + (z − 1)2 − 1 = 0 ϥάϥϯδϡؔ਺ L(x, y, z, α) = x2 + y2 + z2 − α{(x − 1)2 + (y − 1)2 + (z − 1)2 − 1} ⾢ ໰୊Ҿ༻ɼ޻ֶͷͨΊͷ࠷దԽख๏ೖ໳ɼ ఱ୩ݡ࣏ɼ਺ཧ޻ֶࣾ   ඇઢܗ47.΁ͷ֦ுɿϥάϥϯδϡͷະఆ৐਺๏ ٿͷํఔࣜʹै͏ͱ͍͏੍໿
  26. ∂L(x, y, z, α) ∂x = 2x − 2α(x −

    1) ∂L(x, y, z, α) ∂y = 2y − 2α(y − 1) ∂L(x, y, z, α) ∂z = 2z − 2α(z − 1) ∂L(x, y, z, α) ∂α = − {(x − 1)2 + (y − 1)2 + (z − 1)2 − 1} (x, y, z, α) = (1 ± 1 3 , 1 ± 1 3 , 1 ± 1 3 , 1 ± 3) ্ͷຊͷ࿈ཱํఔࣜΛղ͘ͱɼ ͕ಘΒΕΔɽf ͸ූ߸͕+ͷͱ͖ʹɼ࠷େ஋Λɼ-ͷͱ͖ʹ࠷খ஋ΛͱΔɽ
 Αͬͯɼݪ఺͔Βͷڑ཭͕࠷খͱͳΔ࠲ඪ͸ɼ (1 − 1 3 , 1 − 1 3 , 1 − 1 3 ) ඇઢܗ47.΁ͷ֦ுɿϥάϥϯδϡͷະఆ৐਺๏
  27. min{ 1 2 ||w||2 + C n ∑ i=1 ξi}

    w, b, ξ w w ໨తؔ਺ ੍໿৚݅ ti (wT xi + b) ≥ 1 − ξi , wT xi (i = 1,2,⋯, n) ξi ≥ 0 ϥάϥϯδϡͷະఆ৐਺๏Λ࢖ͬͯ47.ͷओ໰୊Λ૒ର໰୊΁ͱมܗ͢Δ L(w, b, ξ, α, β) = 1 2 ||w||2 + C n ∑ i=1 ξi − n ∑ i=1 αi {ti (wT xi + b) − 1 + ξi } − n ∑ i=1 βi ξi wT xi w w β α ϥάϥϯδϡ৐਺ ϥάϥϯδϡؔ਺ 1. 2. 3. ओม਺w ʹؔ͢Δมඍ෼ ∂L(w, b, ξ, α, β) ∂w = w − n ∑ i=1 αi ti xi = 0 ∂L(w, b, ξ, α, β) ∂b = − n ∑ i=1 αi ti = 0 ∂L(w, b, ξ, α, β) ∂ξ = C − αi − βi = 0 ओม਺b ʹؔ͢Δมඍ෼ ओม਺ξ ʹؔ͢Δมඍ෼ w w w w w xi ओม਺ w, b, ξ ʹؔ͢Δภඍ෼Λղ͘ w = n ∑ i=1 αi ti xi w xi n ∑ i=1 αi ti = 0 C = αi + βi ϥάϥϯδϡؔ਺΁୅ೖ ͜ΕΒͷ੍໿͕Ͳͷఔ౓ॏཁͰ͋Δ͔Λ ఆྔԽͨ͠৐਺ʹͳΔ ඇઢܗ47.΁ͷ֦ுɿϥάϥϯδϡͷະఆ৐਺๏
  28. L(w, b, ξ, α, β) = 1 2 ||w||2 +

    C n ∑ i=1 ξi − n ∑ i=1 αi {ti (wT xi + b) − 1 + ξi } − n ∑ i=1 βi ξi wT xi w w max{ ˜ L(α) = n ∑ i=1 αi − 1 2 n ∑ i=1 n ∑ i=j αi αj ti tj xT i xj} xT i xj ͭͷ৚݅ࣜΛϥάϥϯδϡؔ਺΁୅ೖ͠ɼ੔ཧ͢Δ͜ͱʹΑͬͯɼ α ͷΈͷࣜʹมܗͰ͖Δ αϙʔτϕΫλʔϚγϯͷ૒ର໰୊͸ɼ্ͷؔ਺ʹΑͬͯදݱ͞ΕΔ ϥάϥϯδϡؔ਺ ͜͜Ͱɼbͷ஋͸૒ର໰୊ʹݱΕͳ͍ͷͰɼb ͸ओ໰୊ͷ੍໿Λར༻ͯ͠ಋग़͢Δඞཁ͕͋Δ b = − maxti =−1 (wxi ) + minti =1 (wxi ) 2 wxi wxi ඇઢܗ47.΁ͷ֦ுɿϥάϥϯδϡͷະఆ৐਺๏
  29. ೖྗۭؒ ಛ௃ۭؒ x1 x2 x1 x2 x1x2 x = (x1

    , x2 ) x ϕ(x) = (x1 , x2 , x1 x2 ) x ࣸ૾ ϕ(x) = (x1 , x2 , x2 1 , x2 2 , x1 x2 ) x ଞʹ΋͍ΖΜͳํ๏͕͋ΔΑ ࣍ݩ֦ு ಛ௃ۭؒ΁ͷࣸ૾ɼΧʔωϧͷಋೖ
  30. L(w, b, ξ, α, β) = 1 2 ||w||2 +

    C n ∑ i=1 ξi − n ∑ i=1 αi {ti (wT xi + b) − 1 + ξi } − n ∑ i=1 βi ξi wT xi w w max{ ˜ L(α) = n ∑ i=1 αi − 1 2 n ∑ i=1 n ∑ i=j αi αj ti tj xT i xj} xT i xj ϥάϥϯδϡؔ਺ max{ ˜ L(α) = n ∑ i=1 αi − 1 2 n ∑ i=1 n ∑ i=j αi αj ti tj ϕ(x)T i ϕ(x)j} ϕ(x)T i ϕ(x)j ಛ௃্ۭؒ΁ͷ֦ு ϕ(x) = (ϕ1 (x), ϕ2 (x), ⋯, ϕr (x)) x x x x ಺ੵͷΈͷ͓࿩ ໰୊ɿ࣍ݩ֦ுʹΑΓɼ಺ੵͷܭࢉྔ͕๲େ ϕ(x)T i ϕ(x)j ϕ(x)T i ϕ(x)j ಛ௃ۭؒͷ࣍ݩ਺ r ͸ɼ΋ͱ΋ͱͷೖྗۭؒͷn ΑΓ΋͸Δ͔ʹେ͖͍ ͦͷͨΊɼ಺ੵ ͷܭࢉ͕ͱͯ΋େม ϕ(x)T i ϕ(x)j K(xi , xj ) = ϕ(x)T i ϕ(x)j xi , xj Χʔωϧؔ਺ ಛ௃ϕΫτϧͷ಺ੵΛΧʔωϧؔ਺Ͱஔ͖׵͑Δ  ݴ͍׵͑Δͱɼ಺ੵͷܭࢉ͑͞Ͱ͖Ε͹͓L ಛ௃ۭؒ΁ͷࣸ૾ɼΧʔωϧͷಋೖ
  31. ϕ(x) = ϕ(x1 , x2 ) = (x2 1 ,

    2x1 x2 , x2 2 ) x x, y x y ೋͭͷϕΫτϧ Λߟ͑Δ ϕ(x) = ϕ(x1 , x2 ) = (x2 1 , 2x1 x2 , x2 2 ) x ϕ(y) = ϕ(y1 , y2 ) = (y2 1 , 2y1 y2 , y2 2 ) y ͜ΕΒೋͭͷ಺ੵΛߟ͑Δ ϕ(x)Tϕ(y) x y = (x2 1 , 2x1 x2 , x2 2 )T(y2 1 , 2y1 y2 , y2 2 ) = x2 1 y2 1 + 2x1 x2 y1 y2 + x2 2 y2 2 = (x1 y1 − x2 y2 )2 = ((x1 , x2 )T(y1 , y2 ))2 = (xTy)2 x y ม׵ޙͷϕΫτϧͷ಺ੵ͸ɼ ݩͷϕΫτϧͷ಺ੵͷ৐ʹ౳͍͠ c = 0 d = 2ͱͨ࣌͠ͷଟ߲ࣜΧʔωϧ ಛ௃ۭؒ΁ͷࣸ૾ɼΧʔωϧͷಋೖ ಛ௃ۭؒͰͷ಺ੵ͕ͲͷΑ͏ͳܗʹམͪண͔͘ɼ؆୯ͳྫͰߟ͑ͯΈΔ ͜͏͍ͬͨܗ͕ɼΧʔωϧؔ਺ͱͯ͠੒Γཱͪͦ͏ͩͧɽɽɽ
  32. max{ ˜ L(α) = n ∑ i=1 αi − 1

    2 n ∑ i=1 n ∑ i=j αi αj ti tj ϕ(x)T i ϕ(x)j} ϕ(x)T i ϕ(x)j ໨తؔ਺ ϕ(x)T i ϕ(x)j K(xi , xj ) = ϕ(x)T i ϕ(x)j xi , xj Χʔωϧؔ਺ ͋Δಛఆͷੑ࣭Λຬͨ͢ͱ ͜Ε͕దԠͰ͖Δʂ Χʔωϧؔ਺Λ༻͍ΔࣄͰɼ࠷దԽΛ͢Δࡍʹɼ໌ࣔతʹП Λܭࢉ͠ͳͯ͘΋ྑ͍ ಛ௃ۭؒ΁ͷࣸ૾ɼΧʔωϧͷಋೖ ʮϚʔαʔͷఆཧʯΛຬ଍Ͱ͖Δؔ਺͕ɼΧʔωϧؔ਺ͱͯ͠ద༻͢Δࣄ͕Ͱ͖Δ Χʔωϧؔ਺ͷྫ ɾଟ߲ࣜΧʔωϧ K(xi , xj ) = (xT i xj + c)d xi , xj xT i xj ɾΨ΢εΧʔωϧ K(xi , xj ) = exp{− ||xi − xj ||2 2σ2 } ɾγάϞΠυΧʔωϧ K(xi , xj ) = tanh(bxT i xj + c) xi , xj xi , xj xi xj xT i xj
  33. Χʔωϧؔ਺ͷྫ ɾଟ߲ࣜΧʔωϧ K(xi , xj ) = (xT i xj

    + c)d xi , xj xT i xj ɾΨ΢εΧʔωϧ K(xi , xj ) = exp{− ||xi − xj ||2 2σ2 } ɾγάϞΠυΧʔωϧ K(xi , xj ) = tanh(bxT i xj + c) xi , xj xi , xj xi xj xT i xj ֤Χʔωϧͷ಺ଆͷϋΠύʔύϥϝʔλc ΍dɼσ ͳͲ͸ผ్ܾఆ͠ͳ͚Ε͹ͳΒͳ͍ɽ ͜ΕΒͷઃఆ͸ɼώϡʔϦεςΟοΫͰ͋Δ͠ɼ͍͔ͭ͘ͷٻΊํ΋͋Δɽ ඞͣ͠΋ਖ਼͍͠౴͑Λಋ͚ΔΘ͚Ͱ͸ͳ͍͕ɺ͋Δఔ౓ͷϨϕϧͰਖ਼ղʹ͍ۙղΛಘΔ͜ͱ͕Ͱ͖Δ σ ɿผʑͷΫϥεʹ෼ྨ͞Εͨ఺ؒͷڑ཭ͷ࠷΋খ͍͞΋ͷΛબ୒͢Δɽ ৴ͽΐ͏ੑͷ͋Δج४͕ͳ͍৔߹ɼަࠩݕূ΍ݕূू߹ͳͲΛ༻͍ͯઃఆ͢Δ ͨͱ͑͹ ݁Ռͱͯ͠ຬ଍ͷ͍͘ੑೳΛୡ੒͢Δ·Ͱɼ༷ʑͳύϥϝʔλΛ͍͘͡Γ·Θ͢ʁ ͔͠͠ɼଟ͘ͷ৔߹ɼ47.Λ࢖༻͢Δ৔߹ɼૉ๿ͳઃఆɼ࣮૷Ͱɼຬ଍Ͱ͖Δ݁ՌΛฦ͢ɽ
 ٯʹɼ͜ΕΒͷܦݧ͸ɼ47.͕͏·͘దԠͰ͖ΔྖҬ͕׬શʹ։୓͞Ε͍ͯͳ͍͜ͱΛ҉ʹࣔ͢ɽ lαϙʔτϕΫλʔϚγϯೖ໳zɼ/FMMP$ +PIO45 େ๺߶ɼڞཱग़൛  Q ಛ௃ۭؒ΁ͷࣸ૾ɼΧʔωϧͷಋೖ