【E資格対策】出力層と損失関数

ソフトマックス(Softmax)関数

入力ベクトルを正規化し, 各要素を 00 から 11 の範囲に変換するとともに, 全要素の和が 11 になるように変換する関数.

softmax(xi)=exijexj\text{softmax}(x_{i}) = \dfrac{e^{x_{i}}}{\sum_{j} e^{x_{j}}}

出力を各クラスの予測確率として解釈できる.

one-hotベクトル

一つの要素が 11 で, 他の要素がすべて 00 であるベクトル. 各カテゴリをベクトルのそれぞれの次元に対応させるように表現する.

one-hotベクトルを用いることで, カテゴリカルデータを順序に偏りのない数値データとして扱うことができる.

クロスエントロピー誤差・バイナリクロスエントロピー誤差

クロスエントロピー誤差

ソフトマックス関数を通した予測値と真の値との誤差を評価する.

L(y,y^)=iyilog(y^i)L(y, \hat{y}) = - \sum_{i} y_{i} \log(\hat{y}_{i})

ここで, yy は真の値の one-hot ベクトル, y^\hat{y}0y^i10 \leq \hat{y}_{i} \leq 1 を満たす予測値ベクトルである.

バイナリクロスエントロピー誤差

シグモイド関数を通した予測値と真の値との誤差を評価する.

L(y,y^)=i(yilog(y^i)+(1yi)log(1y^i))L(y, \hat{y}) = - \sum_{i} \left( y_{i} \log(\hat{y}_{i}) + (1 - y_{i}) \log(1 - \hat{y}_{i}) \right)

ここで, y{0,1}y \in \{0, 1\} は真の値, y^\hat{y}0y^i10 \leq \hat{y}_{i} \leq 1 を満たす予測値である.

タスクごとの出力層と損失関数

回帰

連続値を予測するタスク.

出力層の活性化関数としては恒等関数が一般的に用いられ, 受け取った値をそのまま出力する.

損失関数には, 通常 MSE や MAE が使用される. 後者の方が, 外れ値に対してより高いロバスト性を持つ.

2値分類

データを2つのクラスに分類するタスク.

出力層の活性化関数としてはシグモイド関数が一般的に用いられ, 出力値を確率として解釈することができる.

損失関数には, バイナリクロスエントロピー誤差が主に使用される.

多クラス分類

データを3つ以上のクラスに分類するタスク.

出力層の活性化関数としてはソフトマックス関数が一般的に用いられ, 出力値を確率として解釈することができる.

損失関数には, クロスエントロピー誤差が主に使用される.

マルチラベル分類

一つのデータが複数のクラスに属する可能性のある分類タスク.

出力層の活性化関数としてはシグモイド関数が一般的に用いられ, 各クラスの存在確率を独立して予測する.

損失関数には, バイナリクロスエントロピー誤差が主に使用される.

順序回帰

順序尺度データ(順序を持つカテゴリカルデータ)を扱う回帰タスク. 2値分類と多クラス分類の中間的な性質を持ち, 双方からのアプローチが可能.

2値分類としてのアプローチ

ペア間の順序関係を評価することを目的とする.

出力層の活性化関数としてはシグモイド関数が一般的に用いられ, 損失関数にはバイナリクロスエントロピー誤差が使用されることが多い.

多クラス分類としてのアプローチ

三つ以上のクラスラベル間の順序関係を考慮する必要がある.

出力層の活性化関数としてはソフトマックス関数が一般的に用いられ, 損失関数にはクロスエントロピー誤差が使用されることが多い.

参考文献