過学習は機械学習の最大の問題~正則化(Lasso)~ドロップアウト

学習済モデルが、学習に用いていない未知のデータに対しての予測値が悪いままになってしまう問題。→正則化

学習期間が長すぎたり、訓練データが典型的なものでなかった場合、学習者は訓練データの特定のランダムな(本来学習させたい特徴とは無関係な)特徴にまで適合してしまう。

このような過剰適合の過程では、訓練データについての性能は向上するが、それ以外のデータでは逆に結果が悪くなる。

訓練誤差・汎用誤差・ドロップアウト

当該レイヤーのうちの指定割合だけノードを活性化させるのではなく、各ノードが活性化する確率が与えられる。

r(l)j∼Bernoulli(p)rj(l)∼Bernoulli(p)
y(l)~=r(l)×y(l)y(l)~=r(l)×y(l)
z(l+1)i=w(l+1)iyl~zi(l+1)=wi(l+1)yl~
y(l+1)i=f(z(l+1)i)yi(l+1)=f(zi(l+1))

この式のrrの部分が具体的にDropoutを表している。レイヤー内の各ノードに設置され、その値はベルヌーイ分布に従う。

つまり、確率ppで11,1−p1−pで00となる。
この場合は、y(l)iyi(l)が確率ppでそのまま次のノードの入力値となり、確率1−p1−pで00を次のノードに与える。
訓練時にはこのように、活性化されたノードと不活性化されたノードを持つ状態でパラメーターの更新を行い、テスト時には、そのパラメーターに上記で指定したppを掛ける。式で書くとW(l)test=pW(l)Wtest(l)=pW(l)となる。

『複数のモデルの組み合わせ』とは要するに、訓練時に活性化してるノードによってできる異なるネットワークによる組み合わせのこと。nn個のノードがある場合は2n2n個のネットワークができうる。それらのネットワークでパラメータが更新されるため、『複数ネットワークによるパラメーター更新』となっている。

ディープラーニングが学習中に、ところどころ参加しているニューロンをランダムにドロップアウトさせるのです。

(ここで言うニューロンは、ディープラーニングの各層における、人間の脳のニューロンに当たるものを意味しています)。

あらら、ドロップアウトってランダムに枝を無効にするんやなかったっけ??

追加の技法(交差検証)

統計学において標本データを分割し、その一部をまず解析して、残る部分でその解析のテストを行い、解析自身の妥当性の検証・確認に当てる手法を指す。

データの解析(および導出された推定・統計的予測)がどれだけ本当に母集団に対処できるかを良い近似で検証・確認するための手法である。