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
hachiilcane
March 03, 2022
Technology
0
67
機械学習勉強会09 2層フィードフォワードニューラルネット/MLStudy09
機械学習勉強会09 2層フィードフォワードニューラルネット
hachiilcane
March 03, 2022
Tweet
Share
More Decks by hachiilcane
See All by hachiilcane
機械学習勉強会01 1次関数での回帰分析/MLStudy01
hachiilcane
0
58
機械学習勉強会02 多項式近似と最小二乗法による推定/MLStudy02
hachiilcane
0
72
機械学習勉強会03 最急降下法/MLStudy03
hachiilcane
0
33
機械学習勉強会04 偏微分と連鎖律/MLStudy04
hachiilcane
0
39
機械学習勉強会05 パーセプトロン/MLStudy05
hachiilcane
0
36
機械学習勉強会06 ロジスティック回帰/MLStudy06
hachiilcane
0
55
機械学習勉強会07 ROC曲線/MLStudy07
hachiilcane
0
37
機械学習勉強会08 2次元入力3クラス分類/MLStudy08
hachiilcane
0
65
WPF勉強会 第1回 動的レイアウト/WPFStudy1
hachiilcane
0
150
Other Decks in Technology
See All in Technology
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
1.1k
人と生成AIの協調意思決定/Co‑decision making by people and generative AI
moriyuya
0
220
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
110
2025-07-25 NOT A HOTEL TECH TALK ━ スマートホーム開発の最前線 ━ SOFTWARE
wakinchan
0
180
GMOペパボのデータ基盤とデータ活用の現在地 / Current State of GMO Pepabo's Data Infrastructure and Data Utilization
zaimy
2
120
Jitera Company Deck / JP
jitera
0
310
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
150
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
110
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
330
Gemini in Android Studio - Google I/O Bangkok '25
akexorcist
0
100
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
260
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
200
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
KATA
mclloyd
31
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Designing for humans not robots
tammielis
253
25k
Building Applications with DynamoDB
mza
95
6.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cult of Friendly URLs
andyhume
79
6.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
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