- **损失函数(Loss Function):**定义在单个样本上的,指一个样本的误差
- **代价函数(Cost Function):**定义在整个训练集上,是所有样本误差的平均,也就是所有损失函数值的平均
- **目标函数(Object Function):**指最终需要优化的函数,一般来说是经验风险+结构风险(代价函数+正则化项)。
损失函数
分类问题
0-1损失函数

预测正确时,损失函数值为0;预测错误时,损失函数值为1。该损失函数不考虑预测值与真实值的误差程度。
Hinge损失函数(SVM)
L(w,b)=max{0,1−yf(x)}
其中y∈{+1,-1},f(x)=wx+b,当为SVM的线性核时。
Logistic损失函数
L(y,p(y∣x))=−log p(y∣x)
该损失函数用到了极大似然估计的思想。
P(Y|X)通俗的解释就是:在当前模型的基础上,对于样本X,其预测值为Y,也就是预测正确的概率。
由于概率之间的同时满足需要使用乘法,为了将其转化为加法,我们将其取对数。
最后由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取个反。
交叉熵损失函数(Cross Entry)
H(p,q)=−i=1∑Np(x(i))log q(x(i))
交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。其中 p(x) 是指真实分布的概率,q(x) 是模型通过数据计算出来的概率估计。
Exponential损失函数(AdaBoost)
L(y,f(x))=exp(−yf(x))
指数损失函数是AdaBoost里使用的损失函数,同样地,它对异常点较为敏感,鲁棒性不够
Log损失函数(LR)
L(y,P(y∣x))=−logP(y∣x)
详见

回归问题
平方损失函数(Least Squares)
L(y,f(x))=(y−f(x))2
预测值与实际值的误差的平方。
绝对值损失函数(Least Absolute)
L(y,f(x))=∣y−f(x)∣
预测值与实际值的误差的绝对值。
Log-cosh损失函数
Llog(−cosh(y,f(x)))=log(cosh(f(x)−y))cosh(x)=2(ex+e−x)
log-cosh损失函数比均方损失函数更加光滑,具有huber损失函数的所有优点,且二阶可导。因此可以使用牛顿法来优化计算,但是在误差很大情况下,一阶梯度和Hessian会变成定值,导致牛顿法失效。
分位数损失函数
Lγ(y,f(x))=i:yi<fi(x)∑(1−γ)∣yi−fi(x)∣+i:yi≥fi(x)∑γ∣yi−fi(x)∣预测的是目标的取值范围而不是值。γ是所需的分位数,其值介于0和1之间,γ等于0.5时,相当于MAE。设置多个γ值,得到多个预测模型,然后绘制成图表,即可知道预测范围及对应概率(两个γ值相减)

代价函数
均方误差(Mean Squared Error)
MSE=N1i=1∑N(y(i)−f(x(i)))
均方误差是指参数估计值与参数真值之差平方的期望值;
MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
通常用来做回归问题的代价函数。
均方根误差(Root Mean Squared Error)
RMSE=2N1i=1∑N(y(i)−f(x(i)))
均方根误差是均方误差的算术平方根,能够直观观测预测值与实际值的离散程度。
通常用来作为回归算法的性能指标。
平均绝对误差(Mean Absolute Error)
MAE=N1i=1∑N∣y(i)−f(x(i))∣
平均绝对误差是绝对误差的平均值 ,平均绝对误差能更好地反映预测值误差的实际情况。
通常用来作为回归算法的性能指标。
借鉴来源
https://www.cnblogs.com/lliuye/p/9549881.html
https://blog.****.net/zuolixiangfisher/article/details/88649110