神经网络中的常用损失函数以及正则化缓解过拟合

1)损失函数(loss):预测值(y)与已知答案(y_)的差距

神经网络优化目标:loss最小
三种常见损失函数
Ce(Cross Entropy(交叉熵))
自定义损失函数
Mse(Mean Squared Error )
1.1)均方误差mse:MSE(y_,y)=2/n
Loss_mse=tf.reduce_mean(tf.square(y-y_))
1.2)自定义损失函数:loss(y_,y)=(根据需要定义)
1.3)交叉熵损失函数CE(Cross Entropy):表征两个概率分布之间的距离H(y_,y)=-(交叉熵越大,两个概率之间距离越远,交叉熵越小,两个概率之间距离越近)
tf.losses.categorical_crossentropy(y_,y)
Softmax与交叉熵结合,输出先过softmax函数,再计算y与y_的交叉熵损失函数。tf.nn.softmax_cross_entropy_with_logits(y_,y)
*欠拟合:**是模型不能有效拟合数据集,是对现有数据学习的不够彻底
过拟合:是模型对当前数据拟合的太好了,但对从未见过的新数据,却难以做出正确判断,模型缺乏泛化力。
欠拟合的解决方法
1)增加输入项特征
2)增加网络数据
3)减少正则化参数
过拟合的解决办法
1)数据清洗
2)增加训练集
3)采用正则化
4)增大正则化参数
正则化缓解过拟合:
正则化是在损失函数中引入模型复杂度指标,利用给w增加权值,弱化了训练数据的噪声(一般不正则化b)
Loss=loss(y与y_)+REGULARIZER
loss(w)
Loss(y与y_)是指模型中所有参数的损失函数,如交叉熵、均方误差
超参数REGULARIZER给出参数w在总loss中的比例,即正则化的权重。
w是需要正则化的参数
LossL1(w)=LossL2(w)=|Wi|2

正则化的选择:
L1正则化大概率会使很多参数变为0,因此该方法可通过稀疏参数,即减少参数的数量,降低复杂度。
L2正则化会使参数很接近0但不为0,因此该方法可通过减少参数值的大小降低复杂度。

猜你喜欢

转载自blog.csdn.net/weixin_45187794/article/details/108117427