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
Ringa_hyj
July 22, 2020
Technology
0
76
第十章-教師なし学習【数学嫌いと学ぶデータサイエンス・統計的学習入門】
第十章【数学嫌いと学ぶデータサイエンス・統計的学習入門】
Ringa_hyj
July 22, 2020
Tweet
Share
More Decks by Ringa_hyj
See All by Ringa_hyj
Catching up with the tidymodels.[Japan.R 2021 LT]
ringa_hyj
3
780
多次元尺度法MDS
ringa_hyj
0
230
因子分析(仮)
ringa_hyj
0
110
階層、非階層クラスタリング
ringa_hyj
0
84
tidymodels紹介「モデリング過程料理で表現できる説」
ringa_hyj
0
380
深層学習をつかった画像スタイル変換の話と今までの歴史
ringa_hyj
0
360
正準相関分析(仮)
ringa_hyj
0
92
対応分析
ringa_hyj
0
110
2020-11-15-第1回-統計学勉強会
ringa_hyj
0
690
Other Decks in Technology
See All in Technology
Fargateを使った研修の話
takesection
0
120
GitHub Universe: Evaluating RAG apps in GitHub Actions
pamelafox
0
170
Datachain会社紹介資料(2024年11月) / Company Deck
datachain
3
16k
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
Shift-from-React-to-Vue
calm1205
3
1.3k
わたしとトラックポイント / TrackPoint tips
masahirokawahara
1
240
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
520
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
3
590
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
バクラクにおける可観測性向上の取り組み
yuu26
3
420
Gradle: The Build System That Loves To Hate You
aurimas
2
150
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
740
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
Docker and Python
trallard
40
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
GitHub's CSS Performance
jonrohan
1030
460k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Visualization
eitanlees
144
15k
Unsuck your backbone
ammeep
668
57k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Code Reviewing Like a Champion
maltzj
519
39k
Transcript
@Ringa_hyj 日本一の数学嫌いと学ぶ データサイエンス ~第十章:教師なし学習~
対象視聴者: 数式や記号を見ただけで 教科書を閉じたくなるレベル , , C , ,
教師なし学習 ・主成分分析 ・寄与度 ・クラスタリング ・k平均 ・階層的
教師なし学習
・教師なし学習 教師なし学習とは 教師ありと違い精度を確かめる方法がない データから知見を引き出すために使われる しかし、テストでの性能を測れないので汎化性に期待はできない 教師なし学習としては ・主成分分析 ・クラスタリング が有名である
主成分分析
・主成分分析 6章で主成分分析の求め方を含めて紹介した データにp変数あれば、2変数plotは p(p-1)/2 個の図になる p=10なら45枚の図 すべて確認するのは大変なので主成分に要約する 第一主成分は以下により得られる max 11~1
1 ා =1 =1 1 2 =1 1 2 = 1 ただし制約 第二主成分は第一主成分に直交(無相関)する という制約が付く
・主成分分析 ・主成分が最良のM次元近似である 主成分とは、各データから近いように近似していく方法 1~M次元の主成分ベクトルと係数ベクトルは最良のM次元近似である Mを大きくしていけばp次元データに同じようになっていく ・標準化 主成分分析は事前に中心化する手法である 標準化すべきか、という議論については、単位が異なるならば行うことが推奨 単位が等しい中で標準化するのは比較できなくなるのでNG ・パッケージによる出力の違い
係数ベクトル、主成分スコアベクトルの符号がパッケージによって異なるが、 これは主成分軸の方向を表すものであり、符号以外は一致する このことを「符号を除いた一意性を持つ」という
寄与度
・主成分分析 どれだけ情報が失われているか 分散の割合 寄与率 によって考える データセット全体の分散の総和 =1 Var =
ා =1 1 =1 2 第m主成分での分散の総和は 1 =1 2 = 1 ා =1 =1 2 以上から第m主成分が全体から抽出できた情報量は以下 =1 =1 2 =1 =1 2
クラスタリング k平均
・クラスタリング クラスタリングには有名なものに ・K平均クラスタリング・・・クラスタを指定 ・階層的クラスタリングがある・・・デンドログラムからクラスタ数を決める
・クラスタリング ・K平均クラスタリング データはKクラスのいずれかに属する C1 ⋁ C2 ⋁ … Ck =
(1~n) 一つのデータの所属クラスが重複することはない K≠K’ で Ck ∧ Ck’ = ∅ iがCkのデータであるとき、 i∉Ck と表示する
・クラスタリング 良いクラスタリングの結果とは・・・クラスタ内変動 W(Ck) が小さくなること minimize Σ W(Ck) (k=1~k) C1~Ck クラスタ内変動は
クラスタ内のデータが似ているほどいい → 非類似度を最小化 非類似度をユークリッド二乗距離を使うならば以下のように定式化する |Ck|はK番目のクラスタ内のデータ数 非類似度を計算する対象であるiとi’もK番目クラスに属しているものである(jは変数) = 1 ා ,′∈ =1 − ′ 2
・クラスタリング 全データを全クラスに割り当てて調べる場合、 n個をK個のクラスに分割するのは Kn通り 局所的最適解に陥るが以下の方法を繰りかえすことが主流 ①Kをいくつにするか決める 各データに1~kのクラスをランダムに割り当てる ②各クラスタの重心を求める ③各データと各重心のユークリッド距離を計算し、最も距離の近いクラスに割り当てなおす ②③を重心が変動しなくなるまで繰り返す。
この繰り返しは単調減少の性質を持つことを数式で表現する = 2 ා ∈ =1 − ҧ 2 = 1 ා ,′∈ =1 − ′ 2 クラス内変動が重心からの距離であると考えれば 重心は各データから最も近くなるまで移動するので、 この繰り返しによりクラスタ内変動は減少する ҧ = 1 ∈
クラスタリング 階層的クラスタリング
・クラスタリング Kを決めることは、何かしら仮説がなくては決めにくい そこでデンドログラムを考える 決定木のような樹上図をしており、 分岐点からデータ点までの高さが非類似度を表す 非類似度 ある高さ(非類似度)で切った時、 そのデンドログラムの枝の本数が クラス数となる =
高さを決める必要はあるが クラス数は自動的に決まる
・クラスタリング 各データ点で非類似度を計算する n(n-1)/2 組の計算を行う 非類似の小さいデータペアを繋ぐ 繋いだ後、ペアを一つの値に変換する(連結法は後述) 再度非類似度を計算 これを繰り返す 非類似度でペアに指定されたデータを1つの値に変換する 完全連結法・・・データたち(クラスタ)の最大値で置き換える
単連結法・・・データたちの最小値で置き換える 平均連結法・・・データたちの非類似度の平均で置き換える 重心連結法・・・データの変数の重心で置き換える (デンドログラムが逆転することがあるので非推奨)
・クラスタリング 非類似度にどんな計算を使うか?(今回ユークリッド) 目的によっては距離でなく、相関をとらえる計算を行うべき クラスタリングには複数の決定すべき項目がある(正解はない) 中心化するか、標準化すべきか、類似度の関数、連結法、切断の高さ、初期クラスタ数 その項目によって結果(割り当てられたクラス)の解釈が変化してしまう クラスタにp値を割り当てるクラスタリングや 外れ値に強い混合モデルクラスタリングなどもある。
None
None