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

レシピ21.0 はじめに

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

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

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

Get Python機械学習クックブック 第2版 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.