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
920
機械学習も筋肉が大事?意外と知らない数学
2019/9/11 みんなのPython勉強会でしゃべったときの資料です。
機械学習の話も筋肉の話もせず、ただひたすら数学の話をしました。
Kimikazu Kato
September 11, 2019
Tweet
Share
More Decks by Kimikazu Kato
See All by Kimikazu Kato
PyTorchの最近の動向
hamukazu
0
610
Python 3.11: What changed in math?
hamukazu
0
420
レコメンデーションシステムのキホン
hamukazu
4
840
機械学習の中身を理解する
hamukazu
29
10k
機械学習に役立つ数学
hamukazu
11
6.1k
Pythonと数学と 多面体とペーパークラフトとベルヌーイと長門屋と田宮模型と私
hamukazu
1
1.5k
Other Decks in Technology
See All in Technology
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで
leveragestech
1
2.9k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
37k
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
190
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
190
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
7
3k
株式会社EventHub・エンジニア採用資料
eventhub
0
2.1k
個人的、Kubernetes の最新注目機能! (2024年5月版) / TechFeed Experts Night#28 〜 コンテナ技術最前線
pfn
PRO
3
210
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
140
LINEヤフーのウェブアクセシビリティ
lycorptech_jp
PRO
2
170
Prisma ORMを2年運用して培ったノウハウを共有する
tockn
19
5k
DevRelによる信頼構築とデータ駆動で変わるエンジニア採用 / DevRel Trust Building to Data Driven Engineering Hiring
bobtani
1
130
OPENLOGI Company Profile
hr01
0
45k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
45
9.8k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
The Pragmatic Product Professional
lauravandoore
26
5.9k
In The Pink: A Labor of Love
frogandcode
138
21k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Rails Girls Zürich Keynote
gr2m
91
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Navigating Team Friction
lara
179
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
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 ࣗͰܭࢉͯ͠ΈΑ͏ ʢͦΜͳʹ͘͠ͳ͍ͣʣ ͖͞΄Ͳͷೋ࣍ܗࣜͷܭࢉͱಉ͡ Αͬͯ
·ͱΊ • ఆٛʹͬͯߟ͑Δ͜ͱ͕༗ޮͳ͜ͱ͋Δ • ֶͷཧͱίϯϐϡʔλ্ͷ࣮ผ • ʮࣗવͳ֦ுʯͷߟ͑ํΛ͓ͬͯ͜͏ • ϔοηߦྻͷܭࢉɺҰͭҰͭΛߟ͑ΔͱͦΕ΄Ͳ ͘͠ͳ͍͔Αʢʁʣ