機械学習手法の一覧

AI

初めに

本ページは、代表的な機械学習の手法をメモ程度にまとめたものです。
間違いなどがあればご指摘いただけると幸いです。

教師あり学習

回帰

線形回帰

  • 対象: 回帰
  • 説明性: あり

回帰問題を解く上で最もシンプルなモデルです。そのシンプルさゆえに、実装が簡単かつ学習にかかる時間も短いですが、難しい問題に対しては十分に学習できない恐れがあります。

ロジスティック回帰

  • 対象: 分類
  • 説明性: あり

回帰によって分類する手法。線形回帰の出力をロジット関数に入力することで、2分類問題に対応した回帰モデル。

サポートベクターマシーン(SVM)

  • 対象: 分類
  • 説明性: あり

回帰によって分類する手法。マージン最大化を取り入れることで、少ないデータでも汎化性能が高い分類回帰モデルである。ただし、学習時間は長くなる。

決定木(回帰木と分類木)

  • 対象: 分類、回帰
  • 説明性: あり

木構造のモデルを用いる手法。決定木には、2つあり分類木と回帰木がある。

分類木・・・上から1つの説明変数とその閾値によってデータを2つに分け、さらに枝先で同様に別基準でデータを分けることによって、分類するモデル。

回帰木・・・決定木によってデータを分割し、分割されたデータ群毎に生成した回帰モデルを利用して、予測を行う。大量のデータがなければ、過学習可能性が大いにある。

ランダムフォレスト

  • 対象: 分類、回帰
  • 説明性: あり

決定木を大量に生成し、各決定木の結果を集計し多数決して予測する手法。各決定木は独立しており、説明変数からのサンプリングまたは学習データからのサンプリングによって、異なる特性を持つように学習する。汎化性能が高い。

勾配ブースティング決定木(GBDT, 決定木×勾配降下法, ブースティング)

  • 対象: 分類、回帰
  • 説明性: あり

勾配降下法とアンサンブル学習のブースティングを決定木に適用した手法。

勾配降下法・・・ある目的関数を最小化するために用いられ、目的関数が連続関数である場合に用いることができる有効な手法

ブースティング・・・「ある一つをベースモデルとして先に学習させ、ベースモデルの誤判定を加味して次のモデルを学習する」ということを繰り返し、最終的に全てのモデルを用いて全体の出力を構成します。これにより徐々に過学習的に訓練データにフィッティングしていき、また過学習していないモデルも含めて全体の意思決定を行うためバイアスが低下する傾向があります。ただし、もちろんモデルの数を増やしすぎると過学習を招きます

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

パーセプトロン

  • 対象: 分類、回帰
  • 説明性: なし

入力、中間、出力の3層からなるニューラルネットワークの手法。バックプロパゲーションを用いた学習が一般的。複雑な表現を再現できるが、その分過学習もしやすい。ディープラーニングが登場する前の代表的なニューラルネットワークの手法。

畳み込みニューラルネットワーク(CNN)

  • 対象: 分類、回帰
  • 説明性: あり?(GradCam)

畳み込み層とプーリング層からなるニューラルネットワークの手法。前段の層では、情報の圧縮(次元集約)を行い、後段の層では特徴抽出を行う。特に画像において有用な結果が現在示されている。

再起型ニューラルネットワーク(RNN)

  • 対象: 分類、回帰
  • 説明性: なし

連続的な情報の入力に対応したニューラルネットワークの手法。現状では、特に文章において有用な結果が示されています。

ベイズ

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

  • 対象: 分類
  • 説明性: なし

各要素(説明変数)が独立に予測対象に影響を与えていると仮定して、ベイズの定理を活用し、最もその分類が発生する確率が高いものを予測とする手法。リアルタイムでの処理や文書データに用いられる。

時系列

AR,MA,(S)ARIMAモデル

  • 対象: 回帰
  • 説明性: あり

時系列データを実績値のみから予測する手法。過去の値からの回帰(AR)や過去の共通要素(MA)から値を予測する。また直接値を予測するのではなく、階差(I)を予測し、階差から値を計算する方法もある。さらに、周期性(s:季節性)を加えることもできる。

クラスタリング

k近傍法(kNN)

  • 対象: 分類
  • 説明性: あり

既に答えがわかっている問題を教師あり学習していく手法で、遅延学習として分類される。k近傍法では、学習データをベクトル空間上にプロットする。未知のデータが出てきたときには、距離が近いほうから任意でk個のデータを取得していく。最終的に、多数決によってデータが属するクラスを推定します。分類は距離に基づいておこなわれるため、ユーグリッド距離やマンハッタン距離など適切な距離を選ぶことが重要です。データセットの特徴に見合ったkを選ぶことも欠かせず、データセットの特徴やkの選び方が合っていないと答えが1つに確定しない可能性があります。

教師なし学習

クラスタリング

階層型クラスタリング(ユークリッド距離*ウォード法など)

  • 対象: 分類
  • 説明性: あり

指定された変数からデータ間の距離を定義し、その距離を用いて指定したルールを用いてデータをグループ化する。クラスタ数(分類数)は、計算後に指定して変更できる。

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

  • 対象: 分類
  • 説明性: あり

指定されたクラスタ数(分類数)に従って各データをランダムに各クラスタに割り当て、重心とデータ間の距離から再度データにクラスタを割り当てる処理を繰り返し、データをグループ化します。初期値によって結果が異なる点などの問題がある。

トピックモデル(LDAなど)

  • 対象: 分類
  • 説明性: あり

同じデータ内に存在する要素は共通のトピックを持っている可能性が高いという前提から、トピック毎に各要素の出現率を計算し、さらにそれを各データに再度適用して、各データのトピックスコアを計算する。トピック数は入力値として与える。計算量が非常に多い。

次元削減

主成分分析(PCA)

  • 対象: 分類
  • 説明性: なし

次元削減前後のあるデータ点とあるデータ点の近さを同時確立として表現し、元データと次元削減後のデータの近さをKL divergence(カルバック・ライブラー ダイバージェンス)を最小化することで次元削減の学習を行います。t-SNEはPCAなどの可視化手法とは異なり、線形では表現できない関係も学習して次元削減を行える利点があります

t-SNE

  • 対象: 分類
  • 説明性: なし

次元削減前後のあるデータ点とあるデータ点の近さを同時確立として表現し、元データと次元削減後のデータの近さをKL divergence(カルバック・ライブラー ダイバージェンス)を最小化することで次元削減の学習を行います。t-SNEはPCAなどの可視化手法とは異なり、線形では表現できない関係も学習して次元削減を行える利点があります

強化学習

動的計画法

環境のモデルがMDP(マルコフ決定過程)として完全に与えられている時の解法アルゴリズムです。

マルコフ決定過程・・・未来の状態は現在の状態・行動のみによって確率的に決定され、過去の挙動と無関係であるという条件を満たす強化学習過程のことです。

TD手法

最終結果を見ずに、現在の推定値を利用して次の推定値を更新していく方法です。動的計画法は状態遷移確率があらかじめわかっていなければならないという欠点を補うことができます。代表的には、SarsaやQ-learningの学習方法があります。

コメント

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