概要
過学習は深層学習において重要な問題である。過学習が起きている状態では未知のデータに精度よく予測することができない
過学習を防止するまでに様々な方法がある
この章では以下の項目を学んだ
・過学習の基礎
・正則化(確認テスト2つ含む)
・例題チャレンジ
・ハンズオン
過学習の基礎
過学習とは以下のようにテスト誤差と訓練誤差とで学習曲線が乖離することである
原因としては下記のようなことが考えられる
・パラメータの数が多い
・パラメータの値が適切でない
・ノードが多い
その対応としてネットワークの自由度(層数、ノード数、パラメータ値)を制約するなどがある
正則化
そもそも過学習の原因の一つとして「重みの値が大きい」ということがあげられる
重みが大きいと入力される特定のデータを過大評価してしまい、学習が進まなくなる
誤差に対して正則化項を加算することで重みを抑制する
<<確認テスト>>
①リッジ回帰の特徴として正しい説明を選択せよ
(a)ハイパーパラメータを大きな値に設定すると、すべての重みが限りなく0に近づく
②L1正則化を表しているグラフを選べ
右図
例題チャレンジ
L2パラメータ正則化
grad += rate*param
L1パラメータ正則化
x = np.sign(param)
データ集合の拡張
image = image[top:bottom, left:right, :]
ドロップアウト
ランダムにノードを削除させて学習させること
ハンズオン
weigth_decay_lambdaの値を変更して正則化の強さを確認
L1正規化のほうがL2正規化よりも減衰率の値を強く受ける
optimizerとdropout_ratioの値を変更
すべてのオプティマイザーにおいて0.15以上の値でacctuacy_scoreが低い