SlideShare a Scribd company logo
1 of 18
Pythonで始める機械学習
scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
3章教師なし学習
早稲田大学 4年 内田 裕貴
2018/5/13 アプリケーション開発サークル
A+plus勉強会
1
教師あり学習と教師なし学習
アルゴリズム 活用先
教師あり学習 分類 ロジスティック回帰/決
定木/SVM/ニューラル
ネットワーク
スパムメール判定
回帰 線形回帰分析 価格予測
教師なし学習 次元圧縮 主成分分析/特異値分析
など
商品の類似性可視化
クラスタリング K-means法など 顧客のセグメント分け
2
教師なし学習
 アルゴリズムの学習に教師情報を用いない機械学習
 一般的に、知識を抽出する事が目的
正解データがないため、教師なし学習の結果は手動で確かめるしかない
 データをよりよく理解するため
 データを教師あり学習に使用するための前処理
3
教師なし学習の種類
データセットの変換
次元削減
•PCA
•NMF
•t-SNE
クラスタリング
階層型クラスタリング
•凝集型クラスタリング
非階層型クラスタリング
•k-means
•DBSCAN
4
次元削減
 高次元な入力データから、少量の本質的な特徴を発見し、入力データを要約する事
 その結果 可視化・データの圧縮・表現の発見 などが可能
 使用するアルゴリズム
 主成分分析(PCA)
 非負値行列因子分解(NMF)
 t-SNE
5
主成分分析(PCA)
 高次元空間に存在するデータ群を回転させ、人間にもわかりやすくする事
やっていることは特徴量抽出だが、次元削減でも使える
(そもそもこの二つはやってることは同じ事が多い)
https://sites.google.com/site/csci5740g/home/topics-lectures/svdandpca
b→cで、回転させている(真上から見下ろしているイメージ)
6
非負値行列因子分解(NMF)
 特徴量を抽出することを目的とした手法
 全てが非負値でなければ使えないが、PCAよりも理解しやすい成分に分解してくれる。
(例えば、複数の楽器から成り立っている音楽を楽器ごとの音に分解するなど)
 NMFで分解される成分は、足し算によって表現できる成分である。
そのため、掛け算や割り算によって説明する成分よりも直感的に理解しやすいもので
ある事が多い
 PCAとアルゴリズムが似ているので次元削減にも使える
7
t-sneを用いた多様体学習
 多様体学習アルゴリズムの一種で、データを説明できる特徴を生成する
 データを変換して散布図で可視化したい場合に用いる
可視化であれば、PCAでも良いが、回転させ、成分を削ぎ落とすという関係上、
有用性が限られる
 2点間の近さを、確率分布で表す手法
8
https://blog.albert2005.co.jp/2015/12/02/tsne
多様体学習アルゴリズム
 多様体学習アルゴリズムは多次元のデータから、2次元の特徴量を生成し、可視化
に用いる
 このアルゴリズムは、3次元以上のデータであっても2次元(曲面)で表現可能であ
るという考え方
9
https://cdn.clipkit.co/tenants/86/item_images/images/000/002/468/medium/6f16e8c5-32d6-49b5-ba31-923af8a605e6.png?1475405667
http://s0sem0y.hatenablog.com/entry/2017/07/06/133450
クラスタリング10
クラスタリング
階層型クラスタリング
•凝集型クラスタリング
非階層型クラスタリング
•k-means
•DBSCAN
似たデータをクラスタ分けする教師なし学習の手法の一つ
教師あり学習の分類問題とは別のもの
凝集型クラスタリング
 凝集型クラスタリングを行うと、階層型クラスタリングが行われる
11
個々のデータをそれぞれ個別のクラスタとして開始し、最も類
似した二つのクラスタ(データ)を併合していくアルゴリズム
一定のクラスタを下回るまで併合が続く。
※動作の関係上、予測には使えない
https://qiita.com/AwaJ/items/ab43ce47817b3b864b9e
階層型クラスタリングの可視化
 2次元のデータセットでは、円で表現
 3次元以上のデータセットでは、デンドログラム
