Skip to content

Instantly share code, notes, and snippets.

@jshirius
Created December 30, 2019 11:28
Show Gist options
  • Save jshirius/614f0835c329e764f7a83964475b5c11 to your computer and use it in GitHub Desktop.
Save jshirius/614f0835c329e764f7a83964475b5c11 to your computer and use it in GitHub Desktop.
ニューラルネットワークで学習させたcosグラフを表示する
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"######################################################\n",
"#ニューラルネットワークで学習させたcosグラフを表示する\n",
"#このプログラムを作った目的は、kerasを使えば簡単にニューラルネットワークが組めること示す\n",
"######################################################\n",
"\n",
"\n",
"# reshapeは配列の形状を変更できる。引数に-1を指定すると、自動で行や列の数が決まる。\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"x = np.linspace(-np.pi, np.pi).reshape(-1, 1) # -πからπまで \n",
"t = np.cos(x) # cos関数\n",
"\n",
"#numpy配列は10行まで表示する\n",
"np.set_printoptions(threshold=10)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x--------------------------------------------------\n",
"[[-3.14159265]\n",
" [-3.01336438]\n",
" [-2.88513611]\n",
" ...\n",
" [ 2.88513611]\n",
" [ 3.01336438]\n",
" [ 3.14159265]]\n",
"t--------------------------------------------------\n",
"[[-1. ]\n",
" [-0.99179001]\n",
" [-0.96729486]\n",
" ...\n",
" [-0.96729486]\n",
" [-0.99179001]\n",
" [-1. ]]\n"
]
}
],
"source": [
"#Dataの形状を出しておく\n",
"print(\"x\" + \"-\" * 50)\n",
"print(x)\n",
"print(\"t\" + \"-\" * 50)\n",
"print(t)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(x, t)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"WARNING:tensorflow:From /Users/takizawa/.pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"Colocations handled automatically by placer.\n",
"WARNING:tensorflow:From /Users/takizawa/.pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/tensorflow/python/keras/utils/losses_utils.py:170: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"Use tf.cast instead.\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"dense (Dense) (None, 20) 40 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 1) 21 \n",
"=================================================================\n",
"Total params: 61\n",
"Trainable params: 61\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"None\n"
]
}
],
"source": [
"#ニューラルネットワークを使って予測したcosグラフを書く\n",
"\n",
"from tensorflow.python.keras.models import Sequential\n",
"from tensorflow.python.keras.layers import Dense\n",
"\n",
"# バッチサイズ(学習を進める際に利用するデータの一部の塊)\n",
"#https://ja.stackoverflow.com/questions/37472/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AB%E3%82%88%E3%81%8F%E5%87%BA%E3%81%A6%E3%81%8F%E3%82%8Bbatch-size%E3%81%A8%E3%81%AF%E3%83%90%E3%83%83%E3%83%81%E3%81%A8%E3%81%AF%E3%81%AA%E3%82%93%E3%81%A7%E3%81%99%E3%81%8B\n",
"batch_size = 8 \n",
"\n",
"n_in = 1 # 入力層のニューロン数\n",
"n_mid = 20 # 中間層のニューロン数\n",
"n_out = 1 # 出力層のニューロン数\n",
"\n",
"\n",
"# 入力層、中間層、出力層の3層のニューラルネットワークを構築する\n",
"model = Sequential()\n",
"\n",
"#中間層を追加する。最初に層を追加するときはinput_shapeを設定すること。\n",
"#input_shapeのところには形状を入れるため1\n",
"# 活性化関数にシグモイド関数\n",
"model.add(Dense(n_mid, input_shape=(n_in,), activation=\"sigmoid\")) \n",
"\n",
"#出力層を追加する\n",
"model.add(Dense(n_out, activation=\"linear\")) \n",
"\n",
"# 損失関数に二乗誤差、最適化アルゴリズムにSGDを使用する\n",
"model.compile(loss=\"mean_squared_error\", optimizer=\"sgd\") \n",
"print(model.summary())\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"WARNING:tensorflow:From /Users/takizawa/.pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"Use tf.cast instead.\n"
]
}
],
"source": [
"#epochsは3000回くらいがよい。1000回だとcos関数の形状にならない\n",
"#学習回数が増えるほど、誤差が小さくなる\n",
"#1回目は3.3610だが、3000回になると値が「0.4355」になる\n",
"#ログが長くなるため、出力しない設定にしている\n",
"history = model.fit(x, t, batch_size=batch_size, epochs=3000, validation_split=0.2, verbose=0) # 20%のデータを検証用に使う"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#学習結果の表示\n",
"\n",
"loss = history.history['loss'] # 訓練用データの誤差\n",
"vloss = history.history['val_loss'] # 検証用データの誤差\n",
"\n",
"plt.plot(np.arange(len(loss)), loss)\n",
"plt.plot(np.arange(len(vloss)), vloss)\n",
"plt.show()\n",
"\n",
"#epochs数3000回くらいまで学習すると収束してくる。\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
" # モデルを使用し予測を行う\n",
"plt.plot(x, model.predict(x)) \n",
"plt.plot(x, t)\n",
"plt.show()\n",
"\n",
"#水色がニューラルネットワークを使って予測したもの\n",
"#オレンジ色が、実際の値\n",
"#形状が近くなっていると言える\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment