20章ニューラルネットワーク

レシピ20.0 はじめに

 ニューラルネットワークの中心となる構成要素はユニット(unit)だ(ノード(node)、ニューロン(neuron)とも呼ぶ)。ユニットは1つ以上の入力を受け取り、それらにパラメータ(重み(weight)とも呼ぶ)を掛けて、バイアス値(多くの場合は1)とともにすべて足し合わせ、活性化関数(activation function)に与える。その出力は、ニューラルネットワークの他のユニット(ニューロン)へと引き渡される。

 多層パーセプトロン(multilayer perceptron)とも呼ばれる順伝搬(Feedforward)ニューラルネットワークは、実環境で用いられているニューラルネットワークの中では最も単純なものだ。ニューラルネットワークは、一方の端に観測値の特徴量が、他方の端にターゲット値(観測値のクラスなど)がある、一連の接続されたレイヤとして可視化することができる。「順伝搬」という名前は、観測値の特徴量の値が、ネットワーク中を「順方向」に伝搬されることから名付けられている。伝搬される間に、最終的な出力がターゲット値と同じになるように、それぞれのレイヤで値が変換される。

 順伝搬ニューラルネットワークには、3種類のユニット層(layer)がある。ニューラルネットワークの最初の部分にあるのは入力層で、個々のユニットに観測値の個々の特徴量が与えられる。例えば、観測値に100の特徴量があるなら、入力層には100のユニットが必要になる。ニューラルネットワークの最後には、出力層がある。この層は隠れ層の出力を、目的に応じた形に変換する役割を持つ。例えば、目的が2クラス分類ならば、出力レイヤは1ユニットだけになる。このユニットは、クラスに対する予測確率を表現するために、シグモイド関数で出力を0と1の間にする。入力層と出力層の間には、いわゆる「隠れ層(hidden ...

Get Python機械学習クックブック now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.