ある電力会社が、気温や曜日などのデータから、翌日の電力需要が当日と比べて何%増減するかを予測するニューラルネットワークを作る。過去のデータでは、この値はおよそ−20から+30の範囲にあり、負の値もとる。出力層は1ユニットとし、学習に使う正解の値は尺度を変えずにそのまま用いる。出力層の活性化関数として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 C
この問題の論点:回帰の出力層の活性化関数
ポイント
負の値もとる量を予測する回帰の出力層には、値を変換せずにそのまま出す恒等関数を使います。ReLU関数やシグモイド関数では出力の範囲が限られます。
選択肢ごとの解説
- A
不適切
シグモイド関数の出力は0から1の範囲に限られます。−20や+30といった値はそのままでは出せません。確率を出力したい2値分類の出力層で使う関数です。
- B
不適切
ReLU関数は負の入力をすべて0にするため、需要が減る日の負の予測値を出力できません。隠れ層では広く使われますが、負の値をとる量を予測する出力層には向きません。
- C
適切 正解
恒等関数は入力をそのまま出力するため、正の値も負の値も制限なくとれます。回帰の出力層の基本となる選択で、誤差関数には平均二乗誤差関数を組み合わせるのが一般的です。
- D
不適切
ソフトマックス関数は、出力の合計が1になるように変換する関数です。出力層が1ユニットだと、入力に関係なく常に1を出力してしまいます。多クラス分類の出力層で使います。
試験での狙われ方
回帰・2値分類・多クラス分類のそれぞれに合う出力層の活性化関数と、誤差関数の組み合わせを問う形が考えられます。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目12 活性化関数)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (6.2.2.1 Linear Units for Gaussian Output Distributions)