1 问题定义:
- 给定数据集和标签,训练一个模型,使得输入新的 ,输出对应的标签值。这里数据集 ,标签 ;
2 建立判别模型
- 建立一个判别模型,输入数据 ,输出该数据被分类成每个类别的概率;
- 对于二分类问题,我们使用sigmoid函数来建立判别模型:
3 建立似然函数:
- 对于所有数据集,建立似然函数:
- 对数似然:
- 求导:
- 令导数等于0,就得到了的极大似然估计,但为了方便求解,这里使用梯度下降法,因此需要建立损失函数。
4 交叉熵损失函数
- 我们基于对数似然来定义交叉熵损失函数,及极大化似然就等价于最小化交叉熵:
- 损失函数梯度:
5 为什么不使用最小二乘损失函数(LSE)?
- LSE损失函数:
- LSE损失函数梯度:
- 由于存在项,会出现梯度消失问题,而交叉熵损失函数梯度不存在这个问题;