Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
機械学習勉強会08 2次元入力3クラス分類/MLStudy08
Search
hachiilcane
March 03, 2022
Technology
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習勉強会08 2次元入力3クラス分類/MLStudy08
機械学習勉強会08 2次元入力3クラス分類
hachiilcane
March 03, 2022
More Decks by hachiilcane
See All by hachiilcane
機械学習勉強会01 1次関数での回帰分析/MLStudy01
hachiilcane
0
67
機械学習勉強会02 多項式近似と最小二乗法による推定/MLStudy02
hachiilcane
0
120
機械学習勉強会03 最急降下法/MLStudy03
hachiilcane
0
40
機械学習勉強会04 偏微分と連鎖律/MLStudy04
hachiilcane
0
45
機械学習勉強会05 パーセプトロン/MLStudy05
hachiilcane
0
45
機械学習勉強会06 ロジスティック回帰/MLStudy06
hachiilcane
0
59
機械学習勉強会07 ROC曲線/MLStudy07
hachiilcane
0
45
機械学習勉強会09 2層フィードフォワードニューラルネット/MLStudy09
hachiilcane
0
75
WPF勉強会 第1回 動的レイアウト/WPFStudy1
hachiilcane
0
200
Other Decks in Technology
See All in Technology
Local CI × GitHub Actions
gogutan
2
210
Classmethod Company Deck
satoshi7
1
700
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
140
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
590
パッチ更新でterraform initが落ちた日
grimoh
1
140
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
160
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
480
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
630
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Paper Plane
katiecoart
PRO
5
54k
How to build a perfect <img>
jonoalderson
1
6.1k
Speed Design
sergeychernyshev
33
2.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Embracing the Ebb and Flow
colly
88
5.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Navigating Weather and Climate Data
rabernat
0
560
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Transcript
2࣍ݩೖྗ3Ϋϥε ྨ χϡʔϥϧωοτϫʔΫ·Ͱ͋ͱҰา @hachiilcane
͜Ε·Ͱݟ͖ͯͨྨ 2࣍ݩೖྗ2ΫϥεྨΛઢͰ͚Δ ͷ͕ύʔηϓτϩϯ 2࣍ݩೖྗ2ΫϥεྨΛʢ͋Δҙຯʣ ֬తͳ෯Λ࣋ͭઢͰ͚Δͷ͕ϩ δεςΟοΫճؼ
ࠓճ ྨͰ͖ΔΛ1ͭ૿ͯ͠ɺ2࣍ݩೖྗ3Ϋϥε ྨΛϩδεςΟοΫճؼͰղ͘ t͕0·ͨ1ͩͱ̎ʹͳͬͪΌ͏͔ΒɺͦΕ ΛଟΫϥεʹ֦ு͢Δͱ͖ʹιϑτϚοΫεؔ Λ͏͚ͬͯͩͰͦΜͳ͍͠͡Όͳ͍ αΫοͱֶΜͰɺ࣍ʹֶͿϑΟʔυϑΥϫʔυ χϡʔϥϧωοτͷ͕͔Γʹ͠Α͏
೦ͷͨΊͷ֬ೝͰɺ3Ϋ ϥεͬͯʁ ͜Ε·Ͱྨͱͯ͠ʮපؾͰ͋ΔʯʮපؾͰͳ ͍ʯͷ2छྨʹ͚͍ͯͨʢˡ2Ϋϥεʣ ࠓʮʢපؾͷʣεςʔδ1ʯʮεςʔδ2ʯ ʮεςʔδ3ʯʹྨ͍ͨ͠ͱ͔ɺͦ͏͍͏ײ͡ ʢˡ3Ϋϥεʣ ྉཧΛʮ༸৯ʯʮ৯ʯʮத՚ʯͷͲΕ͔ʹ ͚͍ͨͱ͔ ΫϥεɺଞʹΧςΰϦʔɺϥϕϧͱ͔ݴͬͨΓ
͢Δ ྨʹ͓͚ΔతมtͷऔΓ͏Δͷ͕3ͭ͋ Δɺͱݴ͑Δ
(x,y)ฏ໘্ͷσʔλΛྨ͢ΔઢΛࣜͰදݱ͢Δ ͜ͷ࣌ɺ(x,y)ฏ໘Λׂ͢Δઢ࣍ࣜͰද͞ΕΔ ͜ΕΛγάϞΠυؔМͰแΈɺ (x,y)ͰಘΒΕͨσʔλͷ ଐੑ͕t=1Ͱ͋Δ֬࣍ࣜͰද͞ΕΔ ରʹɺt=0Ͱ͋Δ֬࣍ࣜʹͳΔ 2࣍ݩೖྗ2Ϋϥεྨϩ δεςΟοΫճؼͷ෮श f(x, y)
= w0 + w1 x + w2 y f(x, y) = 0 P(x, y) = σ(w0 + w1 x + w2 y) 1 − P(x, y)
χϡʔϥϧωοτϫʔΫ ෩ͷදݱʹͯ͠࠶ཧ x y ॏΈw1 ॏΈw2 f ग़ྗ ೖྗ ೖྗ
1 ͍ͭ1ͷ μϛʔೖྗ ॏΈw0 f(x, y) = w0 + w1 x + w2 y { P(x, y) = σ( f ) ⟶ t = 1 1 − P(x, y) ⟶ t = 0 ೖྗ૯
ࠓޙΛߟ͑ɺଟೖྗଟΫϥεΛѻ ͑ΔΑ͏ʹࣜͷදݱΛม͑Δ x1 x2 ॏΈw1 ॏΈw2 a ग़ྗ ೖྗ ೖྗ
x0 ͍ͭ1ͷ μϛʔೖྗ ॏΈw0 a = w0 x0 + w1 x1 + w2 x2 { y = σ(a) ⟶ P(t = 1|x) 1 − y ⟶ P(t = 0|x) ೖྗ૯ ͖݅֬ͷදݱ ʢx͕ϕΫτϧදهͳͷ ೖྗ͕ଟ࣍ݩͰ͋Δ ͜ͱʹ߹Θ͍ͤͯΔʣ ग़ྗΛyͱ͢Δ ೖྗ૯Λaͱ͢Δ ೖྗΛxͷఴࣈ Ͱදݱ͢Δ
2Ϋϥεͱ3Ϋϥεͷҧ͍ ͷ֓ཁ 2ΫϥεྨϩδεςΟοΫճؼɺग़ྗ ͕ҰͭͰɺγάϞΠυؔΛ௨͢ɻग़ྗͷ େখ͕2ΫϥεΛද͢ 3ΫϥεྨϩδεςΟοΫճؼɺग़ྗ ͕3ͭͰɺιϑτϚοΫεؔΛ௨͢ɻग़ྗ ͷͦΕͧΕͷ͕ͦΕͧΕͷΫϥεͷ֬ Λࣔ͢
3Ϋϥεྨʹ֦ு͢Δ ͱ͜͏ͳΔ x1 x2 a0 ग़ྗ ೖྗ ೖྗ x0 ͍ͭ1ͷ
μϛʔೖྗ w00 ೖྗ૯ ग़ྗΛ3ͭʹ͢Δͷʹ߹Θͤͯɺ ೖྗ૯Λ3ͭʹ͠ɺॏΈ߹Θ ͤͯ૿͑Δ ॏΈͷఴࣈͷ͚ͭํ͕ٯ ͡Όͳ͍͔ͱࢥ͏͔͠Ε ͳ͍͕ɺ͜ͷํ͕৭ʑศར a1 a2 w01 w02 w20 w21 w22 y0 = exp(a0 ) ∑K−1 k=0 exp(ak ) → P(t = 0|x) y1 = exp(a1 ) ∑K−1 k=0 exp(ak ) → P(t = 1|x) y2 = exp(a2 ) ∑K−1 k=0 exp(ak ) → P(t = 2|x) Ҏ߱Ͱࡉ͔͘ݟ͍ͯ͘ ೖྗ૯ʹιϑτϚοΫεؔΛ௨ ͍ͯ͠ΔʢͦͷҙຯͰͦΕͧΕͷग़ ྗؔ͠߹͍ͬͯΔʣ a0 = ∑2 i=0 w0i xi
ೖྗxͱతมt n ೖྗ ೖྗ ਖ਼ղσʔλ ʢΫϥεʣ 0 5.604765 -0.837603 0
1 5.093028 -1.098183 1 2 -2.595448 1.348614 1 3 -0.662749 -5.056531 0 4 15.573566 10.073330 2 5 7.084038 2.165339 2 6 6.204333 -2.945187 1 7 13.349965 12.577250 0 8 16.487809 6.629031 0 9 0.060047 -2.900301 2 x1 x2 t 1-of-Kූ߸Խ ʢone-hotදݱʣ [[1 0 0] [0 1 0] [0 1 0] [1 0 0] [0 0 1] [0 0 1] [0 1 0] [1 0 0] [1 0 0] [0 0 1]] NݸͷσʔλશମͰେจࣈͷX ೖྗ1ͭͰখจࣈͷϕΫτϧදهx = x0 x1 x2 NݸͷσʔλશମͰT x0ৗʹ1ͷ μϛʔೖྗ
ॏΈwɺೖྗ૯aɺग़ ྗy ࠓ3ΫϥεྨͳͷͰɺೖྗ૯3ͭ͋ΔʢDೖྗ࣍ݩ ʣ Ϟσϧͷύϥϝʔλ·ͱΊͯߦྻͰද͢ͱ͜͏ͳΔ ೖྗ૯ΛιϑτϚοΫεؔʹೖྗͨ͠ͷΛग़ྗyͱ͢ΔʢK ྨ͢ΔΫϥεʣ ak = wk0
x0 + wk1 x1 + wk2 x2 = D ∑ i=0 wki xi (k = 0,1,2) yk = exp(ak ) ∑K−1 k=0 exp(ak ) (k = 0,1,2) w = w00 w01 w02 w10 w11 w12 w20 w21 w22
ιϑτϚοΫεؔ ෳͷ͕͋ͬͨͱ͖ɺͦΕΛιϑτϚοΫεؔʹೖྗ͢Δͱɺ ͦΕͧΕͷͷେখؔΛอͬͨ··ɺҎԼͷ݅Λຬͨ͢ʹ ม͞ΕΔ 0͔Β̍·Ͱͷ શͯΛͨ͠Β1 ͢ͳΘͪɺೖྗ͢ΔΛ֬Λද͢ʹม͢Δ͜ͱ͕Ͱ͖Δ ؔ ྨ͢Δχϡʔϥϧωοτͩͱग़ྗʹ͔·͢͜ͱ͕ଟ͍ͷͰ֮͑ ͓ͯ͘ͱྑ͍
yk = exp(ak ) ∑K−1 k=0 exp(ak )
ࠓճͷ3Ϋϥεྨ ιϑτϚοΫεؔʹΑͬͯɺy0+y1+y2=1Ͱ͋Δ͜ͱ͕อূ͞Ε Δɻ͜ͷϞσϧͷग़ྗy0,y1,y2Λɺ֤Ϋϥεʹଐ͢Δ֬Λද͢Α͏ ʹֶश͢Δͷ͕ࠓճΓ͍ͨ͜ͱ ͪΖΜֶशͱ͍͍ײ͡ͷύϥϝʔλwΛݟ͚ͭΔ͜ͱͰ͋Δ x1 x2 a0 ग़ྗ x0
w00 ೖྗ૯ a1 a2 w01 w02 w20 w21 w22 y0 = softmax(a0 ) y1 = softmax(a1 ) y2 = softmax(a2 ) 5.6 -0.8 1 0.85 0.11 0.04 y1͕Ұ൪େ͖͍͔ΒΫϥε1ͬΆ͍ͳ
తؔΛఆٛ͢ΔͨΊ ʹɺ·ͣؔ ɺશೖྗσʔλXʹରͯ͠શΫϥεσʔλT͕ੜ͞Εͨ֬ 1ͭͷೖྗσʔλxʹணͯ͠ɺͦͷΫϥε͕T=[1,0,0]ʢ͢ͳΘͪΫϥε0ʣ Ͱ͋ͬͨΒɺͦͷΫϥε͕ੜ͞Εͨ֬ Ϋϥε1Ͱ2Ͱಉ͡Α͏ʹදͤΔΑ͏ʹ͢Δͱ Nݸͷσʔλ͕ੜ͞Εͨ֬શ෦ֻ͚߹ΘͤΕ͍͍ͷͰ P(t = [1,0,0]|x)
= y0 P(t|x) = yt0 0 yt1 1 yt2 2 P(T|X) = N−1 ∏ n=0 P(tn |xn ) = N−1 ∏ n=0 ytn0 n0 ytn1 n1 ytn2 n2 = N−1 ∏ n=0 K−1 ∏ k=0 ytnk nk
ฏۉަࠩΤϯτϩϐʔޡ ࠩ ฏۉަࠩΤϯτϩϐʔޡࠩؔɺͷෛͷ ରͷฏۉͳͷͰɺ ্ͷࣜʹͳͬͯ͠·͑͏ؔΛѻ Θͳ͍ͷͰɺ͋Δҙຯؔͷҙຯ͕Θ͔ͬ ͯͳͯ͘ͳ͍ͬͪΌͳ͍ E(w) = −
1 N log P(T|X) = − 1 N log N−1 ∏ n=0 K−1 ∏ k=0 ytnk nk = − 1 N N−1 ∑ n=0 K−1 ∑ k=0 tnk log ynk
ฏۉަࠩΤϯτϩϐʔޡ ͕ࠩҙຯ͢Δͷ̍ ͋ΔҰͭͷσʔλ͚ͩʹ͢ΔͱɺɹɹɹɹͱͳΔ E(w) = − 1 N N−1 ∑
n=0 K−1 ∑ k=0 tnk log ynk tk log yk ͚ͩ͜͜ʹ ͢Δ a0 ग़ྗ ೖྗ૯ a1 a2 y0 = softmax(a0 ) y1 = softmax(a1 ) y2 = softmax(a2 ) 0.85 0.11 0.04 ਖ਼ղt 0 1 0 t0 log y0 = 0 t1 log y1 = − 0.1625 t2 log y2 = 0 ͜͜ͱ͜͜Λֻ ͚ͨʹͳΔ ͜͜ʢΛlogͱͬͨʣͱ͜͜ Λֻ͚ͨʹͳΔ
ฏۉަࠩΤϯτϩϐʔޡ ͕ࠩҙຯ͢Δͷ̎ ͋ΔҰͭͷσʔλ͚ͩʹ͢ΔͱɺɹɹɹɹɹɹͱͳΔ tkone-hotදݱͷਖ਼ղσʔλͳͷͰɺtk=1Ͱ͋Δyk͚͕ͩEͷ߹ ࢉରʹͳΔʢ͋ͱશ෦θϩʣ yk0ʙ1ͷͰ͋Γɺ1ʹ͍ۙ΄ͲlogΛऔΔͱ0ʹۙ͘ͳΔɻ0ʹ ͍ۙ΄ͲlogΛऔΔͱϚΠφεํʹେ͖ͳͱͳΔ ͭ·Γɺྨͷ݁Ռ͕ਖ਼͍͠ͳΒɹɹɹɹɹɹɹ΄΅0ʹͳΔ ͠ɺؒҧ͍ͬͯΔ΄ͲϚΠφεํʹେ͖͘ͳΔɻ͜Εͭ·Γ ޡࠩΛݟ͍ͯΔ͜ͱʹͳΓɺ͜ΕΒΛσʔλͷ͚ͩ͠߹Θͤ
ͨE(W)ೋޡࠩͱରͯ͠ൃมΘΒͳ͍ʢೋޡࠩͷྨ൛ Έ͍ͨͳΠϝʔδʣɻ E(w) = − 1 N N−1 ∑ n=0 K−1 ∑ k=0 tnk log ynk tk log yk ͚ͩ͜͜ʹ ͢Δ tk log yk
ޯ๏ʹΑΔղ ޯ๏ͰฏۉަࠩΤϯτϩϐʔޡࠩؔE(W)Λ࠷খԽ͢ΔWΛٻΊΔʹ ɺ͍ͭͷΑ͏ʹ֤wki ʹؔ͢ΔภඍΛ༻ҙ͢Εྑ͍ ಋग़লུ͢Δ͕ɺಋؔҎԼͷΑ͏ʹશͯͷkͱiʹରͯ͠ಉ͡ܗʹ ͳΔ ͪΖΜֶशଇ͜͏ ֶशଇʹैͬͯগͣͭ͠ύϥϝʔλwΛม͍͖͑ͯʢޯϕΫτϧͷ ରํͷࡔΛԼ͍͖ͬͯʣɺ࠷దͳύϥϝʔλwΛٻΊΔ ∂E
∂wki = 1 N N−1 ∑ n=0 (ynk − tnk )xni wki := wki − ∂E ∂wki
ޯ๏લճͱಉָ͘͡ ͠Α͏ scipy.optimizeϥΠϒϥϦʹؚ·ΕΔ minimize()ͱ͍͏ؔͰޯ๏͕ߦ͑Δ
՝ one-hotදݱͷਖ਼ղσʔλΛ༻ҙ͢Δ scipy.optimizeͷminimize()Λֶͬͯश͢Δ ΫϥεؒͷڥքઢΛάϥϑͰදࣔ͢Δɻ3Ϋϥε ͋ΔͷͰ୯७ʹઢͰදΘͤͳ͍ͷͰɺྫ͑ͦ ΕͧΕͷΫϥεͰ0.5Ҏ্ͷग़ྗ͕ಘΒΕΔྖҬ ΛߴઢͳͲͰදࣔ͢Δͱྑ͍ʢmatplotlibͷ ߴઢcontour()ͬͯͭʣ
ࢀߟจݙ தҪ ӻ࢘ʮITΤϯδχΞͷͨΊͷػցֶश ཧೖʯٕज़ධࣾ, 2015 ҏ౻ ਅʮPythonͰಈֶ͔ͯ͠Ϳʂ͋ͨΒ͠ ͍ػցֶशͷڭՊॻʯᠳӭࣾ, 2018 ཱੴݡޗʮֶ͘͞͠Ϳ
ػցֶशΛཧղ͢ ΔͨΊͷֶͷ͖΄Μ ʯϚΠφϏग़൛, 2017