{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 在 [-0.5, 0.5]区间内生成随机数\n", "x_data = np.linspace(-0.5, 0.5, 100)[:, np.newaxis]\n", "# 在 100个随机数基础上,增加噪音\n", "noise = np.random.normal(0, 0.02, x_data.shape)\n", "y_data = np.square(x_data) + noise\n", "\n", "x = tf.placeholder(tf.float32, [None, 1])\n", "y = tf.placeholder(tf.float32, [None, 1])\n", "\n", "# 神经网络 中间层\n", "weight_L1 = tf.Variable(tf.random_normal([1, 10]))\n", "biase_L1 = tf.Variable(tf.zeros([1, 10]))\n", "w_plus_b_L1 = tf.matmul(x, weight_L1) + biase_L1\n", "# 激活函数\n", "L1 = tf.nn.tanh(w_plus_b_L1)\n", "\n", "# 神经网络 输出层\n", "wegith_L2 = tf.Variable(tf.random_normal([10, 1]))\n", "biase_L2 = tf.Variable(tf.zeros([1, 1]))\n", "w_plus_b_L2 = tf.matmul(L1, wegith_L2) + biase_L2\n", "prediction = tf.nn.tanh(w_plus_b_L2)\n", "\n", "# Loss Function\n", "loss = tf.reduce_mean(tf.square(y - prediction))\n", "train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)\n", "\n", "with tf.Session() as sess:\n", " tf.global_variables_initializer().run()\n", " for _ in range(1500):\n", " sess.run(train, feed_dict = {x: x_data, y: y_data})\n", "\n", " # 使用训练好的模式进行预测\n", " prediction_result = sess.run(prediction, feed_dict = {x: x_data})\n", " \n", " plt.figure()\n", " plt.scatter(x_data, y_data)\n", " plt.plot(x_data, prediction_result, 'r-', lw = 5)\n", " plt.show()" ] } ], "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.5.3" } }, "nbformat": 4, "nbformat_minor": 2 }