この記事では、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とは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されている人気なプログラミング言語です。 主な特徴として「効率のよい、短くて読みやすいコードを書きやすい」、「ライブラリが豊富なのでサクッと...
コメント