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


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

































相关文章
|
8月前
|
设计模式 人工智能 API
Cursor 上线最新 AI 模型 Claude 3.7 Max:200k上下文+200次工具调用!史上最强代码助手硬核上线
Claude 3.7 Max 是 Cursor 推出的最新 AI 模型,支持 200k 上下文窗口和 200 次工具调用,专为复杂代码任务设计,适合硬核开发者和大型项目。
796 6
Cursor 上线最新 AI 模型 Claude 3.7 Max:200k上下文+200次工具调用!史上最强代码助手硬核上线
|
监控 负载均衡 分布式数据库
Region 的分裂和合并是如何影响 Region 性能的
Region 的分裂和合并是如何影响 Region 性能的
|
机器学习/深度学习 PyTorch 算法框架/工具
【Transformer系列(5)】Transformer代码超详细解读(Pytorch)
【Transformer系列(5)】Transformer代码超详细解读(Pytorch)
2091 1
【Transformer系列(5)】Transformer代码超详细解读(Pytorch)
|
运维 负载均衡 监控
同时设置两张网卡的接口跃点数:影响与优化分析
在现代网络中,服务器常配有多张网卡以提升性能和冗余。本文探讨了不同跃点数配置的影响及优化策略。首先介绍了跃点数的概念及其对数据传输效率的影响。接着分析了两张网卡跃点数差异可能导致的延迟增加、负载不均衡等问题,并提出了负载均衡、优先级设置、监控调整及故障转移等优化方法,帮助网络管理员实现高效稳定的通信。
|
机器学习/深度学习 自然语言处理 并行计算
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
2476 0
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
|
缓存 NoSQL Java
分布式系列教程(01) -Ehcache缓存架构
分布式系列教程(01) -Ehcache缓存架构
618 0
|
存储 编解码 人工智能
VLMs多模态大模型当下进展与思考(1)
VLMs多模态大模型当下进展与思考
623 9
|
机器学习/深度学习 算法
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
Lesson 4.2 逻辑回归参数估计:极大似然估计、相对熵与交叉熵损失函数-1
|
存储 运维 安全
【软件设计师备考 专题 】系统分析基础:理解系统分析的目的和任务
【软件设计师备考 专题 】系统分析基础:理解系统分析的目的和任务
670 0
|
开发工具 git
Git 中 merge 和 rebase 的区别
$ git pull --rebase和$ git pull区别 是git fetch + git merge FETCH_HEAD的缩写,所以默认情况下,git pull就是先fetch,然后执行merge操作,如果加-rebase参数,就是使用git rebase代替git merge 。
29942 0