SlideShare a Scribd company logo
1 of 44
「主成分分析」
九州大学 大学院システム情報科学研究院
情報知能工学部門
データサイエンス実践特別講座
備瀬竜馬,Diego Thomas, 末廣 大貴
分析とは?
ベクトルの分解と合成
2
分析の例:
カレーにジャガイモは何グラム入ってる?
何がどれぐらい混ざっているか
わかったら,どんなカレーか
クリアになる!
ジャガイモ
50g
分析
色々なものが混ざっているので
パッと見ただけでは
どんなカレーかわからない
玉ねぎ 80gニンジン 0g
肉150g
カレー粉 10g
参考:「温泉の成分表」
これがあるからどんな温泉かがわかる!
4
環境省「鉱泉分析法指針」より
分析の際にケアすべきポイント(1/4)
基本的に見落としはNG
ジャガイモ
50g
玉ねぎ 80gニンジン 0g
肉150g
カレー粉 10g
混ぜ
合わせ
水 2000g
見落とし 後述の
「完備性」と関係
水無しカレー!
分析の際にケアすべきポイント(2/4)
分析項目に重複がないほうが良いだろう
ジャガイモ
50g
玉ねぎ 80gニンジン 0g
肉150g
カレー粉 10g
後述の
「直交性」と関係
混ぜ
合わせ
やたらスパイシーな
カレー!
唐辛子 2g クミン 1g
水 2000g
実はカレー粉の中に
入っている成分
分析の際にケアすべきポイント(3/4)
分析する単位は統一したほうがよいだろう
ジャガイモ
30 ㎤
玉ねぎ 80gニンジン 0本
肉0.15 kg
カレー粉 10000 mg
後述の
「正規性」と関係
混ぜ
合わせ
水 3カップ
元のカレーには
完全に戻るのだが...
比べにくい!
分析の際にケアすべきポイント(4/4)
解釈容易な成分に分解したほうがよい
モゴモゴ 100g
後述の「基底の
任意性」と関係
混ぜ
合わせ
元のカレーには
完全に戻るのだが...
マニョマニョ
400g
ホゲホゲ 50g
ちりとてちん 35g
これからの話:
カレーからベクトルへ
何がどれぐらい混ざっているか
わかったら,どんな高次元
ベクトルかクリアになる!
分析
色々なものが混ざっているので
パッと見ただけでは
どんな高次元ベクトルかわからない
10 8
6
主成分分析
早速ですが,具体例
11
アイリスデータ
3クラス
Iris-setosa
Iris-versicolor
Iris-virginica
指標(4次元)
sepal length
sepal width
petal length
petal width
https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
早速ですが,具体例
12
アイリスデータ
3クラス
Iris-setosa
Iris-versicolor
Iris-virginica
指標(4次元)
sepal length
sepal width
petal length
petal width
https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
→2次元にできるか?
好きな2次元を「選ぶ」ことも可能だが・・・
例:アイリスデータの二次元プロット
データを的確に表現できる2次元を「作る」→ PCAの出番
※2次元でなくても,好きなd次元でよいです
Python で PCA
←データの正規化(後述)
←データの読み込み & 4次元をXに
←PCAのパラメータをセット:(2次元)
←PCAで2次元にするルール作り
←2次元にしたXをゲット
←プロット
プロットしてみると...
横軸:第一主成分,縦軸:第二主成分
クラスの情報は全く
使っていないのに,
スゴイ
データを「的確に」表現できているか?
●各主成分の「寄与率」
→ 第一主成分で 72.7%, 第二主成分と合わせて 95.8% を
表現できている!(データの広がり具合=分散を95.8%
説明できている)
●各主成分の「中身」
→ 第一主成分は
0.522…×(sepal length) – 0.263…×(sepal width)
+ 0.581…×(petal length) + 0.565…×(petal width)
で構成されている.各係数を主成分負荷量とよぶ
PCA の特徴
● 𝑑(< 元の次元数 𝑑)個の主成分で,𝑑 次元ベクトル分布全体を
コンパクトに表現
●この意味で,クラスタリングの代表ベクトルにも似ている
●時には 𝑑 ≪ 𝑑
●やろうと思えばいくらでも 𝑑は小さくできる
●ただし,やりすぎると分布の構造をうまく捉えられないことに
●主成分方向=平均からの主要な変動と捉えることも可能
正規化:
PCA だけでなく,多くのデータ分析でまずやること
●平均をゼロ,分散を1に「正規化」する!
第2次元
(体重 kg)
第1次元
(身長 mm)
正規化
された身長
正規化
された体重
各軸を
伸び縮みさせ
同程度の
「広がり」に
非常に広がっている
分散1
分散1
狭い
「平均ゼロ,分散を1」にするには?
●まず平均をゼロに
●全部の値から現在の平均値を引けば,平均はゼロになる
●次に分散を1に!
●前に,「値を 𝑥𝑖から𝛼𝑥𝑖にすると,分散は𝛼2 𝜎2になる」と言いました
● 𝛼2
𝜎2
= 1にしたいということは,𝑥𝑖を𝛼 = 1 𝜎2倍すればOK!
− 𝑥
𝑥0
0
分散𝜎2
0
分散1
× 1 𝜎2
練習1:
●Irisデータセットの “petal width” を
「平均ゼロ,分散を1」にする
●“petal width” と平均をプロット
• use plt.axhline(y=X.mean(), xmin=0, xmax = X.size,
color='r’) to plot horizontal line for the mean
●平均をゼロにして、再度プロット
●分散を1にして、再度プロット
主成分分析でわかること
各主成分の重要度
(「累積寄与率」とか「固有値」がそれです)
●大きく広がっている→重要度高い
●第1, 第2, 第3...と,重要度は下がる
●ただし,下がり方は様々.そしてそれが非常に重要!
●慣れてくると,この「下がり方カーブ」で分布の形状が想像できる
第1, 第2, 第3,…, 第 𝑑, 第 𝑑 + 1,…,第𝑑
重要度
さらに慣れてくるとわかること:
2要素間の相関(詳しくは後述)
𝑥1
𝑥2
非常に広がっている方向があり(=偏りがあり),
それが正の相関を示している
𝑥1
𝑥2
非常に広がっている方向はあるが,
それは無相関を示している
𝑥1
𝑥2
広がり一様→球状分布
→無相関
𝑥1
𝑥2
非常に広がっている方向があり(=偏りがあり),
それが負の相関を示している
さらに慣れてくるとわかること:
2要素間の相関(詳しくは後述)
𝑥1
𝑥2
𝑥3
𝑥1
𝑥2
𝑥3
非常に広がっている方向があり(=偏りがあり),
𝑥1 →大,𝑥2 →大,𝑥3 →小
(𝑥1 →小,𝑥2 →小,𝑥3 →大,と等価)
広がり一様→球状分布
→無相関
練習2:
●Irisデータセット上の4コンポーネントでPCAを実行
●各コンポーネントの重要度をプロット
主成分を求める実際の方法
詳細略
広がった方向を求めるための2つの基準(1):
分散最大基準
●なるべく分散の大きくなる方向に主成分を求めたい
分散大 分散小
good
bad
第1次元
(体重)
第2次元
(身長)
広がった方向を求めるための2つの基準(2):
最小二乗誤差基準
●「なるべく誤差が小さくなる方向に主成分を求めたい」
誤差小
誤差大
good
bad
第1次元
(体重)
第2次元
(身長)
参考:主成分分析の解法
●分散・最小誤差,どちらの基準でも,次のように解ける
●まったく同じ主成分が求まる
●以下の3ステップで終了
1. データ集合(各々𝑑次元ベクトル)から共分散行列 Cov を求める
2. Cov の固有値と固有ベクトルを求める
3. 固有値の大きなものから 𝑑個の固有ベクトルを主成分とする( 𝑑は
適当に決定)
主成分分析の解法(詳細)
完全に覚える必要はないです
必要なときの参考資料として...
解法の雰囲気を図解する
共分散行列
∑を求める
固有値
固有ベクトル
第1固有ベクトル(方向)
第1固有値(広がり=重要度)
第2固有ベクトル
上位 𝑑個だけ残す
共分散
●式(ベクトルXとベクトルYの共分散)
●共分散の意味
●符号がもっとも重要:
•正(>0)のとき…𝑋𝑖 が大きいとき𝑌𝑖も大きい傾向あり
•負(<0)のとき…𝑋𝑖が大きいとき𝑌𝑖は小さい傾向あり
•0(=0)のとき…𝑋𝑖が大きいとき𝑌𝑖に傾向なし
•実は,各変数を標準偏差で割ったものが前回習った
相関係数になる!
共分散の具体例
●iris データで,sepal_length と petal_length の
共分散行列を求めてみると…
cov(sepal_length, petal_length)>0:
sepal_length が大きいとき,petal_lengthも大きい傾向にある
固有値と固有ベクトル
● 𝐴𝒙 = 𝜆𝒙 が成り立つとき,𝒙 は 行列 𝐴 の
固有ベクトル
● 𝜆 は 𝐴 の固有値
●例:行列 A =
34
固有ベクトルでない
固有ベクトル
𝐴𝒙 𝜆𝒙
ちなみに・・・
行列はベクトルの組
Aはベクトル(2,3)と
ベクトル(2,1)の組
●以下の要領で計算できます
固有値と固有ベクトルの求め方
35
行列 A:
固有値 固有ベクトル
固有ベクトルは1個とは限らない
固有値が大きい順に並べたとき,1番大きいのが第一主成分
固有値と固有ベクトル(確認)
●本当に合ってるか見てみると…
36
固有ベクトルの条件を満たしている
行列とベクトルの内積
𝐴 × 𝑒1 = 𝜆 × 𝑒1
第一固有ベクトル
第一固有値
解法の雰囲気を図解する(再掲)
共分散行列
∑を求める
固有値
固有ベクトル
第1固有ベクトル(方向)
第1固有値(広がり=重要度)
第2固有ベクトル
上位 𝑑個だけ残す
Iris data で試してみよう(正規化なし)
●Sepal lengtと Petal length の分布と第一主成分を可視化してみ
よう。(分かりやすいように平均値だけ正規化)
Iris data で試してみよう(正規化なし)
●PCA関数と比べてみよう
順序は大きい順に並べ替えれば同じ
Iris data で試してみよう(正規化なし)
●可視化してみよう
第二主成分
第一主成分
第二主成分
Iris data で試してみよう(正規化あり)
傾き:1
主成分の寄与率を分析
練習3:
●Irisデータセットを np.array() に変換
●np.cov を使って共分散行列を求める
●np.linalg.eig を使って固有値と固有ベクトルを
求める
演習
演習1-1
●次のデータを正規化せよ(平均0,分散1)
●height_weight.csv(sexは除く)
●wine_data.csv(qualityは除く)
•注)「;」区切りになっている
●boston_house.csv(MVは除く)
●各データを主成分分析し,第二主成分までで
データをプロットせよ

