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
機械学習も筋肉が大事?意外と知らない数学
Search
Kimikazu Kato
September 11, 2019
Technology
0
960
機械学習も筋肉が大事?意外と知らない数学
2019/9/11 みんなのPython勉強会でしゃべったときの資料です。
機械学習の話も筋肉の話もせず、ただひたすら数学の話をしました。
Kimikazu Kato
September 11, 2019
Tweet
Share
More Decks by Kimikazu Kato
See All by Kimikazu Kato
PyTorchの最近の動向
hamukazu
0
680
Python 3.11: What changed in math?
hamukazu
0
440
レコメンデーションシステムのキホン
hamukazu
4
880
機械学習の中身を理解する
hamukazu
28
10k
機械学習に役立つ数学
hamukazu
11
6.2k
Pythonと数学と 多面体とペーパークラフトとベルヌーイと長門屋と田宮模型と私
hamukazu
1
1.6k
Other Decks in Technology
See All in Technology
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
940
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
170
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
SSMRunbook作成の勘所_20241120
koichiotomo
3
170
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
640
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
200
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
100
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
560
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
610
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
13k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Six Lessons from altMBA
skipperchong
27
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
How STYLIGHT went responsive
nonsquared
95
5.2k
Writing Fast Ruby
sferik
627
61k
Typedesign – Prime Four
hannesfritz
40
2.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Designing for Performance
lara
604
68k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
ػցֶशے͕େࣄʁ ҙ֎ͱΒͳֶ͍ ΈΜͳͷPythonษڧձ @ΫϦʔΫɾΞϯυɾϦόʔ 2019/9/11 Ճ౻ެҰ
ͻͲ͍
ࣗݾհ ࢯ໊ɿՃ౻ެҰʢ͔ͱ͏͖Έ͔ͣʣ ॴଐɿιϑτόϯΫגࣜձࣾʢࠓ7݄Ҡ੶ʣ Twitterɿ@hamukazu ࣄɿػցֶशͷΞϧΰϦζϜΛߟ͑Δ͜ͱ झຯɿےτϨ
Ṗͷ҉߸ SQ: 120 BP: 100 DL: 90 ʢීஈͷτϨʔχϯάͰͷɺmaxࢼͨ͜͠ͱͳ͍ʣ
ຊͷհ ॻ͖·ͨ͠ʂ म͠·ͨ͠ʂ https://bit.ly/mlessence https://bit.ly/mlzukan
ۙگ ࣾͰʮػցֶशͷΤοηϯεʯΛಡΉษڧձΛ։࠵ͯ͠· ͢ɻ ༰ࠓͷͱ͜Ζ΄΅ֶͷߨٛɻ
ࠓͷ ֶʹؔ͢Δ͜ͱͰɺ • ීஈ͔Β࣭Λड͚Δ͕ʮػցֶशͷΤοηϯεʯͰॻ͖ ͖Εͳ͔ͬͨ͜ͱ • ʮػցֶशͷΤοηϯεʯͷಡऀ͔Βड͚࣭ͨ
ॳڃฤ
Q: 0÷0Ͳ͏ͳΓ·͔͢ʁ A: ʮఆٛ͞Ε͍ͯͳ͍ʯͰ͢
ׂΓࢉͱͳΜͰ͔͋ͬͨ 6 ÷ 3 3 × ɹ= 6 ͱ ͷ˘ʹ͍ΔͷΛٻΊΑͷҙຯ
༩͑ΒΕͨa, bʹ͍ͭͯ b × x = a Λຬͨ͢x͕།Ұଘࡏ͢Δͱ͖ͦΕΛ a ÷ b ͱॻ͘ ͱͳΔx།ҰͰͳ͍ͷͰ0÷0ఆٛ͞Εͯͳ͍ʢundefinedʣ 0 × x = 0
Α͋͘Δؒҧ͍ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q117470996 ͷղෆఆʢͳΜͰ͍͍ʣ 0 × x = 0 ํఔࣜ ղͳ͠ʢෆೳʣ
0 × x = 1 ํఔࣜ 0÷0ͱ1÷0undefined ํఔࣜͷղΛग़͢͜ͱͱɺԋࢉͷఆٛผ
ڭ܇ɿ ఆٛʹΔͷେࣄ
Q: ແݶʢ∞ʣͳͷͰ͔͢ʁ A: ʮʯͰͳ͍ͱΈΔͷ͕ҰൠతͰ͢ ∞ ∉ ℝ
∞͕ͩͱࢥ͏ͱ͍Ζ͍Ζͱෆ߹͕ى͜Δ ྫ͑ ∞ − ∞ ͕ҰҙʹܾΊΒΕͳ͍ Ͱ lim x→+0 1
x = ∞ ͬͯͲ͏͍͏͜ͱʁ lim x→+0 1 x ∞ Λܭࢉͨ͠ʮ݁Ռʯ͕͋ͬͯɺͦͷ݁Ռͱ ͍͠ͱ͍͏ҙຯͰͳ͍ʂ ͕ ͜ͷ߸͕͍͜͠ͱΛද͍ͯ͠ΔͷͰͳ͘ɺ ʮ=∞ʯ·ͰؚΊͯܗ༰ࢺͷΑ͏ͳͷͩͱࢥ͏ͱΑ͍ɻ
lim x→+0 f(x) = ∞ R ∈ ℝ δ ∈
ℝ 0 < x < δ f(x) > R ͷਖ਼֬ͳఆٛ ʮҙͷ ʹ͍ͭͯ ͕ଘࡏͯ͠ ͳΒ Ͱ͋Δʯ ҎԼɺԿݴͬͯΔ͔Θ͔Βͳ͍ਓͷͨΊͷऍ 2ਓʹΑΔήʔϜΛߟ͑Δ ϓϨΠϠAɿ࣮ R ΛҰͭબΜͰఏࣔ͢Δ ϓϨΠϠBɿϓϨΠϠAͷఏࣔͷ͋ͱʹ࣮ δ ΛҰͭબΜͰఏࣔ͢Δ 0 < x < δ f(x) > R ͳΒ ʯ ͜ͷͱ໋͖ʮ ͕ΓཱͯϓϨʔϠBͷউͪ lim x→+0 f(x) = ∞ Ͱ͋Δͱɺͭ·ΓϓϨΠϠB͕ඞউͰ͋Δ͜ͱ ʢϓϨΠϠA͕Ұੜݒ໋ҙѱͯ͠উͯͳ͍ʣ ϧʔϧɿ
ҙ ֶͱ࣮ผ >>> 0/0 Traceback (most recent call last): File
"<stdin>", line 1, in <module> ZeroDivisionError: division by zero >>> import numpy as np >>> np.float64(0)/np.float64(0) nan >>> np.inf inf >>> np.inf+1 inf >>> np.inf-1 inf ͱ͘ʹແݶΛࡶʹѻ͏ͱཧతໃ६ͷͱʹͳΓ͕ͪ
Q: ͳͥ a1 2 = a A: ࢦ͕ࣗવͷ߹ͷ๏ଇ͔Β ࣗવʹఆٛ͞ΕͨͷͰ͢ a−1
= 1 a Ͱ ͳͷʁ
ax × ay = ax+y ࢦ๏ଇ ax ÷ ay =
ax−y (ax)y = axy ͜Ε͕ɺx, y͕ࣗવͷͱ͖ΓཱͭͷΘ͔Δ 22 × 23 = (2 × 2) × (2 × 2 × 2) = 25 25 ÷ 23 = 2 × 2 × 2 × 2 × 2 2 × 2 × 2 = 22 (22)3 = (2 × 2) × (2 × 2) × (2 × 2) = 26 (1) (2) (3) ࢦ๏ଇ͕x, y͕ࣗવҎ֎ͰΓཱͭΑ͏ʹͯ͠ΈΔ a2 ÷ a2 = 1 a2 ÷ a2 = a2−2 = a0 ҰํͰ(2)ΑΓ Αͬͯ a0 = 1 1 a = 1 ÷ a = a0 ÷ a1 = a0−1 ʢ(2)ΑΓʣ = a−1 ྫɿ (a1 2)2 = a1 2 ×2 ʢ(3)ΑΓʣ = a1 = a Αͬͯ ͱɺ2ͯ͠ ʹͳΔ a1 2 a a1 2 = a ͭ·Γ ʢx͕࣮ͷͱ͖ͷ ɺ ax a > 0 ͷͱ͖ʹݶఆʣ
͜͜ͰͷετʔϦʔɿ ͱͱɹɹx͕ࣗવͷͱ͖ͷΈΛߟ͍͑ͯͨ ࣗવͷͱ͖ʹΓཱ͍ͬͯͨ๏ଇ͕ΓཱͭΑ͏ʹɺ ࣮ͷͱ͖ʹ֦ுͨ͠ ͜ͷΑ͏ʹɺݶఆతͳൣғͰߟ͑ΒΕ͍ͯͨͷΛɺ ͦΕ·Ͱͷ๏ଇ͕ΓཱͭΑ͏ʹ֦ு͢Δͱ͍͏͜ͱ ͕Α͋͘Δ ax ͜͏͍͏ͷɺֶͰ ʮʙͷ֓೦ͷࣗવͳ֦ுʯ
ͱݴͬͨΓ͢Δɻ
্ڃฤ
Q: ೋ࣍ܗࣜͷϔοηߦྻͷܭࢉ͕Θ͔Γ·ͤΜ ʢʮػցֶशͷΤοηϯεʯp168ʣ A: ͖ͪΜͱ͝ͱʹҙࣝͯ͠ܭࢉ͠·͠ΐ͏ ҎԼॻ੶ΑΓஸೡʹઆ໌͠·͢
f(x) = xT Ax ͷͱ͖ͷ ∇2f ΛٻΊ͍ͨ f(x) = n
∑ i=1 n ∑ j=1 aij xi xj ͳͷͰɺ͜ΕΛ Ͱภඍ͍ͨ͠ xk (k = 1,2,…, n) A͕ରশߦྻͱͯ͠ i ≠ k, j ≠ k ͷͱ͖ ∂ ∂xk (aij xi xj ) = 0 ͋ͱɺi, jͷҰํ͕kͷͱ͖ɺ྆ํ͕kͷͱ͖ʹ ͚ͯܭࢉ͢ΕΑ͍
∂f ∂xk = ∂ ∂xk akk x2 k + ∑
j≠k aik xi xk + ∑ i≠k akj xk xj = 2akk xk + ∑ j≠k aik xi + ∑ i≠k akj xj = 2akk xk + ∑ j≠k aki xi + ∑ i≠k akj xj = 2akk xk + 2∑ j≠k aki xi = 2 n ∑ i=1 aki xi ∇f = 2∑n i=1 a1i xi 2∑n i=1 a2i xi ⋮ 2∑n i=1 ani xi = 2Ax ↑͜͜ͰA͕ରশͰ͋Δ͜ͱΛͬͨ ∇2f ͱɺ ∇f ͷ֤Λ xl (l = 1,2,…, n) Ͱภඍͨ͠ͷ
∂ ∂xl ( 2 n ∑ i=1 aki xi) ∂
∂xl (aki xi) = 0 i ≠ l ͷͱ͖ Λܭࢉ͍ͨ͠ɻ ͳͷͰ ͷͱ͖͚ͩΛߟྀ͢ΕΑ͍ i = l ∂ ∂xl ( 2 n ∑ i=1 aki xi) = ∂ ∂xl (2akl xl) = 2akl ∇f ͜Εɺ ͷk൪ͷΛ xl Ͱภඍͨ͠ͷͳͷͰ ͭ·Γ ∇2f ͷ (k, l) ∇2f ͷ ͕ (k, l) ͭ·Γ 2akl ͱ͍͏͜ͱ ∇2f = 2A
Q: ࠷খೋ๏ͷܭࢉ A: ͖͞΄Ͳͷܭࢉ͕ʹཱͪ·͢ E(w) = ∥y − Xw∥2 ͷͱ͖
∇E = − 2XTy + XT Xw ͕Θ͔Γ·ͤΜɻ ʢˡ࣮͜ͷεϥΠυͷ४උதʹޡ২͕ݟ͔ͭͬͨʣ
E(w) = ∥y − Xw∥2 = (y − Xw) T
(y − Xw) = (yT − (Xw)T) (y − Xw) = (yT − wT XT) (y − Xw) = yTy − yT Xw − wT XTy + wT XT Xw ∇E = − 2XTy + 2XT Xw ∇(yT Xw) = XTy ∇(wT XTy) = XTy } ∇(wT XT Xw) = 2XT Xw ࣗͰܭࢉͯ͠ΈΑ͏ ʢͦΜͳʹ͘͠ͳ͍ͣʣ ͖͞΄Ͳͷೋ࣍ܗࣜͷܭࢉͱಉ͡ Αͬͯ
·ͱΊ • ఆٛʹͬͯߟ͑Δ͜ͱ͕༗ޮͳ͜ͱ͋Δ • ֶͷཧͱίϯϐϡʔλ্ͷ࣮ผ • ʮࣗવͳ֦ுʯͷߟ͑ํΛ͓ͬͯ͜͏ • ϔοηߦྻͷܭࢉɺҰͭҰͭΛߟ͑ΔͱͦΕ΄Ͳ ͘͠ͳ͍͔Αʢʁʣ