1. 预备知识之极大似然估计(Maximum Likelihood Estimation, MLE)和交叉熵(Cross-Entropy)
1.1 极大似然估计(Maximum Likelihood Estimation, MLE)
极大似然估计是一种统计方法,用于估计参数使得观测数据出现的概率最大。也就是说通过调整参数使得目标概率最大,具体步骤如下:
假设我们有一组观测数据,以及一个参数向量 ,似然函数 定义为参数 下观测数据 出现的概率:
通常为了简化计算,使用对数似然函数:
然后求解使对数似然函数达到最大值的参数,也就是让想得到的目标概率最大:
最后再通过求导并解方程来实现
1.2 交叉熵(Cross-Entropy)
交叉熵是信息论和机器学习中一种常用的损失函数,用于衡量两个概率分布之间的差异。常用于分类问题,特别是在逻辑回归和神经网络的训练中。其实说白了就是预测值和真实值之间的差异,公式为:
其中,P(x) 是真实值,Q(x)是预测值,x是种类 的个数。
如果x = 2 那么这就是一个二分类问题,标签值就是1或者0,那么我们便可以使用y代表真实值,逻辑回归模型的输出是一个概率值,假设表示类别为1的概率为,那么交叉熵损失函数:
当目标变量 y=1 时,损失函数变为,当y = 0时,损失函数为:
假设我们有一个二分类问题,真实标签 y=1,预测概率 =0.9,交叉熵损失为:
如果x 是多个值,也就是是多分类问题,真实标签 y 是一个one-hot编码的向量,即在第 i 类的位置为1,其他位置为0。预测值 是一个概率向量,其元素表示每个类别的概率那么损失函数为:
假设我们有一个多分类问题,有3个类别,真实标签,预测概率,交叉熵损失为:
2. 逻辑回归模型
逻辑回归通常用于解决二分类问题,目的是估计某个事件发生的概率。是通过对输入变量的线性组合进行变换,逻辑回归模型的输出是一个介于0和1之间的概率值,表示事件发生的概率。这个概率值可以进一步转换为二分类标签(0或1):
- 如果概率值大于某个阈值(通常为0.5),则预测为类别1。
- 如果概率值小于等于该阈值,则预测为类别0。
逻辑回归首先将输入特征 转化为一个线性组合:
其中是模型参数,是输入特征。
将线性组合的结果通过 sigmoid 函数(或称 logistic 函数)进行映射,得到一个介于0和1之间的概率值:
这样就得到了事件发生的概率
最后通过极大似然估计(MLE)来估计模型参数,使得预测结果与实际观测数据的匹配程度最大化。对数似然函数为
通过最大化对数似然函数,找到最优参数 。
梯度下降法寻找最优解
首先计算梯度:
然后计算更新参数:
其中是学习率
3. 计算示例
假设我们有一个简单的逻辑回归模型,只有一个输入特征和一个样本,其中,真实标签值,那么接下来使用交叉熵损失函数来训练模型。
初始化
- 初始参数
- 学习率
第一次迭代
计算线性组合 和预测概率 :
计算交叉熵损失函数:
计算梯度:
对于 ,因为它对应的是偏置项,不受 的影响,所以其梯度为
更新参数:
第二次迭代
计算新的线性组合 和预测概率 :
计算新的交叉熵损失函数:
计算新的梯度:
更新参数:
参数更新的作用是通过迭代优化,使模型在给定训练数据上的预测误差最小化。在逻辑回归中,梯度下降是一种常用的优化算法,它通过计算损失函数的梯度并更新参数,使得模型逐步逼近最优解。每次迭代更新参数后,模型对数据的拟合效果会逐渐提高,从而提高预测准确性。