AI

教師なし学習の代表的な手法

AI

教師なし学習は、正解ラベルのないデータから構造を見つけ出す手法です。G検定では手法名と特徴の対応が問われます。

こんにちは、zawato(@zawato7)です!

本記事はディープラーニング入門ロードマップの第6回です。

この記事でわかること
  • 教師なし学習が扱う「正解のないデータ」とは何か
  • 階層型と非階層型(k-means)の違い
  • 主成分分析による次元削減と、コールドスタート問題

 

 

教師なし学習は「正解のないデータ」を扱う

教師なし学習は、正解ラベルを与えずにデータそのものの構造を見つける手法です。教師あり学習が入力と正解のペアから学ぶのに対し、こちらに答えはありません。ジャンル不明の本を中身で並べ直すように、データ同士の「似ている・似ていない」だけを頼りに整理します。やることは大きく2つ、グループ分けの「クラスタリング」と、変数を減らす「次元削減」です。

 

 

クラスタリング|似たもの同士をグループに分ける

クラスタリング(クラスタ分析)は、対象データを類似したグループ(クラスタ)に分ける手法です。顧客や商品をグルーピングし、グループごとに違う施策を打つのが典型的な用途です。

種類代表的な手法特徴
階層型ウォード法、最短距離法デンドログラム(樹形図)が描ける
非階層型k-means(k-平均法)クラスタ数kを事前に決める

非階層型の代表|k-means(k-平均法)

k-meansは、クラスタの中心からの距離が小さくなるようにデータをまとめます。ランダムに置いた中心点に近い点を集め、その重心を新しい中心点にして集め直す、を重心が動かなくなるまで繰り返す手法です。いくつに分けるか(k)を事前に決める必要がある点が特徴です。

階層型の代表|ウォード法・最短距離法

最短距離法は距離の近いデータから順に結んで木を作り、ウォード法は距離の平方和が小さい順にまとめます。結果はデンドログラムで表せるので、どの高さで切るかでクラスタ数を後から変えられます。

「デンドログラムは階層型」「kの事前指定は非階層型」の対応は、講座でも取り違えが多いところです。

 

 

次元削減|情報の損失を抑えて変数を減らす

次元削減(次元圧縮)は、データの特徴を保ったまま説明変数の数を減らす手法です。変数が多いと学習に時間がかかり、2次元まで減らせば可視化もできます。代表が主成分分析(PCA)です。

主成分分析は、データが最もばらついている方向を新しい軸として取り直す手法です。ばらつきの大きい方向ほどデータの違いをよく説明するので、そうして得た互いに相関のない軸を上位から残せば、情報の損失を抑えて次元を減らせます。各主成分が元の情報をどれだけ説明できているかの割合が寄与率で、累積寄与率を見てどこまで軸を残すかを判断します。

 

 

レコメンド|協調フィルタリングとトピックモデル

教師なし学習は、レコメンドシステムの土台にもなっています。代表が協調フィルタリングで、購買履歴の似たユーザーが買っている商品を薦める仕組みです。そのため履歴のない新規ユーザーや新商品には推薦できず、これをコールドスタート問題と言います。

回避策がコンテンツベースフィルタリングです。商品に特徴量を付け、特徴の似た商品を薦めます。初期はこちらを使い、履歴が溜まったら協調フィルタリングに切り替えます。

トピックモデルは、1つのデータを複数のクラスタに分類する手法です。政治とスポーツにまたがるニュース記事のような対象を扱え、代表手法は潜在的ディリクレ配分法(LDA)です。

 

 

まとめ

  • 教師なし学習は正解ラベルを使わず、データの構造を見つける
  • 階層型はデンドログラムが描け、非階層型のk-meansはkを事前に決める
  • 次元削減の代表は主成分分析。レコメンドではコールドスタート問題が頻出

 

 

よくある質問

Q. k-meansのkは何を表しますか?
A. 分割するクラスタの数です。非階層型なので分析前に人間が決めます。階層型は木をどこで切るかで後から変えられます。

Q. 主成分分析で次元を減らすと情報は失われませんか?
A. 完全には元に戻せませんが、ばらつきの大きい方向から順に軸を残すため損失を抑えられます。説明できた割合は寄与率で確認します。

Q. コールドスタート問題はどう回避しますか?
A. コンテンツベースフィルタリングを使います。商品の特徴量から似た商品を薦めるので、購買履歴のない初期でも推薦できます。

 

 

コメント