Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-2

简介: Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-2

73.png

-np.log2(0.8)
#0.3219280948873623
  • 再次理解交叉熵计算公式中的叠加是类别的叠加。
  • 上述数据集标签由 0-1 转化为 A、B,也被称为名义型变量的独热编码。


2. 多样本交叉熵计算


而对于多个数据集,整体交叉熵实际上是每条数据交叉熵的均值。例如上述数据集,整体交叉熵计算结果为:

74.png

(-np.log2(0.8)-np.log2(0.7)-np.log2(0.6)-np.log2(0.7)) / 4
#0.5220100086782713


据此,我们可以给出多样本交叉熵计算公式如下:75.png



  • 其中 m 为数据量,n 为类别数量。

3. 对比极大似然估计函数


76.png

-np.log(0.8)-np.log(0.7)-np.log(0.6)-np.log(0.7)

尽管具体数值计算结果有所差异,但基本流程都是类似的——取类别 1 的概率的对数运算结果进行累加再取负数。

因此在实际建模过程中,考虑采用极大似然估计构建损失函数,和采用交叉熵构建损失函数,效果是相同的,二者构建的损失函数都能很好的描绘模型预测结果和真实结果的差异程度。不过在机器学习领域,一般以交叉熵损失函数为主。


4. 二分类交叉熵损失函数


据此,我们也可最终推导二分类交叉熵损失函数计算公式,结合极大似然估计的计算公式和交叉熵的基本计算流程,二分类交叉熵损失函数为:


78.png

  • 我们也可以定义一个函数来进行二分类交叉熵损失函数的计算:
def BCE(y, yhat):
    """
    二分类交叉熵损失函数
    """
    return(-(1/len(y))*np.sum(y*np.log2(yhat)+(1-y)*np.log2(1-yhat)))


  • 简单进行验证
y = np.array([1, 0, 0, 1]).reshape(-1, 1)
yhat = np.array([0.8, 0.3, 0.4, 0.7]).reshape(-1, 1)
BCE(y, yhat)
#0.5220100086782713


至此,我们就完成了完整的逻辑回归损失函数的构建。但正如此前所讨论的一样,对于逻辑回归的损失函数来说,尽管也是凸函数,但无法使用最小二乘法进行求解。

































相关文章
|
6月前
|
机器学习/深度学习
为什么在二分类问题中使用交叉熵函数作为损失函数
为什么在二分类问题中使用交叉熵函数作为损失函数
185 2
MATALB运用——最小二乘法拟合
MATALB运用——最小二乘法拟合
138 0
|
机器学习/深度学习 数据采集
多项式回归
机器学习中的多项式回归是一种用于解决回归问题的非线性模型。与线性回归不同,
104 2
|
机器学习/深度学习
信息熵、KL散度、交叉熵、softmax函数学习小记
信息熵、KL散度、交叉熵、softmax函数学习小记
96 0
|
机器学习/深度学习 算法
非线性世界的探索:多项式回归解密
非线性世界的探索:多项式回归解密
“交叉熵”反向传播推导
“交叉熵”反向传播推导
133 0
|
机器学习/深度学习 算法
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
|
机器学习/深度学习 人工智能 JavaScript
【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度
对抗神经网络(如DIM模型)及图神经网络(如DGI模型)中,使用互信息来作为无监督方式提取特征的方法。
892 0
|
机器学习/深度学习
决策树中熵、条件熵、信息增益及信息增益比的python实现
决策树中熵、条件熵、信息增益及信息增益比的python实现
决策树中熵、条件熵、信息增益及信息增益比的python实现