Egaoichi
← ブログ一覧に戻る
機械学習基礎チートシート

機械学習基礎チートシート

投稿日:
著者:Haruki

0.はじめに

教師あり学習

・ 回帰予測

・分類(ラベルあり)

教師なし学習

・クラスタリング(ラベルなし)

・次元削減

1. 教師あり学習

・回帰分析

・k-近傍法(k-NN)

K近傍法とは、未知データの分類をする方法の一つで、kは近くに存在する学習データの数を表す。既にクラス分けされたデータを学習させておいたうえで、未知データを分類させる方法である。kを変化させることで、クラスが変わる可能性があるため、最も適切なkを選択し、効率良く分類を収束させる必要がある。

・線形判別分析

・独立成分分析

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

SVMとは、分類や回帰分析などを実行するための教師あり学習モデルである。サポートベクターマシンの役割は、異なるグループのデータを効率良く分類する手法である。データ間で最も適切な境界線を定めて分類する。サポートベクターマシンを利用するメリットは、過学習の起きにくさ、識別精度の高さ、試行回数の少なさ、未知データへの応用力である。分類の仕方は、異なるカテゴリのデータ点間に最大のマージンを持つ境界線を引く。つまり、最も境界に近いデータからの距離が最大になるように境界線を決める。手法としては、ソフトマージンとカーネル法の2つある。ソフトマージンはすべてのデータを完璧に正しいカテゴリに分類しようとせず、誤分類を少し許容する。カーネル法は、非線形なデータに対して、カーネル関数を利用して線形に扱い分類することで、精度を高くする。注意点として学習データが増えると計算量が膨大になってしまうため、大規模データには向いていないことである。

・ナイーブベイズモデル

・勾配ブースティング

2.教師なし学習

・k-meansクラスタリング

k-means法は、データをk個のクラスタに分割する手法。各データポイントは、最も近いクラスタの中心に割り当てられる。重心は、各クラスタ内のデータポイントの平均位置として計算される。このプロセスは、クラスタの割り当てが変わらなくなるまで繰り返される。kは分けたいクループの数で最初に決める必要がある。同じクラスの要素をかき集めるイメージ。クラスタの初期化方法(初期のクラスタ中心)によってクラスタリングの結果が変わる。そのため、初期のクラスタ中心はk-means 法は初期値依存性が高く、重心を「距離に比例して分散させて」初期値を設定すると効率的に収束する。初期値を分散させて設定しないと、偏りが発生し、効率が悪くなる。データのクラスタリングがある一定まで収束するまで続ける。

・階層的クラスタリング

近いデータ同士をどんどんまとめていくイメージで階層的になる。ボトムアップとトップダウンのアプローチがある。また、クラスタリングの規則として最小距離法と最大距離法がある。最小距離法は、データもしくはクラスタ間の距離が最小のものを順に選んでクラスタリングする。最大距離法は、データもしくはクラスタ間の距離が最大のものを順に選んでクラスタリングする。階層的クラスタリングは、データの階層構造を可視化するために、デンドログラムと呼ばれる木構造の図を生成することができる。データの背後にパターンを発見するのに役立つ。

・主成分分析(PCA)

主成分分析(PCA)は、データの次元を削減するための手法で、データの分散を最大化する方向に新しい軸を見つけ出す。これにより、データの重要な特徴を保持しつつ、次元を削減することができる。PCAはよくく多次元のデータを2次元もしくは3次元に次元削減し、データの可視化(散布図)で表せるようにするために使われる。。また、ノイズ除去、機械学習モデルの前処理などに広く使用される。

3.精度向上

・精度の高いモデル

サポートベクターマシン、ランダムフォレスト、ニューラルネットワーク、XGBoost、LightGBM

・精度を上げるための手法

アンサンブル学習法、ブートストラップ法、特徴量エンジニアリング

・アンサンブル学習法

バジング、ブースティング、スタッキング

・バジング

ランダムフォレスト

・ブースティング

XGBoost、LightGBM

・XGBoost

XGBoostでは、残差を学習していく。決定木を用いて残差を小さくしていく。葉の数と各木の最終的に予測した葉の重み(予測値)を用いてペナルティをかける(正則化)ことで、過学習を防ぎつつ精度を向上させる。時点tでの最終的な予測結果は、決定木の予測値と時点t-1での予測結果の和になる。高速な動作をする。ただし、残差に学習率をかけて調整することで、より多くのモデルを採用でき、精度を向上させ、過学習を防ぐ。学習率は0から1の値で、基本は0.3、0.1以下が良いとされている。

時点tの予測=前の予測(時点t-1)+学習率×t番目の木の出力(残差)

これを繰り返し行う。

・LightGBM

・スタッキング

・ブートストラップ法

・特徴量エンジニアリング


← ブログ一覧に戻る