机器学习基础知识—交叉熵损失函数

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

我们今天从两个方式来推导出交叉熵损失函数的公式,而且在推导过程中解释为什么交叉熵可以用于分类问题的损失函数。

最大似然估计

在统计学中,最大似然估计(英语:Maximum Likelihood Estimation,简作MLE),也称极大似然估计,是用来估计一个概率模型的参数的一种方法。

KL 散度

之前介绍过 KL 散度用于衡量 2 概率分布之间差距。


D_{KL}(P||Q) = \sum_i P(i) \log \frac{P(i)}{Q(i)}

用于衡量 $Q(i)$ 与 $P(i)$ 之间的距离。那么对于多分布概率,


D_{KL}(P^*(y_i|x_i)||P(\hat{y}_i|x_i;\theta))

  • $P(\hat{y}_i|x_i;\theta)$ 表示神经网络对应模型预测数据分布其中 $\theta$ 为分布参数,其中$x_i$ 表示第 i 个样本,可以一张图片,也可以样本,$\theta$ 是神经网络的参数,$\hat{y}$ 是神经网络给出推测结果
  • $P^*(y_i|x_i)$ 表示数据的真实分布


D_{KL}(P^(y_i|x_i)||P(\hat{y}_i|x_i;\theta)) = \sum_i P^(y_i|x_i)\log \frac{P^*(y_i|x_i)}{P(\hat{y}_i|x_i;\theta})

进行进一步化简得到

D_{KL}(P^||P) = \sum_i (P^(y_i|x_i)\left[ \log P^*(y_i|x_i) - \log P(\hat{y}_i|x_i;\theta) \right]


D_{KL}(P^||P) = \sum_i (P^(y_i|x_i) \log P^(y_i|x_i) - \sum_i (P^(y_i|x_i)\log P(\hat{y}_i|x_i;\theta)

$\sum_i (P^(y_i|x_i) \log P^(y_i|x_i)$ 这一项和 $\theta$ 无关,所以可以忽略这。所以最终化简为


\argmin{\theta} D{KL}(P^||P) = - \sum_i (P^(y_i|x_i)\log P(\hat{y}_i|x_i;\theta)

这是通过 KL 散度来推导出

极大似然

就是通过观察结果来推测数据概率分布,假设有密封 box,我们只知道其中装有一定数量的球,其中有 red 球和 blue 球,不过 red 球和 blue 球比例我们并不知道,我们可以从 box 中取球,不过每一次只能取一个球观察后需要放回 box,我们可以从 box 取一定次数,然后通过观察取出球 red 球和 blue 球的比例来推测 box 中 red 球和 blue 球的比例,这就是似然。

假设观察结果为 $C_1,C_2 \cdots C_3$ 如果硬币试验就是正面还是反面朝上结果,如果 red 或者 blue 球,我们观察到结果联合概率,然后我们是要找到一个概率分布参数让这种观察结果出现概率最大。


P(C1,C_2,\cdots C_n | \theta) = \prod{i=1}^n P(C_i|\theta)

我们可以将神经网络来模拟概率分布,这里参数 $W,b$ 决定模型预测概率分布,假设这是一个二分类问题,可以认为是 Dog and Cat 预测结果。


P(y1,y_2,\cdots,y_n |W,b) = \prod{i=1}^n (P(y_i|W,b)


\hat{yi} = NN(W,b)\
P(y_1,y_2,\cdots,y_n |W,b) = \prod
{i=1}^n (P(y_i|\hat{y}_i)

我们可以通过神经网络模型预测结果 $\hat{y_i}$ 替换掉参数 $W,b$,因为是 0 1 的伯努利分布,所以可以写成如下形式,加下来就可以由似然推出交叉熵公式。


\prod_{i=1}^n \hat{y}^{y_i}(1 - \hat{y})^{1 - y_i}


\argmax{\theta} \sum{i=1}^n \log \hat{y}^{y_i}(1 - \hat{y})^{1 - y_i}


\argmax{\theta} \sum{i=1}^n y_i \log \hat{y} + (1-y_i)\log(1 - \hat{y})

$$

  • \argmin{\theta} \sum{i=1}^n y_i \log \hat{y} + (1-y_i)\log(1 - \hat{y})
    $$

文章标签:

原文连接:https://juejin.cn/post/7024817872446685214

相关推荐

【机器学习基础】无监督学习(5)——生成模型

【机器学习的数学01】可数集与不可数集

机器学习:贝叶斯分类器详解(一)-贝叶斯决策理论与朴素贝叶斯

OneFlow v0.8.0正式发布

从“AI玩具”到“创作工具”的云原生改造之路

【深度学习】(一)机器学习基础

基于CLIP的色情图片识别;油管最新ML课程大合集;交互式编写shell管道;机器人仓库环境增量感知数据集;最新AI论文 | ShowMeAI资讯日报

数据脱敏系统【回顾】

机器学习强基计划0-2:什么是机器学习?和AI有什么关系?

拯救不开心!我的机器人心理医生;机器学习的KPI千里追踪术;YOLO v7的PyTorch实现;李航新书『机器学习方法』开放试读 | ShowMeAI资讯日报

深度学习 机器学习 数据集资源汇总

德国信贷数据建模baseline!

嘘!摸鱼神器,别让老板知道!| 语音实时转文本,时序快速出预测,YOLOv6在线就能用,一行命令整理CSV | ShowMeAI资讯日报

深度学习最全资料合集

裁员吵架散摊子

AI遮天传 ML-无监督学习

机器学习之线性回归详解

[科普文] 搞 Web3 要学习哪些基础知识?

股市预测,销量预测,病毒传播...一个时间序列建模套路搞定全部!⛵

花了6个月时间完成本科优秀毕业设计,我做了什么?