深度学习中正样本、负样本、简单样本、困难样本的区别 (简单易懂)

本文介绍了正样本、负样本、简单样本和困难样本的概念,通过猫狗分类任务进行详细解释。正样本是指与真值对应的目标类别,负样本则是其他所有非目标类别。简单样本预测误差小,而困难样本预测误差大。以马、羊、牛分类为例,当预测概率分布与真值相差较大时,样本被视为困难样本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前序

在读论文或者看一些博客的时候,经常会出现这种名词:正样本、负样本、简单样本以及困难样本,最近自己为了加深这方面的理解,参考网上的一些资料,整理了下这几者之间的区别,方便自己查看也方便初学者快速了解。

2. 名词解释

正样本: 与真值对应的目标类别来说该样本为正样本。
负样本: 与真值不对应的其他所有目标类别来说该样本为负样本。
简单样本: 预测时与真值标签误差较小的样本。
困难样本: 预测时与真值标签误差较大的样本。

补充下:真值其实就是我们选择的这个样本的,比如说当前样本是猫,其他的狗、马之类的就不是真值。

3. 举例说明

我们以猫狗分类来举例说明什么是正负样本:

label = dog 的所有图片都是 这个类的正样本,其他图片作为负样本
label = cat 的所有图片都是 这个类的正样本,其他图片作为负样本

同理,在目标检测任务中

box 中有目标对象就是正样本,没有目标对象,也就是前景,看做负样本

接下来我们在用图片分类来说明什么是简单困难样本:

假如我们需要识别马、羊、牛三个类别。
给一张马的图片。对于预测马来说这个样本为正样本,对于预测羊和牛来说该样本为负样本
真值one-hot标签:[1, 0, 0],而在预测出概率分布为[0.3, 0.3, 0.4]时,
真值one-hot标签相差较大,则此时该样本是困难样本
而预测出[0.98, 0.01, 0.01]时,与真值one-hot标签相差较小,则此时该样本为简单样本

对于困难样本因为真值one-hot标签[1,0,0] 其中按照我们人为思路给定的这张为马的图片概率是1,但是预测出来的概率为0.3,这与实际相差太大了,所以称这样的样本为困难样本。

4. 参考文献

1. 文献1
2. 文献2

### 合并正样本负样本的数据处理方法 在数据科学领域,通常会遇到需要将分类标签不同的数据集(如正样本负样本)合并成单一数据集的情况。以下是利用 `pandas` 和 `numpy` 实现这一目标的具体方法。 #### 使用 Pandas 的 concat 方法 Pandas 提供了一个非常强大的函数 `pd.concat()` 来实现多个 DataFrame 或 Series 的拼接操作。可以通过指定轴向参数来控制水平或垂直方向上的连接方式[^1]。 ```python import pandas as pd # 假设我们有两个DataFrame分别代表正样本负样本 positive_samples = pd.DataFrame({ 'feature_1': [1, 2, 3], 'label': [1, 1, 1] }) negative_samples = pd.DataFrame({ 'feature_1': [-1, -2, -3], 'label': [0, 0, 0] }) # 利用concat沿纵向堆叠两个DataFrame combined_data = pd.concat([positive_samples, negative_samples], axis=0) # 重置索引以便后续使用更加方便 combined_data.reset_index(drop=True, inplace=True) print(combined_data) ``` 上述代码片段展示了如何通过 `pd.concat()` 函数简单有效地组合两类不同类型的样例集合。 #### Numpy 数组的 vstack 操作 对于那些更倾向于底层数组运算的研究者来说,Numpy 是另一个不可或缺的选择之一。它提供了诸如 `np.vstack()` 这样的工具用于层叠多维数组对象。 ```python import numpy as np pos_array = np.array([[1, 1], [2, 1]]) neg_array = np.array([[-1, 0], [-2, 0]]) merged_arrays = np.vstack((pos_array, neg_array)) print(merged_arrays) ``` 这里演示了怎样借助于 NumPy 库完成相同任务的不同途径——即把两部分独立存储的小型矩阵竖直排列起来形成一个新的整体结构体。 #### 总结说明 无论是采用高级抽象层面的操作框架还是深入到基础计算单元内部去构建解决方案,在 Python 生态系统里总能找到适合当前需求的最佳实践方案。以上两种技术路线各有千秋:前者更适合大规模复杂表单式的业务场景;后者则可能因为其高效性和灵活性而在某些特定场合下占据优势地位。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值