出力層のノード数と分類・回帰問題の関係
ニューラルネットワークの出力層(Output Layer)は、タスクの種類によってその構造が異なります。
特に「2クラス分類」と「回帰」の場合、出力層のノード数と活性化関数の選択が重要になります。
2クラス分類の出力層
2クラス分類(Binary Classification)とは
入力データが2つのカテゴリ(例:猫と犬、スパムと非スパム)に分類される問題です。
この場合、出力層のノード数は 2つ か 1つ で設計されることが一般的です。
1. 出力層のノードが2つの場合(Softmax関数)
出力層に 2つのノード を使用し、それぞれのノードが異なるクラス(例:「クラスA」と「クラスB」)の確率を出力する設計です。この場合、 Softmax関数 を活性化関数として使用し、各ノードの出力値は確率として解釈できます。
例:
- ノード1:クラスAの確率(例:0.7)
- ノード2:クラスBの確率(例:0.3)
- モデルの予測結果 → クラスA(確率が高い方を選択)
2. 出力層のノードが1つの場合(Sigmoid関数)
もう1つの方法として、 出力層を1つのノード にして Sigmoid関数 を適用する設計もあります。この場合、出力は「0から1の間の確率」となり、 0.5を閾値として分類 することが一般的です。
この設計では、1つのノードが
「あるクラス(例:クラスA)」に属する確率を示し、残りの確率で
「別のクラス(クラスB)」と判断されます。
例:
- 出力ノードの値 = 0.8(80%の確率でクラスA)
- 0.5以上ならクラスA、0.5未満ならクラスB
回帰問題の出力層
回帰問題(Regression)とは、連続値を予測するタスクです(例:気温予測、株価予測)。この場合、
- 出力層のノード数は 1つ
- 活性化関数は 線形関数(Linear Activation)
を用いるのが一般的です。
例:
- モデルに入力として過去の気温データを与える
- 出力ノードの値 = 25.3(予測気温)
このように、回帰では 確率ではなく数値そのもの を出力するため、線形関数を使います。
まとめ
タスク | 出力層のノード数 | 活性化関数 | 出力の意味 |
---|---|---|---|
2クラス分類(Softmax) | 2 | Softmax | 各クラスの確率 |
2クラス分類(Sigmoid) | 1 | Sigmoid | あるクラスの確率(0.5閾値) |
回帰 | 1 | なし(線形) | 連続値 |
2クラス分類において「ノードが2つ」の場合は、各ノードがそれぞれのクラスの確率を出力する設計となり、「ノードが1つ」の場合は1つの確率を基にクラスを判断する仕組みになります。タスクに応じて適切な設計を選択しましょう!