当前位置: 首页 > news >正文

内网电脑做网站服务器枞阳网站建设

内网电脑做网站服务器,枞阳网站建设,网站毕业设计选题,简约、时尚、高端 网站建设对数似然损失函数(Log-Likelihood Loss Function) 对数似然损失函数是机器学习和统计学中广泛使用的一种损失函数,特别是在分类问题(例如逻辑回归、神经网络)中应用最为广泛。它基于最大似然估计原理,通过…

对数似然损失函数(Log-Likelihood Loss Function)

对数似然损失函数是机器学习和统计学中广泛使用的一种损失函数,特别是在分类问题(例如逻辑回归、神经网络)中应用最为广泛。它基于最大似然估计原理,通过最小化负对数似然(negative log-likelihood, NLL)来优化模型参数。


1. 对数似然损失的定义

对于一个分类问题,我们的目标是预测输入 x 属于类别 y∈{0,1} 的概率。假设模型输出的概率为 P(y=1|x) = \hat{y}​,则:

对数似然函数

似然函数衡量模型参数在观察到数据下的概率。假设数据集为 \{(x_i, y_i)\}_{i=1}^N​,样本 i 的预测概率为 \hat{y}_i,其似然函数为:

L(\theta) = \prod_{i=1}^N P(y_i | x_i; \theta)

对数似然函数

对数化简乘积:

\ell(\theta) = \log L(\theta) = \sum_{i=1}^N \log P(y_i | x_i; \theta)


 

2. 损失函数形式

为了简化计算,优化通常使用负对数似然损失函数(即最大化对数似然的对立面):

\mathcal{L}(\theta) = -\ell(\theta) = -\sum_{i=1}^N \log P(y_i | x_i; \theta)

二分类问题

对二分类问题,假设 P(y=1|x) = \hat{y}​,P(y=0|x) = 1 - \hat{y}​,则:

P(y|x) = \hat{y}^y (1 - \hat{y})^{1-y}

对数化并取负得到:

\mathcal{L}(\theta) = -\sum_{i=1}^N \left[ y_i \log \hat{y}_i + (1 - y_i) \log (1 - \hat{y}_i) \right]

这就是交叉熵损失函数的形式,广泛用于二分类问题。


3. 推导直观理解

1. 对数似然的意义

对数似然量化了模型预测的质量:

  • y_i = 1:我们希望预测概率 \hat{y}_i​ 越大越好。
  • y_i = 0:我们希望预测概率 1 - \hat{y}_i​ 越大越好。

通过最大化对数似然(或最小化负对数似然),模型会调整参数使其预测概率最接近真实概率。

2. 为什么对数?

  • 简化计算:对数化后,将乘积变为求和,优化更加高效。
  • 凸性:对数函数的特性使得损失函数在很多情况下是凸的,便于求解全局最优解。

4. 多分类问题

对于多分类问题(如 softmax 分类器),假设类别标签为 y∈{1,2,…,K}y,模型预测类别 j 的概率为 \hat{y}_j = P(y=j|x)

似然函数

P(y|x) = \prod_{j=1}^K \hat{y}_j^{\mathbb{1}(y=j)}

其中 {1}(y=j)是指示函数,表示样本 y 是否属于类别 j。

对数化

\ell(\theta) = \log P(y|x) = \sum_{j=1}^K \mathbb{1}(y=j) \log \hat{y}_j

负对数似然损失

对于整个数据集:

\mathcal{L}(\theta) = -\frac{1}{N} \sum_{i=1}^N \log \hat{y}_{i,y_i}

其中,\hat{y}_{i,y_i}​​ 是样本 i 对真实类别 y_i 的预测概率。


5. 代码实现

以下是二分类和多分类对数似然损失的 Python 实现:

1. 二分类损失

