在有监督学习中,损失函数刻画了模型的预测值与训练样本的匹配程度。令函数 f : X → Y f : X \rightarrow Y f:X→Y 表示我们的机器学习模型,模型关于第 i i i 个样本的输出为 f ( x i ) f(x_i) f(xi),为了刻画模型的预测值与训练样本的匹配程度,定义损失函数 J : Y × Y → R ≥ 0 J: Y\times Y \rightarrow R_{\geq 0} J:Y×Y→R≥0,损失函数的值 J ( f ( x i ) , y i ) ) J(f(x_i),y_i)) J(f(xi),yi)) 越小,表示模型匹配的越好。
针对回归问题和分类问题,使用的损失函数会有所不同。
1 回归问题
1.1 均方差损失(Mean Squared Error Loss, MSE)/ L2 损失
均方差损失是回归任务中最常用的一种损失函数,也称为 L2 Loss,其基本形式为:
J M S E = 1 N ∑ i = 1 N ( y i − f ( x i ) ) 2 J_{MSE}=\frac{1}{N} \sum_{i=1}^N (y_i - f(x_i))^2 JMSE=N1i=1∑N(yi−f(xi))2
1.1.1 原理
均方差损失函数假设模型的预测值于真实值之间的误差服从 标准的正态分布( μ = 0 , σ = 1 \mu=0,\sigma=1 μ=0,σ=1),则给定一个输入 x i x_i xi,模型输出真实值 y i y_i yi 的概率为:
p ( y i ∣ x i ) = 1 2 π exp ( − ( y i − f ( x i ) ) 2 2 ) p(y_i|x_i)=\frac{1}{\sqrt{2\pi}} \exp(-\frac{(y_i-f(x_i))^2}{2}) p(yi∣xi)=2π1exp(−2(yi−f(xi))2)
假设数据集中的 N N N 个样本点互相独立,根据条件独立性假设,则给定所有输入样本 x i x_i xi,输出所有真实值 y y y 的概率,即似然(Likelihood),为所有 p ( y i ∣ x i ) p(y_i|x_i) p(yi∣xi) 的累积:
L ( x , y ) = ∏ i = 1 N p ( y i ∣ x i ) = ∏ i = 1 N 1 2 π exp ( − ( y i − f ( x i ) ) 2 2 ) \begin{aligned} L(x,y) &= \prod_{i=1}^N p(y_i|x_i) \\ &= \prod_{i=1}^N \frac{1}{\sqrt{2\pi}} \exp(-\frac{(y_i-f(x_i))^2}{2}) \end{aligned} L(x,y)=i=1∏Np(yi∣xi)=i=1∏N2π1exp(−2(yi−f(xi))2)
为了方便计算,对上式取对数,则它的对数似然(Log Likelihood, LL)为:
L L ( x , y ) = log ( L ( x , y ) ) = − N 2 log 2 π − 1 2 ∑ i = 1 N ( y i − f ( x i ) ) 2 \begin{aligned} LL(x,y) &= \log(L(x,y)) \\ &= -\frac{N}{2} \log 2\pi - \frac{1}{2} \sum_{i=1}^{N} (y_i-f(x_i))^2 \end{aligned} LL(x,y)=log(L(x,y))=−2Nlog2π−21i=1∑N(yi−f(xi))2
第一项与 f ( x i ) f(x_i) f(xi) 无关可以去掉,因此,最终问题可以转化为最小化负对数似然(Negative Log Likelihood, NLL):
N L L ( x , y ) = 1 2 ∑ i = 1 N ( y i − f ( x i ) ) 2 NLL(x,y)=\frac{1}{2} \sum_{i=1}^{N} (y_i-f(x_i))^2 NLL(x,y)=21i=1∑N(yi−f(xi)