【Python/Keras】ニューラルネットで論理演算(XOR)の学習

Pythonの機械学習モジュール「Keras」でニューラルネットワークを実装し、AND・XOR演算を学習する方法をソースコード付きでまとめました。

【Keras】ニューラルネットでXOR演算の学習

今回は、Python3 + Kerasでニューラルネットワークを実装し、XOR演算の学習を行ってみます。

原理についてはこちら

【ニューラルネットワーク】基本原理と単純パーセプトロンの学習計算
このサイトでは、ニューラルネットワークの基本原理や特徴(メリット・デメリット)、その計算方法についてまとめました。ニューラルネットワークとは脳内には、ニューロン(神経細胞)が無数にあります。ニューロン同士はシナプスで繋がっています...
【ニューラルネット】多層パーセプトロン(MLP)の原理・計算式
ニューラルネットワーク(多層パーセプトロン・MLP)や特徴や原理、その計算方法についてまとめました。多層パーセプトロン(MLP)とは多層パーセプトロン(MLP)とは、下図のように(単純)パーセプトロンを複数繋いで多層構造にしたニュ...

動画解説

本ページの内容は以下動画でも解説しています。

■XOR演算の訓練データと正解データ

教師データ(x1, x2) 正解データ(y)
(0, 0) 0
(1, 0) 1
(0, 1) 1
(1, 1) 0

【今回作成するニューラルネットワーク構造】

入力層:ユニット数2(入力数2:x1, x2)
中間層:ユニット数3
出力層:ユニット数2(出力数2:y1, y2)

サンプルコード

サンプルプログラムのソースコードです。
■AND演算の場合


【バッチサイズ】
勾配法で学習する際に, データセットを幾つかのサブセットに分けて学習することで、異常値の影響を小さくします
(例:100個のデータセットを20個ずつのサブセットに分ける場合、バッチサイズは20)

【エポック数】
以下の①②の流れを1回実行すると1エポック
① データセットをバッチサイズに従ってN個のサブセットに分ける。
② 各サブセットを学習に回す(N回学習を繰り返す)。

【Python/Keras】ニューラルネットでXOR演算の学習
Pythonの機械学習モジュール「Keras」でニューラルネットワークを実装し、XOR演算を学習する方法をソースコード付きでまとめました。
【Keras入門】ディープラーニングの使い方/サンプル集
Pythonモジュール「Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。

コメント

タイトルとURLをコピーしました