tensorflow就该这么学--5( 神经网络基础)
一、单个神经元
单个神经元输出时 y=w*x+b
1 、正向传播:输入数据,通过初始给定的参数w,b 计算出对应的函数值
2、反向传播:计算正向传播得到的函数值与真实标签之间的误差值,之后调整w,b
二、**函数
主要解决模型表达能力不足的缺陷
常用的**函数如下:
1、sigmoid y~[0,1] tf.nn.sigmoid(x,name=None)
2、tanh y~[-1,1] tf.nn.tanh(x,name=None)
3、relu y = max(0,x) tf.nn.relu(x,name=None)
三、softmax
判定输入某一类的概率大于其他类概率,那么这个类对应的函数值逼近1
四、损失函数
用于描述模型预测值和真实值的差距大小
常见的两种算法:
1、均值平方差 如果输入是实数、无界的值
2、交叉熵 输入的标签的位矢量
五、梯度下降
用于递归性逼近最小偏差模型,沿着梯度下降的方向求解最小值
1、常用方法:
批量梯度下降
随机梯度下降
小批量梯度下降
2、梯度下降函数
如:optimizer = tf.train.GradientDescentOptimizer(learning_rate)
模型的整个过程求导和反向传播操作都是在优化器里自动完成的
3、退化学习率
目的就是模型刚开始训练时使用大的学习率加快速度,训练到一定程度后使用小的学习率来提高精度