-
损失函数https://zhuanlan.zhihu.com/p/24693332(这是一个参考文献)
-
平方差损失
-
sigmod函数求导数之后 由于sigmod函数自身的性质,会导致参数的更新十分缓慢,实际应用过程中,效果不是特别好
-
-
交叉熵损失函数
-
交叉熵损失刻画的是两个概率分布之间的距离
-
神经网络的输出可能不一定是概率分布,一般采用softmax回归 ,将分类结果转化成概率分布
-
-
均方误差MSE
-
对于回归问题,一般输出的是具体的数值,一般用均方误差作为损失函数
-
均方误差损失刻画的是真实值和预测值之间的差距
-
-
tensorflow还支持自定义损失函数,可以根据自己的需求自定义损失函数
-
-
梯度下降与随机梯度下降
-
梯度下降算法会不断沿着梯度的反方向让参数朝着总损失更小的方向更新
-
梯度下降算法并不能保证被优化的函数达到全局最优解,除非当损失函数是凸函数的时候
-
梯度下降算法要在全部训练数据上优化损失函数,耗费时间太长
-
随机梯度下降可以每次随机选择一条数据进行优化,但是存在的缺点是甚至无法达到局部最优点,牺牲了优化效果换取了优化的时间
-
一般采用梯度下降和随机梯度下降思想的结合就是每次训练一个batch---Batch Gradient Descent
-
-
学习率的设置
-
设置一个固定的学习率
-
当学习率设置的比较小的时候,一般会效果会比较好,但是存在收敛速度慢的问题
-
当设置一个较大的学习率的时候,可能存在震荡,不能收敛的问题
-
-
指数衰减法
-
tensorflow可以用指数衰减函数设置学习率
-
随着训练的迭代的继续,学习率成指数衰减
-
-
各种优化器https://zhuanlan.zhihu.com/p/32626442(参考文献)
-
主要是引入一阶动量和二阶动量来调节学习率
-
不同的优化器引入方法不太一样
-
-
-
过拟合问题
-
加入正则化项限制模型的复杂度
-
L1正则化会让参数变得稀疏可以达到选取特征的目的,L1正则化非全局可导
-
L2正则化不会让参数变得稀疏,原因是当参数变得很小时,参数的平方基本就可以忽略不计了,正阳的话就不会再继续调整为0了,L2正则化在全局上面是可导的
-
-