【完全版】機械学習モデル一覧

機械学習

機械学習で用いられるモデルは多岐にわたります。
いつも同じものを使うとは限らないので、一通りのモデルを理解しておく必要があるのです。

そんな機械学習で用いられるモデルを一覧にしてまとめてみました!

項目が非常に多いので、目次を参考にしながらみてください。

教師あり学習

正解データをもとに学習を行う、教師あり学習の手法です。
ほとんどのシーンで、このタイプのモデルが用いられます。

線形回帰

入力データに対して、それを貫くような直線or曲線を求めるものです。
非常にシンプルで、基礎的な手法です。

それゆえに弱点も多いですが、多くの手法では部分的に利用されています。

ロジスティック回帰

線形回帰を分類タスクに適用した手法です。
線形回帰の出力をロジット関数に入力することで、2分類問題に対応しました。

分類問題なので、入力は0か1の2値入力です。

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

主に分類問題に適用する手法です。
マージン最大化というテクニックを取り入れることで、少ないデータでも過学習を起こしにくいのが特徴です。

ディープラーニングが流行る前には、SVMが最も人気がありました。

決定木

木構造によって分類する手法です。
説明変数を木の分岐点で、仕分けしていくように情報を処理します。

木の大きさが十分に小さければ、人間が見て処理の内部を理解しやすいことが特徴です。

一方で、過学習が非常に起こりやすいです。

ランダムフォレスト

決定木を大量に生成し、各決定木の結果を集計して予測する手法です。
それぞれの木は独立しており、このような複数の学習器を並べる方法をアンサンブル学習と言います。

決定木の弱点である過学習も起こりにくく、ニューラルネットよりも計算資源を必要としないので人気の手法です。

簡単なタスクであれば、ディープラーニングを用いなくても、ランダムフォレストで十分な精度が出る場合が多いです。

ニューラルネットワーク(NN: Neural Network)

ディープラーニングの基礎技術です。
脳の神経細胞のつながりを簡易的に模したを層構造構造をとっております。

一昔前は性能が高いが、層を増やすと過学習を起こしやすく注目されていませんでした。
しかし、様々な工夫により汎化性能が向上し、今では多重に層を増やしたディープラーニングへと進化?しました。

以下のリンクで、ニューラルネットワークやディープラーニングに関連する記事をまとめています。

深層学習
「深層学習」の記事一覧です。

ナイーブベイズ(単純ベイズ)

説明変数の各要素が独立に予測対象に影響を与えていると仮定して、ベイズの定理を活用し、最もその分類が発生する確率が高いものを予測とする手法です。
主に文章に利用され、文章の単語をベースにした分類に使われます。

k近傍法(KNN)

同じラベルを持つ説明変数からデータ間の中間地点(重心)を利用して、未知の入力値を分類する手法です。
正解データが密である場合や傾向が大きく変わらないケースに有効です。

主に分類問題で利用されます。

教師なし学習

正解ラベルを付与しなくても、入力された情報から傾向を分析する手法です。
多くの場合は、そのまま利用されるわけではなく、教師あり学習の前処理や後処理で、付属的に利用されます。

k平均法(k-means)

k近傍法を正解ラベルなしで適用するものです。
説明変数の空間をk個に分類します。

何分割するかは、ユーザーが指定する必要があります。

主成分分析(PCA: Principal Component Analysis)

主にデータの次元削減に用いられる手法です。

説明変数の中から重要な特徴量(主成分)を特定します。
入力される特徴量の種類を減らすことで、過学習を防いだり、処理時間を削減することができます。

LDA (Latent Dirichlet Allocation)

与えられたデータを分類(トピック)毎のスコアを計算するトピックモデルの代表的な手法です。

自然言語処理で例えると、ある1つの文書が複数のトピックから構成されると仮定し、重要なトピックを見つけることができます。
トピックは単語ではなく、ある概念を表すベクトルで表現されます。

データセットを何個のトピックで表現するかは、入力値として与えます。
計算量は割と多めですが、最近のCPUならなんとかなります。

協調フィルタリング

主にAmazonなどで見るのレコメンドシステムに利用されます。
類似性を基に未知の組み合わせを予測します。

多くの場合、商品そのものの特徴ではなく、商品に対するユーザーの評価をその商品の特徴量として利用します。
逆にユーザーの特徴も、評価したor買った商品の種類で表します。

かなり成熟した技術であり、簡易的なものであれば、ライブラリなどを用いて簡単に実装することができます。

まとめ

もちろん、上記で挙げたもの以外にも機械学習モデルが提案されています。
しかし、ビジネス利用を考えた場合は、この記事のモデルを知っていれば十分です!

追加して欲しいモデルや詳しく解説して欲しいものがあれば、コメント欄から教えてください。

コメント

タイトルとURLをコピーしました