機械学習
 教師
 教師有り学習
 教師無し学習
 強化学習
 ランキング学習
 分類と回帰
 分類
 回帰
 最適化
 交差検証

 NN機能・要件
 NN構成・方式
 構成・方式など
 タスク
 導入
 Sample

 用語
 機械学習
 ・人の経験をデータに置き換えて機械が学ぶ。
機械学習も 探索問題 として定義
 ・与えられた問題に対する汎化能力(まだ見ぬデータを正しく評価)を獲得する。
 ・コンピュータにプログラムで言葉やルールを書かなくても自分で学べるようにする。
プログラム(もどき)を自動的に作成する。
分類器(classifier)やモデル(model)などと呼ばれる。
プログラム(もどき)の生成 自体が 探索問題
探索の結果得られたプログラム自体はほとんどの場合、探索処理でない。
 ・機械学習では、反復的に計算を繰りし、そこに潜むパターンを見つけ出す。
機械学習は規則できっちり規定できない処理に対して使われることが多い。
 ・大量のデータから特徴(一貫性のある規則)を学習する。
「分け方」を自動的に習得する。
従来の機械学習では、学習のために着目すべき「特徴量」を人間が指定
数学の統計の分野と強い関連をもつ。
 ・人間が学習しうること全てを学習させる。
 ・機械学習の問題を解く手順は、2つのフェーズ 学習推論
モデルの学習を行う。
学習したモデルを使い、未知のデータに対し推論を行う。
 ・データは観測センサーなどの手段で収集
 ・機械学習で避けるべきことは、過学習

 教師有り教師無し     アルゴリズムなど
 ・予測や判定の対象となる正解(判断軸)が存在するかどうか

 教師有り学習  (supervised learning)     アルゴリズムなど
 ・予測や判定の対象となる正解(判断軸)が存在する。
正解が存在しない場合は回帰や分類の問題には対応できない。
「このような入力(特徴)だとこの答え」というパターンを学習
 ・過去のデータから将来発生しそうな出来事について予測する。
 ・未知のデータに対して予測を行う。

 教師無し学習  (unsupervised learning)     アルゴリズムなど
 ・予測や判定の対象となる正解が存在しない。
 ・学習用データのみで、学習データから規則性を発見する。(特徴量を抽出)
 ・クラスタリング
データに内在するグループ分けを見つけ出す。

 強化学習  (reinforcement learning)
 ・エージェントが得られる報酬により行動を決定、よい行動を学習
データがほとんどない状態から開始しデータを集めながら学習

 ランキング学習 (Learning to rank(LTR)、(MLR))
 ・情報検索システムなどのランク付けモデルの構築における、機械学習のAP
順位予想やウェブページランキング(サイトの検索の検索結果)などに用いる。
通常は教師有り学習、半教師あり学習または強化学習の場合もある。
 ・データ同士の相対的な順序関係を学ぶためのアルゴリズム
定義した重要度に基づいて情報を並べる。
適合度が高い順に並べる。
検索などで重要な情報を素早く認識できる。
 ・良さなどの絶対的な尺度は必要ない。
予測値の絶対的な値より、相対的な順位を予測したい。

 分類と回帰
 ・離散と収束
y=f(x) というモデル摘要で、yが離散であれば分類、連続値であれば回帰

 分類
 ・与えられたデータがどのクラスに属するか、を分類する。
出力はカテゴリ
 ・予測するクラス数が2クラスの場合、二項分類(二値分類)
合格か不合格か、買うか買わないか
 ・多クラス分類
与えられた手書き数字は、0から9(10クラス)の中のどれか。
 ・クラス分類は、順序が無いクラスへのマッピングを行う。

 回帰  (Regression problem)  アルゴリズムなど
 ・連続値などの値の予測
出力は実際の値
予算から売上を予測
 ・回帰は、実数へのマッピングを行う。
 ・順序付き回帰(Ordinal Regression)又はランキングは、順序付きのマッピングを行う。

 最適化
 ・ハイパーパラメータの最適化手順
 ・最適化アルゴリズム (Optimizer)

 交差検証  (Cross Validation
 ・データの解析と評価を交差させ、より正確な推定値を求める手法
 ・モデルの汎化性能を評価する交差検証
訓練データとテストデータを交差させ、それぞれの評価の平均を取得
一つのデータセットで学習から評価までを行う場合
全てのデータを一度は訓練・テストデータ両方に使う。
各fold毎にモデルを作り直す必要がある。
 ・ハイパーパラメータチューニングのための交差検証
ハイパーパラメータの調整に検証データを用いる。
各foldの検証データに対して、最も良い評価のハイパーパラメータを探索
検証データに対する評価の平均が実際よりも高く見積もられる可能性
別にテストデータが存在することが前提
 ・K分割交差検証  (K-Fold Cross Validation)
データをK個に分割し、K-1個を訓練データ、1個をテストデータにする。
データを交差させながらK回検証し、得られた結果の平均値を求める。
scikit-learn に用意されている KFold() を使用