「単純パーセプトロン」の版間の差分

提供:MonoBook
ページの作成:「'''単純パーセプトロン'''とは、入力として配列(特徴ベクトル)を受け取り、出力として0または1の数字を返す単純なニュ…」
 
編集の要約なし
 
1行目: 1行目:
'''単純パーセプトロン'''とは、入力として[[配列]](特徴ベクトル)を受け取り、出力として0または1の数字を返す単純な[[ニューラルネットワーク]]のことです。
'''単純パーセプトロン'''とは、入力として[[配列]](特徴ベクトル)を受け取り、出力として0または1の数字を返す単純な[[ニューラルネットワーク]]のことです。


=== 構造 ===
===構造===


# '''入力層''':特徴ベクトル(例:[x_1, x_2, …, x_n])を受け取ります。
#入力層:[[特徴ベクトル]](例:[x_1, x_2, …, x_n])を受け取ります。
# '''重み''':各入力に対する重み(例:[w_1, w_2, …, w_n])。これらの重みは学習プロセス中に調整されます。
#重み:各入力に対する重み(例:[w_1, w_2, …, w_n])。これらの重みは学習プロセス中に調整されます。
# '''バイアス''':バイアス項(例:b)。これは、モデルの柔軟性を高めるために使用されます。
#バイアス:バイアス項(例:b)。これは、モデルの柔軟性を高めるために使用されます。
# '''活性化関数''':ステップ関数(またはヘヴィサイド関数)を使用して、出力を0または1に変換します。
#[[活性化関数]]:[[ステップ関数]](または[[ヘヴィサイド関数]])を使用して、出力を0または1に変換します。


=== 動作 ===
===動作===


# '''入力の受け取り''':特徴ベクトル[x_1, x_2, …, x_n]を入力として受け取ります。
#入力の受け取り:特徴ベクトル[x_1, x_2, …, x_n]を入力として受け取ります。
# '''線形結合の計算''':入力と重みの線形結合を計算し、バイアスを加えます。 [ z = \sum_{i=1}^{n} w_i x_i + b ]
#線形結合の計算:入力と重みの線形結合を計算し、バイアスを加えます。 [ 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} ]
#活性化関数の適用:ステップ関数を適用し、出力を0または1に変換します。 [ y = \begin{cases} 1 & \text{if } z \geq 0 \ 0 & \text{if } z < 0 \end{cases} ]


=== 学習プロセス ===
===学習プロセス===


# '''初期化''':重みとバイアスをランダムに初期化します。
#初期化:重みとバイアスをランダムに初期化します。
# '''予測''':現在の重みとバイアスを使用して、入力データに対する予測を行います。
#予測:現在の重みとバイアスを使用して、入力データに対する予測を行います。
# '''誤差の計算''':予測と実際のラベルとの誤差を計算します。
#誤差の計算:予測と実際のラベルとの誤差を計算します。
# '''重みとバイアスの更新'''<nowiki>:誤差に基づいて重みとバイアスを更新します。更新は以下のように行います: [ 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)は学習率です。</nowiki>
#<nowiki>重みとバイアスの更新:誤差に基づいて重みとバイアスを更新します。更新は以下のように行います: [ 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)は学習率です。</nowiki>


<br />
<br />


=== 制限事項 ===
===制限事項===
単純パーセプトロンにはいくつかの制限があります:
単純パーセプトロンにはいくつかの制限があります:


* '''線形分離可能性''':単純パーセプトロンは、線形分離可能なデータのみを正確に分類できます。非線形なデータには対応できません。
*線形分離可能性:単純パーセプトロンは、線形分離可能なデータのみを正確に分類できます。非線形なデータには対応できません。
* '''複雑なパターンの学習''':複雑なパターンや多クラス分類には適していません。
*複雑なパターンの学習:複雑なパターンや多クラス分類には適していません。


<br />
<br />
[[カテゴリ:機械学習]]
[[カテゴリ:機械学習]]

2024年8月16日 (金) 07:47時点における最新版

単純パーセプトロンとは、入力として配列(特徴ベクトル)を受け取り、出力として0または1の数字を返す単純なニューラルネットワークのことです。

構造[編集 | ソースを編集]

  1. 入力層:特徴ベクトル(例:[x_1, x_2, …, x_n])を受け取ります。
  2. 重み:各入力に対する重み(例:[w_1, w_2, …, w_n])。これらの重みは学習プロセス中に調整されます。
  3. バイアス:バイアス項(例:b)。これは、モデルの柔軟性を高めるために使用されます。
  4. 活性化関数ステップ関数(またはヘヴィサイド関数)を使用して、出力を0または1に変換します。

動作[編集 | ソースを編集]

  1. 入力の受け取り:特徴ベクトル[x_1, x_2, …, x_n]を入力として受け取ります。
  2. 線形結合の計算:入力と重みの線形結合を計算し、バイアスを加えます。 [ z = \sum_{i=1}^{n} w_i x_i + b ]
  3. 活性化関数の適用:ステップ関数を適用し、出力を0または1に変換します。 [ y = \begin{cases} 1 & \text{if } z \geq 0 \ 0 & \text{if } z < 0 \end{cases} ]

学習プロセス[編集 | ソースを編集]

  1. 初期化:重みとバイアスをランダムに初期化します。
  2. 予測:現在の重みとバイアスを使用して、入力データに対する予測を行います。
  3. 誤差の計算:予測と実際のラベルとの誤差を計算します。
  4. 重みとバイアスの更新:誤差に基づいて重みとバイアスを更新します。更新は以下のように行います: [ 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)は学習率です。


制限事項[編集 | ソースを編集]

単純パーセプトロンにはいくつかの制限があります:

  • 線形分離可能性:単純パーセプトロンは、線形分離可能なデータのみを正確に分類できます。非線形なデータには対応できません。
  • 複雑なパターンの学習:複雑なパターンや多クラス分類には適していません。