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
Kenta Murata
August 25, 2015
Technology
38k
24
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はじめての人のための機械学習入門
クックパッドサマーインターンシップ2015
Kenta Murata
August 25, 2015
More Decks by Kenta Murata
See All by Kenta Murata
waitany と waitall を作った話
mrkn
0
330
HolidayJp.jl を作りました
mrkn
0
390
Calling Julia functions from Streamlit applications
mrkn
1
630
Red Data Tools で切り開く Ruby の未来
mrkn
3
1.3k
Method-based JIT compilation by transpiling to Julia
mrkn
0
9.3k
Apache Arrow C++ Datasets
mrkn
4
1.9k
Reducing ActiveRecord memory consumption using Apache Arrow
mrkn
0
1.9k
RubyData and Rails
mrkn
0
3.5k
Tensor and Arrow
mrkn
0
1.1k
Other Decks in Technology
See All in Technology
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
210
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
470
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
520
AIエージェントのためのデータ設計
daiz21
0
550
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
2
840
あなたの知らないバージョン命名規則
sat
PRO
2
870
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
370
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
390
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.8k
internal/testlog で遊ぼう
rokuosan
0
410
GopherCon @シアトル に行ってきました
logica0419
0
450
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
The Spectacular Lies of Maps
axbom
PRO
1
950
How to train your dragon (web standard)
notwaldorf
97
6.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Being A Developer After 40
akosma
91
590k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
4 Signs Your Business is Dying
shpigford
187
23k
Documentation Writing (for coders)
carmenintech
77
5.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Producing Creativity
orderedlist
PRO
348
40k
Transcript
͡ΊͯͷਓͷͨΊͷػցֶशೖ ଜాݡଠ ΫοΫύουαϚʔΠϯλʔϯγοϓ
୭ʁ wଜాݡଠ ւಓେֶത࢜ ใՊֶ ‣ ॴଐ ‣ ձһࣄۀ෦αʔϏε։ൃάϧʔϓ ‣
ݚڀ։ൃνʔϜ ‣ 3VCZDPNNJUUFS ‣ ઐ ‣ ෳࡶωοτϫʔΫɺػցֶश
ߨٛͷྲྀΕ ػցֶशͱ ػցֶशͷ֓ཁ ڭࢣ͋ΓֶशͷྲྀΕ ·ͱΊ
ػցֶशͱ
Ṗͷ ٕज़ cat dog bicycle house meal https://www.flickr.com/photos/freefoto/4910780215 https://www.flickr.com/photos/onasill/16394567531 https://www.flickr.com/photos/muraken/19133489198
https://www.flickr.com/photos/muraken/19579394778 https://www.flickr.com/photos/muraken/15697878907 ػցֶशͷΠϝʔδ
ػցֶशͰͰ͖Δ͜ͱ wϨγϐͷࣗಈϥϕϧ͚ wҟͳΔϨγϐؒͷؔ࿈ͷਪఆ wϢʔβͷߦಈʹ߹Θͤͨίϯςϯπ৴ wࣸਅͷإೝࣝͱਓͷఆ wεύϜϝʔϧఆ wͷਪન
ػցֶशͰͰ͖Δ͜ͱ w͞·͟·ͳϩά͔ΒͷσʔλϚΠχϯά ‣ ҩྍஅه ‣ 8FCͷΫϦοΫϩά ‣ αʔόͷΞΫηεϩά ‣ FUD
ػցֶशͰͰ͖Δ͜ͱ wखॻ͖͢Δ͜ͱ͕ෆՄೳͳϓϩάϥϜ ‣ ϔϦࣗಈंͷࣗಈૢॎ ‣ खॻ͖จࣈೝࣝ ‣ ࣗવݴޠॲཧ ‣ ίϯϐϡʔλϏδϣϯ
ػցֶशͬͯʁ wਓ͕ؒࣗવʹߦ͍ͬͯΔֶशೳྗͱಉ༷ͷػೳΛ ίϯϐϡʔλͰ࣮ݱ͠Α͏ͱ͢Δٕज़ɾख๏ Wikipedia w໌ࣔతʹϓϩάϥϜ͠ͳֶͯ͘श͢ΔೳྗΛί ϯϐϡʔλʹ༩͑Δݚڀ ΞʔαʔɾαϛϡΤϧ, 1958
ػցֶशͬͯʁ wίϯϐϡʔλϓϩάϥϜ͕ɺ͋ΔछͷλεΫTͱ ධՁईPʹ͓͍ͯܦݧE͔Βֶश͢Δͱɺλ εΫTʹ͓͚ΔͦͷϓϩάϥϜͷੑೳΛPʹΑͬ ͯධՁͨ͠ࡍʹܦݧEʹΑͬͯੑೳ͕վળ͞Εͯ ͍Δ߹Ͱ͋Δ τϜɾϛονΣϧ, 1998
ྫϨγϐͷࣗಈϥϕϧ͚ wϨγϐʹ͘ϥϕϧΛ༧ଌ͢Δ wϨγϐʹର͠ΔదͳϥϕϧΛਓ͕બͿ wϥϕϧ͚ͷ༧ଌ݁Ռ͕ਖ਼͔ͬͨ͠Ϩγϐͷ݅ λεΫ T ܦݧ E ධՁई P
τϚτ 1 φε 0 ਫࡊ 0 ιό 1 ྫྷ͠ 1
: : Ϩγϐ ಛϕΫτϧ ྨث : : 0.13 0.89 0.62 : ྨ֬ϕΫτϧ ໙ྉཧ ओ৯ ྉཧ : ྨ݁Ռ Ϩγϐͷࣗಈϥϕϧ͚ͷྲྀΕ લॲཧ ޙॲཧ
ҟͳΔϨγϐؒͷؔ࿈ͷਪఆ Ϩγϐ A Ϩγϐ B Ϩγϐ C ϨγϐͷಛϕΫτϧ ಛϕΫτϧؒͷ ྨࣅΛଌΔ
ಛ 1 ಛ 2 ಛ 3 ಛ 4
Ϣʔβͷߦಈʹ߹Θͤͨίϯςϯπ৴ “ϙτϑ” Λ ݕࡧͨ͠ਓͷը໘ “ೲ౾” Λ ݕࡧͨ͠ਓͷը໘ Ϩγϐݕࡧ݁ՌͷதʹɺϨγϐͰͳ͍͕Ϩγϐ୳͠Λखॿ͚Ͱ͖ΔใΛࠞͥͯ͋͛ͯɺϨγϐܾΊΛ దʹΞγετ͍ͨ͠ɻͲΜͳίϯςϯπΛࠞͥΔͱϢʔβຬ͢ΔΜͩΖ͏ʁ :
(ࠂ) “͓ʹ͗Βͣ” Λ ݕࡧͨ͠ਓͷը໘ (ࠂ)
Ṗͷٕज़Ͳ͏࣮ݱ ͞ΕͯΔΜͩΖ͏ʁ
ػցֶशͷ֓ཁ μϯϩʔυॱௐͰ͔͢ʁ
ػցֶशͷΈ wڭࢣ͋Γֶशsupervised le rning wڭࢣͳֶ͠शunsupervised le rning wڭࢣ͋Γֶशsemi-supervised le rning
wڧԽֶशreinforcement le rning
͖ͬ͞ྫΛΈʹ͋ͯΊΔ wࣸਅϨγϐͳͲͷࣗಈϥϕϧ͚ ڭࢣ͋Γֶश wҟͳΔϨγϐؒͷؔ࿈ͷࣗಈਪఆ ڭࢣͳֶ͠श wϢʔβͷߦಈʹ߹Θͤͨίϯςϯπ৴ ڧԽֶश
ڭࢣ͋Γֶशͱ wೖྗσʔλʹରͯ͠ग़ྗ͖͢ਖ਼ղσʔλ ڭࢣ σʔλ ͕༩͑ΒΕΔ ‣ ڭࢣσʔλϥϕϧͳͲ wਖ਼ղ͕͔Βͳ͍ೖྗσʔλʹରͯ͠ɺରԠ͢Δ ϥϕϧΛ༧ଌ͢ΔؔنଇΛߏங͢Δ Ϟσϧ
ڭࢣ͋ΓֶशΛ͏λεΫͷछྨ wճؼregression ‣ ࿈ଓͷग़ྗΛ༧ଌ͢ΔճؼϞσϧʢؔʣΛߏங wΫϥεྨclassification ‣ ϥϕϧͷग़ྗΛ༧ଌ͢ΔྨϞσϧΛߏங
ྫɿճؼϞσϧ
ઢʹΑΔճؼ 2࣍ۂઢʹΑΔճؼ ڭࢣσʔλ ༧ଌ݁Ռ
ྫɿྨϞσϧ BMI ˔ ˔ ˔ ˔ ˔ ˔ ʷ ʷ
ʷ ʷ ʷ ʷ ʷ ˔ ˔ʜ݈߁ମ ʷʜ৺ଁප ྨڥք (ՍۭͷσʔλͰ͢)
ڭࢣͳֶ͠शͱ wೖྗσʔλʹରͯ͠ڭࢣσʔλ༩͑ΒΕͳ͍ wσʔλͷͳͲΛཔΓʹɺຊ࣭తͳߏύλʔ ϯΛநग़͢Δ
ڭࢣͳֶ͠शͱ x1 x2 ˔ Ϩγϐ1 ˔ Ϩγϐ2 Ϩγϐ3 ˔ ˔
Ϩγϐ5 Ϩγϐ8 ˔ ˔ Ϩγϐ4 ˔ Ϩγϐ7 ˔ Ϩγϐ6 Ϩγϐ9 ˔ ˔ Ϩγϐ10 x1 x2 ˒ Ϩγϐ1 ˛ Ϩγϐ2 Ϩγϐ3 ˒ ˒ Ϩγϐ5 Ϩγϐ8 ˒ ˛ Ϩγϐ4 ˛ Ϩγϐ7 ˛ Ϩγϐ6 Ϩγϐ9 ˛ ˒ Ϩγϐ10 ڭࢣ͋Γֶश ڭࢣͳֶ͠श
ڭࢣͳֶ͠शͷछྨ wΫϥελϦϯά w࣍ݩݮ wසग़ύλʔϯϚΠχϯά
ػցֶशͷྲྀΕ ܇࿅༻σʔλΛूΊΔ ΫϨϯδϯάͳͲͷલॲཧΛ͢Δ ಛʢૉੑʣͷઃܭΛ͢Δ ‣ χϡʔϥϧωοτϫʔΫͷ߹ӅΕͷઃܭΛ͢Δ
ϞσϧΛֶश͠ɺݕূ͢Δ ‣ ݁Ռ͕ྑ͘ͳ͍߹PSʹͬͯΓ͠ ӡ༻͢Δ
2. લॲཧ 3. ಛઃܭ ਤʹ͢ΔͱϦʔϯελʔτΞοϓΈ͍ͨͩͶ 4. Ϟσϧֶश 5. ݕূ 6.
ӡ༻ 1. ܇࿅༻ σʔλ
ػցֶशͷྲྀΕ ܇࿅༻σʔλΛूΊΔ ΫϨϯδϯάͳͲͷલॲཧΛ͢Δ ಛʢૉੑʣͷઃܭΛ͢Δ ‣ χϡʔϥϧωοτϫʔΫͷ߹ӅΕͷઃܭΛ͢Δ
ϞσϧΛֶश͠ɺݕূ͢Δ ‣ ݁Ռ͕ྑ͘ͳ͍߹PSʹͬͯΓ͠ ӡ༻͢Δ ͷੑ࣭ʹ େ͖͘ґଘ͢Δ ͷੑ࣭ • λεΫͷछྨ • ֶशσʔλͷྔ • ֶशσʔλͷ౷ܭతੑ࣭ • ͳͲ ͷੑ࣭ʹґଘ ͢Δ෦͕͋Δ
ػցֶशͷྲྀΕ ܇࿅༻σʔλΛूΊΔ ΫϨϯδϯάͳͲͷલॲཧΛ͢Δ ಛʢૉੑʣͷઃܭΛ͢Δ ‣ χϡʔϥϧωοτϫʔΫͷ߹ӅΕͷઃܭΛ͢Δ
ϞσϧΛֶश͠ɺݕূ͢Δ ‣ ݁Ռ͕ྑ͘ͳ͍߹PSʹͬͯΓ͠ ӡ༻͢Δ ͷੑ࣭ʹ ґଘ͠ͳ͍ ͷੑ࣭ • λεΫͷछྨ • ֶशσʔλͷྔ • ֶशσʔλͷ౷ܭతੑ࣭ • ͳͲ
ڭࢣ͋ΓֶशͷྲྀΕ μϯϩʔυऴΓ·͔ͨ͠ʁ
τϚτ 1 φε 0 ਫࡊ 0 ιό 1 ྫྷ͠ 1
: : Ϩγϐ ಛϕΫτϧ ྨث : : 0.13 0.89 0.62 : ྨ֬ϕΫτϧ ໙ྉཧ ओ৯ ྉཧ : ڭࢣσʔλ Ϩγϐͷࣗಈϥϕϧ͚༻ྨثͷֶश 0 1 1 : ޡࠩ ྨύϥϝʔλͷमਖ਼
ྨثͷ࠷దԽޯ߱Լ๏ ݱࡏͷग़ྗ E(y) ޡࠩ y ग़ྗ ݱࡏͷޡࠩ : ޡࠩΛগ͠ݮগͤ͞ΔͨΊʹ ඞཁͳग़ྗͷඍখมԽྔ
y ग़ྗΛมԽͤ͞ΔͨΊʹඞཁͳ ྨύϥϝʔλͷमਖ਼ྔ y = f ( x ; ⇥) ͷͱ͖ y ⇥ : ྨύϥϝʔλ ⇥ ⇥ = @E @⇥ = @E @y @f @⇥
൚Խೳྗͱաֶश w൚Խೳྗgener liz tion ‣ ܇࿅Ͱ༻͍ͯ͠ͳ͍ະͷσʔλʹରͯ͠ޡΓ͕ খ͍͞༧ଌ͕Մೳͳ͜ͱ wաֶशʢաద߹ʣoverfitting ‣ ܇࿅Ͱ༻ͨ͠σʔλʹద߹͗ͯ͢͠͠·͍ɺະͷ
σʔλʹର͢Δྑ͍༧ଌ͕Ͱ͖ͳ͍͜ͱ
ྫɿճؼϞσϧ
ઢʹΑΔճؼ 2࣍ۂઢʹΑΔճؼ
2࣍ۂઢʹΑΔճؼ ߴ࣍ۂઢʹΑΔճؼ աֶशʢաద߹ʣ overfitting
ֶशͨ͠Ϟσϧͷݕূ wֶशͨ͠Ϟσϧͷ൚ԽೳྗΛ֬ೝ͢Δ wະͷೖྗΛਖ਼͘͠༧ଌͰ͖Δׂ߹ΛٻΊΔ
ڭࢣ͋Γֶशʹ͓͚Δݕূ wճؼͷ߹ wΫϥεྨͷ߹
ճؼͷ߹ͷݕূ wਅͱ༧ଌͷࠩͷೋΛ͏
Ϋϥεྨͷ߹ͷݕূ wਖ਼͘͠ྨ͞Εׂͨ߹ͱޡͬͯྨ͞Εׂͨ߹Λ ར༻ͯ͠൚ԽೳྗΛݟੵΔ
ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ
'BMTF/FHBUJWF ӄ ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ accuracy ਅཅੑ true positive rate ࠶ݱ recall ਫ਼ʢద߹ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ
'BMTF/FHBUJWF ӄ ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ accuracy ਅཅੑ true positive rate ࠶ݱ recall ਫ਼ʢద߹ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ
'BMTF/FHBUJWF ӄ ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ accuracy ਅཅੑ true positive rate ࠶ݱ recall ਫ਼ʢద߹ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ
'BMTF/FHBUJWF ӄ ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ accuracy ਅཅੑ true positive rate ࠶ݱ recall ਫ਼ʢద߹ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2
Precision Recall F-score = 2 1 precision + 1 recall
= n tp n tp + nfp+ nfn 2 Precision ͱ Recall ͷௐฏۉ ͲͪΒ͔͕͍ͱ F-score ͍
ࠞ߹ߦྻconfusion m tri- ཅੑ ӄੑ ཅ ੑ ਅཅੑ 5SVF1PTJUJWF ِӄੑ
'BMTF/FHBUJWF ӄ ੑ ِཅੑ 'BMTF1PTJUJWF ਅӄੑ 5SVF/FHBUJWF ༧ଌͷ݁Ռ ਖ਼ղσʔλ ntp nfp nfn ntn ਖ਼ղ accuracy ਅཅੑ true positive rate ࠶ݱ recall ਫ਼ʢద߹ʣ precision ntp ntp + nfn ntp + ntn ntp + nfp + ntn + nfn ntp ntp + nfp F-score 2 1 precision + 1 recall = n tp n tp + nfp+ nfn 2 F-score ͕ߴ͚Εྑ͍ͷʁ → ʹґଘ͢Δ
ྫɿҩྍσʔλͷྨ BMI ˔ ˔ ˔ ˔ ˔ ˔ ʷ ʷ
ʷ ʷ ʷ ʷ ʷ ˔ ˔ʜ݈߁ମ ӄੑ ʷʜ৺ଁප ཅੑ (ՍۭͷσʔλͰ͢) ِӄੑ ِཅੑ ҩྍσʔλͷྨͰِӄੑΛ0݅ʹ͍ͨ͠ → ࠶ݱΛ100%ʹ͢Δ͜ͱ͕ॏཁ
ྫɿҩྍσʔλͷྨ BMI ˔ ˔ ˔ ˔ ˔ ˔ ʷ ʷ
ʷ ʷ ʷ ʷ ʷ ˔ ˔ʜ݈߁ମ ӄੑ ʷʜ৺ଁප ཅੑ (ՍۭͷσʔλͰ͢) ِӄੑ ِཅੑ ҩྍσʔλͷྨͰِӄੑΛ0݅ʹ͍ͨ͠ → ࠶ݱΛ100%ʹ͢Δ͜ͱ͕ॏཁ
ଟΫϥεྨͷ߹ wΫϥεຖʹࠞ߹ߦྻΛ࡞Γ౷߹͢Δ
Ϋϥεͷ߹ ཅੑ ӄੑ ཅੑ ӄੑ ༧ଌͷ݁Ռ ਖ਼ղσʔλ ཅੑ ӄੑ ཅੑ
ӄੑ ਖ਼ղσʔλ ཅੑ ӄੑ ཅੑ ӄੑ ਖ਼ղσʔλ n(1) tp n(2) tp n(3) tp n(1) tn n(2) tn n(3) tn n(3) fp n(2) fp n(1) fp n(1) fn n(2) fn n(3) fn Ϋϥε1 Ϋϥε2 Ϋϥε3 ֤Ϋϥεʹଐ͢Δ ֤Ϋϥεʹଐ͞͵ ༧ଌͷ݁Ռ ਖ਼ղσʔλ ֤Ϋϥεʹ ଐ͢Δ ֤Ϋϥεʹ ଐ͞͵ n(1) fn + n(2) fn + n(3) fn n(1) tp + n(2) tp + n(3) tp n(1) fp + n(2) fp + n(3) fp n(1) tn + n(2) tn + n(3) tn
ަࠩݕূcross v lid tion w܇࿅σʔλΛֶश༻ͱݕূ༻ʹׂ͢Δύλʔϯ Λมߋ͠ɺෳͷݕূ݁ՌͷฏۉΛͱΔ͜ͱͰɺ ൚ԽੑೳΛׂύλʔϯʹґଘ͠ͳ͍ͰଌΔ ‣ K-ׂަࠩݕূ ‣
LOOCV (Leave-one-out ަࠩݕূ)
,ׂަࠩݕূ 1 2 3 4 … K N ݸͷֶशσʔλΛ K
ϒϩοΫʹׂ ݕূʹ͏ϒϩοΫΛ ॱ൪ʹΓସ͑ͯ K ύλʔϯͷݕূΛߦ͏ ֶश༻ϒϩοΫ ݕূ༻ϒϩοΫ (K=N ͷͱ͖ LOOCV ʹͳΔ)
,ͷબͿͱ͖ʹؾʹ͢Δ͜ͱ ֶश༻σʔλ ݕূ༻ σʔλ K=2 K=N N ݕূύλʔϯ 2 ≒ܭࢉίετ
N(K 1) K K = 2 K = N N 2
·ͱΊ
·ͱΊ wػցֶशͱɺίϯϐϡʔλϓϩάϥϜ͕ܦݧʹ ΑͬͯλεΫͷղ͖ํΛֶΜͰ͍͘Έͷ͜ͱ wػցֶशΛ༻͍ͨγεςϜɺαʔϏε։ൃͱಉ ͡Α͏ͳαΠΫϧͰ։ൃɾӡ༻͞ΕΔ wϞσϧͷ൚Խೳྗ͕ॏཁͰ͋ΔͨΊɺաֶशͯ͠ ͍ͳ͍ࣄΛݕূ͢Δඞཁ͕͋Δ