一种基于度量学习的多示例多标记分类方法与流程

文档序号:15348921发布日期:2018-09-04 23:05阅读:260来源:国知局

本发明涉及一种采用距离度量学习反应样本间的语义一致性,构建线性分类器对多示例多标记(miml)问题进行分类的方法,具体涉及一种基于度量学习的多示例多标记分类方法,属于机器学习技术领域。



背景技术:

据了解,很多机器学习算法都依赖于一个好的距离度量,而广泛应用的欧式距离不能很好的反应样本语义之间的联系:具有相同标记的样本间的距离应尽可能小,具有不同标记的样本间的距离应尽可能的大。马氏距离度量学习方法就是通过监督学习的一个特征映射矩阵,将原始的特征空间映射到一个新的空间,新的特征空间更加符合语义一致性,拥有同样类标记的样本更加接近,没有相同类标记的样本更加远离。

计算包和包之间的距离时,很多算法都是基于欧氏距离的豪斯多夫距离,如最大豪斯多夫距离、平均豪斯多夫距离和最小豪斯多夫距离。这些豪斯多夫距离都存在不能很好的反应样本间语义一致性的问题,因此基于某个豪斯多夫距离的算法不一定能适用于所有的数据集。考虑到样本间的语义一致性,在使用豪斯多夫距离时,将欧氏距离替换为马氏距离,包和包之间的距离为基于马氏距离的平均豪斯多夫距离。

传统的分类算法中,一个样本可能只有一个标记,对应一个示例,这种模型过于简单,难以包含复杂的信息,在现实生活中不能解决很多实际问题。例如一张图片中出现的是渔民在海里捕鱼的场景,那么这张图片可能既属于“人”也属于“大海”;如果一张图片同时出现了“狮子狗”和“狼狗”,虽然它们都属于“狗”这个标记,但他们的特征却又较大的差别,仅用一个示例来描述不同种类的“狗”是否合适?因此,采用单一的语义对图片进行标记或者采用单一的示例来描述图片时,可能会过于简化,造成部分信息的丢失。随后又出现了多示例学习和多标记学习,它们处理了部分一对多或多对一的问题,但对于一些复杂的情况仍难以解决。而miml学习同时考虑了对象的结构复杂性和语义多样性,并非仅仅是单多例学习和多标记学习的叠加,因此miml的框架更为复杂,在实际问题中处理起来更加方便。对于图像,在不同的区域打上标记,每个区域都用不同的示例来描述,这样每张图片都可以由多个示例组合而成,即使一张图片有两个“人”,我们也可以用两个示例来描述一个“人”标记,减少信息的丢失。目前,多示例多标记学习已经成功的应用在场景分类,文本分类,web挖掘等方面,研究者们也提出了许多相应的算法,正在用于更多真实问题的解决。

knn(k-nearestneighbor)算法是一种经典的监督分类算法,也是最简单的机器学习算法之一。给定一个测试样本,它的k个近邻样本在哪个类标记的数目最多,就认为该样本属于那个类别,因此knn严重依赖于它近邻样本的标记。



技术实现要素:

本发明的目的在于:针对现有技术存在的缺陷,提出一种基于度量学习的多示例多标记分类方法,该方法在多示例多标记的knn分类中,考虑到包的语义一致性后加入距离度量学习,以减小具有相同标记包的距离,增大不同标记包的距离,从而更精确的得到包的语义近邻,提高分类时的性能。

为了达到以上目的,本发明提供了一种基于度量学习的多示例多标记分类方法,该方法包括以下步骤:

第一步、在多示例多标记数据集中,选取一部分作为训练集;

第二步、在训练集中根据每个标记对应的包,得到初始的原型包;

第三步、考虑到样本的语义信息,采用多示例多标记距离度量学习构建、优化目标函数;

第四步、求包与包之间的平均豪斯多夫距离,然后根据包与包之间的平均豪斯多夫距离,得到每个包的参考近邻和引证近邻;考虑到语义一致性,包与包之间的距离为基于马氏距离的平均豪斯多夫距离;

