首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NeurIPS 2022 | 视觉长尾学习模型为何无法较好地落地?

但在实际应用中,数据的不同类别往往遵循长尾分布(如下图所示):一小部分类别拥有大量的样本(被称为多数类),而其余大部分类别只有较少的样本量(被称为少数类)。...该长尾类别不平衡问题使得神经网络的训练变得非常困难。所得到的模型往往有偏于多数类,即倾向于分对更多多数类样本,导致了模型在样本量有限的少数类上表现不佳。...这一问题的本质源于现存方法对传统长尾分类任务的设定:假设测试数据集的类别是均匀分布的,即不同的类别有相同的测试样本量。...但问题在于,在实际应用场景中,测试集的类别分布是不可控的:它也许是均匀分布,但也可能是与训练集一样的长尾分布,甚至是反向长尾分布(即训练集中的少数类变成了测试集中的多数类)。...这里有两个难题尚未解决:(1)如何在一个静态的、固定的长尾分布数据集上训练多个擅长不同类别分布的专家模型?(2)如何在完全无标注的测试数据上有效地组合多各专家模型?

74720

机器学习9:采样

二,常用的几种采样技术: 1,均匀采样: 几乎所有的采样方法都是以均匀分布随机数作为基本操作。 均匀分布是指整个样本空间中的每一个样本点对应的概率(密度)都是相等的。...根据样本空间是否连续,又分为离散均匀分布和连续均匀分布。均匀分布可以算作是最简单的概率分布。从均匀分布中进行采样,即生成均匀分布随机数,几乎是所有采样算法都需要用到的基本操作。...随机过采样是从少数类样本集Smin中随机重复抽取样本(有放回)以得到更多样本;随机欠采样则相反,从多数类样本集Smaj中随机选取较少的样本(有放回或无放回)。...此外,还可以采用一些数据清理方法(如基于TomekLinks)来进一步降低合成样本带来的类间重叠,以得到更加良定义(well-defined)的类簇,从而更好地训练分类器。...同样地,对于欠采样,可以采用InformedUndersampling来解决由于随机欠采样带来的数据丢失问题 7.2,基于算法的方法: 在样本不均衡时,也可以通过改变模型训练时的目标函数(如代价敏感学习中不同类别有不同的权重

1.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深度 | 机器学习中的模型评价、模型选择及算法选择

    通常,将数据集拆分为训练集和测试集是一个简单的随机抽样过程。我们假设每一类所有的数据点都是按照相同的概率分布得到的。我们随机选择三分之二的样本用作训练集,三分之一的样本用作测试集。...测试集:12Setosa, 22Versicolor, 16Virginica 假设Iris数据集是真实种群的代表(比如假设Iris flower在自然界是均匀分布的),我们就创建了两个非均匀类分布的不平衡数据集...然而多次重复使用测试集会带来偏差,最终的性能评估可能偏向过度乐观。将数据集分为训练、验证和测试集之后,超参数调优和模型选择中的训练集-验证集对可以让测试集在模型评估中保持独立。...在模型选择中,奥卡姆剃刀也是一个很有用的工具,如“一个标准误差法”(one-standard error method): 考虑数值最优估计及其标准误差 选择模型,其性能需在步骤1中得到的值的一个标准误差以内的...为了搞清楚“一个标准误差法”是怎么操作的,我们举一个例子:现在有300个训练样本,150个第1类样本,150个第2类样本,服从同心圆均匀分布。

    2.5K40

    机器学习与深度学习常见面试题(上)

    k越大,不一定效果越好,而且越大的k会加大训练时间;在选择k时,需要考虑最小化数据集之间的方差,比如对于2分类任务,采用2折交叉验证,即将原始数据集对半分,若此时训练集中都是A类别,验证集中都是B类别,...6.以下关于神经网络的说法中,正确的是( )? A.增加网络层数,总能减小训练集错误率 B.减小网络层数,总能减小测试集错误率 C.增加网络层数,可能增加测试集错误率 C。...40.什么是过拟合,过拟合产生的原因是什么?有什么方法能减轻过拟合? 过拟合指在训练集上表现的很好,但在测试集上表现很差,推广泛化能力差。产生过拟合的原因是训练样本的抽样误差,训练时拟合了这种误差。...增加训练样本,尤其是样本的代表性;正则化 41.什么样的函数可以用作激活函数? 非线性,几乎处处可到,单调 42.什么是鞍点问题?...1对1方案,1对剩余方案,多类损失函数 45.列举你知道的聚类算法 层次聚类,k均值算法,DBSCAN算法,OPTICS算法,谱聚类 46.K均值算法中,初始类中心怎么确定 随机选择K个样本作为类中心,

    2.4K10

    独家 | R语言中K邻近算法的初学者指南:从菜鸟到大神(附代码&链接)

    什么是K折交叉验证? 在机器学习当中,交叉验证(CV)在模型选择中起着关键作用,并且拥有一系列的应用。事实上,CV有着更加直观的设计理念,并且也很直观。 简要介绍如下: 1....将数据分成K个均匀分布的块/层 2. 选择一个块/层集作为测试集,剩下的K-1块/层作为训练集 3. 基于训练集建立ML模型 4. 仅比较测试集当中的预测值和真实值 5....将ML模型应用到测试集,并使用每个块重复测试K次 6. 把模型的度量得分加和并求K层的平均值 如何选择K? 如同你注意到的,交叉验证比较的一点是如何为K设置值。我们记总样本量为n。...这个可能是参数和非参数模型中潜在的数学和统计假设导致的。 2. 数据分组 如上所述,我们需要将数据集进行分组,分为训练集和测试集,并采取k层交叉验证来选择最佳的ML模型。...更重要的是,我们已经学到了K层交叉验证法背后的机制以及如何在R语言中实现交叉验证。 作者简介: 雷华·叶(@leihua_ye)是加州大学圣巴巴拉分校的博士生。

    1.3K10

    分类回归树算法---CART

    CART算法是由以下两部组成: (1)决策树生成:基于训练数据集生成的决策树,生成的决策树要尽量大; (2)决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,用损失函数最小作为剪枝的标准...上述中的停止条件,一般是结点中的样本个数小于预定阈值,或样本集的基尼指数小于预定阈值(样本基本属于同一类),或者没有更多的特征。 三、剪枝 决策树为什么(WHY)要剪枝?...因此用这个决策树来对训练样本进行分类的话,你会发现对于训练样本而言,这个树表现完好,误差率极低且能够正确得对训练样本集中的样本进行分类。...训练样本中的错误数据也会被决策树学习,成为决策树的部分,但是对于测试数据的表现就没有想象的那么好,或者极差,这就是所谓的过拟合(Overfitting)问题。...,Tn},然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,选出最优子树。

    1.7K90

    非平衡数据集 focal loss 多类分类

    它可以训练高精度的密集物体探测器,哪怕前景和背景之间比例为1:1000(译者注:facal loss 就是为了解决目标检测中类别样本比例严重失衡的问题)。...本教程将向您展示如何在给定的高度不平衡的数据集的情况下,应用焦点损失函数来训练一个多分类模型。...若某类目标的样本相比其他类在数量上占据极大优势,则可以将该数据集视为不平衡的数据集。...对具体图像分类问题,对数据增强技术方案变更,以便为样本不足的类创建增强的数据。...并通过一个具体的例子展示了如何在Keras 的 API 中定义 focal loss进而改善你的分类模型。 你可以在我的GitHub上找到这篇文章的完整源代码。

    3.7K30

    【机器学习】生成对抗网络(GAN)——生成新数据的神经网络

    GAN的目标是使生成器生成的样本与真实样本分布越来越接近,最终达到生成数据与真实数据几乎无法区分的效果。 二、GAN 的训练过程 1....噪声通常从一个简单的分布中采样,例如标准正态分布或均匀分布: 标准正态分布 Z∼N(0,1)Z \sim N(0, 1)Z∼N(0,1):这是常用的选择,因为其均值为0,方差为1,能够有效地分散随机向量...均匀分布 Z∼U(−1,1)Z \sim U(-1, 1)Z∼U(−1,1):另一种常见的选择,尤其适合需要在生成空间中保持较为均匀覆盖的任务。...模式崩溃 (Mode Collapse) 模式崩溃是GAN训练中的常见问题,指生成器开始集中生成某一类数据,而忽略数据分布中的其他模式。...通过两个神经网络的对抗性训练,GAN能够生成与真实数据几乎无法区分的伪造数据。尽管其训练过程中存在挑战,但通过不断改进,如WGAN、条件GAN等,GAN的潜力已经在多个领域得到验证。

    3.5K10

    深度学习人脸识别核心技术—框架和优化目标

    在理想情况下,令margin=1,如果网络训练得特别好,满足下式: ? 此时损失趋向于0,这在比较复杂的任务中几乎不可能出现,因为有的正样本之间相似度很低,强行降低损失会增加过拟合风险。...实际用的时候margin需要精细地调参,而样本的选择也很有技巧,需要使用难样本挖掘,使Triplet Network训练有一定的难度。...Triplet loss的痛点在于每次只看一个负类的距离,没有考虑其他所有负类的情况,这就导致了在随机产生的数据对中,每一个数据对并不能有效地保证当前优化的方向能够拉远所有负类样本的距离,这就往往导致训练过程中的收敛不稳定或者陷入局部最优...网络从一张测试图的10个区域中选60个图像块及其翻转版本,需要训练60×2=120个CNN,最后把每个CNN的160维特征连接成长度为160×2×60=19 200维的特征,而后使用联合贝叶斯方法或者神经网络进行人脸验证...因为DeepID2中加入Contrastive loss,CNN学习出的特征可以直接用于计算L2距离进行人脸验证,效果不会比联合贝叶斯方法差很多。最后通过选择不同的图像块,训练了7个分类器进行集成。

    1.1K20

    深度学习500问——Chapter13:优化算法(1)

    13.1 如何解决训练样本少的问题 目前大部分的深度学习模型仍然需要海量的数据支持。例如ImageNet数据就拥有1400多万的图片,而现实生产环境中,数据集通常较小,只有几万甚至几百个样本。...这时候,如何在这种情况下应用深度学习呢? (1)利用预训练模型进行迁移微调(fin-tuning),预训练模型通常在特征上拥有很好的语义表达。此时,只需将模型在小数据集上进行微调就能取得不错的效果。...少样本学习同样也需要借助预训练模型,但有别于微调的在于,微调通常仍然在学习不同类别的语义,而少样本学习通常需要学习样本之间的距离度量。...例如孪生网络(Siamese Neural Networks)就是通过训练两个同种结构的网络来判别输入的两张图片是否属于同一类。上述两种是常用训练小样本数据集的方式。...这个条件是多层神经网络的基础,保证多层网络不退化成单层线性网络。这也是激活函数的意义所在。 (2)几乎处处可微:可微性保证了在优化中梯度的可计算性。传统的激活函数如sigmoid等满足处处可微。

    13010

    探索 OneCode 小模型支撑平台:助力模型开发与部署的强大后盾

    四、训练过程(一)划分数据集 训练集、验证集和测试集的划分: 通常将数据集划分为训练集、验证集和测试集,比例一般为训练集占 70% - 80%,验证集占 10% - 15%,测试集占 10% - 15%...训练集用于模型的参数更新;验证集用于在训练过程中监控模型的性能,调整超参数;测试集用于评估最终训练好的模型的泛化能力。...加载数据:将划分好的训练集、验证集和测试集数据加载到模型中。在 PyTorch 中,可以使用DataLoader类来方便地加载数据,并设置批次大小、是否打乱数据等参数。...验证和测试:在每个训练周期(epoch)结束后,使用验证集数据对模型进行评估,计算验证集上的损失和评估指标。根据验证集的性能,决定是否调整超参数(如学习率)或提前停止训练以防止过拟合。...它是一个直观的评估指标,但在数据不平衡(如某个类别样本数量远多于其他类别)时可能不够准确。 精确率(Precision):在所有预测为正类的样本中,实际为正类的比例,计算公式为。

    12510

    最好的Dropout讲解

    Bagging涉及训练多个模型,并在每个测试样本上评估多 个模型。当每个模型是一个大型神经网络时,这似乎是不切实际的,因为训练和 评估这样的网络需要花费很多运行时间和内存。...Gal and Ghahramani (2015) 发现一些模型可以通过二十个样本 和蒙特卡罗近似获得更好的分类精度。似乎推断近似的最佳选择是与问题相关的。...几乎在所有 使用分布式表示且可以用随机梯度下降训练的模型上都表现很好。...如预期一样, 比较单一模型训练整个网络的情况,Dropout Boosting几乎没有正则化效果。这表 明,Dropout Bagging的解释超过Dropout作为稳健性噪音的解释。...在实践中,我们必 须选择能让神经网络能够学习对抗的修改类型。理想情况下,我们也应该使用可以 快速近似推断的模型族。

    2.3K10

    采样

    采样所得到的样本集本身也可以看作是一种非参数模拟,即用较少量的样本点来近似总体分布,并刻画总体中的不确定性。从这个角度来说,采样也是一种信息降维,可以用于模型训练,在总体分布有无穷多个点的情况下。...对当前数据进行重采样,如自助法和刀切法,可以充分利用已有数据,挖掘更多信息,可以通过多次重采样来估计统计量的偏差,方差等。...而且还可以通过重采样,可以保持特定的信息下,有意识地改变样本分布,以更适应后续模型训练和学习。例如用重样本来处理分类模型的训练样本不均衡问题。...均匀分布采样方法:唯一可以确定的是,计算机程序都是确定性的,因此不能产生真正意义上的完全均匀分布随机数,只能产生伪随机数,所以虽然这些伪随机数是通过确定性程序产生的,但是它们能通过近似的随机性测试。...如果要让循环周期尽可能的接近m,这就需要选择合适的乘法因子和模数m。 b. 1.线性同余法中的随机种子一般怎么选择。

    11210

    备战春招 | 120 道机器学习面试题!

    高维度使得聚类变得困难,因为拥有大量维度意味着彼此相差很大。例如,为了覆盖一小部分数据,随着变量数量的增加,我们需要处理每个范围广泛的变量; 所有样本都靠近样本的边缘。...要始终将数据集拆分为训练集,验证集和测试集并使用交叉验证来观察模型的表现;确定问题是分类问题还是回归问题;倾向于选用运行快速可以轻松解释的简单模型;提及交叉验证作为评估模型的一种方法;绘制图表且将数据可视化...在没有进一步了解的情况下,很难知道哪个数据集代表了总体的数据,因而很难测量算法的泛化程度; 这应该可以通过重复划分训练集和测试集来缓解(如交叉验证); 当数据分布发生变化时,称为数据集漂移。...请问如果想要该数据集呈双峰分布,两个分布的均值应当至少差多少? 多于两个标准差 5.提供已知正态分布的样本值,请问你能如何模拟一个均匀分布的样本值?...5.你如何设计一个允许用户自行选择是否加入的AB测试。

    41210

    《揭秘机器学习中的交叉验证:模型评估的基石》

    在每次迭代中,选取一个子集作为验证集,其余K - 1个子集合并作为训练集;模型在训练集上进行训练,然后在验证集上测试其性能,记录相关指标,如准确率、召回率、均方误差等;重复上述过程,直到每个子集都作为验证集被使用一次...如前所述,它将数据集分成K个不重叠的子集,每次选择一个子集作为测试集,其余K - 1个子集作为训练集,循环K次完成整个验证过程。...留一交叉验证(LOOCV) 留一交叉验证是K折交叉验证的一种极端形式,其中K等于样本总数N。每次只选取一个样本作为测试集,其余N - 1个样本作为训练集,如此重复N次,最终计算平均误差。...例如,在一个正负样本比例为9:1的二分类问题中,普通K折交叉验证可能会出现某个子集中全部或几乎全部是正样本的情况,这会误导模型评估,而分层交叉验证则能有效规避此类问题,保证每个子集中都有合理的类别分布,...在机器学习的实际应用中,选择合适的交叉验证方法并正确运用,是构建高性能模型的重要环节。

    14110

    备战春招 | 120 道机器学习面试题!

    高维度使得聚类变得困难,因为拥有大量维度意味着彼此相差很大。例如,为了覆盖一小部分数据,随着变量数量的增加,我们需要处理每个范围广泛的变量; 所有样本都靠近样本的边缘。...要始终将数据集拆分为训练集,验证集和测试集并使用交叉验证来观察模型的表现;确定问题是分类问题还是回归问题;倾向于选用运行快速可以轻松解释的简单模型;提及交叉验证作为评估模型的一种方法;绘制图表且将数据可视化...在没有进一步了解的情况下,很难知道哪个数据集代表了总体的数据,因而很难测量算法的泛化程度; 这应该可以通过重复划分训练集和测试集来缓解(如交叉验证); 当数据分布发生变化时,称为数据集漂移。...请问如果想要该数据集呈双峰分布,两个分布的均值应当至少差多少? 多于两个标准差 5.提供已知正态分布的样本值,请问你能如何模拟一个均匀分布的样本值?...5.你如何设计一个允许用户自行选择是否加入的AB测试。

    1.3K30

    “老司机”划重点!搞定这120个真实面试问题,杀进数据科学圈

    高维度使得聚类变得困难,因为拥有大量维度意味着彼此相差很大。例如,为了覆盖一小部分数据,随着变量数量的增加,我们需要处理每个范围广泛的变量; 所有样本都靠近样本的边缘。...要始终将数据集拆分为训练集,验证集和测试集并使用交叉验证来观察模型的表现;确定问题是分类问题还是回归问题;倾向于选用运行快速可以轻松解释的简单模型;提及交叉验证作为评估模型的一种方法;绘制图表且将数据可视化...在没有进一步了解的情况下,很难知道哪个数据集代表了总体的数据,因而很难测量算法的泛化程度; 这应该可以通过重复划分训练集和测试集来缓解(如交叉验证); 当数据分布发生变化时,称为数据集漂移。...请问如果想要该数据集呈双峰分布,两个分布的均值应当至少差多少? 多于两个标准差 5.提供已知正态分布的样本值,请问你能如何模拟一个均匀分布的样本值?...5.你如何设计一个允许用户自行选择是否加入的AB测试。

    64420

    【翻译】Robust Graph Neural Networks 稳健的图神经网络

    作为机器学习 (ML) 中的标准,GNN 假设训练样本是随机均匀选择的(即,是独立同分布或“IID”样本)。...例如,有时固定启发式方法用于选择数据子集(共享某些特征)进行标记,而有时,人类分析师使用复杂的领域知识单独选择数据项进行标记。 局部训练数据是图结构数据中典型的非IID偏差。...这显示在左图中,通过获取一个橙色节点并扩展到它周围的节点。相反,用于标记的节点的 IID 训练样本将均匀分布,如右侧的采样过程所示。          ...也就是说,GNN 可能难以泛化,因为它们的训练数据看起来不太像测试数据集。          ...我们还研究了如何在存在有偏差的训练数据的情况下使这些模型更可靠。

    47410

    干货 | 120 道机器学习面试题!备战春招

    高维度使得聚类变得困难,因为拥有大量维度意味着彼此相差很大。例如,为了覆盖一小部分数据,随着变量数量的增加,我们需要处理每个范围广泛的变量; 所有样本都靠近样本的边缘。...要始终将数据集拆分为训练集,验证集和测试集并使用交叉验证来观察模型的表现;确定问题是分类问题还是回归问题;倾向于选用运行快速可以轻松解释的简单模型;提及交叉验证作为评估模型的一种方法;绘制图表且将数据可视化...在没有进一步了解的情况下,很难知道哪个数据集代表了总体的数据,因而很难测量算法的泛化程度; 这应该可以通过重复划分训练集和测试集来缓解(如交叉验证); 当数据分布发生变化时,称为数据集漂移。...请问如果想要该数据集呈双峰分布,两个分布的均值应当至少差多少? 多于两个标准差 5.提供已知正态分布的样本值,请问你能如何模拟一个均匀分布的样本值?...5.你如何设计一个允许用户自行选择是否加入的AB测试。

    58420

    米少熬好粥:数据有限时怎样调优深度学习模型

    采用early stopping需要我们在训练集合上划分出一小部分(大概10%~30%吧)作为验证集,验证集不参与训练,可以视为是我们知道结果的测试集。...而实际训练中,我们不可能一直坐在电脑旁观察验证集的准确率,更一般的做法是每隔一段时间(比如每1000次迭代)就保存一次模型,然后选择在验证集上效果最好的模型作为最终的模型。...在实际的模型训练中,ropout在一般的框架中初始默认的0.5概率的丢弃率是保守的选择,如果模型不是很复杂,设置为0.2就够了。...对于第二个问题: 过拟合的本质是什么呢?无非就是对于非本质特征的噪声过于敏感,把训练样本里的噪声当作了特征,以至于在测试集上的表现非常稀烂。...3、权重初始化 权重初始化常采用随机生成方法以避免网络单元的对称性,但仍过于太过粗糙,根据目前最新的实验结果,权重的均匀分布初始化是一个最优的选择,同时均匀分布的函数范围由单元的连接数确定,即越多连接权重相对越小

    1.7K30
    领券