损失函数
概论
“损失”即所有样本的“误差”的总和,亦即(m为样本数)
损失=i=0∑m−1误差iJ=i=0∑m−1lossi
作用
作用就是计算神经网络每次迭代的前向计算结果与真实值的差距,从而指导下一步的训练向正确的方向进行
步骤
- 用随机值初始化前向计算公式的参数。
- 代入样本,计算输出的预测值。
- 用损失函数计算预测值和标签值(真实值)的误差。
- 根据损失函数的导数,沿梯度最小方向将误差回传,修正前向计算公式中的各个权重值。
- 重复步骤2,直到损失函数值达到一个满意的值就停止迭代
机器学习中常用的损失函数
m为样本数,a为预测值, y为标本标签值
0-1损失函数
J=i=0∑m−1lossi,loss={0a=y1a=y
绝对值损失函数
J=i=0∑m−1lossi,loss=∣y−a∣
铰链/折页损失函数或最大边界损失函数,主要用于SVM(支持向量SVM)中
J=i=0∑m−1lossi,loss=max0,1−y⋅a,y=±1
对数损失函数,又叫交叉熵损失函数 用于分类
J=i=0∑m−1lossi,loss=−[yloga+1−ylog1−a]
均方差损失函数 用于回归
J=i=0∑m−1lossi,loss=a−y2
指数差损失函数
J=i=0∑m−1lossi,loss=e−y⋅a
原文链接