常见损失函数
- 损失函数: 用来评价模型的预测值和真实值不一致的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。
0-1损失函数(zero-one loss)
- 公式: L ( Y , f ( X ) ) = { 1 Y = f ( X ) 0 Y ≠ f ( X ) L(Y,f(X))= \begin{cases} 1 & Y=f(X) \\ 0 & Y≠f(X)\end{cases} L(Y,f(X))={ 10Y=f(X)Y=f(X)即预测值等于真实值则损失为0,否则损失为1
- 0-1损失函数对应分类错误的个数,但是它是一个非凸函数,不太适用.
均方差损失损失函数
- 均方差Mean Squared Error(MSE)损失是机器学习、深度学习回归任务中最常用的一种损失函数,也称为L2 Loss。其基本形式如下: J M S E = 1 N ∑ i = 1 N ( y i − y i ^ ) 2 J_{MSE}=\frac{1}{N} ∑_{i=1}^N(y_i-\hat{y_i} )^2 JMSE=N1i=1∑N(yi−yi^)2
- 均方误差的由来:
- 实际上在一定的假设下,我们可以使用最大化似然得到均方差损失的形式。
- 假设模型预测 ( y i ^ ) (\hat{y_i}) (yi^)与真实值 ( y i ) (y_i) (yi)之间的误差服从标准正太分布: p ( x ) = 1 2 π e x p ( x 2 2 ) p(x)=\frac{1}{\sqrt{2π}}exp(\frac{x^2}{2}) p(x)=2π1exp(2x2)
- 则给定一个样本 x i x_i xi模型输出真实值 y i y_i yi的概率为: p ( y i ∣ x i ) = 1 2 π e x p ( y i − y i ^ 2 2 ) p(y_i |x_i )=\frac{1}{\sqrt{2π}} exp(\frac{y_i-\hat{y_i}^2}{2}) p(yi∣xi)=2π1exp(2yi−yi^2)
- 进一步我们假设数据集中 N N N个样本点之间相互独立,则给定所有 X X X输出所有真实值 Y Y Y的概率,即似然函数为: L ( X , Y ) = ∏ i = 1 N 1 2 π e x p ( y i − y i ^ 2 2 ) L(X,Y)=∏_{i=1}^N \frac{1}{\sqrt{2π}} exp(\frac{y_i-\hat{y_i}^2}{2}) L(X,Y)=i=1∏N2π1exp(2yi−yi^2)
- 取对数,得到对数似然函数: L L ( X , Y ) = l o g ( L ( X , Y ) ) = − N 2 l o g 2 π − 1 2 ∑ i = 1 N ( y i − y i ^ ) 2 LL(X,Y)=log(L(X,Y))=-\frac{N}{2} log2π-\frac{1}{2} ∑_{i=1}^N (y_i-\hat{y_i })^2 LL(X,Y)=log(L(X,Y))=−2Nlog2π−21i=1∑N(yi−yi^)2
- 那最大似然估计,就可以通过最小化最后一项来实现: N L L ( X , Y ) = − 1 2 ∑ i = 1 N ( y i − y i ^ ) 2 NLL(X,Y)=-\frac{1}{2} ∑_{i=1}^N (y_i-\hat{y_i })^2 NLL(X,Y)=−21i=1∑N<