Deep Learingの5章を読んだまとめ

deep learning系の資料として有名なこちらを読んだのでそのまとめをメモ

www.deeplearningbook.org

今回は第5章 Machine Learning Basicsについて

5. Machine Learning Basics

機械学習における学習の定義 - タスクTに関して経験Eから学習し指標Pによって計測されるとき、Pの値が改善したのならTについてEから学習したといえる

タスクTは分類、回帰、機械翻訳などの種別のこと 指標Pはパフォーマンスを表すもの(タスクや学習の目的によって異なる) 経験Eは学習用データセットのこと

Capacity and Underfitting, Overfitting

機械学習で重要なのは、学習時に見たことがないデータに対して良い予測を行うこと。見たことがないデータ(test set)に対する性能のことを、汎化性能という(generalization)

  • training error
    • 学習データ(training set)に対するエラー率
  • generalization error (test error)
    • 学習時に見たことがないデータ(test set)に対するエラー率
  • Underfitting
    • training setに対するエラー率が高い状態
  • Overfitting
    • training setに対するエラー率は低いが、test setに対するエラー率が高い状態
  • モデルの容量(model capacity)
    • そのモデルで表現できる複雑さの大きさのこと
    • モデルの容量が大きければ表現力は増すが、過学習しやすい
    • モデルの容量が小さければ汎化能力が高いが、真の分布を学習できない可能性がある

一般的に汎化性能を上げるには以下のどちらかが必要

  • モデル容量を小さくする
  • 学習データを増やす

容量の制御には仮説空間を考える
仮説空間=学習アルゴリズムが解として取りうる関数の集合
y = wx + bであれば一次関数だし、次数を上げればn次関数となる
最もパフォーマンスが良いのは、学習対象の真の複雑度と学習データ量に対し、適切なモデル容量を選んだ場合

モデルの選択についての経験的な基準
同程度のエラーであれば、モデルがシンプルなものを選ぶべき

すべてのあり得るデータ分布で学習させたとすると、どんな機械学習アルゴリズムを使っても同程度のエラー率になる(test setに対して)
なので、すべてのタスクについてベストな機械学習アルゴリズムというものは存在せず、特定のタスクに対してよい性能を得るモデルを目指すべき

generalization errorを小さくするためにRegularization(正則化)が行われる
よくある例としては、誤差関数に学習パラメータ自体を足すことで、パラメータの値が小さいことを強制するものがある(weight decay)

Hyperparameters and Validation Set

validation setはgeneralization errorを測るためのデータセット
その推移によってパイパーパラメータの調整を行う。トレーニング中や後に汎化性能をチェックし、過学習していないことを確認したり、過学習前にトレーニングをやめるなど

そのため、training setと同じ確率分布から生成されたデータセットを使う

例えばよく行われる方法として、training setの中から10%くらいを抽出してvalidation setとする

注意点としては、test setとは異なるデータを使うということ
ハイパーパラメータの調整を行うために使うのがvalidation setであるため、学習の過程にvalidation setの影響が入ってしまう
それをtest setとして使うのは、test set(学習中に見たことのないデータ)の意味から外れてしまう

cross validation

test setが少ない場合にそれを補完するための手法 データセット全体をk個のsubsetに分けてk回のトレーニングを行う。i回目のトレーニングではi番目のsubsetをtest setとして使う

Estimators, Bias and VarianceThe

学習した値のよさを測るために役立つものの紹介

Point Estimation

ある一つの最適な値があるとして推定する方法
ここでいう値とは、数値という意味ではなく、ある値から別の値への変換(=つまり関数)も含む

慣習として真の値をθ、推定値をθ^と書く
良い推定値とは、真の値θに近い推定値θ^のこと

考え方としては
training dataは真の値θを元に生成されたとする
生成されたtraining dataからθ^を予測し、θに近づけていくのが学習
予測したθ^からデータを生成するのが推論

bias

推定したパラメータθ^の期待値E(θ^)と真のパタメータθの差をbiasという
bias(θ^) = E(θ^) - θ

