Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習勉強会06 ロジスティック回帰/MLStudy06
Search
hachiilcane
March 03, 2022
Technology
58
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
63
機械学習勉強会02 多項式近似と最小二乗法による推定/MLStudy02
hachiilcane
0
90
機械学習勉強会03 最急降下法/MLStudy03
hachiilcane
0
39
機械学習勉強会04 偏微分と連鎖律/MLStudy04
hachiilcane
0
43
機械学習勉強会05 パーセプトロン/MLStudy05
hachiilcane
0
44
機械学習勉強会07 ROC曲線/MLStudy07
hachiilcane
0
43
機械学習勉強会08 2次元入力3クラス分類/MLStudy08
hachiilcane
0
71
機械学習勉強会09 2層フィードフォワードニューラルネット/MLStudy09
hachiilcane
0
71
WPF勉強会 第1回 動的レイアウト/WPFStudy1
hachiilcane
0
200
Other Decks in Technology
See All in Technology
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
2.9k
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
210
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
50
55k
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
170
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
410
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
280
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
600
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
160
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
260
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
790
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Un-Boring Meetings
codingconduct
0
310
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Believing is Seeing
oripsolob
1
140
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
Design in an AI World
tapps
1
230
How to build a perfect <img>
jonoalderson
1
5.6k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
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