目次
- 機械学習とは
- 機械学習の種類
- 参考文献
機械学習とは
AIの一種。
与えられたデータ(訓練データ)から自動的に学習するもの。
一つの学習アルゴリズムを作れば、その後はコードを書かなくても自動で更新する。
機械学習が得意な問題
- 大量な調整作業やルールリストの更新 (ex. スパムメールの自動フィルタリング)
- 今までの手法では解決できない問題を新しい手法で解決すること(ex. 自動運転)
- 変動が激しい環境でも、直ぐに学んで対応すること
- 複雑なシステムや大量データから新しい知見を獲得すること
機械学習の種類
大きく分けて3つに分類できる。
- 教師あり学習
- 教師なし学習
- 強化学習
それぞれの学習に説明をする。
教師あり学習
ラベル付き訓練データ(※)とテストデータを与えて学習させる。
例えるなら、生徒(機械)に問題(正解/不正解)を見せ続けて、確認テストで学習の成果を確認するようなもの。
ニューラルネットワークやディープラーニングは、これに当てはまる。
(※)ラベルとは、訓練データにあらかじめ分類した名札のようなものである。
例えば、花の分類なら花の名前を、動物の分類なら動物の名前をラベリングしてデータに添付する。
教師なし学習
ラベルがない訓練データをデータを与え学習させるシステム。
データからパターンやルールを見つけさせるシステム。
クラスタリング(データを仕分け)や異常検知(パターンから推測する)などに使われる。
強化学習
与えられた環境に対して、良い成果を上げることを目的とした学習システム。
エージェント(プレイヤー)が行動を起こして、その行動によって環境が返す報酬(結果)を受け取り学習するシステム。
ゲームのスーパーマリオに例えるなら、
機械が操作するマリオ(エージェント)が、敵・地形を含めたマップという環境に対して、良いスコア(クリアタイムやコイン獲得数)を取るように繰り返し学習するようなもの。
他にも色々な機械学習がある
- オンライン学習
- バッチ学習
- モデルベース学習
- インスタンスベース学習
参考文献
- scikit-learnとTensorFlowによる実践機械学習
- ゼロから作るDeep Learning
- Pythonで動かして学ぶ! あたらしい 機械学習の教科書