平均値からどの程度ずれた場所にいるかの指標に使う
biasが小さいほど真の値に近いという意味なのでよい

variance, standard error

同じ確率分布からもう一度サンプリングした場合に、どの程度異なるデータになるか
大きいほどサンプリング毎に異なるデータが生成されることになる

最小二乗誤差で測る場合、モデルのcapacityが大きくなるほどbiasは小さく、varianceは大きくなるのが一般的

最尤推定

p(x;θ)による確率のtraining setに対する期待値が最大化されるパラメータθを求めること
これはtraining setの分布と推定値の分布のKL divergenceの最小化と同じこと
さらにこれは、cross entropyの最小化と同じこと

最尤推定のメリット
サンプル数mが無限に大きくなるにつれて真の値に近づくことが示されていること
推定したパラメータと真のパラメータの最小二乗誤差が、最尤推定値より小さくなるものは存在しないことが示されている(Cramer-Rao lower bound)

ベイズ推定

最尤推定は事象の頻度を用いてパラメータθの値を一つ推定する(点推定)
不確かさの度合いはvarianceによって測る

ベイズの場合はすべてのとりうるパラメータθの値を考慮する
予測をする場合、θに対する積分によって確率を計算する
また、事前確率を考慮できることが大きな違い

サンプル数が少ない場合、ベイズ推定の方がよい汎化性能を得られることが多い
ただし、サンプル数が多い場合は計算コストが高くつく

MAP Estimate

事後確率が最大となる確率θを推定する
最尤推定がこれまでのデータのみから計算するのに対し、MAP推定の場合は事前分布を考慮できる
点推定であることは同じ

こちらがわかりやすい
https://qiita.com/jyori112/items/80b21422b15753a1c5a4 http://machine-learning.hatenablog.com/entry/2016/01/27/191020

Unsupervised Learning

教師データなしでの学習
特徴抽出や情報圧縮でよく使われる

  • lower-dimensional representation
    • 次元圧縮
  • sparse representation
    • ほとんどの要素が0である行列に変換(残った要素が重要な情報を表す)
  • independent representation
    • 関連のうすい要素を分離する

Challenges Motivating Deep Learning

これまでの機械学習では複雑なデータや特徴を表現しきれなかった
それらをうまく扱うことができたのがdeep learning

次元の呪い

次元が大きい場合に発生する困難のこと

次元が増えるごとに要素数はexponentialに大きくなっていく
そのため、大きな次元を扱うほど汎化が重要になる
そして、現実のデータは基本的に次元数が大きい

1次元あたりの要素数n, 次元数dとすると
総要素数N = n ^ d

Local Constancy and Smoothness Regularization

機械学習でうまく汎化性能を上げるために用いる前提条件がsmoothness priorとlocal constancy prior

これの意味は

  • 学習させる関数は局所的な領域で連続になっている

ということ

シンプルな学習の場合はこのpriorに依っているが、より複雑なタスクの場合この前提だけでは不十分

一般的にO(k)の分類をする場合、O(k)のexamplesが必要(それぞれのクラスを持つtraining dataが必要)

training dataより多くの分類クラスを表すために必要なのは、O(k)のexamplesでO(2k)の領域を表すこと
領域間の依存をdata生成分布から取得して追加の前提条件として活用する

簡単な例の場合、追加の前提条件は周期性の仮定だったりする
deep learninigを適用するような複雑な例の場合、そのような強い制約ではdataを表現しきれない

そのためもっと一般的な以下の仮定をおく

  • dataは "composition of factors" により生成された
    • composition of factors: data背後にある独立した要素の組み合わせのこと
多様体仮説

一見大きな次元で表現されているように見えるものでも、その重要な特徴は低次元の形状の上に乗っているといえる場合がある

例えば、道は当然3次元のものとして空間上に存在してるが、認識の上では一次元の存在して認識することも多い
道が伸びている1次元の方向に対して有効な特徴が多く乗っているといえる

情報そのままの次元数ではなく、低次元化した状態で表現することでうまく扱える可能性がある