「Python Machine Learning」Ch. 1(イントロ)まとめ
これから機械学習を勉強していこうと思います(機械学習を学習する人間)。とりあえず「Python Machine Learning」を買ったので、読んでいきます。
Ch. 1の"Giving Computers the Ability to Learn from Data"はイントロで機械学習の基礎知識がまとまっています。
3種類の機械学習
機械学習は大きく以下の3つに分けられる。
- 教師あり学習(supervised learning)
- 教師なし学習(unsupervised learning)
- 強化学習(reinforcement learning)
教師あり学習
目的はラベル(正解)のついたデータを学習することで、未知のデータについての予測ができるようになること。教師あり学習はさらに、
- 分類(データが属するカテゴリーを予測)
- 回帰(データについての連続値を予測)
に分けられる。
教師なし学習
目的はよくわからないデータからデータの構造を見出し、また有益な情報を引き出すこと。代表的には、
- クラスタリング
- 次元削減
がある。
強化学習
目的は環境との相互作用によって、良いパフォーマンスをおさめるようなシステム(エージェント)を作ること。試行錯誤により、エージェントはあらかじめ決めておいた報酬を最大化するような行動を学習していく。代表的な例はチェスのエンジン。
機械学習の手順
前処理(Preprocessing)
ローデータが学習に都合の良い形になっていることはまれなので、良い感じにデータの形を整える。例えば、複数の特徴量のスケールを合わせたり、強い相関のある複数の変数を次元削減によって削除するなど。また、テスト用のデータセットをあらかじめ分けておく必要もある。
モデル選択と学習
精度の良さを表す指標と学習に用いるアルゴリズムを決める。「ハンマーしか持っていないとすべてのものが釘に見える」ので、いろいろな手法を知っている必要がある。
モデルの評価とデータの予測
モデルの学習の後は、テストデータを使ってパフォーマンスの測定を行う。もしモデルが十分良いことがわかったら、未知のデータの予測に使うことができる。