第五步、统计每个包的参考近邻和引证近邻中每个标记的个数,得到l维的包的标记计数向量,根据l维的包的标记计数向量构建一个l维的线性分类器;

第六步、完成对未知标记的包的预测。

本发明首先给定了一个测试样本,它的k个近邻样本在哪个类标记的数目最多,就认为该样本属于那个类别。然后,在此基础上引入参考近邻和引证近邻。一个样本的参考近邻就是该样本在特征空间的k个最近邻样本,反应的是该样本的近邻;而它的引证近邻反应的是该样本是否是其他样本的k个最近邻样本。在单示例单标记中仅需考虑参考近邻;在多示例多标记中,在参考近邻的基础上加入引证近邻能使我们的分类更准确。总之,本发明基于距离度量学习设计了一种用于多示例多标记的knn分类器,使得在不确定包中的标记对应哪个示例的情况下,对包进行训练,并完成对未知包的标记预测。

优选地,第一步中,对于不同的多示例多标记数据集,选取训练集的数目不一样,所得模型的泛化性能会有一定的差别。如果训练集包括绝大多数样本,训练出来的模型可能更准确;如果训练集的样本过少,训练出来模型的泛化性能就是太好。因此,选取的训练集大小为多示例多标记数据集的2/3~4/5。

优选地,第二步中,获取初始原型包的方法如下:首先确定每个包具有哪些标记,然后根据每个标记所对应的包中示例,得到所有示例的均值,即得到初始的原型包,将初始的原型包记为z,原型包的集合zl,则其中k为原型包中示例的个数,l为第l个标记。这样,得到的每个原型包都对应一个标记,有多少个标记就有多少个原型包,不同的原型包反应不同的标记信息。

优选地,第三步中,采用多示例多标记距离度量学习构建、优化目标函数的具体方法如下:

3.1、基于多示例多标记距离度量学习构建目标函数,将度量学习矩阵记为a,设置初始化的度量学习矩阵a为单位矩阵;

3.2寻找、计算每个包与其相关标记的原型包的关键示例对,忽略非关键示例对;

3.3、使用交替迭代的策略,固定原型包z,并在关键示例对中优化度量学习矩阵a;

3.4、固定度量学习矩阵a,优化原型包z。

优选地,第六步中,预测未知标记包的方法具体如下:

6.1、计算整个训练集中包与包之间的平均豪斯多夫距离;

6.2、得到未知标记包的参考近邻和引证近邻;

6.3、完成对包的标记预测。

本发明的优点是采用马氏距离代替欧氏距离,能更精确地找到不同包之间的语义近邻,并且利用改进后的多示例多标记knn算法,显著提高knn分类时的性能,同时由于包中标记和示例不是一一对应的,包中的标记事先并不知道采用哪个示例表示,因此本发明相对于事先知道标记和示例关系的包具有更广泛的适用行。

附图说明

下面结合附图对本发明作进一步的说明。

图1为本发明中多示例多标记系统框架图。

图2为本发明中初始化方法流程图。

图3为本发明中主要方法流程图。

具体实施方式

实施例一

本实施例提供了一种基于度量学习的多示例多标记分类方法,如图1至3所示,该方法包括以下步骤:

第一步、在多示例多标记数据集中,选取一部分作为训练集。

将多示例多标记数据集记为d,对于多示例多标记数据集d={(xi,yi),i=1,...,n},其中n为多示例多标记数据集中包的个数,xi表示包含ni个示例的包,且ni是每个包中示例的个数,表示示例是一个d维的向量,表示第i个包xi中第k个示例;yi为ni×l的矩阵,l是类标记的数目,如果xi中有第l个标记,则其第l个标记位置的值为1,否则为-1,其中1≤l≤l。

一般来讲,选取的训练集大小占多示例多标记数据集的2/3~4/5。

第二步、在训练集中根据每个标记对应的包,得到初始的原型包。

在多示例多标记数据集中每个包都有一个或者多个标记,每个标记都可以找到哪个包中具有这个标记。因此,在训练集中根据每个标记所对应的包中示例,求得所有示例的均值,即得到原型包zl,其中k是原型包中示例的个数,表示原型包zl的第i个示例。

