本发明涉及一种多模态数据特征筛选和分类的方法,特别涉及一种基于结构稀疏多核学习的多模态数据特征筛选和分类方法,属于机器学习和生物医学领域,具体应用于基于图像和/或基因数据的疾病理解和诊断领域。
背景技术:
在我们实际生产和应用中的很多问题都可以归结为分类问题。随着各种数据获取手段的快速增加,我们往往能有多个数据源(或者称为多模态)的数据。这些不同的数据描述了特定问题的不同方面,但是不同模态数据具有异质性,如何有效地利用多模态数据来增强分类成为中要的挑战。例如老年一种起病隐匿的进行性发展的神经系统退行性疾病。临床上以记忆障碍、视空间技能损害、等全面性的痴呆表现。老年痴呆的诊断是现在医学诊断中的非常重要的课题。利用医学影像的表现特征对病人进行诊断分类对医生有极大地参考意义。目前已经确定老年痴呆会在各种医学影像中有所体现,融合不同的影像数据做出诊断分类便具有重要意义,尤其是能够发挥单个影响模态所不具备的作用。但是不同的医学影像的特征不相同描述了老年痴呆的不同方面,同时不同影像模态中又存在大量的冗余特征,因此有效地筛选出最有效的特征指标同时能够融合不同的模态数据变得非常有意义。
专利申请号为CN201310559826.7,名称为“支持向量机分类器的构造方法及装置、分类方法及装置”的中国发明专利申请中,给出了一种稀疏支持向量机分类器的构造方法及装置、分类方法及装置,该方法未考虑不同质模态数据的融合和分类问题;专利申请号为CN200710177097.3,名称为“一种多核支持向量机分类方法”提出了一种多核支持向量机分类方法,但是这些方法都没有解决多模态数据的融合和分类问题。
技术实现要素:
本发明要解决的关键技术问题是:面对高维和多模态数据的特征筛选和分类问题,如何有效地降低数据维度从而克服样本不足带来的不利影响,同时方便建立容易解释的鲁棒模型;如何克服不同模态数据的各项异质特性,同时如何利用不同模态数据所具有的不同信息并将
不同模态信息进行充分融合,提高分类的准确率。
为了要解决上述关键问题,本发明提出一种基于结构稀疏多核学习的多模态数据特征筛选和分类方法。本发明一个重要的设计是在核表示空间内进行特征学习,具体地是给每个特征赋予一个核函数以实现特征选择,并将特征进行分割以便于实现结构化特征学习;本发明另外一个重要设计是结构稀疏约束,具体来说是通过一种新颖的混合范数(即范数,p>1)对核函数的权重进行约束,以充分利用相同特征组的同质性和不同特征组信息的异质性,一方面利用内部在每个特征组内稀疏地筛选特征,另一方面通过范数的非稀疏特性充分地融合不同特征组内筛选的特征。
本发明解决其技术问题所采用的技术方案是:
一种基于结构稀疏多核学习的多模态数据特征筛选和分类方法,包括如下步骤:
步骤10,数据收集和预处理阶段:多模态数据收集,提取数据特征,对特征进行归一化,对每个特征生成一个核矩阵,对特征进行分组;
步骤20,模型学习和训练阶段:利用带有类标记的训练数据训练结构稀疏化多核学习模型,优化模型参数;
步骤30,模型测试和分类阶段:对新的测试数据,使用训练好的结构稀疏化多核学习模型进行分类。
所述数据收集和预处理包括四个步骤:收集多模态数据并将数据分为训练集合和测试集合,特征提取和归一化,核矩阵生成以及对特征进行分组,具体如下:
步骤101,首先采用十交叉验证模式将数据划分为训练集合和测试集合;即将数据随机的分为十份,九份作为训练数据,一份作为测试数据;训练数据集合用于上述步骤20的模型训练,测试集合用于上述步骤30的模型测试。
步骤102,对训练数据特征进行归一化,使得所有数据的每一个特征维度都具有均值为零和方差为一的特性;测试数据利用训练数据的均值和方法进行归一化,以保证测试数据和原始数据有相类似的分布。
步骤103,对数据的每个特征维度,构建一个核矩阵,其中核矩阵构建中的核函数可采用线性核函数或非线性核函数,例如高斯核函数以及多项式核函数等任意一种;当数据特征在原始空间中的没有线性可分性的情况下,非线性核函数是优先的选择。
步骤104,根据数据特征例如模态或者其他先验信息将所有特征和其对应的核表示函数进行分组。
所述模型学习和训练阶段包括在训练集合上进行的模型学习和参数选择,其中待优化求解的模型变量包括θ,w和b,待选择的参数包括参数p,模型权重C以及核函数具有的参数,具体包括如下步骤:
步骤201,模型学习阶段学习如下线性分类模型:
并构造如下结构稀疏化多核分类模型:
其中N为训练样本个数,M为总的特征维度,xi为第i个样本,yi为xi的类标签,类标签取值为1或者-1,Φm(·)表示特征映射,Φm(xm)将xm映射到高维空间,w=(w1,w2,…,wM)为高维空间中线性分类函数的权重向量,b为高维空间中线性分类函数的偏移量,θ=(θ1,θ2,…,θM)表示特征映射的权重向量,表示所有特征的序号,L为组的个数,表示第1个序号组,max(·,·)表示求最大值,||·||2表示向量的2范数,p为结构化稀疏约束的参数,选择范围为[1,+∞),C为正的权重参数,用于平衡模型的不同项。
步骤202,模型参数的选择通过五折交叉验证得到,即将训练集合随机划分为五份,其中四份用于利用不同的参数选择学习和训练模型,剩余一份用于模型参数的选择,特别地参数p为的选择范围为[1,+∞)。
步骤203,模型变量的优化求解通过组变量交替迭代的方式求解,即交替进行1)固定θ,利用现有支持向量机求解方法求解w和b,2)固定w和b,求解θ;当模型的能量函数变化小于设定阀值模型迭代方可停止;固定模型变量w和b时,对于任意的m,变量θm按照如下公式求解:
其中L为组的个数,表示第1个序号组表示m所在的序号组,p为结构化稀疏约束的参数,w=(w1,w2,…,wM)为高维空间中线性分类函数的权重向量,θ=(θ1,θ2,…,θM)表示特征映射的权重向量。
所述模型测试和分类过程包括首先对测试数据的每个特征构建核矩阵,然后将核函数输入上述阶段训练和学习的模型得到分类。
本发明具有如下有益效果:
(1)能够利用多核学习方法进行多模态数据特征选择和不同模态数据的融合;
(2)用单独的核矩阵表示每一个特征维度,从而能够实现基于多核学习的特征选择和融合;
(3)即使部分模态与类标签的关联度较弱,仍能够保证该模态中有用特征能够被选择和利用;
(4)能够充分利用相同数据特征组的同质性和不同数据特征组信息的异质性,一方面利用稀疏化正则约束在每个数据特征组内稀疏地筛选特征,另一方面通过非稀化正则约束融合不同模态筛选的特征组。
(5)结构化稀疏约束能够选择极少量的有效特征及其组合,从而极大地降低模型复杂度;
(6)该模型简单紧凑,只有极其少量的参数,模型的求解方法简单容易实现。
以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种基于结构稀疏多核学习的多模态数据特征筛选和分类方法不局限于实施例。
附图说明
图1是本发明实施例所述的多模态数据分类的问题示意图;
图2是本发明具体实施流程图;
图3是本发明方法应用到老年痴呆数据集合上的分类结果;
图4是本发明方法应用到老年痴呆数据集合上特征选择的结果。
具体实施方式
下面结合附图和具体实施例对本发明进行进一步说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如下采用老年痴呆数据作为具体实施例,该数据包含脑部的核磁共振数据(Nuclear Magnetic Resonance Imaging,简称MRI),正电子发射计算机断层扫描数据(Positron emission tomography,简称PET)数据,目的是利用MRI和PET两类医学影像数据对个体是否患有老年痴呆进行诊断,如图1所示描述了本实施例需解决的问题。该数据包含90个个体的图像数据,每个个体数据均包含MRI和PET两种模态的数据;该数据中患有老年痴呆的数据有42个,未患有老年痴呆的有48个。该实施例是一个基于多模态数据的分类问题;由于图像中包含大量的数据特征,因此是一个高维数据的分类问题。
如图2所示是按照本发明的一个实施方式的工作流程图,具体步骤如下:
步骤10,预处理阶段。
为了在小数据量的情况下充分学习和验证本发明提出的方法,将数据集随机十等分然后用作十折交叉验证,即每次选取一份作为测试集合,其余作为训练集合,该过程进行十次以保证每个数据个体都被用作一次作为测试样本;具体地说,十折交叉验证中,本实施例的训练样本个数为80个,测试样本为10个。
步骤101,特征提取和归一化。具体如下:
提取MRI和PET中的脑灰质的90个脑功能区域,在MRI中计算每个脑功能区域的体积作为特征,PET数据中提取灰度的平均值作为特征,因此每个个体具有180维的特征;归一化所有训练数据的每一个特征维度使得每个维度都具有零均值和一方差的特性,即每个特征维度减去该特征维度的均值再除以该特征维度的方差;对测试数据用训练数据的均值和方差进行归一化。
步骤102,每个特征生成一个核矩阵,具体如下:
为了简便起见,核函数选取线性核函数;对每一个特征维度通过向量的外积构建核矩阵;核矩阵的个数等于总的特征维度。
步骤103,特征及核矩阵分组,具体如下:
将所有特征和其对应的核函数根据模态进行分组,具体地我们将所有特征的序号按照模态的不同成L个组,第1组包含的序号个数记为nl,本实施例中L=2,即和
步骤20,建模学习和训练阶段,即构建基于结构稀疏多核学习的分类模型;具体地,本发明首先通过特征映射将每个特征维度映射到高维,然后再高维空间联合学习一个线性分类模型。
步骤201,构造如下结构稀疏化多核分类模型:
本实施中相关数学符号定义如下:
N为训练样本个数,为正整数,本实施例中N=80;
M为总的特征维度,为正整数,本实施例中M=180;
L为模态个数,为正整数,本实施例中L=2;
xi为第i个样本,为M为列向量,表示xi的第m个分量,即第m维特征;
yi为xi的类标签,取值为1或者-1;
表示特征维度m的核矩阵,用于度量两个样本在第m个特征维度的距离;
Φm(·)表示Km对应的特征映射,Km由Φm的内积生成;将映射到高维空间
θ=(θ1,θ2,…,θM)表示M个核矩阵(K1,K2,…,KM)的权重;
w=(w1,w2,…,wM)为高维空间中线性分类函数的权重向量;
b为高维空间中线性分类函数的偏移量;
表示待求得分类面;
表示绝对值;
max(·,·)表示求最大值;
||·||2表示向量的2范数;
sign(·)表示符号函数;
p为结构化稀疏约束的参数,选择范围为[1,+∞),本实施例中采取交叉验证进行选择;
C为取值为正的权重参数,用于平衡模型的不同项,本实施例中采取交叉验证进行选择;
步骤202,模型训练和参数学习。
具体的,此优化模型的求解采取变量交替求解的方式,即交替进行1)固定θ求解关于w和b的子问题;2)固定w和b,求解关于θ的子问题;该迭代的终止条件可以采用但不限于:迭代直至优化问题的目标函数变化小于0.05停止,最后输出w*,b*和θ*。
给定θ,关于w和b的子问题为标准的支持向量机模型(Support Vector Machine,简称SVM),可以采用已有的标准SVM求解算法,如LIBSVM软件包。
固定w和b,求解关于θ的子问题采用如下公式,即对于任意的m,
其中表示m所在的序号组。
求解本发明中的优化问题需要变量θ的初始化,可以采用但是不限于:
本发明的模型中含有的参数包括C和p;按照说明中的步骤,本实施例中采取五交叉验证的方式自动选取,C的选取范围设置为{2-5,2-4,…,24,25},p的选取范围设置为{1.3,1.5,1.7,2,2.5,3,5,7}。
待求解得到最优w*,b*和θ*,最优的分类函数g(x)写为g(x)=sign(f(x))。
步骤30,模型测试和分类阶段:将测试样本输入函数g(x)的到分类。具体包括如下三个步骤:
步骤301,特征提取和归一化,具体参考步骤101;
步骤302,生成核矩阵,具体参考步骤102;
步骤303,利用已训练好的模型对测试数据分类。
图3是应用本发明所述方法到老年痴呆数据集合上的分类结果,本发明方法能够达到高达92%的准确率。
图4给出了应用本发明在老年痴呆数据集合上特征选取的结果,不同的特征对应大脑的不同功能区,图4(a)描述的是在MRI图像中选取的关键脑功能区示意图,图4(b)描述的是在PET图像中选取的关键脑功能区示意图。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。