(6)ニューラルネットワーク
ニューラルネットワークは、多層パーセプトロンとも呼ばれている。
パーセプトロンを階層上にした構造となっている。
すなわち、線形回帰またはロジスティック回帰における入力層と出力層の間に、中間層(隠れ層)と呼ばれる層があるのが特徴である。
①ニューラルネットワークの仕組み
ニューラルネットワークの一番シンプルな形は、3階層のフィードフォワード型ニューラルネットワークである。
入力層、中間層(隠れ層)、出力層からなり、出力層には分類したいクラスの数だけノードを用意する。
出力は、各クラスに属する確率が得られる。最も大きな数値となったクラスを、モデルの解答と考える。
②ユニット
ニューラルネットワークを構成する基本単位をユニットと言う。
各ユニットへの入力と、それぞれの入力に対する重みを線形結合した後、活性化関数にかけたものを出力する。
活性化関数にステップ関数を用いたものを、パーセプトロンと呼ぶ。
入力層のユニット数は入力に応じた数になる。
x0は常に1となる。そのため、特徴量の数+1となる。
画像を分類するような機械学習システムを構築する場合は、入力は、画像1ピクセルずつの色の濃さ(カラーであれば、RGBそれぞれについての色の濃さ)が入力となる。
出力層のユニット数は、分類したいクラスの数になる。
手書き文字がなんの数字化を認識したい場合には、0~9の10個のユニットを用意する。
文字認識システムでは、犬の画像を入力した場合、システムがどれだけ高性能でも、犬と判定することは不可能である。
③活性化関数
活性化関数は、これでなければならないという決まりがない。
ステップ関数やシグモイド関数も使われる。最近では、ディープラーニングとの相性の良さからReLU(Rectified Linear Unit)関数がよく使われる。
発展的な内容となるため、本講座では扱わない。
④誤差逆伝播法
フィードフォワード型ニューラルネットワークの学習において、最適な重みを探索する際、誤差逆伝播法(バックプロパゲーション)という手法を用いる。