损失函数、大数定律 and 中心极限定理

  • 损失函数

    1. 期望损失

      为了度量平均意义下模型预测性能的好坏,可以使用损失函数。
      对于一个模型被构建完成起,它的性能其实已经注定,如果用损失函数衡量,那么从它诞生之时,就已经有了能达到的最优的损失函数值,这个天生的最优(最小)的损失函数值叫做期望损失,可以此表示:

      R e x p ( h ) = E p [ L ( y , h ( x ) ) ] = ∫ x , y L ( y , h ( x ) ) p ( x , y ) d x d y R_{exp}(h)=E_p[L(y,h(x))]=\int_{x,y}L(y,h(x))p(x,y)dxdy Rexp(h)=Ep[L(y,h(x))]=x,yL(y,h(x))p(x,y)dxdy,其中 h ( x ) h(x) h(x) 为决策函数。

      而我们不知道最优的 R e x p ( h ) R_{exp}(h) Rexp(h) 是多少,所以必须通过数据的训练。训练的目标是选择出能使 R e x p ( h ) R_{exp}(h) Rexp(h) 最小的模型,但是对于真实世界, p ( x , y ) p(x,y) p(x,y) 是未知的,所以 R e x p ( h ) R_{exp}(h) Rexp(h) 也是未知的。

      那该怎样求得呢?不急,先介绍一下大数定律与中心极限定理。

    2. 大数定律

      简单来说,即:某试验 X ,其对应的某随机事件为 A ,在条件不变的情况下重复 X 试验 N 次,当 N → ∞ N→\infty N 时,随机事件 A 发生的频率近似于它发生的真实概率 P。

    3. 中心极限定理

      中心极限定理指的是给定一个任意分布的总体,每次从这些总体中随机抽取 m 个抽样,一共抽 n 次。 然后把这 n 组抽样分别求出平均值,这些平均值的分布接近正态分布。

      举例来讲:

      为求北京市全体小学生的平均身高,设计随机抽样,从全体小学生中抽取 1000 个学生作为一个样本集,根据这 1000 个小学生身高可以求得一个平均值。
      此时,我们进行 5 次随机抽样,共得到 5 个样本集,每个样本集都包含 1000 个学生,这样可以对每个样本集都计算一个均值,共可以得到 5 个均值。
      若我们总共进行了 n 次抽样,则可得到 n 个均值,当 n→∞ 时,这 n 个均值服从正态分布。

      这个例子清楚解释了什么是中心极限定理。

    4. 经验损失

      接着第一小节说,由于p(x,y)未知,所以变换思路,对数据 Xi ∈ X,标签 Y,可得:

      R e m p ( h ) = 1 n ∑ i = 1 n L ( y i , h ( x i ) ) R_{emp}(h)=\frac{1}{n}\sum_{i=1}^{n}L(y_i,h(x_i)) Remp(h)=n1i=1nL(yi,h(xi))

      R e m p ( h ) R_{emp}(h) Remp(h) 称为经验损失。

      而根据大数定律,当 n → ∞ n→\infty n时, R e m p ( h ) → R e x p ( h ) R_{emp}(h)→R_{exp}(h) Remp(h)Rexp(h)

      所以我们可以使用 R e m p ( h ) R_{emp}(h) Remp(h) 代替 R e x p ( h ) R_{exp}(h) Rexp(h)

      ∙ \bullet 当经验损失使用对数损失时,经验损失最小化等价于极大似然估计。

    5. 结构损失

      在现实中,训练数据的数目有限,有时还很少,所以用经验损失估计期望损失常常并不理想,要对经验损失进行一定的修正,由此产生结构损失。

      结构损失是在经验损失函数的基础上,添加正则项。经验损失函数可表示为:

      R s r m h = 1 n ∑ i = 1 n L ( y i , h ( x i ) ) + λ J ( h ) R_{srm}{h}=\frac{1}{n}\sum_{i=1}^{n}L(y_i,h(x_i)) + λJ(h) Rsrmh=n1i=1nL(yi,h(xi))+λJ(h)

      其中 λ J ( h ) λJ(h) λJ(h) 为正则项, J ( h ) J(h) J(h) 表示函数 h ( x ) h(x) h(x) 的复杂度, λ λ λ 为调节系数。

      优化的目标是:使经验损失、模型复杂度都小的模型。

      ∙ \bullet 稀疏的角度 看:复杂度越低,表明某特征无用,其对应参数为 0,即稀疏;
      ∙ \bullet 搜索空间角度 看:可以控制参数的搜索空间,若函数 h ( x ) h(x) h(x) 中的参数越大,则损失值越大;
      ∙ \bullet 贝叶斯的角度 看:正则项对应于模型的先验概率,可假设复杂模型有较小的先验概率,可假设简单模型有较大的先验概率;
      ∙ \bullet 奥卡姆剃刀原则:“如无必要,勿增实体”,模型应尽量减少冗余,尽量简单。

      常用的正则项有:

      ∙ \bullet L1 λ ∑ j = 1 n ∣ θ j ∣ λ\sum_{j=1}^{n}|θ_j| λj=1nθj
      (线性回归中使用此正则项,则变成 LASSO 回归)

      ∙ \bullet L2 λ ∑ j = 1 n θ j 2 λ\sum_{j=1}^{n}θ_j^2 λj=1nθj2
      (线性回归中使用此正则项,则变成 Ridge 回归)

      ∙ \bullet L1 - L2 λ ( p ∑ j = 1 n ∣ θ j ∣ + ( 1 − p ) ∑ j = 1 n θ j 2 ) λ(p\sum_{j=1}^{n}|θ_j|+(1-p)\sum_{j=1}^{n}θ_j^2) λ(pj=1nθj+(1p)j=1nθj2)

  • 损失函数种类

    L ( y i , h ( x ) ) L(y_i,h(x)) L(yi,h(x)) 为损失函数, h ( x i ) h(x_i) h(xi) 为模型预测函数 h ( x ) h(x) h(x) 对数据 x i x_i xi 的预测值, y i y_i yi 为真实标签。

    1. 回归中的损失函数
      平方损失

      主要在最小二乘法(OLS,Ordinary Least Square)中。

      L ( y i , h ( x i ) ) = ( y i − h ( x i ) ) 2 L(y_i,h(x_i))=(y_i-h(x_i))^2 L(yi,h(xi))=(yih(xi))2

      ∙ \bullet 对整个数据集有:均方误差 MSE(Mean Squared Error)为:

      M S E = 1 n ∑ i = 1 n ( y i − h ( x i ) ) 2 MSE=\frac{1}{n}\sum_{i=1}^{n}(y_i−h(x_i))^2 MSE=n1i=1n(yih(xi))2

      均方误差是指预测值值与真实标记之差的平方的期望值。

      ∙ \bullet 对整个数据集还有:均方根误差 RMSE(Root Mean Squared Error)

      R M S E = 1 n ∑ i = 1 n ( y i − h ( x i ) ) 2 RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i−h(x_i))^2} RMSE=n1i=1n(yih(xi))2

      ★ \bigstar 平方损失函数是对均值的估计;
      ★ \bigstar 优点:各处可导;
      ★ \bigstar 缺点:对噪声与异常值敏感。

      (方差指对数据微小改变的敏感程度;稍有差异,则改变程度变化就会较大;方差越高,越容易过拟合;对噪声敏感。)


      绝对损失

      L ( y i , h ( x i ) ) = ∣ y i − h ( x i ) ∣ L(y_i,h(x_i))=| y_i-h(x_i) | L(yi,h(xi))=yih(xi)

      ∙ \bullet 对整个数据集有:平均绝对误差 MAE(Mean Absolute Error)

      M A E = 1 n ∑ i = 1 n ∣ y i − h ( x i ) ∣ MAE=\frac{1}{n}\sum_{i=1}^{n}| y_i-h(x_i) | MAE=n1i=1nyih(xi)

      ★ \bigstar 是对中位数的估计;
      ★ \bigstar 优点:相比平方损失,对噪声不敏感;
      ★ \bigstar 缺点:在 0 处不可导。

      (偏差是指模型预测值与真实值之间的差异;偏差越高,代表越欠拟合,不能充分利用数据的有效信息。)


      Huber 损失

      L ( y i , h ( x i ) ) = { 1 2 ( y i − h ( x i ) ) 2 , ∣ y i − h ( x i ) ∣ &lt; δ δ ∣ y i − h ( x i ) ∣ − 1 2 δ 2 , o t h e r w i s e L(y_i,h(x_i))=\begin{cases} \frac{1}{2} (y_i-h(x_i))^2,| y_i-h(x_i) | &lt; δ\\ δ| y_i-h(x_i) |-\frac{1}{2}δ^2,otherwise\\ \end{cases} L(yi,h(xi))={21(yih(xi))2yih(xi)<δδyih(xi)21δ2otherwise

      ★ \bigstar 当损失值很小时,等价于平方损失;
      ★ \bigstar 当损失值较大时,等价于绝对损失;
      ★ \bigstar 缺点:只一阶可导。

      Log-Cosh 损失

      L ( y i , h ( x i ) ) = l o g [ c o s h ( y i − h ( x i ) ) ] L(y_i,h(x_i))=log[cosh(y_i-h(x_i))] L(yi,h(xi))=log[cosh(yih(xi))],其中 c o s h ( x ) = e x + e − x 2 cosh(x) = \frac{e^{x}+e^{-x}}{2} cosh(x)=2ex+ex

      ∙ \bullet 对整个数据集有: L [ y i , h ( x i ) ] = ∑ i = 1 n l o g [ c o s h ( y i − h ( x i ) ) ] L[y_i,h(x_i)]=\sum_{i=1}^{n}log[cosh(y_i-h(x_i))] L[yi,h(xi)]=i=1nlog[cosh(yih(xi))]

      ★ \bigstar 优点:与 Huber 损失相似,但二阶可导。

    2. 分类中的损失函数
      0-1 损失

      L ( y i , h ( x i ) ) = { 1 , y i ≠ h ( x i ) 0 , y i = h ( x i ) L(y_i,h(x_i)) =\begin{cases} 1,y_i\neq h(x_i)\\ 0,y_i = h(x_i) \end{cases} L(yi,h(xi))={1yi̸=h(xi)0yi=h(xi)

      ★ \bigstar 缺点:不连续,无法实际优化


      Hinge 损失

      主要应用在 SVM 中。

      L ( y i , h ( x i ) ) = m a x ( 0 , 1 − y i h ( x i ) ) L(y_i,h(x_i)) = max(0,1−y_ih(x_i)) L(yi,h(xi))=max(0,1yih(xi))

      ∙ \bullet 对整个数据集有:

      L ( y i , h ( x i ) ) = ∑ i = 1 n m a x ( 0 , 1 − y i h ( x i ) ) L(y_i,h(x_i)) = \sum_{i=1}^{n}max(0,1−y_ih(x_i)) L(yi,h(xi))=i=1nmax(0,1yih(xi))


      对数损失

      L ( y i , h ( x i ) ) = − l o g ( p ( y i ∣ x i ) ) L(y_i,h(x_i)) = -log(p(y_i|x_i)) L(yi,h(xi))=log(p(yixi))

      ∙ \bullet 对整个数据集有:

      L ( y i , h ( x i ) ) = ∏ i = 1 n − l o g ( p ( y i ∣ x i ) ) L(y_i,h(x_i)) = \prod_{i=1}^{n}-log(p(y_i|x_i)) L(yi,h(xi))=i=1nlog(p(yixi))

      假设全独立,则:

      L ( y i , h ( x i ) ) = ∏ i = 1 n − l o g ( p ( y i ∣ x i ) ) ⇒ 似 然 函 数 ∏ i = 1 n [ h ( x i ) y i ] [ 1 − h ( x i ) ] 1 − y i L(y_i,h(x_i)) = \prod_{i=1}^{n}-log(p(y_i|x_i))\Rightarrow似然函数\prod_{i=1}^{n}[h(x_i)^{y_i}][1-h(x_i)]^{1-y_i} L(yi,h(xi))=i=1nlog(p(yixi))i=1n[h(xi)yi][1h(xi)]1yi

      而后可取对数似然,使用极大似然估计或梯度下降求解最优值。

      变换成对数似然函数后就是我们常用的:binary_crossentropy、categorical_crossentropy

      ★ \bigstar 优点:输出被调整的结果;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值