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
機械学習勉強会06 ロジスティック回帰/MLStudy06
Search
hachiilcane
March 03, 2022
Technology
59
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習勉強会06 ロジスティック回帰/MLStudy06
機械学習勉強会06 ロジスティック回帰
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
機械学習勉強会07 ROC曲線/MLStudy07
hachiilcane
0
45
機械学習勉強会08 2次元入力3クラス分類/MLStudy08
hachiilcane
0
76
機械学習勉強会09 2層フィードフォワードニューラルネット/MLStudy09
hachiilcane
0
75
WPF勉強会 第1回 動的レイアウト/WPFStudy1
hachiilcane
0
200
Other Decks in Technology
See All in Technology
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
120
WasmをRustにする
sansantech
PRO
0
250
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
Local CI × GitHub Actions
gogutan
2
190
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
150
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
500
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
GitHub's CSS Performance
jonrohan
1033
470k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Building an army of robots
kneath
307
47k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
YesSQL, Process and Tooling at Scale
rocio
174
15k
Code Reviewing Like a Champion
maltzj
529
40k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Transcript
ϩδεςΟοΫճ ؼ ֬Λͬͨྨ @hachiilcane
લճ·Ͱ ύʔηϓτϩϯͱ͍͏ྨΞϧΰϦζϜ ͷجૅΛֶΜͩ
ࠓճֶͿ༰ ྨΞϧΰϦζϜͱͯ͠ύʔηϓτϩϯΑΓ൚༻ ੑ͕ߴ͍ɺϩδεςΟοΫճؼΛֶͿʢʮճؼʯͬ ໊ͯલ͕͍͍ͭͯΔ͕ɺҰൠతʹʮྨʯʹΘ Ε·͢ʣ ֬ͷߟ͑ํΛऔΓࠐΜͰ͍ΔͨΊɺʮ͜ͷݕ݁ ՌͳΒපؾͰ͋Δ֬80ˋʯͱ͍͏ݴ͍ํ͕Ͱ͖ Δ γάϞΠυؔͱ͍͏ศརͳͷʹ׳ΕΔ
લճͱಉ͡Λߟ͑Δ ۙɺʮ͍͵͞Μͷ͜ͱ͕͖͗ͯ͢පʯʹ͔͔Δਓ͕૿͑ ͯࣾձʹͳ͍ͬͯ·͢ɻ͜ͷපؾʹ͔͔ͬͨਓಛผͳ ࣏ྍ͕ඞཁʹͳΓ·͕͢ɺපؾʹ͔͔͔ͬͨͲ͏͔ͷఆ ͍͜͠ͱ͕Θ͔͍ͬͯ·͢ ಓͳݚڀͷ݁Ռɺʮ͍͵͞Μͷը૾Λݟͤͨ࣌ͷ৺ഥͷ ૿ݮʯͱʮ͍͵͞Μάοζॴ༗ͷҰൠਓฏۉͱͷࠩʯ͕ප ؾͷఆʹେཱ͖ͭ͘͜ͱ͕Θ͔͖ͬͯ·ͨ͠ ʮ৺ഥͷ૿ݮʯͱʮάοζॴ༗ͷࠩʯΛܭଌ͢Δ͜ͱʹ Αͬͯɺͦͷਓ͕පؾʹ͔͔͍ͬͯΔ͔൱͔ΛҰ࣍ఆͨ͠
͍Ͱ͢
ࠓճt+1·ͨ-1Ͱ ͳ͘ɺ1·ͨ0ͱ͢Δ x ʢ৺ഥ ૿ݮʣ y ʢάοζ ࠩʣ t ʢ1:පؾ
0:͡Όͳ͍ʣ 0 5.604765 -0.837603 0 1 5.093028 -1.098183 0 2 -2.595448 1.348614 0 3 -0.662749 -5.056531 0 4 15.573566 10.073330 1 5 7.084038 2.165339 0 6 6.204333 -2.945187 0 7 13.349965 12.577250 1 8 16.487809 6.629031 1 9 0.060047 -2.900301 0 τϨʔχϯάηοτ50ݸத ͷઌ಄10ݸͷ පؾάϧʔϓ t=1ͱ͢Δ පؾ͡Όͳ͍ άϧʔϓ t=0ͱ͢Δ
લճͱಉ͡Α͏ʹɺׂ ͢ΔઢΛఆٛ͢Δ (x,y)ฏ໘্ͷσʔλΛྨ ͢ΔઢΛࣜͰදݱ͢ Δ ͜ͷ࣌ɺ(x,y)ฏ໘Λׂ͢ Δઢ࣍ࣜͰද͞ΕΔ f(x, y) =
w0 + w1 x + w2 y f(x, y) = 0 ͬͪ͜පؾ ͬͪ͜පؾ ͡Όͳ͍
ڥքઢ͔ΒΕΔ΄Ͳf(x,y)ͷ ઈରେ͖͘ͳΔͷͩͬͨ f(x,y)Ͱׂ͞ΕΔྖҬɺf(x,y)ͷූ߸ͰผͰ͖Δ ڥքઢ͔ΒΕΔ΄Ͳɺf(x,y)ͷઈର͕େ͖͘ͳΔ f(x, y) > 0 f(x, y)
< 0 f(x, y) = 0 (15,20) (2,4) ∟ f(x, y) = 49 f(x, y) = − 22
f(x,y)ฏ໘্ͷҙͷʹ͓ ͍ͯɺt=1Ͱ͋Δ֬ʁ f(x, y) > 0 f(x, y) < 0
∟ ׂઢͷӈ্ͷํ ʹΕΔ΄Ͳt=1 Ͱ͋Δ֬ߴ͍ ͣͩ ׂઢ্ͳΒt=1Ͱ ͋Δ֬0.5 ׂઢͷࠨԼͷํ ʹΕΔ΄Ͳt=1 Ͱ͋Δ͍֬
t=1Ͱ͋Δ֬Λਤʹͯ͠ ΈΔͱ͜Μͳײ͡ʹͳΔ σʔλͷଐੑ͕ t=1Ͱ͋Δ֬ f(x, y) f(x,y)=0ͳΒ ʢׂઢ্ͳ Βʣt=1Ͱ͋Δ ֬0.5
͜ΕγάϞΠυؔͰ දݱͰ͖Δ aͷΛ-∞͔Β∞ʹมԽͤ͞ΔͱɺМ(a) ͷ0͔Β1Β͔ʹมԽ͢Δ γάϞΠυؔɿσ(a) = 1 1 + e−a
γάϞΠυؔͷಛ σ(a)ͷaͷͱ͜ΖʹઢͷࣜΛಥͬࠐΉ ͱɺઢͷେ͖͍ਖ਼ͷ1ʹ͍ۙ ʹɺઈରͷେ͖͍ෛͷ0ʹ͍ۙ ʹม͞ΕΔ ઢ͕0͔Β1ͷൣғʹ௵͞ΕΔΑ͏ͳ Πϝʔδɻ͜ΕΛਖ਼نԽͱݴ͏ɻ
ׂઢf(x,y)Λઢͷ··Ͱ ͳ͘МͰแΉͱ͍͏͜ͱ ઢϞσϧʹγάϞΠυؔΛ͔·͠ ͨͷ͕ϩδεςΟοΫճؼϞσϧ 0͔Β1ͷΛͱΔΑ͏ʹͳΔͷͰ֬ Λද͢ͷʹศརͩ͠ɺεςοϓؔΑ Γඍ͍͢͠
͕ͨͬͯ͠ࠓճϞσϧ Λ͜͏ఆٛ͢Δ (x,y)ͰಘΒΕͨσʔλͷଐੑ͕t=1Ͱ͋Δ֬࣍ࣜͰ ද͞ΕΔ ରʹɺt=0Ͱ͋Δ֬࣍ࣜʹͳΔ ͜Ε͕ҰൠతͳύϥϝτϦοΫϞσϧͷ3ͭͷεςοϓͷ͏ ͪͷεςοϓ̍ɺʮύϥϝʔλΛؚΉϞσϧʢࣜʣΛઃ ఆ͢Δʯ P(x,
y) = σ(w0 + w1 x + w2 y) 1 − P(x, y)
Ϟσϧύʔηϓτϩϯ ͱͲ͏ҧ͏ʁ ύʔηϓτϩϯ ઢͰ۠Δ f(x,y)ͷͷਖ਼ෛͰපؾ͔පؾͰͳ͍͔ͷ۠ผʢೋʣ ͭ·Γ۠Γ͕֊ஈঢ়ͷεςοϓؔ ϩδεςΟοΫճؼ ઢͰ۠Δͱ͍͏ߟ͑ํࠜͬ͜ಉ͡ P(x,y)ͷʢ0ʙ1ͷʣ͕පؾͰ͋Δ֬Λࣔ͢ ͭ·Γ۠Γ͕ͳΊΒͳۂઢ
εςοϓ2ɿύϥϝʔλ ͷධՁج४ΛఆΊΔ ύʔηϓτϩϯͰਖ਼͘͠ྨͰ͖ͳ ͔ͬͨΛޡࠩͱͯ͠ߟ͑ͯޡࠩؔΛ ϕʔεʹ͕ͨ͠…… ϩδεςΟοΫճؼͰؔΛ༻ ͍ͯɺ࠷ਪఆ๏Ͱ࠷దͳύϥϝʔλΛ ٻΊΔ
ͱ ʮ࠷Β͍͠߹͍ʯͱ͍͏ҙຯ ಥʹɺʮτϨʔχϯάηοτ͕ಘΒΕΔ֬ʯΛߟ͑ ͯΈΔ ࣮ࡍʹτϨʔχϯάηοτ͢ͰʹಘΒΕ͍ͯΔ ͷͰɺޙ͚Ͱ֬Λߟ͍͑ͯΔΑ͏ͳͷ ྫ͑ɺαΠίϩΛ2ճ߱ͬͯ1ͷͧΖ͕ग़ͨͱ͠ ͯɺͦΕΛޙ͔ΒʮͲΕ͘Β͍͍͜͠ͱ͕ى͖ͨ ͷͩΖ͏ʁʯͱߟ͍͑ͯΔΑ͏ͳΠϝʔδ
·ͣಛఆͷ1ͭͷσʔλ Ͱߟ͑Δ̍ ̍ͭͷσʔλɹɹɹɹɹ͕ಘΒΕΔ֬ ֶతٕΛ༻͍ͯ̍ͭͷࣜʹ͢Δͱ ͜ΕʹϞσϧͷࣜΛೖ͢Δͱ tn = 1ͷ߹ɿP(xn , yn
) tn = 0ͷ߹ɿ1 − P(xn , yn ) Pn = σ(w0 + w1 xn + w2 yn )tn(1 − σ(w0 + w1 xn + w2 yn ))1−tn (xn , yn , tn ) Pn = P(xn , yn )tn(1 − P(xn , yn ))1−tn
·ͣಛఆͷ1ͭͷσʔλ Ͱߟ͑Δ̎ ѻ͍͘͢͢ΔͨΊʹɺϞσϧͷࣜ෦Λzͱஔ͖͑Δ ͜͜Ͱzn࣍ࣜͰఆٛͨ͠ͷͰɺʮn൪ͷσʔλͷଐੑ ͕t=1Ͱ͋Δ֬ʯΛද͢ wͱПύʔηϓτϩϯͰఆٛͨ͠ͷͱಉ͡ Pn = ztn n
(1 − zn )1−tn zn = σ(wTϕn ) w = w0 w1 w2 ϕn = ( 1 xn yn ) όΠΞε߲
ͰτϨʔχϯάηοτʹؚ· ΕΔσʔλΛ·ͱΊͯߟ͑Δ શ෦ͷσʔλΛ·ͱΊͯߟ͑Δͱɺ͜ΕΒͷσʔλ͕ ಘΒΕΔ֬ɺ֤σʔλ͕ಘΒΕΔ֬ͷੵʹͳΔ ͜ͷ֬ύϥϝʔλwʹΑ͕ͬͯมΘΔͷͰɺύ ϥϝʔλwͷؔΛݟΔ͜ͱ͕Ͱ͖Δ ʮτϨʔχϯάηοτͷσʔλ͕ಘΒΕΔ֬ʯΛύ ϥϝʔλͷؔͱΈͳͨ͠ͷΛؔͱݺͿ P =
N ∏ n=1 Pn = N ∏ n=1 ztn n (1 − zn )1−tn
ʮ͓લͷ࣍ͷηϦϑʯ ʮ؍ଌ͞ΕͨσʔλʢτϨʔχϯάηοτʣɺ࠷ ൃੜ͕֬ߴ͍σʔλʹҧ͍ͳ͍ʯ ͜ͷԾઆ͕ਖ਼͍͠ͷͱͯ͠ɺ֬P͕࠷େʹͳΔ Α͏ʹύϥϝʔλΛܾఆ͢Δख๏Λ࠷ਪఆ๏ͱݴ ͏ ʮτϨʔχϯάηοτͱͯ͠ɺൃੜ͕͍֬ ʢͱ͍ͯ͠ʣσʔλ͕ಘΒΕΔ΄Ͳࣗ ӡ͕͍͍͕ͣͳ͍ʯͱߟ͍͑ͯΔΑ͏ͳͷ
۩ମతʹͲ͏ͬͯ֬PΛ࠷େԽ ͢ΔύϥϝʔλΛݟ͚ͭΔ͔ʢε ςοϓ̏ͷํ๏ʣ ͦͷ̍ɿχϡʔτϯɾϥϑιϯ๏Λ༻͍ ͨΞϧΰϦζϜ IRLS๏ʢ෮࠶ॏΈ ͚࠷খೋ๏ʣΛ͏ํ๏ ͦͷ̎ɿલճಉ༷ʹภඍͯ͠ޯ๏ ʹ࣋ͪࠐΉํ๏
ʢࢀߟʣχϡʔτϯɾϥ ϑιϯ๏Λ༻͍ͨIRLS๏ αϯϓϧϓϩάϥϜ05-logistic_vs_perceptronͰ༻ ͍ͯ͠ΔͷͰհɻҎԼͷΑ͏ͳΞϧΰϦζϜɻ ͜ΕΛ܁Γฦ͢ͱ֬Pͷ͕େ͖͘ͳ͍͖ͬͯɺ࠷ ऴతʹ࠷େʹୡ͢Δɻ͜Ε͕IRLS๏ɻ wnew = wold −
(ΦTRΦ)−1ΦT(z − t) z = z1 ⋮ zN R = diag[z1 (1 − zn ), …, zN (1 − zN )] t = t1 ⋮ tN Φn = 1 x1 y1 1 x2 y2 ⋮ ⋮ ⋮ 1 xN yN ର֯ߦྻ
ޯ๏Ͱ࠷దͳύϥϝʔλ ΛٻΊΔ͜ͱΛࢦͯ͠ ҎԼͷྲྀΕ ؔΛฏۉަࠩΤϯτϩϐʔޡࠩؔͱͯ͠࠶ ఆٛ͢Δ ޡࠩؔΛภඍֶͯ͠शଇʹ͏ภඍΛٻΊΔ ޯ๏Ͱগͣͭ͠ύϥϝʔλwΛม͍͖͑ͯʢޯ ϕΫτϧͷରํͷࡔΛԼ͍͖ͬͯʣɺ࠷దͳύ ϥϝʔλwΛٻΊΔ
ฏۉަࠩΤϯτϩϐʔޡ ࠩ ؔੵͷܗΛ͍ͯ͠ΔͷͰɺѻ͍͘͢͢ΔͨΊʹର ʢlogͷ͜ͱʣΛͱΔ ରؔ୯ௐ૿ՃؔͰ͋ΔͨΊɺରΛͱͬͯؔ Λ࠷େԽ͢ΔύϥϝʔλมΘΒͳ͍ ͞ΒʹϚΠφε̍Λֻ͚ͯɺNͰׂΔɻ͜ΕΛฏۉަࠩΤϯτϩ ϐʔޡࠩͱͯ͠ఆٛ͢Δɻ͜ͷޡࠩؔΛ࠷খԽ͢Δύϥϝʔλ wΛٻΊΔ͜ͱʹͳΔɻ͜Ε͕εςοϓ̎ͷతؔʹ૬ɻ log
P = N ∑ n=1 {tn log zn + (1 − tn )log(1 − zn )} E(w) = − 1 N log P = − 1 N N ∑ n=1 {tn log zn + (1 − tn )log(1 − zn )}
ฏۉަࠩΤϯτϩϐʔޡ ࠩؔE(w)Λภඍ͢Δ εςοϓ̏ͱͯ͠ޯ๏Ͱ࠷ྑͷධՁΛ༩͑ΔύϥϝʔλΛܾఆ͢Δ͜ͱʹ͢Δ ಋग़লུ ֶ͕ͨͬͯ͠शଇ ∂E ∂w0 = 1 N
N ∑ n=1 (zn − tn ) ∂E ∂w1 = 1 N N ∑ n=1 (zn − tn )xn ∂E ∂w2 = 1 N N ∑ n=1 (zn − tn )yn w0 := w0 − ∂E ∂w0 w1 := w1 − ∂E ∂w1 w2 := w2 − ∂E ∂w2
ޯ๏ͷ࣮ͰָΛ͢Δ scipy.optimizeϥΠϒϥϦʹؚ·ΕΔ minimize()ͱ͍͏ؔͰޯ๏͕ߦ͑Δ ֶशΛ෦Ͱࣗಈతʹઃఆͯ͘͠Ε ΔͷͰศར ܭࢉճͳΜ͔উखʹͬͯ͘ΕΔ
scipy.optimizeͷ minimize()ͷ͍ํώϯτ ୈ̍ҾʹతؔʢࠓճͩͱฏۉަࠩΤϯτϩϐʔޡࠩؔʣΛࢦఆ͢Δ ୈ̎ҾʹύϥϝʔλͷॳظΛྻͰ͢ argsʹతؔʹ͢Ҿͷ͏ͪɺw_initͰ͍ͯ͠ͳ͍ΛλϓϧͰ͢ jacʹతؔΛภඍͨؔ͠Λ͢ɻҾతؔͱಉ͡ͰɺΓޯϕΫτϧʢ[w0ͷ ภඍ, w1ͷภඍ, w2ͷภඍ]Έ͍ͨͳײ͡ʣΛฦؔ͢ methodʹ࠷దԽख๏Λࢦఆ͢Δɻ”CG”ڞޯ๏ɻ
minimize()ͷΓͷதͷxϓϩύςΟʹɺ࠷దԽ͞Εͨύϥϝʔλ͕ೖ͍ͬͯΔ from scipy.optimize import minimize def fit_logistic(w_init, train_set): res = minimize(cee_logistic, w_init, args=(train_set), jac=dcee_logistic, method="CG") return res.x
05-logistic_vs_perceptron.ipynbΛ ϕʔεʹͯ͠՝ʹνϟϨϯδͯ͠ ΈΑ͏ z࣠Λt=1Ͱ͋Δ֬ʢP(x,y)ͷʣͱͯ͠ɺڥք໘Λ3DϓϩοτͰදݱͯ͠Έ Δ ฏۉަࠩΤϯτϩϐʔޡࠩؔͷภඍΛखͰͬͯΈΔ ͜Ε݁ߏ͍͠Ͱ͢ɻ࿈ɺlogͷඍͷެࣜɺγάϞΠυؔͷඍ ͷެࣜͳͲΛۦ͠·͠ΐ͏ ޯ๏Λ࣮ͯ͠ΈΔ ͱΓ͋͑ͣɺϩδεςΟοΫճؼϞσϧΛؔͱ࣮ͯͯ͠͠ΈΔͱ͜Ζ
͔Β࢝ΊΔͱ͍͍͔ɻdef logistic(w, x, y):Έ͍ͨͳײ͡Ͱɻ ៉ྷʹઢܗͰ͖ͳ͍ࠞͬͨ͟ײ͡ͷτϨʔχϯάηοτΛ༻ҙͯ͠ɺIRLS ๏·ͨޯ๏Ͱͯ͠ΈΔ
ࢀߟจݙ தҪ ӻ࢘ʮITΤϯδχΞͷͨΊͷػց ֶशཧೖʯٕज़ධࣾ, 2015 ҏ౻ ਅʮPythonͰಈֶ͔ͯ͠Ϳʂ͋ͨ Β͍͠ػցֶशͷڭՊॻʯᠳӭࣾ, 2018