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

Pythonの機械学習モジュール「tensorflow/Keras」でニューラルネットワークを実装し、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)

サンプルコード

サンプルプログラムのソースコードです。


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

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

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

コメント