第三步、多示例多标记距离度量学习。

在计算两个示例的距离时,考虑到语义的一致性由原来的欧氏距离替换为马氏距离。

首先,在训练集中,包与原型包之间的马氏距离为两个包中示例之间的最小马氏距离计算最小马氏距离其中,表示第i个包xi中第h个示例,表示第l个原型包zl中第m个示例,为了便于描述,将两个包中最小马氏距离的示例对称为关键示例对。

a是一个半正定对称矩阵,也称为度量学习矩阵,度量学习就是对a进行学习,设置初始化的度量学习矩阵a为单位矩阵。

再次,基于多示例多标记距离度量学习构建目标函数,目标函数如下:

s.t.λr={a=wwt|wtw=ir,w∈rd×r}(1)

其中,表示示例是否有第l个标记,的值为1表示包xi有第l个标记,n为训练集中包的个数,l是类标记的数目,i表示第i个包,l表示第l个标记,度量学习矩阵a的可行域为λr={a=wwt|wtw=ir,w∈rd×r},d为度量学习矩阵a的维度,a可以因式分解为a=wwt,w∈rd×r表示w是d×r维的,wt表示w的转置,t表示转置,ir表示r维的单位矩阵,s.t.表示约束条件。

最后,对于上述目标函数,优化求解方式。具体求解方式如下:

a、计算、寻找训练集中所有包与其相关标记的原型包之间的关键示例对,例如包xi与原型包zl之间的关键示例对,即为包xi与原型包zl中示例之间的最小距离;

b、固定原型包z优化矩阵a,使用第一步中求解得到的关键示例对,优化上述目标函数,为了便于书写和描述,新定义u,那么

其中,t表示转置。

则,原优化目标可以转化为如下形式:

s.t.wtw=ir(3)

最终该问题的解,即求u的前r个最小特征值所对应的特征向量;

c、固定矩阵a优化原型包z,并采用梯度下降法迭代z;即在公式(2)中对每个示例求导,得到的梯度方向为表示梯度,则的更新为:其中t表示第t次迭代,γ表示迭代的步长;

重复步骤a至步骤c,直到找到较优距离度量矩阵a为止。

第四步、求豪斯多夫距离,得到参考近邻和引证近邻。

在训练集中,首先使用马氏距离替换欧氏距离,构建平均豪斯多夫距离,则包zi和包zj之间的平均豪斯多夫距离为:

其中,为示例u和示例v之间的马氏距离,且a为度量学习矩阵,|·|表示集合的势。

然后,利用knn思想,根据平均豪斯多夫距离求得每个包的参考近邻;

最后,根据平均豪斯多夫距离得到每个包的引证近邻。

第五步、构建分类器。

这一步的目的是构造出分类器模型的真实输出与真实标记的损失函数最小,即最小化均方误差。

分类器模型中训练包xi在第l个标记上的真实输出为:

其中,是一个l维的特征选择向量,是一个l维的标记计数向量,统计的是包xi的参考近邻和引证近邻中多少个包有第l个标记。

在最小化均方误差时,真实标记已知,每个包的参考近邻和引证近邻由前面的步骤已经得到,相当于已经知道每个包的标记计数向量,只有特征选择向量是未知的。

对均方误差一阶求导,得到l个特征选择向量,相当于把这l个特征选择向量看成一个整体θ,利用奇异值分解svd求解,线性分类器的构造主要是求得权重矩阵θ。其中[]表示矩阵。

统计每个包的参考近邻和引证近邻中每个标记的个数,得到l维的包的标记计数向量,然后根据l维的包的标记计数向量构建一个l维的线性分类器。

第六步、完成对未知标记的包的预测。

如果有新的包xk要进行标记预测,同样计算该包与其他包的基于马氏距离的平均豪斯多夫距离,得到它的参考近邻和引证近邻,以及反映xk近邻标记的标记信息。

统计近邻标记的数目,得到包xk的标记计数向量

然后,利用上述权重矩阵θ,对未知标记进行预测。如果的值大于0,则标记预测为1,表示有第l个标记;如果其值小于0,则标记预测为-1,表示没有这个标记。

除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1