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


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

































相关文章
|
7月前
|
机器学习/深度学习
为什么在二分类问题中使用交叉熵函数作为损失函数
为什么在二分类问题中使用交叉熵函数作为损失函数
287 2
|
2月前
|
机器学习/深度学习 自然语言处理
交叉熵损失
【10月更文挑战第2天】
|
机器学习/深度学习 数据采集
多项式回归
机器学习中的多项式回归是一种用于解决回归问题的非线性模型。与线性回归不同,
113 2
|
机器学习/深度学习
信息熵、KL散度、交叉熵、softmax函数学习小记
信息熵、KL散度、交叉熵、softmax函数学习小记
106 0
|
机器学习/深度学习 算法
24 正态分布和最大熵
24 正态分布和最大熵
99 0
|
机器学习/深度学习 算法
非线性世界的探索:多项式回归解密
非线性世界的探索:多项式回归解密
“交叉熵”反向传播推导
“交叉熵”反向传播推导
143 0
|
机器学习/深度学习 算法
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
|
机器学习/深度学习
损失函数:均方误和交叉熵,激活函数的作用
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
204 1
损失函数:均方误和交叉熵,激活函数的作用
|
机器学习/深度学习 数据可视化 计算机视觉
图像分类_03分类器及损失:线性分类+ SVM损失+Softmax 分类+交叉熵损失
解释:w的每⼀⾏都是其中⼀个类的分类器。这些数字的⼏何解释是,当我们改变w的⼀行时,像素空间中相应的线将以不同的⽅向旋转。⽽其中的偏置是为了让我们避免所有的分类器都过原点。
175 0