使用tensorflow实现一个简单的回归模型:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
#第一步:使用numpy生成样本点
#使用numpy中linspace函数生成服从均匀分布的在(-0.5,0.5)之间的200个随机点
#[a:b,np.newaxis]表示给array中的第a个元素到第b个元素增加一个维度,如果不写a,b,表示给所有元素增加一个维度
x_data=np.linspace(-0.5,0.5,200)[:,np.newaxis] #x_data就是一个200行1列的tensor
#生成干扰项,形状和x_data形状一样
noise=np.random.normal(0,0.02,x_data.shape)
y_data=np.square(x_data)+noise
#第二步,定义模型
#定义两个placeholder
x=tf.placeholder(tf.float32,[None,1]) #x是一个行不确定,1列的一个占位符
y=tf.placeholder(tf.float32,[None,1]) #y是一个行不确定,1列的一个占位符
#构建的神经网络模型中,输入层1个神经元,隐藏层10个神经元,输出层1个神经元
#定义神经网络的隐藏层
Weights_L1=tf.Variable(tf.random.normal([1,10]))
biases_L1=tf.Variable(tf.zeros([1,10]))
Wx_plus_b_L1=tf.matmul(x,Weights_L1)+biases_L1
L1=tf.nn.tanh(Wx_plus_b_L1)
#定义神经元输出层
Weights_L2=tf.Variable(tf.random.normal([10,1]))
biases_L2=t