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
980
機械学習も筋肉が大事?意外と知らない数学
2019/9/11 みんなのPython勉強会でしゃべったときの資料です。
機械学習の話も筋肉の話もせず、ただひたすら数学の話をしました。
Kimikazu Kato
September 11, 2019
Tweet
Share
More Decks by Kimikazu Kato
See All by Kimikazu Kato
PyTorchの最近の動向
hamukazu
0
780
Python 3.11: What changed in math?
hamukazu
0
490
レコメンデーションシステムのキホン
hamukazu
4
920
機械学習の中身を理解する
hamukazu
28
10k
機械学習に役立つ数学
hamukazu
11
6.3k
Pythonと数学と 多面体とペーパークラフトとベルヌーイと長門屋と田宮模型と私
hamukazu
1
1.7k
Other Decks in Technology
See All in Technology
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
200
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
340
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
130
TLSから見るSREの未来
atpons
2
240
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
Operating Operator
shhnjk
1
650
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
250
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
980
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
220
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
350
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
2.1k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Unsuck your backbone
ammeep
671
58k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Making Projects Easy
brettharned
116
6.3k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Building Applications with DynamoDB
mza
95
6.5k
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 ࣗͰܭࢉͯ͠ΈΑ͏ ʢͦΜͳʹ͘͠ͳ͍ͣʣ ͖͞΄Ͳͷೋ࣍ܗࣜͷܭࢉͱಉ͡ Αͬͯ
·ͱΊ • ఆٛʹͬͯߟ͑Δ͜ͱ͕༗ޮͳ͜ͱ͋Δ • ֶͷཧͱίϯϐϡʔλ্ͷ࣮ผ • ʮࣗવͳ֦ுʯͷߟ͑ํΛ͓ͬͯ͜͏ • ϔοηߦྻͷܭࢉɺҰͭҰͭΛߟ͑ΔͱͦΕ΄Ͳ ͘͠ͳ͍͔Αʢʁʣ