単純パーセプトロン
単純パーセプトロンとは、入力として配列(特徴ベクトル)を受け取り、出力として0または1の数字を返す単純なニューラルネットワークのことです。
構造
- 入力層:特徴ベクトル(例:[x_1, x_2, …, x_n])を受け取ります。
- 重み:各入力に対する重み(例:[w_1, w_2, …, w_n])。これらの重みは学習プロセス中に調整されます。
- バイアス:バイアス項(例:b)。これは、モデルの柔軟性を高めるために使用されます。
- 活性化関数:ステップ関数(またはヘヴィサイド関数)を使用して、出力を0または1に変換します。
動作
- 入力の受け取り:特徴ベクトル[x_1, x_2, …, x_n]を入力として受け取ります。
- 線形結合の計算:入力と重みの線形結合を計算し、バイアスを加えます。 [ z = \sum_{i=1}^{n} w_i x_i + b ]
- 活性化関数の適用:ステップ関数を適用し、出力を0または1に変換します。 [ y = \begin{cases} 1 & \text{if } z \geq 0 \ 0 & \text{if } z < 0 \end{cases} ]
学習プロセス
- 初期化:重みとバイアスをランダムに初期化します。
- 予測:現在の重みとバイアスを使用して、入力データに対する予測を行います。
- 誤差の計算:予測と実際のラベルとの誤差を計算します。
- 重みとバイアスの更新:誤差に基づいて重みとバイアスを更新します。更新は以下のように行います: [ w_i = w_i + \Delta w_i ] [ \Delta w_i = \eta (y_{\text{true}} - y_{\text{pred}}) x_i ] [ b = b + \eta (y_{\text{true}} - y_{\text{pred}}) ] ここで、(\eta)は学習率です。
制限事項
単純パーセプトロンにはいくつかの制限があります:
- 線形分離可能性:単純パーセプトロンは、線形分離可能なデータのみを正確に分類できます。非線形なデータには対応できません。
- 複雑なパターンの学習:複雑なパターンや多クラス分類には適していません。