目次
損失関数とは
前回の記事でも少し書きましたが、損失関数は最適解の基準となる良し悪しの評価し、ニューラルネットワークの学習で用いられる関数を指します。
ただし、今回はニューラルネットワークで使われる損失関数の話となるため、コスト関数が非凸な関数となる可能性が高く、単純ではありません。
また、機械学習やディープラーニングを用いた実装では、学習用データの損失が小さすぎるというのも問題が生じる可能性があるため、設計時に踏まえておくべき側面について、まとめていきたいと思います。
損失関数関数の種類(Loss Function)
広く一般的に使われる平均二乗誤差以外に、目的に応じてコスト関数の設計は必要。
例えば、ステップ関数のように0 or 1しか返さないような関数を使ってしまうと、結果パターンが2つしかないため、どの程度の状態なのかを評価できない。
このようなケースもあるため、それぞれの特徴についてまとめる。
- 平均二乗誤差: 一般的に使われる。二乗和でも問題ない
- クロスエントロピー:分類などで使用する。値の範囲を0~1をとり、推定した確率分布と正解の確率分布がどの程度異なるかを測る。分類項目それぞれに属する確率を示しており、すべてを合計すると1(100%)となる。
ニューラルネットワークの普遍性定理について
1989年にG.Cybenkoの論文にて提唱された定理であり、
「ニューラルネットワークは中間層1層で任意の関数を近似できる」といったもの。
つまり、入力層と中間層、出力層の3層でどんな関数も表現可能ということ。
ただし、中間層のノードを大量にしないと解決できないケースも想定され、層を増やすことでより少ないノードで解決ケースもある。
別名、万能近似定理と呼ばれる。
まとめ
今回はニューラルネットワークの設計の残りの部分について、まとめました。
詳しい内容は次にまとめていこうと思いますが、ここまででニューラルネットワークの構造や設計時の考え方について少しわかってきたのではないかと思います。