是在异常和危险情况下系统生存的能力,是指一个计算机系统在执行过程中处理错误,以及算法在遭遇输入、运算等异常时维持正常运行的能力。
泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。 学习的目的是学到隐含在数据对背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
特征描述符就是通过提取图像的有用信息,并且丢弃无关信息来简化图像的表示。
一文带你入门光流估计
光流法实际是通过检测图像像素点的强度随时间的变化进而推断出物体移动速度及方向的方法。
光流是空间运动物体在成像平面上的像素运动的瞬时速度,是利用图像序列中像素的变化以及相邻帧之间的相关性,来找到上一帧跟当前帧的像素点之间存在的对应关系,从而计算出相邻帧之间像素点的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。
简单说光流描述了第一帧到第二帧所有的像素点移动情况。
图像特征提取(纹理特征)
纹理是一种反映图像中同质现象的视觉特征,它体现了物体表面的具有缓慢变化或者周期性变化的表面结构组织排列属性
纹理具有三大标志:
不同于灰度、颜色等图像特征,纹理通过像素及其周围空间邻域的灰度分布来表现,即局部纹理信息。另外,局部纹理信息不同程度上的重复性,就是全局纹理信息。
纹理特征体现全局特征的性质的同时,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。
归一化与标准化
特征缩放是用来统一资料中的自变项或特征范围的方法,在资料处理中,通常会被使用在资料前处理这个步骤。因为在原始的资料中,各变数的范围大不相同。
(这周学习的吴恩达机器学习课程刚好讲到这里)
对于大多数的机器学习算法和优化算法来说,将特征值缩放到相同区间可以使得获取性能更好的模型。
例如:
(a)有两个不同的特征,第一个特征的取值范围为110,第二个特征的取值范围为110000。在梯度下降算法中,代价函数为最小平方误差函数,所以在使用梯度下降算法的时候,算法会明显的偏向于第二个特征,因为它的取值范围更大。
(b)k近邻算法,它使用的是欧式距离,也会导致其偏向于第二个特征。对于决策树和随机森林以及XGboost算法而言,特征缩放对于它们没有什么影响。
常用的特征缩放算法有两种,归一化(normalization)和标准化(standardization)
归一化是利用特征的最大值,最小值,将特征的值缩放到[0,1]区间,对于每一列的特征使用min - max函数进行缩放。
归一化可以消除纲量,加快收敛。不同特征往往具有不同的量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据归一化处理,以解决数据指标之间的可比性。原始数据经过数据归一化处理后,各指标处于[0,1]之间的小数,适合进行综合对比评价。
归一化可能模型提高精度。
例:min-max标准化(Min-max normalization)
这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
【Datawhale】计算机视觉下 —— LBP特征描述算子(内含代码实现)
LBP算子的基本思想是将中心像素的灰度值作为一个阈值,将其邻域内的像素点灰度值进行比较,从而得到二进制编码表示,来表示局部纹理特征。
邻域的类型可分为四邻域、D邻域、八邻域,四邻域:该像素点的上下左右四个位置;
D领域:该像素点斜对角线上的四个相邻位置。
八邻域:四邻域与D邻域的并集。
基本的LBP算子考虑的是像素的八邻域。
LBP表示方法有一个较为明显的特点,它不容易收到图像整体会读线性变化的影响。也就是说,当图像由于光线的影响使得整体灰度值发生线性均匀变化时,其LBP特征编码是不变的。换句话说,它并不在意整体的灰度变化,而是关注像素之间的相对灰度改变。
例如,在某些情况下,阳光照射强度更低,导致拍摄图像的整体亮度降低,但是实际上每个像素之间的差值仍然是固定的。那么在这种情况下,在图片亮度对LBP特征编码无影响。
方向梯度直方图
在HOG特征描述符中,梯度方向的分布,也就是梯度方向的直方图被视作特征。图像的梯度(x和y导数)非常有用,因为边缘和拐角(强度突变的区域)周围的梯度幅度很大,并且边缘和拐角比平坦区域包含更多关于物体形状的信息。
方向梯度直方图(HOG)特征描述符常和线性支持向量机(SVM)配合使用,用于训练高精度的目标分类器。
随机游走(random walk)是图论中的重要算法,在数据挖掘领域有广泛的应用。简而言之,随机游走算法构建了若干个随机游走器(random walker)。随机游走器从某个节点初始化,之后在每一步随机游走中,随机地访问当前节点的某个邻接节点。
随机游走一项有名的应用即为谷歌的PageRank算法,如图 2所示。PageRank算法中,每个随机游走器均模仿了一个用户浏览互联网时的行为:用户随机地点击当前网页中的某个链接,跳转到下一个网站。被更多用户访问的网站因此具有更高的权重,在搜索结果中排名更加靠前。PageRank是在图上运行的:基于链接的指向关系,所有互联网页面构成了一个图结构。因此,通过构建网页之间的链接关系图,搜索引擎就能为所有网页计算权重并排序。
基本思想:
随机游走
接近于布朗运动,是布朗运动的理想数学状态。
任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律。
从一个或一系列顶点开始遍历一张图。在任意一个顶点,遍历者将以概率1-a游走到这个顶点的邻居顶点,以概率a随机跳跃到图中的任何一个顶点,称a为跳转发生概率,每次游走后得出一个概率分布,该概率分布刻画了图中每一个顶点被访问到的概率。用这个概率分布作为下一次游走的输入并反复迭代这一过程。当满足一定前提条件时,这个概率分布会趋于收敛。收敛后,即可以得到一个平稳的概率分布。
对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 这种算法设计策略叫做分治法。
以信号为例,信号在时域下的图形可以显示信号如何随着时间变化,而信号在频域下的图形(一般称为频谱)可以显示信号分布在哪些频率及其比例。
函数或信号可以透过一对数学的运算子在时域及频域之间转换。例如傅立叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅立叶变换可以将频谱再转换回时域的信号。
一个三角波在时域(上图)及频域(下图)的图形:
胶囊网络
CNN的不足主要体现在下面两方面 :
CNN 最大的缺陷就是忽略了不同特征之间的相对位置,从而无法从图像中识别出姿势、纹理和变化。CNN 中的池化操作使得模型具有空间不变性,因此模型就不具备等变性。以下图为例,CNN 会把第一幅和第二幅识别为人脸,而将第三幅方向翻转的图识别为不是人脸。池化操作造成了部分信息的丢失,因此需要更多的训练数据来补偿这些损失。
人工神经网络不应当追求“神经元”活动中的视角不变性(使用单一的标量输出来总结一个局部池中的重复特征检测器的活动),而应当使用局部的“胶囊”,这些胶囊对其输入执行一些相当复杂的内部计算,然后将这些计算的结果封装成一个包含信息丰富的输出的小向量。每个胶囊学习辨识一个有限的观察条件和变形范围内隐式定义的视觉实体,并输出实体在有限范围内存在的概率及一组“实例参数”,实例参数可能包括相对这个视觉实体的隐式定义的典型版本的精确的位姿、照明条件和变形信息。当胶囊工作正常时,视觉实体存在的概率具有局部不变性——当实体在胶囊覆盖的有限范围内的外观流形上移动时,概率不会改变。实例参数却是“等变的”——随着观察条件的变化,实体在外观流形上移动时,实例参数也会相应地变化,因为实例参数表示实体在外观流形上的内在坐标。
人造神经元输出单个标量。对于 CNN 卷积层中的每个卷积核,对整个输入图复制同一个内核的权重输出一个二维矩阵。矩阵中每个数字是该卷积核对输入图像一部分的卷积,这个二维矩阵看作是重复特征检测器的输出。所有卷积核的二维矩阵堆叠在一起得到卷积层的输出。CNN 利用最大池化实现不变性,但最大池化丢失了有价值的信息,也没有编码特征之间的相对空间关系。
胶囊将特征检测的概率作为其输出向量的长度进行编码,检测出的特征的状态被编码为该向量指向的方向。当检测出的特征在图像中移动或其状态发生变化时,概率仍然保持不变(向量的长度没有改变),但它的方向改变了。
奇异值分解
奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分解],在信号处理信号处理)、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或厄米矩阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。对称阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广。
可以从数据不同维度进行特征提取,进行特征融合能提高模型的整体识别效果。
在数学的数值分析领域中,内插,或称插值(英语:Interpolation),是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。
为什么用残差连接??
随着深度网络层数的加深,带来了一系列问题,如梯度消失,梯度爆炸,模型容易过拟合,计算资源的消耗等问题。随着网络层数的增加发生了网络退化现象,loss先是下降并趋于饱和,然后loss增加。
针对这些问题,也有一些对应的解决方案,如dropout层用来防止过拟合,随机丢弃神经元对网络结构进行轻量化处理,一定程度上解决数据集小和网络复杂的情况下的过拟合问题。Rule层(y=max(0,x))主要用来防止梯度消失问题。BN(batch normlization)将数据规整到0到1或者-1到1之间,避免梯度爆炸和消失问题。但是在网络层数过深的情况下,这些优化措施的改善能力有限,因此提出了resnet网络中提出了残差连接思想来解决这些问题。。
残差连接的定义:
也就是输入和输入的非线性变化的叠加。x1=x+F(x,w)
模型类内特征聚集能力是指模型在训练过程中,能够将同一类样本的特征聚集在一起的能力。
一文了解机器学习中的F1分数(F1 Score)
recall (召回率)体现了分类模型H HH对正样本的识别能力,recall 越高,说明模型对正样本的识别能力越强,precision (精确率)体现了模型对负样本的区分能力,precision越高,说明模型对负样本的区分能力越强。F1-score 是两者的综合。F1-score 越高,说明分类模型越稳健。
F1分数的第一部分
精确率是F1分数的第一部分。它也可以用作单独的机器学习指标。它的公式如下所示:
你可以按如下方式解释此公式。在所有被预测为正的情况下,精确率计算正确的百分比:
F1分数的第二部分
召回率是F1分数的第二个组成部分,尽管召回率也可以用作单独的机器学习指标。它的公式如下所示:
你可以按如下方式解释此公式。在所有正样本中,模型成功地预测了多少:
精确率vs召回率
以超市销售有问题的产品为例,他们只想找到所有有问题的商品。客户寄回的产品是否有问题对他们来说并不重要,这家超市不关心精确率。
精确率和召回率权衡
理想情况下,我们需要模型可以识别所有的阳性病例,并只识别阳性病例。
但在现实生活中,我们不得不处理所谓的精确率和召回率权衡。
精确率和召回率权衡表示,在许多情况下,你可以调整模型降低召回率来提高精确率,或者另一方面以降低精确率为代价来提高召回率。
F1分数:结合精确率和召回率
**精确率和召回率是F1分数的两个组成部分。**F1分数的目标是将精确率和召回率组合成一个指标。同时,F1分数能很好地处理不平衡的数据。
F1分数公式
F1分数定义为精确率和召回率的调和平均值。
简而言之,调和平均值是算术平均值的替代指标。它通常用于计算平均速率。
F1 分数公式如下所示:
由于F1分数是精确率和召回率的平均值,这意味着它对精确率和召回率的权重相同:
细粒度图像识别
一般而言,图像识别分为两种:传统图像识别和细粒度图像识别。前者指的是对一些大的类别比如汽车、动物、植物等大的类别进行分类,这是属于粗粒度的图像识别。而后者则是在某个类别下做进一步分类。比如在狗的类别下区分狗的品种是哈士奇、柯基、萨摩还是阿拉斯加等等,这是属于细粒度图像识别。
类间划分从粗到细为:
粗粒度——细粒度——实例级
对应的例子为
猫咪 —— 胖橘——加菲猫
通过对训练集标记的人脸特征点进行建模(学习),然后在测试集上搜索最佳匹配的点,对人脸特征点进行定位。
在一个级联分类系统中,对于每一个输入图片,顺序通过每个强分类器,前面的强分类器相对简单,其包含的弱分类器也相对较少,后面的强分类器逐级复杂,只有通过前面的强分类检测后的图片才能送入后面的强分类器检测,比较靠前的几级分类器可以过滤掉大部分的不合格图片,只有通过了所有强分类器检测的图片区域才是有效人脸区域。
博文
知乎
现有的haar特征模板主要如下:
上图的特征模板称为“特征原型”;特征原型在图像子窗口中扩展(平移、伸缩)得到的特征称为“矩形特征”;矩形特征的值称为“特征值”。从下图可以看到,矩形特征可用于表示人脸的某些特征,如中间一幅表示眼睛区域的颜色比脸颊区域的颜色深,右边一幅表示鼻梁两侧比鼻梁的颜色要深。
一文读懂CNN
卷积层运算过程如下:用一个卷积核扫完整张图片
池化层:降维,不但可以大大减少运算量,还可以有效的避免过拟合。
全连接层:输出结果
长短期记忆网络
长短期记忆网络——通常被称为 LSTM,是一种特殊的 RNN,能够学习长期依赖性。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。
长短期记忆(LSTM)单位是递归神经网络(RNN)的单位。由LSTM单元组成的RNN通常称为LSTM网络(或仅称为LSTM)。公共LSTM单元由单元,输入门,输出门和忘记门组成。该单元记住任意时间间隔内的值,并且三个门控制进出单元的信息流。
LSTM网络非常适合基于时间序列数据进行分类,处理和预测,因为在时间序列中的重要事件之间可能存在未知持续时间的滞后。开发LSTM是为了处理在训练传统RNN时可能遇到的爆炸和消失的梯度问题。对于间隙长度的相对不敏感性是LSTM相对于RNN,隐马尔可夫模型和其他序列学习方法在许多应用中的优势。
维基百科 代码实现
在多元变量分析中,主成分分析(英语:Principal components analysis,缩写:PCA)是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分(Principal Components)。具体地,主成分可以看做一个线性方程,其包含一系列线性系数来指示投影方向。PCA对原始数据的正则化或预处理敏感(相对缩放)。
是一个非监督的机器学习算法,是一种用于探索高维数据结构的技术,主要用于对数据的降维,通过降维可以发现更便于人理解的特征,加快对样本有价值信息的处理速度,此外还可以应用于可视化(降到二维)和去噪。
基本思想:
主成分分析经常用于减少数据集的维数,同时保留数据集当中对方差贡献最大的特征。这是通过保留低维主成分,忽略高维主成分做到的。这样低维成分往往能够保留住数据的最重要部分。但是,这也不是一定的,要视具体应用而定。由于主成分分析依赖所给数据,所以数据的准确性对分析结果影响很大。
主动表观模型(AAM)是由Tim Cootes提出的一种参数化表观模型。该模型利用主成分分析对可变性目标的形状和纹理进行统一建模,并使用二范数最小化策略对未知目标进行匹配。主动表观模型被广泛用于目标检测、识别、姿态校正等计算机视觉领域。
建模
AAM的建模过程包括三个部分,形状建模,纹理建模以及统一建模。其中,形状建模首先利用普克拉提斯分析去除尺度、旋转和平移等影响,然后对形状进行主成分分析。纹理建模则在形状建模的基础上将目标间的形状差别消除,单独针对纹理进行主成分分析。而最终的统一建模则是对形状和纹理模型的参数进行主成分分析,从而消除形状和纹理之间的冗余信息。
匹配
AAM将目标的匹配问题看做模型对目标纹理的拟合过程,即通过不断调整模型参数实现模型纹理和目标纹理之间差别的最小化。
注意力机制通过分配不同系数或者权重来突出重要信息和抑制不相关信息。引入注意力机制使模型聚焦位置或者通道等信息,从而产生更具标示性的特征。不同类型的注意力机制也能够捕捉到不同维度特征。随着网络的加深,注意力也能够适应深度网络所提取的特征。
一种通过对视频图像序列中相邻两帧作差分运算获得运动目标轮廓的方法。一般要经过滤波等处理,去噪处理。
原理:利用相邻两帧的相关性,以前一帧图像作为当前的背景图像(背景帧),然后将当前帧图像与背景图像进行差值运算,从而检测目标。
优点:速度快、适用于实时性较高的场合,且对环境整体光照变化不明感。
缺点:会出现空洞。当运动目标的色彩分布比较均匀时,且在前后两帖中,运动目标所在位置的差别在目标运动方向两侧,内部却没有什么变化,这样通过帖差法会漏检目标内部的像素点,导致运动目标有空洞出现。所W顿间差分法经常和其他检测方法联合使用提高检测效果。
面向深度强化学习的对抗攻防综述
在一个环境中有一个agent,这个agent根据环境(environment)发出的观察结果(observation)在每个时间段输出一个动作(action)。Environment会接收agent的action,转移到下一个状态,并对agent的action做出reward评估,然后发出下一个观察结果。
强化学习算法的目标是学习一个最优策略(Policy),根据该策略,agent可以在一段时间内获得最大数量的reward。
强化学习是一种不同于经典的监督 学习的机器学习范式. 监督学习试图基于训练数据 预测其标签, 并正确泛化至未经过训练的数据; 但 在强化学习中, 由于延迟奖励, 当前状态下的最优 动作往往难以定义, 且在智能体与环境交互的过程 中, 足以代表训练环境的数据往往难以获取, 使得 监督学习很难被用于解决强化学习问题. 此外, 强化学习的试错特点更适合在一个全新的环境中, 在 不依赖数据标签的情况下进行探索.
深度学习之三元组损失原理与选取策略
对于设定的三元组(Anchor, Positive, Negative) (Anchor和Positive为同类的不同样本,Anchor与Negative为异类样本),Triplet loss试图学习到一个特征空间,使得在该空间中相同类别的基准样本(Anchor)与 正样本(Positive)距离更近,不同类别的 Anchor 与负样本(Negative)距离更远。其思想与图像识别任务的目标很契合,即给定训练图集和测试图集,判断两张图片是否属于同一类标签。
Triplet loss本质上是属于度量学习(Metric Learning)的范围,其借鉴了度量学习中的经典大间隔最近邻(Large Margin Nearest Neighbors,LMNN)算法。以Triplet loss为训练准则的深度神经网络模型既兼顾了度量学习的朴素性,又拥有神经网络优秀的非线性建模能力,能够在极大程度上简化并且控制模型训练过程。
耦合学习算法是一种集成学习方法,它通过将多个不同的学习算法组合在一起来提高预测性能。耦合学习算法通常通过训练多个基学习器,并将它们的预测结果进行组合来得到最终的预测结果。
常见的耦合学习算法包括随机森林、梯度提升树和堆叠泛化等。这些算法通常采用不同的学习算法作为基学习器,通过集成它们的预测结果来提高模型的泛化能力和预测准确性。
耦合学习算法的优势在于能够充分利用多个不同学习算法的优点,弥补各个算法的不足之处。通过组合多个学习算法的预测结果,耦合学习算法能够提高模型的稳定性、减少过拟合问题,并且在处理复杂的数据集和任务时通常能够取得更好的性能。
这种特征考虑局部运动信息和空间位置。其特征维度也较低。由于 MDMD 特征在平均光流时容易丢失特征空间中底层固有的流形结构。因此,Liu 等人 [85] 提出主要方向平均光流(Main Directional MeanOptical-flow,MDMO)特征揭示底层固有的流形结构,从而揭示微表情面部运动信息在微表情识别中的有效性。
自适应帧构造(Adaptive Frame Construction)是一种用于视频编码的技术,它根据视频内容的特点动态调整帧的大小和结构,以提高编码效率和视频质量。
传统的视频编码方法通常将视频划分为固定大小的帧进行编码。然而,不同的视频内容可能具有不同的运动特征和复杂度,固定大小的帧可能无法充分利用编码资源或者导致编码效果不佳。
自适应帧构造通过分析视频内容的特点,动态调整帧的大小和结构,以适应不同的视频内容。具体而言,自适应帧构造可以根据视频中的运动特征和复杂度,将帧分割为更小的块,或者将多个帧合并为一个更大的帧。这样可以更好地适应视频内容的特点,提高编码效率和视频质量。
自适应帧构造可以应用于各种视频编码标准,如H.264、H.265等。它可以根据实际需求进行配置,以平衡编码效率和视频质量。在实际应用中,自适应帧构造可以根据网络带宽、设备性能和用户需求等因素进行调整,以提供最佳的编码效果。
总之,自适应帧构造是一种通过动态调整帧的大小和结构来提高视频编码效率和质量的技术。它可以根据视频内容的特点进行自适应调整,以提供最佳的编码效果。
Focal Loss损失函数
Focal Loss的引入主要是为了解决one-stage目标检测中正负样本数量极不平衡问题。
在一张图像中能够匹配到目标的候选框(正样本)个数一般只有十几个或几十个,而没有匹配到的候选框(负样本)则有10000~100000个。这么多的负样本不仅对训练网络起不到什么作用,反而会淹没掉少量但有助于训练的样本。
总结-空洞卷积(Dilated/Atrous Convolution)
空洞卷积
空洞卷积(Dilated/Atrous Convolution),广泛应用于语义分割与目标检测等任务中,语义分割中经典的deeplab系列与DUC对空洞卷积进行了深入的思考。目标检测中SSD与RFBNet,同样使用了空洞卷积。
标准卷积与空洞卷积在实现上基本相同,标准卷积可以看做空洞卷积的特殊形式。
空洞卷积的作用
扩大感受野:在deep net中为了增加感受野且降低计算量,总要进行降采样(pooling或s2/conv),这样虽然可以增加感受野,但空间分辨率降低了。为了能不丢失分辨率,且仍然扩大感受野,可以使用空洞卷积。这在检测,分割任务中十分有用。一方面感受野大了可以检测分割大目标,另一方面分辨率高了可以精确定位目标。
**捕获多尺度上下文信息:**空洞卷积有一个参数可以设置dilation rate,具体含义就是在卷积核中填充dilation rate-1个0,因此,当设置不同dilation rate时,感受野就会不一样,也即获取了多尺度信息。
类别激活热图可视化
使用Keras实现图像分类中的激活热图的可视化,帮助更有针对性的改进模型。
类别激活图(CAM)是一种用于计算机视觉分类任务的强大技术。它允许研究人员检查被分类的图像,并了解图像的哪些部分/像素对模型的最终输出有更大的贡献。
基本上,假设我们构建一个CNN,目标是将人的照片分类为“男人”和“女人”,然后我们给它提供一个新照片,它返回标签“男人”。有了CAM工具,我们就能看到图片的哪一部分最能激活“Man”类。如果我们想提高模型的准确性,必须了解需要修改哪些层,或者我们是否想用不同的方式预处理训练集图像,这将非常有用
交叉验证的核心思想在于对数据集进行多次划分,对多次评估的结果取平均,从而消除单次划分时数据划分不平衡造成的不良影响。它只是一种划分数据集的策略,它可以避免固定划分数据集的局限性、特殊性,一定程度上能够避免模型过拟合(当用交叉验证进行模型评估时,它并不能解决过拟合问题,只能用来评估模型的性能)。
如果数据集中包含1000个样本,我们可以在999个样本上训练分类器,然后在另外一个样本上测试分类器,这个过程可以重复1000次,利用这种最大可能的交叉验证次数,可能会得到更精确的分类器.
在机器学习领域,n折交叉验证(n是数据集中样本的数目)被称为留一法。我们已经提到,留一法的一个优点是每次迭代中都使用了最大可能数目的样本来训练。另一个优点是该方法具有确定性。
这种方法得出的结果与训练整个测试集的期望值最为接近,但是成本过于庞大。
定两个或多个针对不同对象类的已标记数据集,跨数据集训练旨在检测不同类的联合,因此我们不必为所有数据集标记所有类。通过跨数据集训练,现有数据集可用于检测具有单个模型的合并对象类。此外,在工业应用中,对象类别通常会按需增加。因此,在添加新类时,如果我们在所有现有数据集上标记新类,会非常耗时。在使用跨数据集训练时,我们只需要在新数据集上标注新类即可。
跨数据集训练旨在利用两个或多个标记有不同对象类的数据集来训练一个模型,该模型可以在所有类上都表现良好,如图 所示。一般在WIDER FACE上训练一个人脸检测模型只进行人脸检测,在COCO上训练一个通用物体检测模型进行80类物体检测。通过在 WIDER FACE 和 COCO 上进行跨数据集训练,我们的目标是一个具有相同主干的单一模型,并且可以检测 81 个类别而不会损失准确性。
跨数据集训练的动机
单个模型在具有不同对象类的多个现有数据集上进行训练,可用于检测所有数据集中对象类的联合,从而节省了在所有现有数据集上标记新类的繁重负担。
主要有:复合数据集的验证法(Composite Database Evaluation, CDE) 、保留数据集验证法(Holdout-Database Evaluation, HDE)