#はじめに
本記事は、E資格の受験資格の取得を目的としたラビットチャレンジを
受講した際の勉強記録およびレポート記事である。
主成分分析
##主成分分析
多変量データの持つ構造をより少数個の指標に圧縮する分析手法。
少数変数を利用した分析や可視化(2・3次元の場合)が実現可能。
学習データ:$ \smash{ \boldsymbol{x}_{i} = (x_{i1}, x_{i2}, ... , x_{im}) \in \mathbb{R}^{m} } $
平均(ベクトル):$ \smash{ \bar{\boldsymbol{x}} = \dfrac{1}{n} \sum_{i=1}^{n}\boldsymbol{x}_{i} } $
データ行列:$ \smash{ \bar{\boldsymbol{X}} = (x_{1} - \bar{x}, x_{2} - \bar{x}, ... , x_{n} - \bar{x})^{T} \in \mathbb{R}^{ n \times m} } $
分散共分散行列:$ \smash{ \Sigma = Var(\bar{\boldsymbol{X}}) = \dfrac{1}{n}\bar{\boldsymbol{X}^{T}}\bar{\boldsymbol{X}} } $
線形変換後のベクトル:$ \smash{ \boldsymbol{s}_{j}=(s_{1j}, \cdots ,s_{nj})^{T} = \bar{\boldsymbol{X}} \boldsymbol{a}_{j} } $ $ \boldsymbol{a}_{j} \in \mathbb{R}^{m} $
線形変換後の分散:$ \smash{ Var(\boldsymbol{s}_{j}) = \dfrac{1}{n}\boldsymbol{s}_{j}^{T}\boldsymbol{s}_{j} = \dfrac{1}{n}(\bar{\boldsymbol{X}}\boldsymbol{a}_{j})^{T}(\bar{\boldsymbol{X}}\boldsymbol{a}_{j}) = \dfrac{1}{n}\boldsymbol{a}_{j}^{T}\bar{\boldsymbol{X}}^{T}\bar{\boldsymbol{X}}\boldsymbol{a}_{j} = \boldsymbol{a}_{j}^{T} Var(\bar{X})\boldsymbol{a}_{j} } $
##ラグランジュ関数
ラグランジュ関数:$ \smash{ E(\boldsymbol{a}_{j}) = \boldsymbol{a}_{j}^{T} Var(\bar{X})\boldsymbol{a}_{j} - \lambda(\boldsymbol{a}_{j}^{T}\boldsymbol{a}_{j} - 1) } $
##課題
32次元のデータを2次元上に次元圧縮した際に、うまく判別できるかを確認。
■結果
乳癌検査データ。特徴量30でロジスティック回帰を行ったところ、97%の精度で分類できることが確認された。2次元まで削減したところ、主成分寄与率 約0.43、第2成分寄与率 約0.19、累積寄与率 約0.62となっている。
2次元に可視化しても分離できていると考えられる。
k近傍法(kNN:k-Nearest Neighbor)
分類問題のための機械学習手法。
最近傍のデータをk個取ってきて、それらが最も多く所属するクラスに識別。
##課題
人口データと分類結果をプロットしてください。
■結果
numpyでの実装、scikit-learnでの実装ともに同様の結果が出ていることがわかる。
#k-平均法(k-means)
教師なし学習。
クラスタリング手法。
与えられたデータをk個のクラスタに分類する。
####k平均法のアルゴリズム
- 各クラスタ中心の初期値を設定する。
- 各データ点に対して、各クラスタ中心との距離を計算し、最も距離が近い
クラスタを割り当てる。 - 各クラスタの平均ベクトル(中心)を計算する。
- 収束するまで2、3の処理を繰り返す。
##ハンズオン
■結果
#サポートベクターマシン(SVM)
2クラス分類のための機械学習手法。
線形モデルの正負で2値分類。
##ハンズオン
■結果
以下の場合について実施している。
- 線形分離可能な場合
- 線形分離不可能な場合
- ソフトマージン