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
輪講 The hundred ML3.3-3.5
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ganyariya
June 23, 2020
Programming
0
110
輪講 The hundred ML 3.3-3.5
https://github.com/tsukuba-mas/The_Hundred_ML
ganyariya
June 23, 2020
Tweet
Share
More Decks by ganyariya
See All by ganyariya
FastAPI+VercelでZennのバッジをお手軽に作る
ganariya
0
900
The Hundred Machine Learning 7.4-7.7
ganariya
0
66
ありがとう競技プログラミングこんにちはDocker
ganariya
0
1.6k
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
510
Codex の「自走力」を高める
yorifuji
0
1.3k
SourceGeneratorのマーカー属性問題について
htkym
0
210
OTP を自動で入力する裏技
megabitsenmzq
0
120
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
570
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
230
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.6k
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
180
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
120
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
690
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Making Projects Easy
brettharned
120
6.6k
Building Applications with DynamoDB
mza
96
7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
HDC tutorial
michielstock
1
580
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
GraphQLとの向き合い方2022年版
quramy
50
14k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Exploring anti-patterns in Rails
aemeredith
2
290
Faster Mobile Websites
deanohume
310
31k
Marketing to machines
jonoalderson
1
5k
Transcript
ྠߨ 5IFIVOESFE.- HBOBSJZB ganariya ganariya2525 ganariya2525 ganariya’s blog ganariya
ganariya
%FDJTJPO5SFF-FBSOJOH
3 / N ֓ཁ • ܾఆͦͷ໊ͷ௨ΓܾఆΛߦ͏ͨΊͷ%"( • άϥϑͷ֤ϊʔυͰಛྔͷ൪ͷ ! (#)Λج४ʹͯ͠
σʔλΛࠨӈʹྨ͢Δ • ࠨϊʔυج४ະຬ • ӈϊʔυج४Ҏ্ • ʮ*%ʯͱ͍͏ΞϧΰϦζϜͱೋ͕ѻΘΕ͍ͯΔ͕ ͞ΒʹΑΓྑ͍ΞϧΰϦζϜଞΫϥεྨ͕͋Δ
4 / N 1SPCMFN4UBUFNFOU • ߦ͍͍ͨ͜ͱ{0, 1}ͷྨ • ͦͷͨΊʹɺܾఆͱ͍͏ϞσϧΛ࡞͢Δ
5 / N *%ର • *%ͱ͍͏ΞϧΰϦζϜΛ༻͍Δ • ࠷దԽج४ҎԼͷରΛ༻͍Δ • %&'
ܾఆͦͷͷͰ͋Γɺݸͷσʔλͷྨ͕Β ͘͠ྨ͢Δ͜ͱΛࢦ͢ • ϩδεςΟοΫճؼͱҟͳΓύϥϝʔλΛ୳ࡧͤͣ %&' = Pr( = 1|)͕Β͘͠ͳΔϞσϧΛߏங͢Δ
6 / N ΞϧΰϦζϜ खॱ̍ • = { ! ,
! ) !() * Λϥϕϧ͚͞Εͨαϯϓϧͱ͢Δ • ࠜϊʔυͷఆϞσϧ%&' + %&' + = 1 || 2 , ,. ∈+ !"# $ は根における = 1の割合・確率 定数である この時点であればどんな⼊⼒xを⼊れても 分類は「これまでのサンプルにおけるy=1の 割合」で⾏うしか無い
7 / N ΞϧΰϦζϜ खॱ • ಛྔ = 1, …
, ͱᮢΛఆΊͯࠓͷϊʔυ+ ͷσʔλΛ ̎ͭͷू߹(ࢠϊʔυ)0 , 1 ʹྨ͢Δ • % = {(x, )| x, ∈ , x & < } • ' = {(x, )| x, ∈ , x & ≥ } • ະσʔλx͕༩͑ΒΕͨ࣌ ࢠϊʔυʹҠಈͯ͠ ͞Βʹਖ਼֬ʹྨͰ͖Δ • खॱ̎Λ͋ͱ܁Γฦ͢
8 / N ύϥϝʔλ • ͜͜Ͱൃੜ͢Δͱͯ͠ ʮ্खʹ, Λઃఆ͢Δʯඞཁ͕͋Δ ্खʹϥϕϧͰׂ͞Εͯ΄͍͠ •
ʮΤϯτϩϐʔʯΛ༻͍ͯ͏·ׂ͘͢Δ͜ͱʹ͢Δ
9 / N Τϯτϩϐʔ • Τϯτϩϐʔෳࡶ͞Ͱ͋ΓʮใͷՁʯ ௨৴ཧ ͱ ଊ͑Δͱ͔Γ͍͢ •
͋ͳͨࠓʮ4Ωϟϥ͕ग़ΔʯώϯτΛಘͨ • ͱͱ֬ఆ4Ωϟϥ͔͠Ͱͳ͍Ψνϟ Τϯτϩϐʔখ͍͞ • ͯ͢ͷϥϯΫ͕ಉ֬ͷΨνϟ Τϯτϩϐʔେ͖͍ • ࣄ͕ى͜Δͱͬͨͱ͖ͷΤϯτϩϐʔ = −log()
10 / N ฏۉΤϯτϩϐʔ • ฏۉΤϯτϩϐʔʮෳͷࣄʯ͕ى͜Δͱ͖ͷ ͋ΔࣄΛͬͨͱ͖ͷʮخ͠͞ʯͷฏۉ ฏۉΤϯτϩϐʔ͕େ͖͍΄ͲෳࡶͰᐆດ • =
− ∑( × log) • ΨνϟͰܭࢉͯ͠ΈΔ • ʮ4 "ʯ • ʮ4 "ʯ • ʮ4 "ʯ
11 / N ฏۉΤϯτϩϐʔ • ฏۉΤϯτϩϐʔʮෳͷࣄʯ͕ى͜Δͱ͖ͷ ͋ΔࣄΛͬͨͱ͖ͷʮخ͠͞ʯͷฏۉ ฏۉΤϯτϩϐʔ͕େ͖͍΄ͲෳࡶͰᐆດ • =
− ∑( × log) • ΨνϟͰܭࢉͯ͠ΈΔ • ʮ4 "ʯ • ʮ4 "ʯ • ʮ4 "ʯ
12 / N *%ͷΤϯτϩϐʔ • αϯϓϧू߹ͷΤϯτϩϐʔ • , Ͱׂͨ࣌͠ͷΤϯτϩϐʔ 0
, 1 • % , ' ͕খ͘͞ͳΔΑ͏ʹ, ΛఆΊΔ
13 / N ఀࢭ݅ • ͯ͢ͷ༿ϊʔυͷαϯϓϧσʔλ͕ྨ͞Εͨ࣌ • ∀ ͰׂͰ͖ͳ͍ •
Τϯτϩϐʔ͕͋ΔΑΓݮΒͳ͍ • ਂ͕͞࠷େਂ͞ʹ౸ୡͨ͠ • , ࣮ݧతʹઃఆ͢Δ
14 / N • ࠷దղอূ͞Εͳ͍ • աֶश͢ΔՄೳੑߴ͍ • όοΫτϥοΫͰվળ͢Δ͔͠Εͳ͍
• վྑͷྫʹ$͕͋Δ • ࿈ଓɾࢄͰ͑Δ • QSVOJOHΛ͢Δ ྨʹد༩͠ͳ͍ࢬΛআ͢Δ
4VQQPSU7FDUPS.BDIJOF
16 / N • جຊͰ͍͑ͯΔ ͦ͜Ͱɺ47.ͷͭͷݒ೦ࣄ߲Λߟ͑Δ ϊΠζσʔλ͕͋ͬͯฏ໘ͰશʹྨͰ͖ͳ͍ͱ͖ Ͳ͏͢Δʁ
ฏ໘ʢઢܗʣͰׂͰ͖ͳ͍ͱ͖Ͳ͏͢Δʁ
17 / N 47.SFWJFX • 47.͕ຬ͖ͨ݅͢ • 47.ͷతؔ ϋʔυϚʔδϯ •
w ) Λ࠷খʹ͢Εਖ਼ͱෛͷ෯͕͕ͬͯ͏Ε͍͠ • ೋ࣍ܭը࠷దԽͰղ͘͜ͱ͕Ͱ͖Δ • * ) ɺޯ߱Լ๏ͳͲͰඍͨ͠ͱ͖ʹָͳͷͰ͚ͭΔ
18 / N ϊΠζରࡦ • ઢܗͰ͖ͳ͍σʔλͷͨΊʹώϯδଛࣦ ؔ Λಋೖ • =
max(0, 1 − ) • max(0, 1 − + (+ − )) • ώϯδଛࣦ খ͍ͨ͘͞͠ʂ 0 1 2 5
19 / N ϊΠζରࡦ • ώϯδଛࣦΛಋೖͨ͠ͱ͖ͷ࠷খԽ͢Δతؔ ॏΈ͚ ʢιϑτϚʔδϯʣ • ͕େ͖͍ͱʮʯ
• ͕খ͍͞ͱʮʯ 0 2
20 / N ϊΠζରࡦ • ώϯδଛࣦΛಋೖͨ͠ͱ͖ͷ࠷খԽ͢Δతؔ ॏ Έ͚ ʢιϑτϚʔδϯʣ •
͕େ͖͍ͱʮਅΜதΛऔΔʯ • ͕খ͍͞ͱʮਅΜதແࢹ ͩ͢͠ʯ 0 2
21 / N ݻ༗ඇઢܗੑ త 47.ͰઢܗͰ͖ͳ͍σʔλʹରॲ͍ͨ͠ ରࡦ๏ • ʮΦϦδφϧͷۭؒʯΛʮߴ࣍ݩۭؒʯʹมͯ͠ ͦͷۭؒͰઢܗ͢Δ
తؔͷ࠷దԽʹ͓͍ͯ͜ͷมΛ༻͍Δ͜ͱΛ ʮΧʔωϧτϦοΫʯͱ͍͏
22 / N ΧʔωϧτϦοΫྫ • ϕΫτϧΛߴ࣍ݩʹม͢ΔؔΛఆٛ͢Δ : x → x
• x = [, ]ͷͱ͖ , = (2, 2, 2)ͱ͍͏ؔͱ͢Δ
23 / N • ͕ݟ͔ͭΕઢܗͰ͖Δ͕ ࣮ࡍʹ୳ࡧ͢Δͷܭࢉྔ͕ݫ͍͠ • ઌۦऀ͕ʮΧʔωϧؔʯͳΔͷΛݟ͚͍ͭͯΔͨΊ ͜ͷؔΛͬͯߴ࣍ݩʹҠ͍͍ͤ
• ͨͩ͜͠ͷΧʔωϧͷಈ࡞Λཧղ͢Δʹɺ47.͕ , Λݟ͚ͭΔ࠷దԽΞϧΰϦζϜΛཧղ͠ͳ͍ͱ͍͚ͳ͍
24 / N • ݩͷతؔ࠷దԽͱͯ͠ϥάϥϯδϡ๏Ͱ ղ͘͜ͱ͕Ͱ͖Δʢϥάϥϯδϡ͍֮͑ͯ·ͤΜʣ • + ϥάϥϯδϡ
• Լଆͷࣜʹ͢Δ͜ͱͰɺತੑͷೋ࣍࠷దԽʹͳΓ ΑΓޮతʹೋ࣍ܭըͱͯ͠ղ͚Δ • ͜ΕͰྑͦ͞͏ŋŋŋʁʁʁʁ
25 / N • צͷӶ͍ಡऀͳΒ͓ؾ͖ͮͩͱࢥ͏͕! 3 ্͕ͷࣜʹ͋Δ • ͠Ͱߴ࣍ݩʹ͢Δͱ
! # ܭࢉྔ͕ ॏ͘ͳͬͯ͠·͏͕͋Δ • ͜͜Ͱʮ! 3 ͷ݁Ռ͔͑͞Εྑ͍ʯ ͦ͜ͰɺΧοτੵΧοτ͔ͯ͠ΘΓʹ ΧʔωϧτϦοΫΛ༻͍ΕΑ͍
26 / N τϦοΫͷྫ ! , " = ! "
# カーネル関数
27 / N • ༗໊ͳΧʔωϧؔʹ3#'Χʔωϧ͕͋Δ • x − x4
2 ͭͷϕΫτϧͷϢʔΫϦουڑͷ • = ) 25, 1ͭͷ܇࿅σʔλ͕༩͑ΔӨڹͷൣғ • ͕খ͍͞΄Ͳԕ͘·ͰӨڹͯ͠ ޓ͍ͷڥքͰࣝผۂઢ͕Ҿ͔ΕΔ ୯७ • ͕େ͖͍ͱ͚ۙͩ͘Өڹͯ͠ ͍ͼͭͳܗͷࣝผۂઢ͕Ҿ͔ΕΔ ෳࡶ • ͪΐ͏Ͳ͍͍ؤுͬͯ୳͢
L/FBSFTU/FJHICPST
29 / N L// • L//ύϥϝʔλΛ࣋ͨͳֶ͍शΞϧΰϦζϜ • ֶशσʔλΛͯ͢ϝϞϦʹهԱ͓͖ͯ͠ ֶशσʔλΛͱʹ৽͍͠σʔλΛྨ͢Δ •
৽͍͠σʔλx͕དྷͨΒͬͱ͍ۙݸͷϥϕϧΛΈͯ ྨճؼͷॲཧΛߦ͏ https://medium.com/@kristian.roopnarine/building-a-k-nearest- neighbor-algorithm-with-the-iris-dataset-b7e76867f5d9
30 / N L// • ϢʔΫϦουڑίαΠϯྨࣅͰ ࠷͍ۙݸΛબͿ • ଞʹ৭ʑछྨ͕͋Δ •
ϋΠύʔύϥϝʔλͳͷͰ࣮ݧతʹ୳ͦ͏ σʔλ͔Βֶश͢Δํ๏͋Δ͕ষͰड़Δ
31 / N L//