この記事では、Python+NumPyで単純パーセプトロンの重みを勾配降下法(最急降下法)で計算する方法をソースコード付きで紹介します。
単純パーセプトロンの重み算出(勾配降下法・最急降下法)
単純パーセプロトンとは、0番目の入力を1、重みを閾値とした場合のニューロンモデルのことです。
単純パーセプトロンの重みを最急降下法で計算した場合の手順は以下の通りです。
– | 説明 |
---|---|
1 | 初期パラメータ(学習率とエポック最大数)を設定します。 |
2 | 教師データと正解ラベルのセットを用意します。 |
3 | 重みの初期値を適当に決めます。 |
4 | 教師データを単純パーセプトロンに入力します。 |
5 | 出力yと正解ラベルtを比較し、一致しなければ最急降下法で重みを更新します。 |
6 | 手順3~5をエポック最大数分だけ繰り返します。 |
404 NOT FOUND | Python入門速報
単純パーセプトロンをPython + NumPyで実装してみましょう。
ソースコード(Python3)
サンプルプログラムのソースコードです。
教師データ
1 | 0 | 0 | -1(不正解) |
1 | 0 | 1 | -1(不正解) |
1 | 1 | 0 | -1(不正解) |
1 | 1 | 1 | 1(正解) |
AND演算(*)を学習させます。
はバイアス項なので全て1
404 NOT FOUND | Python入門速報
【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント