バックエンド

そもそも、機械学習とは何だったか?

Photo credit unsplash-logoAlex Blăjan

“Python 機械学習プログラミング 第2版” の第1章を要約しました。

機械学習とは

機械学習とは、データの意味を理解するためのアルゴリズムの応用と科学である。データからパターンを抽出し将来の事象を予測するのに役立つものである。

データを知識に変える

機械学習は、人工知能の一分野として発展した。データから知識を引き出す効率的な手段を提供することで、予測モデルの性能を向上させて、データに基づいて決断することができるようになった。

機械学習の種類

機械学習には大きく分けて3つの種類がある。「教師あり学習」「強化学習」「教師なし学習」である。

教師あり学習


ラベル付け(望ましい出力が定義)されたトレーニングデータからモデルを学習し、道のデータや将来のデータを予測するのが教師あり学習である。具体例としては、メールのスパムフィルタが挙げられる。

強化学習


環境とのやりとりに基づいてモデルの性能を向上していくのが強化学習である。教師あり学習との類似点として、報酬関数によるフィードバックがある。しかしこれは正解か不正解かを定義しているのではなくどれくらい良いのか悪いのかを数値で表現している。具体例としてチェスが挙げられる。

教師なし学習


教師あり学習と違いラベル付けもされておらず、その特徴などが不明なデータから隠された構造を発見するのが教師なし学習である。具体例としてマーケティングでの応用が挙げられる。

機械学習システムの開発ロードマップ

機械学習を使って予測モデルを構築する際に一般的なワークフローを見ておく。

前処理

生のデータがそのまま予測モデルの最適化に必要な状態であることはほとんどない。そのため、特徴量の大きさ水準を揃えたり、次元削減するなどの前処理が必要になる。

トレーニングと選択

さまざまな問題を解決するために、さまざまな機械学習のアルゴリズムがある。そのためジウbんの取り組む問題に最適なアルゴリズムを選ぶ必要がある。

モデルの評価

トレーニングデータセットにうまく適合するモデルを選択したあとは、汎化誤差(学習時に使用しなかったデータに対する予測値と正解の差)を評価する。