【DeepLeaning】 ニューラルネットワーク 出力層の設計

Deep Learning とは何なのか・・・まったく知らない状態から挑戦してみたいと思います!

分類問題

分類問題とは、与えられた入力データを予め定義されたカテゴリまたはクラスの中からどれか一つに割り当てる問題です。
入力データは通常、数値・テキスト・画像・音声などの形式で与えられ、分類器と呼ばれるモデルがその入力データを分類するための予測を行います。

  • スパムメールの分類
    入力データは電子メールのテキストであり予め定義された2つのクラスのいずれかに分類する必要があります。
  • ある病気の診断を行う問題。
    入力データは患者の症状であり予め定義された2つのクラス(病気にかかっている/かかっていない)のいずれかに分類する必要があります。

回帰問題

回帰問題とは、与えられた入力データから数値を予測する問題です。
与えられた入力データとそれに対応する出力値(または目的変数)の関係性を学習し未知の入力データに対して予測値を生成することが目的です。

回帰問題は入力データが数値で表される場合によく用いられます。
例えば、住宅価格の予測・株価の予測・気温の予測などが回帰問題の例です。

これらの問題では過去のデータを用いてある種のパターンや傾向を学習し、未知の入力データに対して予測値を生成します。

回帰問題においては、様々な回帰手法が用いられます。

  • 線形回帰
  • 非線形回帰
  • 決定木回帰
  • ニューラルネットワーク回帰

これらの手法は、与えられたデータに最も適した回帰関数を学習することで高精度な予測を行います。

ニューラルネットワーク

ニューラルネットワークは分類問題と回帰問題の双方において複雑な関数の近似が可能であり非線形な関係性を学習することができます。
ニューラルネットワークは、過去数十年間にわたって様々な分野で成功を収めており、現在も広く用いられている強力なモデルの一つです。

ニューラルネットワークは入力データを複数の層に渡って変換し最終的に出力層で予測結果を出力するモデルです。
分類問題では出力層のノード数がクラス数に対応し、入力データがどのクラスに属するかを確率分布で表現することが一般的です。

一方、回帰問題では出力層のノード数が1になり、入力データに対する数値の予測値を出力します。

出力層の活性化関数は用途に応じて切り替える

出力層の活性化関数は問題の性質に応じて異なります。

主に用いられる活性化関数は、シグモイド関数、ソフトマックス関数、恒等写像関数の3つです。

  • シグモイド関数
    シグモイド関数は入力を0から1の範囲に変換する関数であり、2値分類問題でよく用いられます。
    出力値が0.5を超えた場合には、入力データが1に分類され0.5以下であれば0に分類されます。
  • ソフトマックス関数
    ソフトマックス関数は多クラスの分類問題でよく用いられる関数であり、各クラスに対する確率分布を出力するために使用されます。
    ソフトマックス関数によって出力される各クラスに対する確率は、
    すべて0から1の間にあり、その和は1になります。
  • 恒等写像関数(恒等関数)は、回帰問題でよく用いられる関数であり、入力データと同じ形式の出力を生成します。
    つまり、出力値がそのまま予測値となります。

これらの活性化関数は、問題の性質やニューラルネットワークの構造に応じて選択されます。