機械学習
機械学習とは
効率的かつ効果的にコンピュータが学習を行うための理論体系のこと。
コンピュータに高度な認識能力を持たせるためには
パラメータを与えないといけないが
機械学習は入力されたデータをもとに
もっとも適切なパラメータを自動的に学習することができる
従来の暗記学習は未知のデータが来た時に処理が停止する
単に「データから法則性を抽出する統計的手法」とも言われる
機械学習の定義
「機械学習とはある学習データEからクラス分けするタスクTがありそのパフォーマンスをPとする。そして、学習データEから学習することによってパフォーマンスPを向上させるコンピュータプログラムのこと」
機械学習の3要素
入力データ
機械にわかる決められたフォーマットにする必要がある
データの重複や誤記を取り除く
アルゴリズム
入力されたデータをもとにデータの持つ特徴量を抽出する。 出力データ
機械学習のパフォーマンス向上
量はもちろんだが質を上げる方が大切
機械学習の目的
すべてのデータを集めることはできない。
限られたデータの中で、その背後に隠れた情報で構成された空間を潜在空間という。
機械学習に何ができる?
機械学習で最も利用される。
数ある候補の中から最も確度が高い候補を推定すること。
リスク判定や画像認識に使われる。
モデルをもとに、対象データから値を予測する。
クラス識別とにているが出力が異なる。
価格予測やコンバージョン予測に使われる。
似たもの同士を自動的にグルーピングする。
顧客のグルーピングなどに使われ
考慮すべきパラメータの数を減らす
データ圧縮で使われ
機械学習のプロセス
機械学習ではコンピューターが入力データを受け取り
最初に行うのは、
期待される出力データと学習モデルが計算した結果を比較し学習モデルを修正する作業
修正を繰り返した後に最終的な学習モデルを保持する。
機械学習の基礎知識
機械学習のデータの与え方
問題と答えがセット
問題だけ
問題と報酬あげる
機械学習のプロセスとコア技術
基本ワークフロー
機械学習システムの開発は通常と比べ試行錯誤が多く出戻りが発生しやすい。
まずは解決したい問題がそもそも機械学習に向いているのかどうかを見極めることが大切。
1. 全体設計
1. 問題の定式化
何を求めているのか、機械学習を利用する目的を明確にする。
2. システム設計
機械学習の詳細を除いた全体のフローを考える。
データをどこから取得して、最終的にどういった形で利用するかをしっかり決める。
2. 機械学習の設計
1. 機械学習アルゴリズムの選択
適用する問題に合わせて、教師あり、なし、強化学習などの各種アルゴリズムから適切なものを選ぶ
どのようなデータを入力するか決める。
余分なデータがあると予測性能が低下する恐れがあるため
余分なものの削除や整形、別形式への変換などを行う。
実際にデータを使って学習させる
4. 予測結果の検証と評価
精度の評価基準を事前に決め、評価や検証を行う。
汎化性能
5. ハイパーパラメータのチューニング
3. 運用
1. システムの運用
機械学習において重要な事は
データを学習することで未知のデータの予測や分類を行えるようになること。
この未知のデータに対する予測や分類の精度のことを汎化性能と呼ぶ。