import numpy as npdef binary_log_likelihood_loss(y_true, y_pred):"""计算二元对数似然损失函数。参数:y_true: 真实标签数组,包含0和1,表示负类和正类。y_pred: 预测标签数组,包含0到1之间的浮点数,表示属于正类的概率。返回:返回二元对数似然损失函数的负均值。"""# 避免数值问题y_pred = np.clip(y_pred, 1e-10, 1 - 1e-10)# 计算并返回二元对数似然损失return -np.mean(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred))# 示例
y_true = np.array([1, 0, 1, 1, 0])
y_pred = np.array([0.9, 0.1, 0.8, 0.7, 0.3])
# 计算损失并输出
loss = binary_log_likelihood_loss(y_true, y_pred)
print("Binary Log-Likelihood Loss:", loss)

输出结果

Binary Log-Likelihood Loss: 0.22944289410146546

2. 多分类损失

from sklearn.metrics import log_loss# 示例数据
# 实际的类别标签
y_true = [0, 2, 1, 2]
# 预测的类别概率,每个子列表代表一个样本预测为各个类别的概率
y_pred = [[0.9, 0.05, 0.05],[0.1, 0.1, 0.8],[0.2, 0.7, 0.1],[0.05, 0.1, 0.85]
]# 使用 sklearn 计算对数似然损失
# 该函数计算的是模型预测的类别概率与实际类别标签之间的对数似然损失
# 对于多分类问题,该损失函数可以衡量模型预测概率与真实标签之间的差异程度
loss = log_loss(y_true, y_pred)
print("Multi-class Log-Likelihood Loss:", loss)

输出结果

Multi-class Log-Likelihood Loss: 0.2119244851021358

6. 对数似然损失的应用

  1. 逻辑回归
    • 二分类逻辑回归中,使用对数似然损失来拟合模型参数。
  2. 神经网络
    • 输出层通常采用 softmax 函数并结合对数似然损失,用于多分类任务。
  3. 最大熵模型
    • 最大化熵等价于最小化负对数似然。

7. 优点与缺点

优点

  • 对概率建模有理论支撑,直观解释预测置信度。
  • 能有效捕捉预测概率的质量。

缺点

  • 对异常值敏感:错误分类的高置信预测会导致损失剧增。
  • 数值问题:log⁡(0) 会引发计算错误,需引入数值稳定策略。

对数似然损失函数连接了统计学中的最大似然估计与机器学习中的损失优化,是现代监督学习模型的理论基石之一!

http://www.bjxfkj.com.cn/article/110847.html

相关文章:

  • 苏州虎丘区建设局网站网站的结构与布局优化
  • 都什么企业需要网站吗江西省城乡建设网站
  • 电子商务网站建设大二实训百度扫一扫识别图片
  • 沈阳网站建设模块全国十大物联网平台公司
  • 淘宝网站建设弄什么类目广东网页空间租赁
  • 基因数据库网站建设wordpress改目录域名
  • 广州做网站多少搭建本地网站环境
  • seo网站是什么建设银行手机银行官方网站
  • 首次建设网站流程图北京万户网络技术有限公司
  • c2c有哪些网站北京商业网站建设
  • php和asp.net建立电商网站比较价格低
  • 美丽定制 网站模板广州公司网页制作
  • 新建网站懂的建设网站
  • 网站空间更换东莞网站建设找谁
  • 外贸电子商务网站建设罗湖高端网站建设费用
  • 时光慢网站建设方案论文最新军事新闻事件报道
  • 九易建网站的建站流程wordpress当下载站
  • 重庆平台网站建设价格网站多语言解决方案
  • 手机网站免费生成wordpress音乐musik
  • 标准营销型网站定做价格深圳龙岗推广公司
  • 湖南手机响应式网站建设企业宁波网站建设怎么建设
  • 做涂鸦的网站企业网站建设记什么会计科目
  • 网站托管服务使用于那种类型的网站网站建设技术可行性分析
  • 网站上线前准备海南的论坛网站建设
  • 国内网站备案京东网站建设的详细策划
  • 北京微信网站制作电话镇江平台搭建
  • 国内简约网站设计wordpress代码转义
  • 庆阳网站设计报价建设人力资源官方网
  • 网站建设更改石景山安保服务公司电话
  • 专业建站外包app手机软件