More Related Content

What's hot

相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
takehikoihayashi
 

What's hot (20)

異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
データサイエンスことはじめ
データサイエンスことはじめデータサイエンスことはじめ
データサイエンスことはじめ
 
【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features
【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features
【DL輪読会】Domain Generalization by Learning and Removing Domainspecific Features
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
 
Python基礎その1
Python基礎その1Python基礎その1
Python基礎その1
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 
データサイエンス概論第一=8 パターン認識と深層学習
データサイエンス概論第一=8 パターン認識と深層学習データサイエンス概論第一=8 パターン認識と深層学習
データサイエンス概論第一=8 パターン認識と深層学習
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
4 データ間の距離と類似度
4 データ間の距離と類似度4 データ間の距離と類似度
4 データ間の距離と類似度
 
データサイエンス概論第一=7 画像処理
データサイエンス概論第一=7 画像処理データサイエンス概論第一=7 画像処理
データサイエンス概論第一=7 画像処理
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
 
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
 
ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 

More from 大貴 末廣

More from 大貴 末廣 (6)

DS Exercise Course 6
DS Exercise Course 6DS Exercise Course 6
DS Exercise Course 6
 
DS Exercise Course 5
DS Exercise Course 5DS Exercise Course 5
DS Exercise Course 5
 
DS Exercise Course 4
DS Exercise Course 4DS Exercise Course 4
DS Exercise Course 4
 
DS Exercise Course 3
DS Exercise Course 3DS Exercise Course 3
DS Exercise Course 3
 
DS Exercise Course 2
DS Exercise Course 2DS Exercise Course 2
DS Exercise Course 2
 
DS Exercise Course 1
DS Exercise Course 1DS Exercise Course 1
DS Exercise Course 1
 

Recently uploaded

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Recently uploaded (8)

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 

主成分分析