由于机器学习根据训练数据来计算损失函数的值,所以需要找到使得这个数值越小越好的参数。所以,在计算损失函数的时候,必须要把全部的训练数据都当作目标。但随着样本数量的增加,其运算所需的时间也会随之增加,在这样的条件下,用总样本来求取损失函数无疑违背了提升训练效率和识别性能的初衷,所以往往选择总样本中的一小部分来作为总样本的“近似”。神经网络的学习,也是从总训练样本中选择选出一小批样本,称为小批量(mini-batch)。 改写
时间: 2023-06-27 09:05:27 浏览: 114
在机器学习中,我们需要通过训练数据来计算损失函数的值,并找到使得该值最小的参数。然而,随着训练数据不断增加,计算损失函数所需的时间也会随之增加。因此,为了提高训练效率和识别性能,我们通常会从总样本中选取一小部分样本作为“近似”总样本来计算损失函数。这一小部分样本被称作小批量(mini-batch),神经网络的学习也是从小批量中进行的。
相关问题
机器学习 交叉熵损失函数
### 关于交叉熵损失函数的理解
#### 一、概念解释
交叉熵损失函数是一种广泛应用于分类问题中的损失函数。该函数衡量的是真实分布与预测概率分布之间的差异程度,差异越小则表示模型性能越好[^1]。
对于二分类问题而言,假设样本的真实标签为\( y \in {0, 1} \),而模型给出的概率估计值为 \( p(y=1|x;\theta)=\hat{y}\) ,那么此时对应的交叉熵表达式如下所示:
\[ L(\hat{y},y)=-[ylog(\hat{y})+(1-y)log(1-\hat{y})]\]
当面对多类别分类情况时,则需采用广义形式——即对各个类别的条件概率取自然对数后再加权求和得到最终的结果;同时为了确保输出能够满足概率性质的要求(非负性和归一化),通常会在网络最后一层加入SoftMax激活单元来完成转换操作[^3]。
#### 二、具体应用场合
相比于传统的均方误差(MSE),后者更适合处理数值型目标变量间的映射关系建模任务;而对于离散属性的目标域来说,前者由于能更好地捕捉不同类别间的信息量差距因而成为首选方案之一[^2]。
#### 三、Python实现案例
下面提供了一个简单的基于PyTorch框架下的二元逻辑斯蒂回归算法训练过程片段,其中包含了如何定义并计算交叉熵损失的部分:
```python
import torch.nn as nn
criterion = nn.CrossEntropyLoss() # 定义交叉熵损失准则
output = model(input_data) # 前向传播获得预测结果
loss = criterion(output,target) # 计算实际标签target与预测output之间差距大小
optimizer.zero_grad() # 清除梯度缓存准备下一轮迭代更新参数权重w,b...
loss.backward() # 反向传播调整各层神经元连接强度以最小化当前batch上的平均错误率
optimizer.step()
```
阅读全文
相关推荐

















