首页 > 其他分享 >123

123

时间:2024-06-13 10:02:37浏览次数:18  
标签:approx frac log 模型 123 exp hat

交叉熵的概率计算取决于具体应用和模型,但在分类问题中,通常通过神经网络或其他分类模型来得到预测概率。以下是计算步骤的概述:

### 步骤1:模型输出

对于分类问题,模型输出的是每个类别的得分或原始值(logits)。例如,对于一个有 \( C \) 个类别的分类问题,模型输出一个长度为 \( C \) 的向量。

### 步骤2:应用 Softmax 函数

为了将模型输出的得分转换为概率分布,通常使用 Softmax 函数。Softmax 函数将模型的输出转换为概率,且这些概率的和为 1。Softmax 函数定义为:

$$ \hat{y}_i = \frac{\exp(z_i)}{\sum_{j=1}^{C} \exp(z_j)} $$

其中:

* \( z_i \) 是模型输出的第 \( i \) 类的得分(logit)。
* \( \hat{y}_i \) 是模型预测的第 \( i \) 类的概率。

### 步骤3:计算交叉熵损失

计算得到的概率分布 \( \hat{y} \) 和真实标签的概率分布 \( y \) 之间的交叉熵。交叉熵损失函数为:

$$ \text{Loss} = - \sum_{i=1}^{C} y_i \log(\hat{y}_i) $$

对于单个样本:

* \( y_i \) 是真实标签的概率分布(one-hot 编码的情况下,属于真实类别的分量为 1,其余为 0)。
* \( \hat{y}_i \) 是模型预测的概率分布。

对于多个样本,交叉熵损失取所有样本损失的平均值:

$$ \text{Loss} = - \frac{1}{N} \sum_{n=1}^{N} \sum_{i=1}^{C} y_{ni} \log(\hat{y}_{ni}) $$

### 具体示例

假设我们有一个神经网络进行三分类任务(类别分别为 A、B、C),某个样本的模型输出 logits 为 \([2.0, 1.0, 0.1]\),真实标签为类别 A(one-hot 编码为 \([1, 0, 0]\))。

1. **计算 Softmax 概率**:

$$
\begin{align*}
\hat{y}_A & = \frac{\exp(2.0)}{\exp(2.0) + \exp(1.0) + \exp(0.1)} \approx \frac{7.39}{7.39 + 2.72 + 1.11} \approx 0.66 \\
\hat{y}_B & = \frac{\exp(1.0)}{\exp(2.0) + \exp(1.0) + \exp(0.1)} \approx \frac{2.72}{7.39 + 2.72 + 1.11} \approx 0.24 \\
\hat{y}_C & = \frac{\exp(0.1)}{\exp(2.0) + \exp(1.0) + \exp(0.1)} \approx \frac{1.11}{7.39 + 2.72 + 1.11} \approx 0.10
\end{align*}
$$

2. **计算交叉熵损失**:

$$ \text{Loss} = - \sum_{i=1}^{3} y_i \log(\hat{y}_i) = - [1 \cdot \log(0.66) + 0 \cdot \log(0.24) + 0 \cdot \log(0.10)] \approx - \log(0.66) \approx 0.41 $$

这样,通过计算 softmax 概率和交叉熵损失,我们可以评估模型预测与真实标签之间的差异,从而指导模型的训练。

标签:approx,frac,log,模型,123,exp,hat
From: https://www.cnblogs.com/lizhiqiang0204/p/18245270

相关文章

  • 123
    packagemainimport( "testing" "github.com/hyperledger/fabric/core/chaincode/shim" "fmt")funccheckInit(t*testing.T,stub*shim.MockStub,args[][]byte){ res:=stub.MockInit("1",args) ifres.Status......
  • 代码随想录算法训练营第五十一天| 121. 买卖股票的最佳时机、122.买卖股票的最佳时机I
    121.买卖股票的最佳时机一只股票只能买卖一次代码随想录.-力扣(LeetCode)输入:[7,1,5,3,6,4]输出:5解释:在第2天(股票价格=1)的时候买入,在第5天(股票价格=6)的时候卖出,最大利润=6-1=5。注意利润不能是7-1=6,因为卖出价格需要大于买入价格;同时,你不能在买入......
  • python自动化脚本:12306-火车票购票
    1.导包:importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.support.uiimportWebDriverWait2.选择浏览器驱动:这里选择的是Chromedriver=webdriver.Chrom......
  • CF1234F Yet Another Substring Reverse
    CF1234FYetAnotherSubstringReverse状压dp+高维前缀和一个很显然的发现是最长子串长度不会超过字符集。那么如果没有这个操作,是很简单的,我们看看多了这个操作意味着什么。对于一个子串,考虑一次翻转对它的影响。在它内部的翻转肯定是没有意义的;我们一定有一个操作能将任意......
  • 1123 舍入(测试点2,6,7,8)
    solution注意负号的取舍以及进位只有舍入后非零的负数才会输出负号可能有多位进位,用高精度加法测试点2,6:整数13188.000测试点7:多次进位1339.999910.000测试点8:舍入后全0的负值133-0.00000000010.000#include<iostream>#include<string>usi......
  • [题解]UVA11235 Frequent values
    https://www.luogu.com.cn/problem/UVA11235没看到多测调了半天每组数据给定\(n,q\)。接下来给出一个长度为\(n\)的不降序列\(A\)。接下来\(q\)次询问,每次询问给定\(l,r\),求\(A_{l\simr}\)中出现最多的那个数出现了多少次。\(1\len,q\le10^5\)。序列不降,意味着一个数在序......
  • 关于12306技术相关说明以及暂定计划
    12306项目中包含了缓存、消息队列、分库分表、设计模式等代码,通过这些代码可以全面了解分布式系统的核心知识点。在系统设计中,采用最新JDK17+SpringBoot3&SpringCloud微服务架构,构建高并发、大数据量下仍然能提供高效可靠的12306购票服务。下方的架构图全面描述了项......
  • 123. 连续子数组最大和(卡码网周赛第十九期)
    123.连续子数组最大和(卡码网周赛第十九期(23年小红书提前批笔试真题))题目描述小红拿到了一个数组,她希望进行最多一次操作:将一个元素修改为x。小红想知道,最终的连续子数组最大和最大是多少?输入第一行输入一个正整数t,代表询问次数。对于每次询问,输入两行:第一行输入两......
  • 广东开放大学《企业财务报表分析》形成性考核1234答案
    下列关于每股收益的表述错误的是(  )上市公司必须在利润表中披露基本每股收益和稀释每股收益每股收益反映企业为每一普通股和优先股股份所实现的税后净利润稀释每股收益要考虑到当期所有发行在外的稀释性潜在普通股的影响每股收益是用于反映企业的经营成果,衡量普通股的投资......
  • C123【模板】扩展域并查集 P1892 [BOI2003] 团伙
    视频链接:C123【模板】扩展域并查集P1892[BOI2003]团伙_哔哩哔哩_bilibili  P1892[BOI2003]团伙-洛谷|计算机科学教育新生态(luogu.com.cn)//扩展域并查集#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intn,m,a,b,......