お金、ビジネス、テクノロジー

20代後半サラリーマンがお金、ビジネス、テクノロジー等について愚見を述べるブログ

【機械学習】教師あり学習の代表的なアルゴリズムとその特徴について

こちらの本を参考にまとめてみました。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

 

 ■最近傍法

・小さいデータに関しては良いベースラインとなる。説明が容易。

 

■線形モデル

・最初に試してみるべきアルゴリズム。非常に大きいデータセットに敵する。また、非常に高次元のデータに敵する。

 

■ナイーブベイズ

・クラス分類にしか使えない。線形モデルよりもさらに高速。非常に大きいデータセット、高次元データに適する。線形モデルより精度が劣ることが多い。

 

■決定木

・非常に高速。データのスケールを考慮する必要がない。可視化が可能で説明しやすい。

 

■ランダムフォレスト

・ほとんどの場合、単一の決定木よりも高速で、頑健で、強力。データのスケールを考慮する必要がない。高次元の疎なデータには適さない。

 

■勾配ブースティング決定木

・多くの場合、ランダムフォレストよりも少し精度が高い。ランダムフォレストよりも訓練に時間がかかるが、予測はこちらのほうが速く、メモリ使用量も小さい。ランダムフォレストよりもパラメーターに敏感。

 

サポートベクターマシン

・同じような意味を持つ特徴量からなる中規模なデータセットに対しては強力。データのスケールを調整する必要がある。パラメータに敏感。

 

ニューラルネットワーク

・非常に複雑なモデルを構築できる。特に大きなデータセットに有効。データのスケールを調整する必要がある。パラメータに敏感。大きなモデルは訓練に時間がかかる。

 

教師なし学習等、今後も追記していきたい。