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
990
機械学習も筋肉が大事?意外と知らない数学
2019/9/11 みんなのPython勉強会でしゃべったときの資料です。
機械学習の話も筋肉の話もせず、ただひたすら数学の話をしました。
Kimikazu Kato
September 11, 2019
Tweet
Share
More Decks by Kimikazu Kato
See All by Kimikazu Kato
PyTorchの最近の動向
hamukazu
0
790
Python 3.11: What changed in math?
hamukazu
0
500
レコメンデーションシステムのキホン
hamukazu
4
930
機械学習の中身を理解する
hamukazu
28
10k
機械学習に役立つ数学
hamukazu
11
6.3k
Pythonと数学と 多面体とペーパークラフトとベルヌーイと長門屋と田宮模型と私
hamukazu
1
1.7k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
Bedrock で検索エージェントを再現しようとした話
ny7760
1
110
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
「Linux」という言葉が指すもの
sat
PRO
4
140
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
140
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
いま注目のAIエージェントを作ってみよう
supermarimobros
0
360
テストを軸にした生き残り術
kworkdev
PRO
0
220
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
160
Featured
See All Featured
Fireside Chat
paigeccino
39
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Building an army of robots
kneath
306
46k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Being A Developer After 40
akosma
90
590k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
GitHub's CSS Performance
jonrohan
1032
460k
A Modern Web Designer's Workflow
chriscoyier
696
190k
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 ࣗͰܭࢉͯ͠ΈΑ͏ ʢͦΜͳʹ͘͠ͳ͍ͣʣ ͖͞΄Ͳͷೋ࣍ܗࣜͷܭࢉͱಉ͡ Αͬͯ
·ͱΊ • ఆٛʹͬͯߟ͑Δ͜ͱ͕༗ޮͳ͜ͱ͋Δ • ֶͷཧͱίϯϐϡʔλ্ͷ࣮ผ • ʮࣗવͳ֦ுʯͷߟ͑ํΛ͓ͬͯ͜͏ • ϔοηߦྻͷܭࢉɺҰͭҰͭΛߟ͑ΔͱͦΕ΄Ͳ ͘͠ͳ͍͔Αʢʁʣ