似然函数小结

似然函数

总是被论文中各种各样奇怪的损失函数折磨,干脆就抽半天专门看看这东西

似然函数

似然函数是一种关于模型中参数的函数。“似然性likehood”和概率词义相近,但统计学上是完全不同的含义:

  • 概率用于在已知参数的情况下,预测接下来的观测结果

  • 似然性用于根据一些观测结果,估计给定模型的参数可能值

    似然函数的本质就是衡量在某个参数下,整体的估计和真实的情况一样的概率,越大代表越相近。

负对数似然

先从熟悉的两点分布说起,对应二分类问题,其分布律为:
P ( X = x ∣ p ) = p x ( 1 − p ) 1 − x = { p  if  x = 1 1 − p  if  x = 0 P(X=x \mid p)=p^{x}(1-p)^{1-x}= \begin{cases}p & \text { if } x=1 \\ 1-p & \text { if } x=0\end{cases} P(X=xp)=px(1p)1x={p1p if x=1 if x=0
对于多分类问题,只需将其扩展到多项分布,假设X有 K K K 种可能的取值:
P ( X = x ∣ p 1 , p 2 , … , p k ) = ∏ i = 1 K p i x i ∑ i = 1 K p i = ∑ i = 1 K x i = 1 , x i ∈ { 0 , 1 } \begin{aligned} &P\left(X=x \mid p_{1}, p_{2}, \ldots, p_{k}\right)=\prod_{i=1}^{K} p_{i}^{x_{i}} \\ &\sum_{i=1}^{K} p_{i}=\sum_{i=1}^{K} x_{i}=1, x_{i} \in\{0,1\} \end{aligned} P(X=xp1,p2,,pk)=i=1Kpixii=1Kpi=i=1Kxi=1,xi{0,1}
其中, p i p_{i} pi 表示X属于各类别的概率, x x x 是用one_hot向量表示的类别。
现在假设分类器输出了一组预测概率 y pred  = ( p 1 , p 2 , … , p k ) y_{\text {pred }}=\left(p_{1}, p_{2}, \ldots, p_{k}\right) ypred =(p1,p2,,pk) ,我们想知道: 如果以这组概率 为多项分布的参数,观测到对应 y true  = ( x 1 , x 2 , … , x k ) y_{\text {true }}=\left(x_{1}, x_{2}, \ldots, x_{k}\right) ytrue =(x1,x2,,xk) 的概率是多少。如果观测到 y true  y_{\text {true }} ytrue  的 概率大,表示模型预测的精准。这就是似然函数:
L ( y true  ∣ y pred  ) = ∏ i = 1 K y pred  ( i ) y true  ( i ) L\left(y_{\text {true }} \mid y_{\text {pred }}\right)=\prod_{i=1}^{K} y_{\text {pred }}(i)^{y_{\text {true }}(i)} L(ytrue ypred )=i=1Kypred (i)ytrue (i)

​ 在预测序列为 y p r e d y_{pred} ypred情况下,真实序列 y t r u e y_{true} ytrue出现的可能性越大,表示 y p r e d y_{pred} ypred预测的越靠谱,或者说,真实序列 y t r u e y_{true} ytrue出现时, y p r e d y_{pred} ypred表示的是其预测的靠谱程度

​ 我们要做的,就是在 y p r e d y_{pred} ypred的取值范围内,**找到能使得 L ( y true  ∣ y pred  ) L\left(y_{\text {true }} \mid y_{\text {pred }}\right) L(ytrue ypred ) 能够取得最大值(就是在这个 y p r e d y_{pred} ypred下,正确序列出现的概率最高)的 y p r e d ^ \hat{y_{pred}} ypred^,**由于 y p r e d ^ \hat{y_{pred}} ypred^使得似然函数取值达到最大,因此 y p r e d ^ \hat{y_{pred}} ypred^,就是参数 y p r e d y_{pred} ypred的极大似然估计

​ 未知参数 y p r e d y_{pred} ypred取估计值 y p r e d ^ \hat{y_{pred}} ypred^,时,获取的到真实序列 y t r u e y_{true} ytrue的可能性比其他任何情况下都大

如何获得极大似然估计?

问题其实转换为一个求最值的问题,可以对似然函数求导,使得导数为0的 y p r e d y_{pred} ypred的取值,就是我们要找的极大似然估计 y p r e d ^ \hat{y_{pred}} ypred^

但①连乘函数求导比较复杂②由于函数 g ( x ) g(x) g(x) ln ⁡ ( g ( x ) ) \ln (g(x)) ln(g(x)) 的单调性是保持一致的。

因此我 们可以选择把似然函数 L ( x ) L(x) L(x) 转化为 ln ⁡ ( L ( x ) ) \ln (L(x)) ln(L(x)) ,这样连乘就变成了连加:
L ( y true  ∣ y pred  ) = ∑ i = 1 K y true  ( i ) log ⁡ ( y pred  ( i ) ) L\left(y_{\text {true }} \mid y_{\text {pred }}\right)=\sum_{i=1}^{K} y_{\text {true }}(i) \log \left(y_{\text {pred }}(i)\right) L(ytrue ypred )=i=1Kytrue (i)log(ypred (i))
此时再对他进行求导就变得容易了,如果方程有唯一解,且是极大值点,那么我们就求得了极大似 然估计值

负对数似然函数和交叉熵损失函数
image-20220401185045133

图像为 − log ⁡ ( L ( y true  ∣ y pred  ) ) -\log(L\left(y_{\text {true }} \mid y_{\text {pred }}\right)) log(L(ytrue ypred )),损失函数的目的是使得 y p r e d y_{pred} ypred预测的跟 y t r u e y_{true} ytrue越来越接近,

  • 用负对数似然的原理来解释,就是 L ( y true  ∣ y pred  ) L\left(y_{\text {true }} \mid y_{\text {pred }}\right) L(ytrue ypred )取值尽可能大,(但不用找到最大似然估计)

  • 用损失函数的思想,最小化 − log ⁡ ( L ( y true  ∣ y pred  ) ) -\log(L\left(y_{\text {true }} \mid y_{\text {pred }}\right)) log(L(ytrue ypred ))的结果是,使得 L L L越来越接近1,即使得 y p r e d y_{pred} ypred预测的跟 y t r u e y_{true} ytrue越来越接近

  • 最小化交叉熵函数的本质就是对数似然函数的最大化

通常机器学习都是最小化损失函数的,所以我们给 log ⁡ ( L ) \log (L) log(L) 加上负号,变成负对数似然。最小化 负对数似然等价于最大化似然函数,即交叉熵:
CrossEntropy ⁡ ( y true  , y pred  ) = − log ⁡ ( L ) = − ∑ i = 1 K y true  ( i ) log ⁡ ( y pred  ( i ) ) \operatorname{CrossEntropy}\left(y_{\text {true }}, y_{\text {pred }}\right)=-\log (L)=-\sum_{i=1}^{K} y_{\text {true }}(i) \log \left(y_{\text {pred }}(i)\right) CrossEntropy(ytrue ,ypred )=log(L)=i=1Kytrue (i)log(ypred (i))

参考资料

https://www.zhihu.com/question/54082000

https://zhuanlan.zhihu.com/p/268171298

https://blog.csdn.net/silver1225/article/details/88914652

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

simpsun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值