LoginSignup
7
8

More than 3 years have passed since last update.

機械学習に関する個人的なメモとリンク集①(機械学習編)

Last updated at Posted at 2020-03-16

はじめに

何をするにあたってもゼロからできることは限られています。
「巨人の肩の上に立つ」という言葉もありますが、先人の知恵として参考になる記事を活用して、レベルアップを図りたいものです。

機械学習手法

機械学習に関しては、様々な手法があり、次の様に整理されているのが参考になります。

Classification

決定木(Decision Tree)

決して精度が高いわけではないが、ツリーによる見える化が説明力が高い

サポートベクターマシン(Support Vector Machine)

ランダムフォレスト(Random Forrest)

-パッケージユーザーのための機械学習(5):ランダムフォレスト
-実務でRandomForestを使ったときに聞かれたこと
-Random Forestで計算できる特徴量の重要度
-Pythonのscikit-learnでRandomForest vs SVMを比較してみた
-tuneRF関数の挙動の検証

Regression

線形回帰

LASSO回帰

L1正則化を目的とした回帰モデル

SVR

時系列分析

Clustering

階層型クラスター分析(凝集法)

対象同士の近さを表すデンドログラム(樹形図)を描写することで、クラスター数を何個に分けるのが適切かをビジュアルで表す手法。
但し、樹形図で表現できる範囲になるため、対象の数は数百が限度。それを超えると、読み込みが大変。

Data Mining, Big Dataの世の中になる中で、データ量が莫大に増えていき、あまり使われなくなった。

-Python+matplotlibでDendrogram付きHeatmap
-Python: 階層的クラスタリングのデンドログラム描画と閾値による区分け
Tweet

非階層型クラスター分析(k-means)

最も有名な非階層クラスタリングの手法。クラスター数をK個に分けるとした場合に、どの様に分けるのが最適化をインプット情報を元に、自動的に判断してくれる。

クラスター数(K)を事前に決めることが必要であるというのが、この手法の最大の特徴であり弱点。これを回避するために、K-means++やX-meansといった、自動的に最適なクラスター数を導き出してくれる手法も開発されている。

顧客を購買傾向によってクラスタリングを行う場合にも使われるが、数万人が入るクラスターと数人しか入らないクラスターが同時に存在するなど、極端な分かれ方になることが多く、それを回避するためのパラメーターの調整が大変なため、個人的にはあまり使用しない。

スペクトラルクラスタリング

自己組織化マップ(SOM, Kohonen)

ニューラルネットワークの一種で与えられた入力情報の類似度をマップ上での距離で表現するモデル。

マップ上(2次元)で表現するため、クラスター数を決める際に、3×3のマップなど縦横を意識した掛け算で考える必要がある。
(そのため、クラスター数5とか、7とかの素数は、1×5, 1×7にしかならず、なんとなく気持ち悪い)

個人的に、顧客クラスタリングといえば、この手法を用いるべきというくらい愛用している。
K-meansなどの他の手法に比べて、極端な分かれ方になることが少なく、縦横で傾向がでやすいため、結果の解釈が誰にとっても分かりやすい。

T. Kohonen博士が考案したモデルなので、自己組織化マップ(SOM)ではなく、Kohonenと呼ばれることも多い。

トピックモデル

元々は文章中の「単語が出現する確率」を推定する、自然言語処理における統計的潜在意味解析の手法として用いられてきたが、数値確率モデルの一種で、「出現する確率」を推定する。データで用いることで1:1ではないネットワーキング(例:1人の顧客が、1つのクラスターに属するのではなく、複数のクラスターに属する。クラスターAに属する確率が60%、Bは30%・・・と属する確率が分かれる)にも用いられる。

トピックモデルといっても、様々な手法があるがLDA(Latent Dirichlet Allocation)が用いられるケースが多い。

所属確率が分かれるモデルのため、商品DNAの考え方と相性が良い(と個人的に思っている)。

次元圧縮

学習を支える仕組み(こっちがメインの場合も)

パラメータチューニング

特徴量選択

その他

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8