tensorflow进阶篇-5(反向传播2)】的更多相关文章

这里将讲解tensorflow是如何通过计算图来更新变量和最小化损失函数来反向传播误差的:这步将通过声明优化函数来实现.一旦声明好优化函数,tensorflow将通过它在所有的计算图中解决反向传播的项.当我们传入数据,最小化损失函数,tensorflow会在计算图中根据状态相应的调节变量. 这里先举一个简单的例子,从均值1,标准差为0.1的正态分布中随机抽样100个数,然后乘以变量A,损失函数L2正则函数,也就是实现函数X*A=target,X为100个随机数,target为10,那么A的最优结…
上面是一个简单的回归算法,下面是一个简单的二分值分类算法.从两个正态分布(N(-1,1)和N(3,1))生成100个数.所有从正态分布N(-1,1)生成的数据目标0:从正态分布N(3,1)生成的数据标为目标类1,模型算法通过sigmoid函数将这些生成的数据转换成目标类数据.换句话讲,模型算法是sigmoid(x+A),其中,A是要拟合的变量,理论上A=-1.假设,两个正态分布的均值分别是m1和m2,则达到A的取值时,它们通过-(m1+m2)/2转换成到0等距离的值. 实现如下: import…
tensorflow学习笔记(2)-反向传播 反向传播是为了训练模型参数,在所有参数上使用梯度下降,让NN模型在的损失函数最小 损失函数:学过机器学习logistic回归都知道损失函数-就是预测值和真实值得差距,比如sigmod或者cross-entropy 均方误差:tf.reduce_mean(tf.square(y-y_))很好理解,假如在欧式空间只有两个点的的话就是两点间距离的平方,多点就是多点误差的平方和除以对比点个数 学习率:决定了参数每次更新的幅度 反向传播训练方法:为了减小los…
一.前述 反向自动求导是 TensorFlow 实现的方案,首先,它执行图的前向阶段,从输入到输出,去计算节点值,然后是反向阶段,从输出到输入去计算所有的偏导. 二.具体 1.举例 图是第二个阶段,在第一个阶段中,从 x =3和 y =4开始去计算所有的节点值f ( x / y )=x 2 * y + y + 2求解的想法是逐渐的从图上往下,计算 f ( x , y )的偏导,使用每一个连续的节点,直到我们到达变量节点,严重依赖链式求导法则! 2.具体过程: 因为n7是输出节点,所以f=n7,所…
Hinge损失函数主要用来评估支持向量机算法,但有时也用来评估神经网络算法.下面的示例中是计算两个目标类(-1,1)之间的损失.下面的代码中,使用目标值1,所以预测值离1越近,损失函数值越小: # Use for predicting binary (-1, 1) classes # L = max(0, 1 - (pred * actual)) hinge_y_vals = tf.maximum(., . - tf.multiply(target, x_vals)) hinge_y_out =…
L2正则损失函数(即欧拉损失函数),L2正则损失函数是预测值与目标函数差值的平方和.L2正则损失函数是非常有用的损失函数,因为它在目标值附近有更好的曲度,并且离目标越近收敛越慢: # L = (pred - actual)^2 l2_y_vals = tf.square(target - x_vals) l2_y_out = sess.run(l2_y_vals) L1正则损失函数(即绝对值损失函数).与L2正则损失函数对差值求平方差不同的是,L1正则损失函数对差值求绝对值.L1正则在目标附近不…
#-*- coding:utf-8 -*- #Tensorflow的嵌入Layer import numpy as np import tensorflow as tf sess=tf.Session() #创建占位符和数据 my_array=np.array([[1.,3.,5.,7.,9.], [-2.,0.,2.,4.,6.], [-6,-3,0.,3.,6.]]) x_vars=np.array([my_array,my_array+1]) x_data=tf.placeholder(t…
Softmax交叉熵损失函数(Softmax cross-entropy loss)是作用于非归一化的输出结果只针对单个目标分类的计算损失.通过softmax函数将输出结果转化成概率分布,然后计算真值概率分布的损失: # Softmax entropy loss # L = -actual * (log(softmax(pred))) - (1-actual)(log(1-softmax(pred))) unscaled_logits = tf.constant([[1., -3., 10.]]…
TensorFlow Playground http://playground.tensorflow.org 帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具 TensorFlow Playground的左侧提供了不同的数据集来测试神经网络.默认的数据为左上角被框出来的那个.被选中的数据也会显示在最右边的 “OUTPUT”栏下.在这个数据中,可以看到一个二维平面上有红色或者蓝色的点,每一个小点代表了一个样例,而点的颜色代表了样例的标签.因为点的颜色只有两种,所以这是 一个二…
  第一讲:人工智能概述       第三讲:Tensorflow框架         前向传播: 反向传播: 总的代码: #coding:utf-8 #1.导入模块,生成模拟数据集 import tensorflow as tf import numpy as np #np为科学计算模块 BATCH_SIZE = 8#表示一次喂入NN多少组数据,不能过大,会噎着 seed = 23455 #基于seed产生随机数 rng = np.random.RandomState(seed) #随机数返回…