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
機械学習勉強会09 2層フィードフォワードニューラルネット/MLStudy09
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hachiilcane
March 03, 2022
Technology
0
69
機械学習勉強会09 2層フィードフォワードニューラルネット/MLStudy09
機械学習勉強会09 2層フィードフォワードニューラルネット
hachiilcane
March 03, 2022
Tweet
Share
More Decks by hachiilcane
See All by hachiilcane
機械学習勉強会01 1次関数での回帰分析/MLStudy01
hachiilcane
0
60
機械学習勉強会02 多項式近似と最小二乗法による推定/MLStudy02
hachiilcane
0
77
機械学習勉強会03 最急降下法/MLStudy03
hachiilcane
0
37
機械学習勉強会04 偏微分と連鎖律/MLStudy04
hachiilcane
0
41
機械学習勉強会05 パーセプトロン/MLStudy05
hachiilcane
0
41
機械学習勉強会06 ロジスティック回帰/MLStudy06
hachiilcane
0
56
機械学習勉強会07 ROC曲線/MLStudy07
hachiilcane
0
39
機械学習勉強会08 2次元入力3クラス分類/MLStudy08
hachiilcane
0
66
WPF勉強会 第1回 動的レイアウト/WPFStudy1
hachiilcane
0
180
Other Decks in Technology
See All in Technology
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
480
データの整合性を保ちたいだけなんだ
shoheimitani
8
3k
なぜ今、コスト最適化(倹約)が必要なのか? ~AWSでのコスト最適化の進め方「目的編」~
htan
1
110
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
200
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
430
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
210
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
2
210
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
150
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
280
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
360
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Everyday Curiosity
cassininazir
0
130
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
Docker and Python
trallard
47
3.7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
320
Design in an AI World
tapps
0
140
ラッコキーワード サービス紹介資料
rakko
1
2.2M
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
Transcript
2ϑΟʔυϑΥϫʔ υχϡʔϥϧωοτ χϡʔϥϧωοτϫʔΫͷجૅ @hachiilcane
χϡʔϩϯϞσϧ֮͑ͯ ·͢ʁ ࣠ࡧ γφϓε ిؾύϧε f = { 0 (w0
+ w1 x + w2 y ≤ 0) 1 (w0 + w1 x + w2 y > 0) x y ॏΈw1 ॏΈw2 f ग़ྗ ೖྗ ೖྗ 1 ͍ͭ1ͷ μϛʔೖྗ ॏΈw0 ೖྗۭؒΛઢͰ ͚Δͱ͍͏ػೳ
χϡʔϩϯϞσϧΛ֦ு ͢Δ χϡʔϩϯϞσϧɺD࣍ݩͷೖྗۭؒΛD-1 ࣍ݩͷฏ໘ʢͷΑ͏ͳۭؒʣͰ2ͭʹ͚Δಇ ͖͕͋ͬͨ 2ͭʁ ͰχϡʔϩϯϞσϧΛͭͳ͛ͨΒͲ͏ ͳΔʁ ͬͱෳࡶʹ͚ΒΕΔͷͰʁ χϡʔϩϯϞσϧΛͭͳ͛ͯதؒΛ࡞ͬͨͷ
͕χϡʔϥϧωοτϫʔΫ
ࠓճֶͿ༰ χϡʔϥϧωοτϫʔΫͷҰ൪؆୯ͳܗɺ2ͷ ϑΟʔυϑΥϫʔυχϡʔϥϧωοτΛֶͿ લճͱಉ͘͡ɺΔ͜ͱ2ೖྗ3ΫϥεྨͰ ͕͢Ϟσϧͷ࡞Γํ͕ҧ͏͚ͩ Λ͢͜ͱͰɺΑΓෳࡶͳܗͰ͚Δ͜ͱ͕Ͱ͖ Δͱ͍͏ΞΠσΟΞΛΔ ඍͱ͍͏ݴ༿Λ͓ͬͯ͜͏
લճͷ෮शɿϩδεςΟο Ϋճؼͷ2ೖྗ3Ϋϥεྨ x1 x2 a0 ग़ྗ ೖྗ ೖྗ x0 ͍ͭ1ͷ
μϛʔೖྗ w00 ೖྗ૯ 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
2ϑΟʔυϑΥϫʔυχϡʔϥ ϧωοτͷ2ೖྗ3Ϋϥεྨ த͕ؒՃ͞Ε͚ͨͩʂ 3ʹݟ͑Δ͚ͲɺॏΈύϥϝʔλ͕͋Δ͚ͩΛ͑ͯ2ͱ͍͏߹͕ଟ͍ x1 x2 a0 ग़ྗʢ2ʣ x0 όΠΞε߲
w00 தؒʢ1ʣ w01 w02 v20 v21 v22 P(t = 0|x) y0 b1 z1 b2 z2 z0 a1 y1 a2 y2 ೖྗ v00 v01 v02 = 1 = 1 όΠΞε߲ t0 t1 t2 P(t = 1|x) P(t = 2|x) D + 1 M + 1 K ؙͷࠨ͕ೖྗ૯ɺӈ͕ͦΕ Λ׆ੑԽؔʹ௨ͨ͠ ؙͷࠨ͕ೖྗ૯ɺӈ͕ͦΕΛ ιϑτϚοΫεؔʹ௨ͨ͠
׆ੑԽؔ தؒͷೖྗ૯bγάϞΠυؔΛ ௨ͯ͠ग़ྗzΛ࡞Δ͕ɺҰൠతʹγά ϞΠυؔҎ֎ͷؔΛ͏͜ͱ͋Δ ೖྗ૯͔Βग़ྗΛܾఆ͢ΔͳΜΒ͔ͷ ؔΛ׆ੑԽؔͱݺͿɻ͜͜Ͱh()Ͱ දݱ͢Δ
Ϟσϧͷࣜͷ֬ೝ h()ͱΓ͋͑ͣγάϞΠυؔͱ͢Δ தؒͷೖྗ૯ɿbj = ∑D i=0 wji xi தؒͷग़ྗɿzj =
h(bj ) ग़ྗͷೖྗ૯ɿak = ∑M j=0 vkj zj ग़ྗͷग़ྗɿyk = exp(ak ) ∑K−1 l=0 exp(al ) = exp(ak ) u ೖྗ࣍ݩ:Dɺதؒͷχϡʔϩϯͷ:Mɺग़ྗ࣍ݩ:K b = wx b0 b1 b2 = w00 w01 w02 w10 w11 w12 w20 w21 w22 x0 x1 x2 ϕΫτϧදه͢ΔͳΒ͜Μͳ͔Μ͡ʢҰ෦͚ͩʣ
ਤͱࣜΛηοτͰ֬ೝ x1 x2 a0 ग़ྗʢ2ʣ x0 όΠΞε߲ w00 தؒʢ1ʣ w01
w02 v20 v21 v22 P(t = 0|x) y0 b1 z1 b2 z2 z0 a1 y1 a2 y2 ೖྗ v00 v01 v02 = 1 = 1 όΠΞε߲ t0 t1 t2 P(t = 1|x) P(t = 2|x) D + 1 M + 1 K ೖྗ࣍ݩ:Dɺதؒͷχϡʔϩϯͷ:Mɺग़ྗ࣍ݩ:K bj = ∑D i=0 wji xi zj = h(bj ) ak = ∑M j=0 vkj zj yk = exp(ak ) ∑K−1 l=0 exp(al )
ޡࠩؔʁ ͜ͷ2ϑΟʔυϑΥϫʔυχϡʔϥϧωοτʹ3Ϋϥεྨ Λղ͔ͤΔ͜ͱΛߟ͑Δ ྨͳͷͰɺޡࠩؔલճͱಉ͘͡ฏۉަࠩϔϯτϩϐʔ ޡࠩΛ͏ yͷͱ͜Ζ͕݁ہલճͱಉ͡ͳͷͰɺࣜݟͨಉ͡ɻͨ ͩɺύϥϝʔλw͚ͩͰͳ͘v͋Δͱ͜Ζ͕ҧ͏ E(w, v) =
− 1 N N−1 ∑ n=0 K−1 ∑ k=0 tnk log ynk wͱvyͷࣜͷͳ͔ʹؚ·Ε ͍ͯΔ
͋ͱภඍͰ͖Εޯ ๏ͰֶशͰ͖Δʁ ·͞ʹͦͷͱ͓ΓɻޯϕΫτϧͷٯํ ʢ୩ఈํʣʹύϥϝʔλΛগͣͭ͠ ม͍͚͑ͯOKʂ χϡʔϥϧωοτͱݴͬͯ݁ہجૅ ͓Μͳ͡ͳͷͩ
ͰͲ͏ͬͯภඍ͢ Δͷʁ େม͚ͩͲɺஸೡʹ͍͚ͬͯภඍ Ͱ͖Δ ภඍΛಋग़ͯ͠ޯ๏Λద༻͍ͯ͘͠ ͱɺࣗવʹޡࠩٯ๏ʢόοΫϓϩ ύήʔγϣϯʣͱ͍͏χϡʔϥϧωοτ ϫʔΫʹ͓͚Δ༗໊ͳֶशํ๏͕ಋग़ ͞ΕΔ
ภඍͳΜ͔ͨ͘͠ͳ ͍ʂͱ͍͏߹ ඍ๏Λ͏ͱ͍͏ख͋Δɻ ඍͱ͖ͷ͜ͱͰɺ͋Δw*ͷ͖ΛಘΔʹɺ͜ͷਤͰ͍͏hΛͲΜͲΜখ ͍͚ͯۙ͘͞͠ࣅతʹٻΊΒΕΔɻ ภඍͩͬͨΒɺண͢ΔมҎ֎ݻఆʹ͢Δͱ͍͏ͷඍ๏Ͱ͓ͳ͡ɻ ͜ΕͰภඍಋؔΛಋग़͠ͳͯ͋͘ΔͷޯϕΫτϧΛͱΊΒΕΔɻ ඍͷఆٛɿ d dx
f(x) = lim h→0 f(x + h) − f(x) h E(w) w w* w* + h w* − h 2h ͲΜͲΜhΛখ͍͚ͯ͘͞͠ɺ͕ͯw*Ͱ ͷઢʹۙ͘ɻͦΕ͢ͳΘ͖ͪͰ͋Γɺͦ ͷॠؒͷมԽͰ͋ΓɺඍͰ͋Δɻඍͷ ఆٛࣜͱ͍͍ͩͨಉ͜͡ͱΛݴ͍ͬͯΔɻ ∂E ∂w | w=w* ≃ E(w* + h) − E(w* − h) 2h
ָ͔ͩΒ͍ͭඍ ๏Ͱ͍͍Μ͡ΌͶʁ ܭࢉεϐʔυ͕͍ͱ͍͏͕ܽ͋ΔɻͳͥͳΒɺ ઌ΄ͲͷࣜΛݟΕΘ͔Δ௨Γɺ͖ΛٻΊΔͷʹ E(w,v)ͷΛ2ճܭࢉ͠ͳ͍ͱ͍͚ͳ͍͔Βɻ ಋ͕ؔ͋Εɺ1ճͷܭࢉͰٻΊΒΕΔɻ ϓϩάϥϚͳΒΘ͔Δͱࢥ͏͚Ͳɺͱࢠͷ ͕ͷ͍͢͝খ͞ͳʹͳΔͷͰɺͪΌΜͱ͍Ζ ͍Ζߟ͑ͳ͍ͱؙΊޡ͕͍ࠩ͢͜͝ͱʹͳΔɻ
͡Ό͍͋ͭඍ๏Λ ͏ͷʁ ·ͩϞσϧͷ͕ࣜݻ·ͬͯͳͯ͘ɺภඍಋؔΛಋग़ ͢Δલʹͬ͟ͱֶशͰ͖Δ͔ײ͡Λ௫Έ͍ͨ࣌ɻ ภඍಋؔͷಋग़͕͍͋ͬͯΔ͔ͷݕূʹ͑Δɻ ·͋ɺֶशͷϥΠϒϥϦ͑ͦͦภඍ͠ͳͯ͘ ͍͍͜ͱ͕ଟ͍͚Ͳ……ɻ൚༻తͳߟ͑ํͳͷͰͳʹ ͔ͷʹ͔ͨͭ͠Εͳ͍ɻ ϥΠϒϥϦͷͳ͔Ͱඍ๏Λ͍ͬͯΔέʔε ͋Δ͔͠Εͳ͍ʢ͠ͳ͍͔͠Εͳ͍ʣɻ
ޡࠩٯ๏֓ཁ ೖྗΛೖΕͯग़ྗΛಘΔ ֤χϡʔϩϯͰͷޡࠩΛಘΔ ॏΈΛߋ৽͢Δ δ(2) k = yk − tk
←ୈ2ͷޡࠩ δ(1) j = h′ (bj ) K−1 ∑ k=0 vkj δ(2) k ←ୈ1ͷޡࠩ vkj := vkj − αδ(2) k zj /N wji := wji − αδ(1) j xi /N bj = ∑D i=0 wji xi zj = h(bj ) ak = ∑M j=0 vkj zj yk = exp(ak ) ∑K−1 l=0 exp(al ) x1 x2 a0 ग़ྗʢ2ʣ x0 w00 தؒʢ1ʣ w01 w02 v20 v21 v22 y0 b1 z1 b2 z2 z0 a1 y1 a2 y2 ೖྗ v00 v01 v02 = 1 = 1 t0 t1 t2 D + 1 M + 1 K δ(1) j δ(2) k
՝ 2ϑΟʔυϑΥϫʔυχϡʔϥϧωοτΛ࣮ͯ͠ΈΑ͏ TensorFlow·ͨKerasϕʔεָ͕ɻ͕࣌ؒ͋ΔͳΒ scipy.optimizeͷminimize()Ͱ࣮ͯ͠ΈΑ͏ɻ ޡࠩؔͱॏΈύϥϝʔλw, vͷֶशաఔͰͷมԽΛάϥ ϑԽͯ͠ΈΑ͏ɻ ӡ͕ྑ͚Εʢѱ͚ΕʁʣҌʹΓ্͛Δ༷ࢠ͕ ݟΒΕΔ͔ɻ
ࢀߟจݙ தҪ ӻ࢘ʮITΤϯδχΞͷͨΊͷػցֶशཧೖ ʯٕज़ධࣾ, 2015 ҏ౻ ਅʮPythonͰಈֶ͔ͯ͠Ϳʂ͋ͨΒ͍͠ػց ֶशͷڭՊॻʯᠳӭࣾ, 2018 ༔ีʮৄղ
σΟʔϓϥʔχϯά TensorFlowɾ KerasʹΑΔ࣌ܥྻσʔλॲཧʯϚΠφϏग़൛, 2017