教師なし学習

教師なし学習の手法まとめ

本記事では「教師なし」の統計解析手法について整理します。

「教師あり」は「原因」と「結果」が揃っているデータの事を言います。
逆に、そうでないデータを「教師なし」と呼びます。

教師あり学習の手法まとめ機械学習の手法のうち、「教師あり」の手法について整理します。 教師ありというのは、「原因」と「結果」のデータが揃っているデータの事を指...

単なる学力テストの成績であったり、単なるアンケート調査の結果であったり・・・ある意味、どんなデータに対しても適用できる手法たちとも言えます。

しかし、闇雲に適用すればよいわけではなく、一体データをどうしたいのか。何を知りたいのか。
そういった情報によって適切な手法は異なってきます。

「次元削減」「類似性・共起性推測」「パターン認識」「ニューラルネットワーク」の4種類に大別し、それぞれについて説明していきます。

次元削減

データの情報をなるべく失わせないように次元数を減らす手法です。

主成分分析

次元削減といったら殆どこの「主成分分析」が使用されます。
たくさんの説明変数を合成して、データを最小限で説明するための新たな変数を生成します。

「次元削減」の意味と活用方法様々な場面で大活躍するデータ分析手法、「次元削減(次元圧縮)」とは一体何でしょうか。 また、どのように使うのでしょうか。 本記事では...

ただし、データの形式によっては、以下の数量化3類、数量化4類が適する場合があります。

数量化3類(≒コレスポンデンス分析)

主成分分析の一種とも考えられますが、データがすべて質的変数であったりクロス集計表のときは「数量化3類」や、それを拡張した「コレスポンデンス分析」を使います。

数量化4類(≒多次元尺度構成法)

こちらも主成分分析の一種とも考えられますが、データが要素間の類似性のときは「数量化4類」や、それを拡張した「多次元尺度構成法」を使います。

因子分析

因子分析は、説明変数の数を整理して、その数を縮約する手法です。
「算数」「国語」「理科」「社会」という説明変数を「理系」「文系」に縮約するようなイメージです。

主成分分析と似ていますが、主成分分析はまずデータを縮約した後、説明変数は人間が後付けで考えます。
因子分析はまず説明変数を人間が考えた後にデータを縮約してみて、その妥当性を検証します。

そういう意味で計算方法も異なっているのですが、主成分分析と同様の結果が得られることも少なくありません。

類似性・共起性推測

「行動が近いユーザ」や「同時に買われやすい商品」を見つけるなど、経営の改善などによく使われる手法です。

アソシエーション分析

ユーザーの買い物データから、売れ線や同時に買われやすい商品を調べたいのなら「アソシエーション分析」を使います。
別名「バスケット分析」とも呼ばれます。

「りんご」が買われた場合、ついでに買われる商品は何か。
「シャンプー」が買われた場合、ついでに買われる商品は何か。
・・・それが分かれば、店内の商品配置などを最適化することができます。

協調フィルタリング

アソシエーション分析と似ていますが、商品間の関連性ではなく、ユーザごとの傾向を見る手法が協調フィルタリングです。
Amazonなどで出る「あなたへのおすすめ」のようなものは、この仕組みを用いていると言われています。

パターン認識

複雑な情報の中から規則を発見するための手法です。

非階層クラスタリング(k-means)

データを近い者同士でグルーピングしたい場合に用いるクラスタリング手法です。
「クラスタリング」と言うとこのk-meansを指すと言っていいほどの代表的手法となります。

Pythonによる非階層型クラスタリング(k-means法)非階層型クラスタリングの代表的手法である「k-means法」をPythonで実行してみます。 k-means法の理論についてはこちらの...

階層クラスタリング(ウォード法、群平均法)

トーナメント表のような階層構造で全データの関係性を見たい場合に用いるクラスタリング手法です。

Pythonによる階層型クラスタリングの実行方法階層型クラスタリングをPythonで実行してみましょう。 scipyのclusterというパッケージを使えば非常に簡単に作成することが...

トピックモデル

主に文章分類に用いられるクラスタリング手法です。
文章中に現れる単語の出現確率を元に文章をグルーピングします。

ニューラルネットワーク

ニューラルネットワークを利用して分析する手法です。Deep learning系もここに含みます。

自己組織化マップ(SOM)

入力データの情報を2次元平面上に落としこみ、見た目にも分かりやすくマッピングする手法です。
入力データが何次元でも、データの損失が最小限になるように2次元にしてくれます。
(3次元、4次元にも出来ますが、やはり見た目に分かりやすくする事が主目的で使われることが多いので2次元にする事が多いかと思います。)
ニューラルネットワークを用いたクラスタリング手法とも言えます。

最後に

以上、機械学習における教師なし分析の手法一覧でした。
不足や認識の違いなどありましたらご連絡頂けますと幸いです。