12
https://qiita.com/AwaJ/items/ab43ce47817b3b864b9e
K-means法によるクラスタリング
 ある領域を代表するようなクラスタ重心を見つけるアルゴリズム
13
個々のデータを一
番近いクラスタに
振り分ける
クラスタごとに
重心を計算し、
クラスタの位置
を更新
K-means法によるクラスタリング14
ここのデータをクラスタに振り分け 重心を計算
クラスタの位置を更新 データを一番近いクラスタに振り分け直す
クラスタリング以外のK-means法
ベクトル量子化・成分分解
PCA・NMFでは入力次元を少ない次元に落として表現する
K-meansでは、入力次元よりも多い次元(k次元)で表現できる。
15
DBSCAN
 DBSCANは個々のデータポイントを三つに振り分ける
1:高密度領域のうちにあるコアポイント
2:コアポイントから一定距離にないにある境界ポイント
3:それ以外のノイズ
 利点1:k-meansや凝集型クラスタリングとは違い、外れ値(ノイズ)を認識できる
利点2:ユーザーがクラスタ数を人力で与える必要がないアルゴリズム
利点3:遅い代わりに比較的大きいデータにも用いることができる
16
クラスタリングの性能評価
 正解クラスタリングデータがある場合:
調整ランド指数(ARI)
正規化相互情報量(NMI)
※正解データがある場合には教師あり学習を用いるのが基本なので、そもそも正
解データがある状況は少ない
 正解クラスタリングデータがない場合:
シルエット係数
※シルエット係数は実際にはあまりうまくいかないことが知られている
17
まとめ18
 教師なり学習は、前処理のほか、知見や解釈の一助として扱
うことが多く、これだけで完結するようなことはない
 教師なし学習のクラスタリングの精度評価は難しい(完)

More Related Content

Similar to Un supervised learning

2018/8/6トレLABO3_AIの学び方・使い方
2018/8/6トレLABO3_AIの学び方・使い方2018/8/6トレLABO3_AIの学び方・使い方
2018/8/6トレLABO3_AIの学び方・使い方Trainocate Japan, Ltd.
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...Deep Learning JP
 
研究室勉強会資料「データ分析チュートリアル」
研究室勉強会資料「データ分析チュートリアル」研究室勉強会資料「データ分析チュートリアル」
研究室勉強会資料「データ分析チュートリアル」ymmt3-lab
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING健司 亀本
 
[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章Haruki Eguchi
 
Machine learning for biginner
Machine learning for biginnerMachine learning for biginner
Machine learning for biginnerAtsushi Hayakawa
 
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太Preferred Networks
 
Pythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnPythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnYukino Ikegami
 
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指すRとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指すyuta july
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Yasutomo Kawanishi
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1Shunsuke Nakamura
 
Tableauデータサイエンス勉強会
Tableauデータサイエンス勉強会Tableauデータサイエンス勉強会
Tableauデータサイエンス勉強会k-imanishi
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 

Similar to Un supervised learning (15)

2018/8/6トレLABO3_AIの学び方・使い方
2018/8/6トレLABO3_AIの学び方・使い方2018/8/6トレLABO3_AIの学び方・使い方
2018/8/6トレLABO3_AIの学び方・使い方
 
Unity ML-Agents 入門
Unity ML-Agents 入門Unity ML-Agents 入門
Unity ML-Agents 入門
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
 
研究室勉強会資料「データ分析チュートリアル」
研究室勉強会資料「データ分析チュートリアル」研究室勉強会資料「データ分析チュートリアル」
研究室勉強会資料「データ分析チュートリアル」
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING
 
[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章
 
smarttrade勉強会
smarttrade勉強会smarttrade勉強会
smarttrade勉強会
 
Machine learning for biginner
Machine learning for biginnerMachine learning for biginner
Machine learning for biginner
 
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
 
Pythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnPythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearn
 
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指すRとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
 
Tableauデータサイエンス勉強会
Tableauデータサイエンス勉強会Tableauデータサイエンス勉強会
Tableauデータサイエンス勉強会
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 

Un supervised learning