发明名称 基于最大间隔张量学的高维多媒体数据分类方法
摘要 本发明公开了一种基于最大间隔张量学的高维多媒体数据分类方法。它包括如下步骤:1)建立多媒体数据的训练数据集;2)对训练数据集建模,进行分析,得到分类模型;3)根据用户查询数据集及分类模型,对查询数据集分类。本发明针对多媒体的高维性和结构性,利用张量来表达多媒体数据,并通过最大间隔分类器的方法,对高维的多媒体数据进行分类。在对多媒体数据进行分解分析的同时完成分类,不仅保留了多媒体数据中的结构信息,而且避免了传统的通过拼合的方法产生的高维数据所引发的“维数灾难”,因此比传统的多媒体数据分类方法更加准确,并易于计算。
申请公布号 CN103473308B 申请公布日期 2017.02.01
申请号 CN201310410604.9 申请日期 2013.09.10
申请人 浙江大学 发明人 张寅;汤斯亮;谭谞;邵健;吴飞;庄越挺
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 张法高
主权项 一种基于最大间隔张量学习的高维多媒体数据分类方法,其特征在于包括如下步骤:(1)建立多媒体数据的训练数据集,提取不同种类的特征,并对多媒体数据进行标注;(2)将训练数据集表达成张量,得到基于最大间隔张量学习的高维多媒体数据分类的目标函数,并对目标函数进行分析,优化,得到分类模型;(3)对用户查询数据集提取不同种类的特征,根据分类模型,对查询数据集标注分类;所述的步骤(1)具体包括:1.1)编写爬虫程序下载用户所需的多媒体数据,构成多媒体数据集合<img file="FDA0001083871280000011.GIF" wi="523" he="71" />其中I<sub>N</sub>是集合DATA中的多媒体数据个数;1.2)对DATA中的多媒体数据提取不同种类的特征,T<sub>1</sub>,…,T<sub>N‑1</sub>,N‑1为特征的种类数;1.3)对DATA中的多媒体数据进行标注,正例为“1”,反例为“0”;1.4)建立训练张量<img file="FDA0001083871280000012.GIF" wi="355" he="65" />其中I<sub>1</sub>,…,I<sub>N‑1</sub>模态对应为步骤1.2)中多媒体数据的特征T<sub>1</sub>,…,T<sub>N‑1</sub>,I<sub>N</sub>模态对应为多媒体数据个数;所述的步骤(2)包括:2.1)根据训练张量X,得到基于最大间隔张量学习的高维多媒体数据分类的目标函数:<maths num="0001"><math><![CDATA[<mrow><munder><mi>min</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mo>,</mo><mo>...</mo><msub><mi>U</mi><mi>N</mi></msub></mrow></munder><mo>|</mo><mo>|</mo><mi>X</mi><mo>-</mo><mi>C</mi><msub><mo>&times;</mo><mn>1</mn></msub><msub><mi>U</mi><mn>1</mn></msub><msub><mo>&times;</mo><mn>2</mn></msub><mo>...</mo><msub><mo>&times;</mo><mi>N</mi></msub><msub><mi>U</mi><mi>N</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000021.GIF" wi="1426" he="103" /></maths>s.t.U<sub>n</sub>>0,1≤n≤N其中Ω(X)表示训练数据的监督信息,U<sub>n</sub>(1≤n≤N)为张量分解后得到的矩阵,C为核张量,其n阶展开矩阵C<sub>(n)</sub>满足以下条件:a)C<sub>(n)</sub>的元素全由“0”或“1”组成;b)C<sub>(n)</sub>的所有行相互正交;c)对于任意的n,C<sub>(n)</sub>为满秩;2.2)根据张量展开,可以将公式(1)写作:<maths num="0002"><math><![CDATA[<mrow><munder><mi>min</mi><msub><mi>U</mi><mi>N</mi></msub></munder><mo>|</mo><mo>|</mo><msub><mi>X</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>U</mi><mi>N</mi></msub><msub><mi>B</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mi>&Omega;</mi><mrow><mo>(</mo><msub><mi>X</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000022.GIF" wi="1310" he="118" /></maths>s.t.U<sub>n</sub>>0,1≤n≤N其中,B<sub>(n)</sub>=C×<sub>1</sub>U<sub>1</sub>×<sub>2</sub>…×<sub>n‑1</sub>U<sub>n‑1</sub>×<sub>n+1</sub>U<sub>n+1</sub>×<sub>n+2</sub>…×<sub>N</sub> U<sub>N</sub>,X<sub>(n)</sub>为训练张量X的n阶展开矩阵;令<img file="FDA0001083871280000023.GIF" wi="1167" he="101" />将公式(1.1)中每一个矩阵U<sub>i</sub>转置并分成I<sub>i</sub>个独立的优化问题:<maths num="0003"><math><![CDATA[<mrow><munder><mi>min</mi><msub><mi>u</mi><mi>i</mi></msub></munder><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>B</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>T</mi></msubsup><msub><mi>u</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mi>&Omega;</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000024.GIF" wi="1241" he="123" /></maths>s.t.u<sub>i</sub>>0,1≤i≤I<sub>n</sub>2.3)将公式(2)中有监督信息,即n=N时的分量引入最大间隔的分类器作为监督信息,得到如下的优化函数:<maths num="0004"><math><![CDATA[<mrow><munder><mi>min</mi><mrow><msubsup><mi>u</mi><mn>1</mn><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mi>&alpha;</mi></mrow></munder><mi>&gamma;</mi><mo>|</mo><mo>|</mo><msubsup><mi>x</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>B</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow><mi>T</mi></msubsup><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><msup><mi>&lambda;&alpha;</mi><mi>T</mi></msup><mi>K</mi><mi>&alpha;</mi><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>I</mi><mi>N</mi></msub></munderover><mi>L</mi><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>,</mo><msubsup><mi>K</mi><mi>i</mi><mi>T</mi></msubsup><mi>&alpha;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000025.GIF" wi="1566" he="208" /></maths><maths num="0005"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><msubsup><mi>U</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>&gt;</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msub><mi>I</mi><mi>N</mi></msub></mrow>]]></math><img file="FDA0001083871280000026.GIF" wi="589" he="87" /></maths>其中,γ为控制近似误差的权重参数,λ为控制分类误差的权重参数,y<sub>i</sub>为相应的标注标签,α为待优化的分类参数,L为损失函数L(y,t)=max(0,1‑yt)<sup>2</sup>,K为核矩阵,其元素k<sub>ij</sub>=k(u<sub>i</sub>,u<sub>j</sub>),k为核函数;2.4)使用共轭梯度下降的方法,迭代地优化参数α与矩阵分量<img file="FDA0001083871280000031.GIF" wi="130" he="87" />在优化分类参数α的过程中首先计算α的梯度:<maths num="0006"><math><![CDATA[<mrow><msub><mo>&dtri;</mo><mi>&alpha;</mi></msub><mo>=</mo><mn>2</mn><mrow><mo>(</mo><mi>&lambda;</mi><mi>K</mi><mi>&alpha;</mi><mo>+</mo><msup><mi>KI</mi><mn>0</mn></msup><mo>(</mo><mrow><mi>K</mi><mi>&alpha;</mi><mo>-</mo><mi>Y</mi></mrow><mo>)</mo><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000032.GIF" wi="726" he="71" /></maths>其中I<sup>0</sup>为I<sub>N</sub>×I<sub>N</sub>的对角矩阵,其中前n<sub>v</sub>个元素为1,其余为0;n<sub>v</sub>为支持向量的个数;然后计算α的Hessian矩阵:H<sub>α</sub>=2(λK+KI<sup>0</sup>K)在优化矩阵分量<img file="FDA0001083871280000033.GIF" wi="106" he="89" />的过程中,首先假定使用内积核:<maths num="0007"><math><![CDATA[<mrow><mi>k</mi><mrow><mo>(</mo><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>,</mo><msubsup><mi>u</mi><mi>j</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo><mi>T</mi></mrow></msubsup><mo>&CenterDot;</mo><msubsup><mi>u</mi><mi>j</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup></mrow>]]></math><img file="FDA0001083871280000034.GIF" wi="669" he="106" /></maths>计算<img file="FDA0001083871280000035.GIF" wi="105" he="87" />的梯度:<maths num="0008"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><mo>&dtri;</mo><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup></msub><mo>=</mo><mo>-</mo><mn>2</mn><msub><mi>&gamma;B</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msub><msubsup><mi>x</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>+</mo><mn>2</mn><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>B</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msub><msubsup><mi>B</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow><mi>T</mi></msubsup><mo>)</mo></mrow><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>+</mo><mn>2</mn><msub><mi>&lambda;&alpha;</mi><mi>i</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>I</mi><mi>s</mi></msub></munderover><msub><mi>&alpha;</mi><mi>j</mi></msub><msubsup><mi>u</mi><mi>j</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mn>2</mn><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>v</mi></msub></munderover><msub><mi>l</mi><mi>j</mi></msub><msub><mi>&alpha;</mi><mi>j</mi></msub><msubsup><mi>u</mi><mi>j</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>&lsqb;</mo><mi>i</mi><mo>&Element;</mo><msub><mi>n</mi><mi>v</mi></msub><mo>&rsqb;</mo><mo>+</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>v</mi></msub></munderover><msub><mi>l</mi><mi>j</mi></msub><msubsup><mi>u</mi><mi>j</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0001083871280000036.GIF" wi="1510" he="474" /></maths>然后计算<img file="FDA0001083871280000037.GIF" wi="115" he="94" />的Hessian矩阵:<maths num="0009"><math><![CDATA[<mrow><msub><mi>H</mi><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup></msub><mo>=</mo><mn>2</mn><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>B</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msub><msubsup><mi>B</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow><mi>T</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>2</mn><msubsup><mi>&lambda;&alpha;</mi><mi>i</mi><mn>2</mn></msubsup><mo>+</mo><mn>4</mn><msub><mi>l</mi><mi>i</mi></msub><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>&lsqb;</mo><mi>i</mi><mo>&Element;</mo><msub><mi>n</mi><mi>v</mi></msub><mo>&rsqb;</mo><mo>)</mo></mrow><msub><mi>I</mi><mrow><mi>n</mi><mi>s</mi></mrow></msub></mrow>]]></math><img file="FDA0001083871280000038.GIF" wi="1254" he="103" /></maths>其中,I<sub>ns</sub>是大小为I<sub>s</sub>的单位矩阵,[i∈n<sub>v</sub>]是一个指示函数,当且仅当i属于支持向量的集合时函数值为1,其余为0;2.5)对于公式(2)中无监督信息的模态,即n≠N时,加入稀疏选择的约束,即l<sub>1</sub>范数:<maths num="0010"><math><![CDATA[<mrow><munder><mi>min</mi><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup></munder><mo>|</mo><mo>|</mo><msubsup><mi>x</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>B</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>T</mi></msubsup><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><msub><mi>&eta;</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub><mo>|</mo><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000041.GIF" wi="1375" he="159" /></maths><maths num="0011"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mi>n</mi><mo>&NotEqual;</mo><mi>N</mi></mrow>]]></math><img file="FDA0001083871280000042.GIF" wi="467" he="94" /></maths>其中,η<sub>(n)</sub>是控制模态n中的稀疏度;2.6)使用如下方法求解公式(4)<maths num="0012"><math><![CDATA[<mrow><msubsup><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><mi>t</mi><mo>-</mo><msub><mi>&eta;</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub></mrow><mrow><msub><mi>b</mi><mi>j</mi></msub><msubsup><mi>b</mi><mi>j</mi><mi>T</mi></msubsup></mrow></mfrac><mo>,</mo></mrow></mtd><mtd><mrow><mi>t</mi><mo>&gt;</mo><msub><mi>&eta;</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mi>t</mi><mo>&le;</mo><msub><mi>&eta;</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001083871280000043.GIF" wi="631" he="235" /></maths>其中,<img file="FDA0001083871280000044.GIF" wi="100" he="103" />为<img file="FDA0001083871280000045.GIF" wi="104" he="93" />中的元素,<maths num="0013"><math><![CDATA[<mrow><msub><mi>B</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msub><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>b</mi><mn>1</mn><mi>T</mi></msubsup><mo>,</mo><msubsup><mi>b</mi><mn>2</mn><mi>T</mi></msubsup><mo>,</mo><mn>...</mn><mo>,</mo><msubsup><mi>b</mi><msub><mi>R</mi><mi>n</mi></msub><mi>T</mi></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0001083871280000046.GIF" wi="580" he="95" /></maths><maths num="0014"><math><![CDATA[<mrow><mi>t</mi><mo>=</mo><msub><mi>b</mi><mi>j</mi></msub><mrow><mo>(</mo><msubsup><mi>B</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>T</mi></msubsup><msubsup><mi>u</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>b</mi><mi>j</mi><mi>T</mi></msubsup><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001083871280000047.GIF" wi="596" he="94" /></maths>2.7)根据步骤2.4)与步骤2.6)求得的u<sub>i</sub>,拼合成U,反复迭代,直至收敛;得到分类模型的参数{U<sub>1</sub>,…,U<sub>N</sub>;α};所述的步骤(3)包括:3.1)编写爬虫程序下载用户所需的待分类的多媒体数据,构成多媒体数据测试集合<img file="FDA0001083871280000048.GIF" wi="582" he="71" />其中I<sub>Nt</sub>是集合TEST中的待分类的多媒体数据个数;3.2)对TEST中的多媒体数据提取不同种类的特征,与训练时所提取的特征一致,Tt<sub>1</sub>,…,Tt<sub>N‑1</sub>,N‑1为特征的种类数;3.3)建立测试张量<img file="FDA0001083871280000049.GIF" wi="376" he="62" />其中I<sub>1</sub>,…,I<sub>N‑1</sub>模态对应为步骤1.2)中多媒体数据的特征T<sub>1</sub>,…,T<sub>N‑1</sub>,I<sub>N</sub>模态对应为待分类的多媒体数据个数;3.4)根据得到的分类模型参数{U<sub>1</sub>,…,U<sub>N</sub>;α},以及公式(3),计算待分类的多媒体数据的y<sub>i</sub>;3.5)根据步骤3.4)中得到的y<sub>i</sub>,进行以0.5为阈值的二值化操作,获得待分类的多媒体数据的标签及分类结果。
地址 310027 浙江省杭州市西湖区浙大路38号