Neural Network普通神经网络 发表于 2018-12-16 | 分类于 TensorFlow 字数统计: 336 | 阅读时长 ≈ 1 Neural Networks神经网络12345678910111213141516171819202122232425262728293031323334353637383940414243#author:victor#Nenural Networks神经网络'''input layer->hidden layer1->hidden layer2->hidden layer3...->output layer#输入层->隐藏层->输出层#激活函数Activation Function(激励函数)#神经网络的基本原理:梯度下降Gradient Descent in Neural Nets#Optimization优化器1、Newton's method牛顿法2、Least Squares method最小二乘法3、Gradient Descent梯度下降法(也就是求导,求微分)神经网络就是梯度下降里的分支Cost=(predicted-real)^2=(Wx-y)^2=(W-0)^2(误差曲线)局部最优解,全局最优解'''#import moduleimport tensorflow as tfimport numpy as np#create datax_data=np.random.rand(100).astype(np.float32)#tensorflow大部分数据是float32y_data=x_data*0.1+0.3#create tensorflow structure start#Weights=tf.Variable(tf.random_uniform([1],-1.0,1.0))#random_uniform():随机均匀分布#define the biasesbiases=tf.Variable(tf.zeros([1]))y=Weights*x_data+biases#预测的yloss=tf.reduce_mean(tf.square(y-y_data))#计算预测的y与真实的y的差值,也就是损失函数optimizer=tf.train.GradientDescentOptimizer(0.5)#learning rate学习效率一般是小于1的数train=optimizer.minimize(loss)init=tf.initialize_all_variables()#初始化全局变量#create tensorflow structure end#sess=tf.Session()sess.run(init)for step in range(201):#0到200,也就是201步 sess.run(train) if step%20==0: print(step,sess.run(Weights),sess.run(biases)) 运行结果 总结:使用普通神经网络,计算误差用的最小二乘法,也即是真实值-预测值的平方