1,进步增强了核机器式的通用性和鲁棒性KtrKtrt2,2合成核机器的学习方法KrKt为了求取合成核的参数,通常是将合戊核与支其中,K一(x)重(x;),1-1,…,mu,m+持向量机方法相结合,然后将目标函数转化成不同1,…,m1+nt:这里nt和m是有标号的训练样的优化问题,如不同的正则化形式或对训练样本本个数和无标号的测试样本个数.我们的目标是的一些约束,通过不同的优化方法进行求解.基于通过优化关于训练数据块Kt的损失函数,学习得此,出现了多种合成核机器的学方法到最优的混合数据块矩阵Kr和测试数据块矩阵1)Boosting方法K1即利用有标号的训练样本米预测测试样本的类早期受集成思想和Boosting方法的启发,别,也就是说,作者认为在训练的过程中同时考虑训Bennett提出了一种多自适应国归核(Multiple练样本和测试样本,可以找出最佳的核矩阵.但这additiveregressionkernels,MARK)算法.MARK样产生的问题是,求解核矩阵的搜索空间也相对变定义了一种异构核模型,并考虑一个大规模核知阵大,为了避免过学丬(Overfilling),Lanckriet利用库(Library),这个库由不同的核函数和其参数构成.限制核矩阵的迹为一常数米控制,于是有了约束式通过使用一种梯度Boosting列生成方法,MARKtr(K)=C构建出异构核矩阵的每一列,然后将其添加到合成半定规划是一种凸优化问题(Convexopti-核中.算法的目标就是在这个核矩阵库的基础上,找mizationproblem)∞o,它有一个线性的目标函数到一种构建推广模型的方法.这种方法推广性强,不(Allineobjectiveslunction)、有限个线性矩阵不等需要存储大量的数据米应对后续的预测,提高了预式约束(Linearmatrixinequalityconstraints)以及测的效率在此基础上,通过与SVM结合,Bi等17有限个线性矩阵等式约束(Affinematrixequality1042自动化学报36卷constraints),其标准形式如下如回归问题、一类分类(奇异检测)问题等.实验结果显示该算法可以有效增强模型的自动选择能力mincu并能提高学习结果的解释性.同时能有效应用于数S.t.Fy()-Fd+uFi+,.+ugFg20十万个样本和数百个核的大规模组合优化问题.这7=1,…,种半无限线性规划相比其他方法明显提高了学习速度,适宜于解决大规模问题.特别是当SVMs与·些Au=b已出现的字符串核(Stringkernel)相结合,String(17)kernel也是一种有效的核方法,它根据两个字符串其中向量t是最优化目标,FF是n×n的的所有公共子串计算它们的相似度,利用这些核对对称矩阵.F(a)是一个半正定阵,上标j表示特征的稀疏映射,使得我们可以训练一种字符串核可能有1全1个约束式:满足此约束式的所构成sVM,并应用于计算生物学中的千万级样本的数据的集合是一个凸集合.A是一个行数与长度相同,片段24在此基础上,7iem等提出了一种应用于列数与b长度相同的矩阵表示有限个等式约束式联含特征映射的多核学习方法,为多兴分类问题的因此,半定规划是在对称且半正定矩阵的凸子集合多核学习提供了一种史方便和原理化的途径.通过(Convexsubsct)卜:求解凸函数的最优化问题针对多核支持向量分类问题,通过定义一种对一种凸Q(QP以及两种SILPs在数据集上进行比较,实验结果显示SILPS比QCQP在速度上更能指标(Performanceiudex)u(K),基于原始一对有优势终可以转化为一个标准的半定规划形式5)超核(Hypcrkcrncls)对基于核方法的支持向量机而言、如何选择一个合适的核函数实现自动的机器学习是一个很大的mint,t,入,υ,6挑战Ong等3通过定义一种核空间上的再生核t.tr|∑FHilbert空间,即超再生核Hilbert空间,并引入超核的概念及构造方法,在更广义的层面上实现了这,K;≥0目标定义1(超再生核Hilbert空间,HyperreproducingkernelHilbertspace).改Ⅹ为非3.tre-tU8+xy空集合,Ⅹ:ⅩxX是复合指标集,H为函数f:X→R的Hilbert空间,该函数可表示为该空间中两(e+-6+入y)1t-26Ce个向量的内积,且其范数f=√f,f,则被0>0称为超雨生Hilbert空间,如果存在一个超核k:x6>0X→R具有如下性质:(18再生性:对所有∫∈丑,有(k,),/)其中,t是引入的一个替代变量(Auxiliaryvari-f(x),特殊地,(k(x),k(,x2)-k(xxablc),v,6,A是引入的Lagrangian乘子,至此,可b)k张成整个空间H,即H以通过标准的半定规划求解方法得到B及相应的span()(XLagrangian乘子,半定规划具有很高的泛化能力c)对仟一固定的(X,超核k是关于其第线性规划(Linearprogramming,LP)以及QCQP二个输入的核函数,即对任一固定的x∈X,函数问题都可以转换推广成半定规划门题然后可以很k(x,x)-kx,(x,x),x,x′∈是一个核函数容易地使用内点法(Interior-pointmethod)加以解在超再生核Hilbert空间上,可以用类似于止则决化品质函数的方法.得到一个从训练数据对核进行4)半无限线性规划学习的推理框架.对超核的学习,可以通过定义Sonnenburg等B7在多核矩阵锥组合的基础上,个被称为品质函数(Qualityfunctional)的量(类似提出了一种通用而更有效的多核学习算法.该方法于风险函数)来实现,这个量可以衡量核函数“非良将Bach等的QCQP对偶形式改写为一种半无限(Badness”的程度线性规划(Semi-infinititelinearprogram,SILP)形定义2(正则化品质函数,Regularizedqual-式,新的规划形式可以在标准的SVM应用问题中,ityfunctionality).设X,Y分别是训练测试样本利用成熟的线性规划方法进行求解.并且,通过将组合和样本标签,对X的一个半正定核矩阵K,此形式进行推广,算法能有效解决更多类型的问题,其正则化的质函数定义为如下形式:8期汪洪桥等:多核学习方法1013g(,x,Y)=9mp(k,X,Y)+2‖(17)分组LasoLasso回归是目前处理多重共线性的主要方法这里,≥0是一个正则化常数,h表示空间之一,相刘于其他方法,更容易产生稀疏解:在参H中的范数,Qm(k,X,Y)是一种经验品质函数,数估计的同时实现变量选择,因而可以用来解决检它表示核函数k与某一特定数据集X,Y的匹配程验中的多重共线性问题,以提高检验的效率.Laso度,该函数的值常用来调整k以使得gm最优(如:可以推广为分组Laso(Grouplasso),从而使得最优核目标度量)模型的解可以保持组稀疏性和层次性.Bach26·关引理1(再生核Hilbert空间的表示定理,注于分块1范数正则化的最小二乘回归,即分组Representertheoremforhyper-RKHS).设Las0o题,研究了其渐进模型一致性,推导出了分X为非空集合,Qmp是任意经验品质函数,X,Y组Laso-致性在一些实际假设下的充要条件,如分别是训练测试样木组合和样木标签,则每一个最模型误定.当线性预测器和欧氏范数(2范数)用函小化正则化品质函数g(k,X,Y)的k∈Ⅱ具有数和再生核Hilbert,范数代替,这就是常说的多核学以下的一种表示形式习问题.通过使用函数分析工具和特定的协方差算,将上述一致性结果推广到无限维情形,同时提出k(x)=∑月12(m,m),(m,m1),,x∈x种自适应方法来获得一致性模型的估计,即使2,7在非适应方法必要性条件不满足的情况下也能适用(20)为多核学习间题提供了一条新的途径对每一个1≤i,≤M,这里B;∈R2.3其他合成核参数学习方法根据超再牛核Hilbert空间的表示理论可知,由超核构造的决策函数不仅由某一个单核构成,而且从最简单的多个核直接求和到上述的各种改进还由多核之间的一个线性组合构成,因此具有更优合成核构造方法,多核学习经历了从经验性选择的性能在分类、回归以及奇异检测等方面的实验证运用多和优化方法求解的过程但针对一些具体间实了该方法的有效性B.8,拓展了多核模型选择与题,对核参数的选取,多核权系数的设定,目前还没合成的研究途径有形成一个合理统一的模式.常用的方法只能是凭6)简单MKL借经验、实验对比、大范围的搜索或通过交叉验证从Bach等的多核学习框架36出发,Sonnen-等进行寻优.在这种情况下,也出现了其他的些方bug等提出了种通用而更有效的多核学习算法,实现了多核学习问题,典型的有法37,该方法通过迭代使用现有的支持向量机代1)基于智能优化方法的多核学习码,从一个新的角度解决了人规模问题的多核学习这类方法主要通过一些比较成熟的智能优化然而,这种迭代算法在收敛到一个合理解之前,需要方法,建立目标函数,寻找该函数极值的过程就是过多的迭代运算.Rakotomanonyy等27用一种自合成核参数寻优的过程如采用多项式核与径向适应的C2范数正则化方法米考虑多核学习问题,每基核的合成核2作为支持向量机的核函数k个核矩阵的权系数被包含在标准SVM的经验风险2-(1-p)km,将其用SVM进行预测过程中最小化问题中,并采用(2约束以提高解的稀疏,的参数向量(d,o,,p)作为粒子,其中d为多项式然后采用了一种基于分块1范数正则化的算法来解核参数,为径向基核尺度参数,y为SVM调整参决这一问题,为多核问题提供了一个新的视角,并且数,p为合成核的权重参数,利用粒了群算法对该合证明了该方法与Bach等的方法是等效的.从上运成核的参数进行优化,最终找到最优的预测结果描述可以看出,除了学习合成核外,该与法解决的是2)基于核目标度量的多核学习个标准的SVM优化问题,这里核的定义形式为核度量434是两个核函数之间或核函数与目多个核的线性组合.Rakotomamonjyl称之为简标函数间的一个相似性度量,在多核矩阵信息融合单多核学习(SimpleMKL)在加权的2范数正则方面得到了应用,其概念最早由Cristianini等提出化形式下,同时对多核权系数进行一个额外的1范考虑一个两类分类数据集S={(x,1)}=1,其中非数约束,为多核学习提供了一种基于混合范数正则∈{+1,-1},则在数据集S下,两个核矩阵之间的化的新思路.简单多核学习可以从两类分类问题向核度量定义为其他方向扩展,如回归、类、一类分类(奇异检测)A(S,K1,K2)(K1,K2)以及多类分类问题,具有很强的通用性,并且与其他(21√k1,K1)F(K2,k2)F多核学习算法相比,该算法收敛速度更快且效率更这里,(K,Ka)F=>1-1Fn(x2:)(x,T)通1044自动化学报36卷过上式,对应于S的核矩阵K的性能可以通过A;-2,t-0,1,2,值米量度,如:A(5,K,G),这里的G是基于特定任务的理想核G=y,其中y=m12…,.基另一种典型多尺度核为小波核函数(Waveletkernelfunction)831于对目标核的度量原珥,通过使用不同的核函数,或定理1.令h(m)是一个小波母函数,a和c分者调节不同的参数值,可以产生一组核矩阵.然后,别表示仲缩和转移因子,a,∈R如果x,z∈R对该度量值的最大化执行半定规划或其他学习方法,则内积型小波核函数可表示为以得到一个对不同核矩阵加权组合的最优核3多个尺度的多核学习:多尺度核方法k(2)=江4(合成核方法虽然有了一些成功应用,但都是根据简单核函数的线性组合,生成满足Mercer条件的转移不变小波核函数为新核函数;核函数参数的选择与组合没有依据可循,对样木的不平坦分布仍无法圆满解决,限制了决策k(a,z)=(函数的表示能力.在此情况下,山现了多核学习的种特殊化情形,即将多个尺度的核进行融合.这种定理2.考虑具有一般性的小波函数方法更具灵活性,并且能比合成核方法提供更完备的尺度选择.此外,随着小波理论、多尺度分析理论h(x)=cos(1.75x)252间使其其有了很好的且论录这类方法目箭也如果x2(R",则小波核函数为得到了很好的利用,烘型的如Kingsbury等③2将多个尺度大小的核进行分光heng等B到、Yangk(a,2)=h(x二等834提出了多尺度支持向量回归.分别用于非平坦i=1数的估计和时序列预测.此外,通过进一步将多∏1c015(n-2)C一之尺度核与支持向量机结合.多尺度核方法在基于回归的热点检测48和图像压缩49等方面均得到了应(26用.近来,结合多尺度分析方法,基于Hilbert空间通过仲缩因子a的变化,即可得到不同尺度的小波中的再生核进行函数重构得到了重视并进行了相关的应用研究;此外,多尺度核方法又逐步推广到核函数了高斯过程的健模与处里-27,这对基于核方法3.2多尺度核的学习方法的机器学习又是一次大的扩展1)多尺度核序列学习方法3.1具有多尺度表示能力的核函数对多尺度核的学习,很直观的思路就是进行多尺度核的序列学习.多尺度核序列合成方法32简单度表示能力的核函数.在被广泛使用的核函数中,高理解就是先用大尺度核拟合对应决策函数平滑区域的样木,然后用小尺度核拟合决策函数变化相对剧斯径向基核烈区域的样本,后面的步骤利用前面步骤的结果,进k(a,a)=cxp(22行逐级优化,最终得到更优的分类结果考虑一个两尺度核k1和k2合成的分类问题是最受欢迎的,因为它们具有通用普遍的近似能力,我们要得到合成的决策函数同时它也是一种典型的可多尺度化核.以此核为例f(x)=f1(x)+f2(x)将其多尺度化(假设其只有半移不变性):k(-22这里22af()=∑ak1(xn,)b2其中.σ1<…
1,进步增强了核机器式的通用性和鲁棒性KtrKtrt2,2合成核机器的学习方法KrKt为了求取合成核的参数,通常是将合戊核与支其中,K一(x)重(x;),1-1,…,mu,m+持向量机方法相结合,然后将目标函数转化成不同1,…,m1+nt:这里nt和m是有标号的训练样的优化问题,如不同的正则化形式或对训练样本本个数和无标号的测试样本个数.我们的目标是的一些约束,通过不同的优化方法进行求解.基于通过优化关于训练数据块Kt的损失函数,学习得此,出现了多种合成核机器的学方法到最优的混合数据块矩阵Kr和测试数据块矩阵1)Boosting方法K1即利用有标号的训练样本米预测测试样本的类早期受集成思想和Boosting方法的启发,别,也就是说,作者认为在训练的过程中同时考虑训Bennett提出了一种多自适应国归核(Multiple练样本和测试样本,可以找出最佳的核矩阵.但这additiveregressionkernels,MARK)算法.MARK样产生的问题是,求解核矩阵的搜索空间也相对变定义了一种异构核模型,并考虑一个大规模核知阵大,为了避免过学丬(Overfilling),Lanckriet利用库(Library),这个库由不同的核函数和其参数构成.限制核矩阵的迹为一常数米控制,于是有了约束式通过使用一种梯度Boosting列生成方法,MARKtr(K)=C构建出异构核矩阵的每一列,然后将其添加到合成半定规划是一种凸优化问题(Convexopti-核中.算法的目标就是在这个核矩阵库的基础上,找mizationproblem)∞o,它有一个线性的目标函数到一种构建推广模型的方法.这种方法推广性强,不(Allineobjectiveslunction)、有限个线性矩阵不等需要存储大量的数据米应对后续的预测,提高了预式约束(Linearmatrixinequalityconstraints)以及测的效率在此基础上,通过与SVM结合,Bi等17有限个线性矩阵等式约束(Affinematrixequality1042自动化学报36卷constraints),其标准形式如下如回归问题、一类分类(奇异检测)问题等.实验结果显示该算法可以有效增强模型的自动选择能力mincu并能提高学习结果的解释性.同时能有效应用于数S.t.Fy()-Fd+uFi+,.+ugFg20十万个样本和数百个核的大规模组合优化问题.这7=1,…,种半无限线性规划相比其他方法明显提高了学习速度,适宜于解决大规模问题.特别是当SVMs与·些Au=b已出现的字符串核(Stringkernel)相结合,String(17)kernel也是一种有效的核方法,它根据两个字符串其中向量t是最优化目标,FF是n×n的的所有公共子串计算它们的相似度,利用这些核对对称矩阵.F(a)是一个半正定阵,上标j表示特征的稀疏映射,使得我们可以训练一种字符串核可能有1全1个约束式:满足此约束式的所构成sVM,并应用于计算生物学中的千万级样本的数据的集合是一个凸集合.A是一个行数与长度相同,片段24在此基础上,7iem等提出了一种应用于列数与b长度相同的矩阵表示有限个等式约束式联含特征映射的多核学习方法,为多兴分类问题的因此,半定规划是在对称且半正定矩阵的凸子集合多核学习提供了一种史方便和原理化的途径.通过(Convexsubsct)卜:求解凸函数的最优化问题针对多核支持向量分类问题,通过定义一种对一种凸Q(QP以及两种SILPs在数据集上进行比较,实验结果显示SILPS比QCQP在速度上更能指标(Performanceiudex)u(K),基于原始一对有优势终可以转化为一个标准的半定规划形式5)超核(Hypcrkcrncls)对基于核方法的支持向量机而言、如何选择一个合适的核函数实现自动的机器学习是一个很大的mint,t,入,υ,6挑战Ong等3通过定义一种核空间上的再生核t.tr|∑FHilbert空间,即超再生核Hilbert空间,并引入超核的概念及构造方法,在更广义的层面上实现了这,K;≥0目标定义1(超再生核Hilbert空间,HyperreproducingkernelHilbertspace).改Ⅹ为非3.tre-tU8+xy空集合,Ⅹ:ⅩxX是复合指标集,H为函数f:X→R的Hilbert空间,该函数可表示为该空间中两(e+-6+入y)1t-26Ce个向量的内积,且其范数f=√f,f,则被0>0称为超雨生Hilbert空间,如果存在一个超核k:x6>0X→R具有如下性质:(18再生性:对所有∫∈丑,有(k,),/)其中,t是引入的一个替代变量(Auxiliaryvari-f(x),特殊地,(k(x),k(,x2)-k(xxablc),v,6,A是引入的Lagrangian乘子,至此,可b)k张成整个空间H,即H以通过标准的半定规划求解方法得到B及相应的span()(XLagrangian乘子,半定规划具有很高的泛化能力c)对仟一固定的(X,超核k是关于其第线性规划(Linearprogramming,LP)以及QCQP二个输入的核函数,即对任一固定的x∈X,函数问题都可以转换推广成半定规划门题然后可以很k(x,x)-kx,(x,x),x,x′∈是一个核函数容易地使用内点法(Interior-pointmethod)加以解在超再生核Hilbert空间上,可以用类似于止则决化品质函数的方法.得到一个从训练数据对核进行4)半无限线性规划学习的推理框架.对超核的学习,可以通过定义Sonnenburg等B7在多核矩阵锥组合的基础上,个被称为品质函数(Qualityfunctional)的量(类似提出了一种通用而更有效的多核学习算法.该方法于风险函数)来实现,这个量可以衡量核函数“非良将Bach等的QCQP对偶形式改写为一种半无限(Badness”的程度线性规划(Semi-infinititelinearprogram,SILP)形定义2(正则化品质函数,Regularizedqual-式,新的规划形式可以在标准的SVM应用问题中,ityfunctionality).设X,Y分别是训练测试样本利用成熟的线性规划方法进行求解.并且,通过将组合和样本标签,对X的一个半正定核矩阵K,此形式进行推广,算法能有效解决更多类型的问题,其正则化的质函数定义为如下形式:8期汪洪桥等:多核学习方法1013g(,x,Y)=9mp(k,X,Y)+2‖(17)分组LasoLasso回归是目前处理多重共线性的主要方法这里,≥0是一个正则化常数,h表示空间之一,相刘于其他方法,更容易产生稀疏解:在参H中的范数,Qm(k,X,Y)是一种经验品质函数,数估计的同时实现变量选择,因而可以用来解决检它表示核函数k与某一特定数据集X,Y的匹配程验中的多重共线性问题,以提高检验的效率.Laso度,该函数的值常用来调整k以使得gm最优(如:可以推广为分组Laso(Grouplasso),从而使得最优核目标度量)模型的解可以保持组稀疏性和层次性.Bach26·关引理1(再生核Hilbert空间的表示定理,注于分块1范数正则化的最小二乘回归,即分组Representertheoremforhyper-RKHS).设Las0o题,研究了其渐进模型一致性,推导出了分X为非空集合,Qmp是任意经验品质函数,X,Y组Laso-致性在一些实际假设下的充要条件,如分别是训练测试样木组合和样木标签,则每一个最模型误定.当线性预测器和欧氏范数(2范数)用函小化正则化品质函数g(k,X,Y)的k∈Ⅱ具有数和再生核Hilbert,范数代替,这就是常说的多核学以下的一种表示形式习问题.通过使用函数分析工具和特定的协方差算,将上述一致性结果推广到无限维情形,同时提出k(x)=∑月12(m,m),(m,m1),,x∈x种自适应方法来获得一致性模型的估计,即使2,7在非适应方法必要性条件不满足的情况下也能适用(20)为多核学习间题提供了一条新的途径对每一个1≤i,≤M,这里B;∈R2.3其他合成核参数学习方法根据超再牛核Hilbert空间的表示理论可知,由超核构造的决策函数不仅由某一个单核构成,而且从最简单的多个核直接求和到上述的各种改进还由多核之间的一个线性组合构成,因此具有更优合成核构造方法,多核学习经历了从经验性选择的性能在分类、回归以及奇异检测等方面的实验证运用多和优化方法求解的过程但针对一些具体间实了该方法的有效性B.8,拓展了多核模型选择与题,对核参数的选取,多核权系数的设定,目前还没合成的研究途径有形成一个合理统一的模式.常用的方法只能是凭6)简单MKL借经验、实验对比、大范围的搜索或通过交叉验证从Bach等的多核学习框架36出发,Sonnen-等进行寻优.在这种情况下,也出现了其他的些方bug等提出了种通用而更有效的多核学习算法,实现了多核学习问题,典型的有法37,该方法通过迭代使用现有的支持向量机代1)基于智能优化方法的多核学习码,从一个新的角度解决了人规模问题的多核学习这类方法主要通过一些比较成熟的智能优化然而,这种迭代算法在收敛到一个合理解之前,需要方法,建立目标函数,寻找该函数极值的过程就是过多的迭代运算.Rakotomanonyy等27用一种自合成核参数寻优的过程如采用多项式核与径向适应的C2范数正则化方法米考虑多核学习问题,每基核的合成核2作为支持向量机的核函数k个核矩阵的权系数被包含在标准SVM的经验风险2-(1-p)km,将其用SVM进行预测过程中最小化问题中,并采用(2约束以提高解的稀疏,的参数向量(d,o,,p)作为粒子,其中d为多项式然后采用了一种基于分块1范数正则化的算法来解核参数,为径向基核尺度参数,y为SVM调整参决这一问题,为多核问题提供了一个新的视角,并且数,p为合成核的权重参数,利用粒了群算法对该合证明了该方法与Bach等的方法是等效的.从上运成核的参数进行优化,最终找到最优的预测结果描述可以看出,除了学习合成核外,该与法解决的是2)基于核目标度量的多核学习个标准的SVM优化问题,这里核的定义形式为核度量434是两个核函数之间或核函数与目多个核的线性组合.Rakotomamonjyl称之为简标函数间的一个相似性度量,在多核矩阵信息融合单多核学习(SimpleMKL)在加权的2范数正则方面得到了应用,其概念最早由Cristianini等提出化形式下,同时对多核权系数进行一个额外的1范考虑一个两类分类数据集S={(x,1)}=1,其中非数约束,为多核学习提供了一种基于混合范数正则∈{+1,-1},则在数据集S下,两个核矩阵之间的化的新思路.简单多核学习可以从两类分类问题向核度量定义为其他方向扩展,如回归、类、一类分类(奇异检测)A(S,K1,K2)(K1,K2)以及多类分类问题,具有很强的通用性,并且与其他(21√k1,K1)F(K2,k2)F多核学习算法相比,该算法收敛速度更快且效率更这里,(K,Ka)F=>1-1Fn(x2:)(x,T)通1044自动化学报36卷过上式,对应于S的核矩阵K的性能可以通过A;-2,t-0,1,2,值米量度,如:A(5,K,G),这里的G是基于特定任务的理想核G=y,其中y=m12…,.基另一种典型多尺度核为小波核函数(Waveletkernelfunction)831于对目标核的度量原珥,通过使用不同的核函数,或定理1.令h(m)是一个小波母函数,a和c分者调节不同的参数值,可以产生一组核矩阵.然后,别表示仲缩和转移因子,a,∈R如果x,z∈R对该度量值的最大化执行半定规划或其他学习方法,则内积型小波核函数可表示为以得到一个对不同核矩阵加权组合的最优核3多个尺度的多核学习:多尺度核方法k(2)=江4(合成核方法虽然有了一些成功应用,但都是根据简单核函数的线性组合,生成满足Mercer条件的转移不变小波核函数为新核函数;核函数参数的选择与组合没有依据可循,对样木的不平坦分布仍无法圆满解决,限制了决策k(a,z)=(函数的表示能力.在此情况下,山现了多核学习的种特殊化情形,即将多个尺度的核进行融合.这种定理2.考虑具有一般性的小波函数方法更具灵活性,并且能比合成核方法提供更完备的尺度选择.此外,随着小波理论、多尺度分析理论h(x)=cos(1.75x)252间使其其有了很好的且论录这类方法目箭也如果x2(R",则小波核函数为得到了很好的利用,烘型的如Kingsbury等③2将多个尺度大小的核进行分光heng等B到、Yangk(a,2)=h(x二等834提出了多尺度支持向量回归.分别用于非平坦i=1数的估计和时序列预测.此外,通过进一步将多∏1c015(n-2)C一之尺度核与支持向量机结合.多尺度核方法在基于回归的热点检测48和图像压缩49等方面均得到了应(26用.近来,结合多尺度分析方法,基于Hilbert空间通过仲缩因子a的变化,即可得到不同尺度的小波中的再生核进行函数重构得到了重视并进行了相关的应用研究;此外,多尺度核方法又逐步推广到核函数了高斯过程的健模与处里-27,这对基于核方法3.2多尺度核的学习方法的机器学习又是一次大的扩展1)多尺度核序列学习方法3.1具有多尺度表示能力的核函数对多尺度核的学习,很直观的思路就是进行多尺度核的序列学习.多尺度核序列合成方法32简单度表示能力的核函数.在被广泛使用的核函数中,高理解就是先用大尺度核拟合对应决策函数平滑区域的样木,然后用小尺度核拟合决策函数变化相对剧斯径向基核烈区域的样本,后面的步骤利用前面步骤的结果,进k(a,a)=cxp(22行逐级优化,最终得到更优的分类结果考虑一个两尺度核k1和k2合成的分类问题是最受欢迎的,因为它们具有通用普遍的近似能力,我们要得到合成的决策函数同时它也是一种典型的可多尺度化核.以此核为例f(x)=f1(x)+f2(x)将其多尺度化(假设其只有半移不变性):k(-22这里22af()=∑ak1(xn,)b2其中.σ1<…
于 2020-12-07 发布
0 594
特征融合,多核学习,核方法是机器学习的一种重要思想8期汪洪桥等:多核学习方法10391.2容许核的构造数据的基因功能分类问题,其中就讨论了前期、中期利用核函数可以大大简化计算,但如何针对具和后期三种集成方式.早期集成是指数据的集成,后体的问题设计出最适当的核函数却是一个难点实期集成是指分类器结果的集成,而中期集成就是核际上,经常采用的方法是直接定义核函数,从而隐矩库的组合,它通过对多个基本核矩阵进行合成得含地定义了特征空间. Mercer条件是检验核函数到,基于这种多核矩阵直接求和方式,可以实现异构是否定义了一个特征空间的充分条件,我们称满足数据源的融合,用来训练分类器此后,在蛋白质功能预测56与定位,蛋白质容许楼满是一些闭包性质或条件6,这使得我分子间的交互预测2,蛋白质折叠识别和远端同源们可以从些简单的核函数设计出复杂的核函数性检测2等方向,由于涉及到多特征空间或有效属性质1.容许核的正系数线性组合是容许核性的集合( roups of attributes available)问题,来性质2.容许核的乘积是容许核自异构源的数据具有不同特性,如全局特性、局部特性质3.函数乘积的积分是容许核.性等,这就需要核矩阵在集成时可以评佔这些潜在设s(x,)是一个定义在X×X上的函数,使的异构目标描述子各自的贡献.因此出现了一些加得k(x,x)=/5x,x)(2,x)dx存在则ka,2)板图多核合成方法,这类多核方法都无追过多个核是一个容许核数的线性组合得到的,图1所示的就是其构成的性质4.平移不变核是容许核的充要条件示意图个平移不变核k(x,2)=k(-x)是容许核,类别标号或预测值结果输出)且仅当其傅里叶变换F(u)-(2x)-号xk(x)i(ur)dx是非负的分类或回归(分类器或回归R效性质5.内积型核是容诈核的必要条件.合成核空闫合成核若一个内积型核k(x,2)=k(x·z)是容许核,则它必满足v≥0.k(5)≥0.0k()≥0且k(5)Kernel sKernel h5k()>0核空间(kemC性质6.内积型核是容许核的充要条件.一个内积型核k(x,z)=k(x·z)是容许核,当征空间(C且仅当其幂级数展开式k(t)=∑0ant中所有系数an≥0.对于有限维的空间,条件可以稍微减弱输入数据图1多核函数线性组合合成示意图当前已经仔在较多的满足 Mercer条件的核函rig. 1 Sketch map of composition using multiple kernel数,常见核函数通常可分为两类:局部核和全局核6ar而局部核选择不同的核参数,又可分为大尺度核与小尺度核.在一些复杂情形下.同时考虑核机器分下面呆用公式的形式对上述线性组合合成核进类、回归性能和泛化能力,将不同核组合使用,将是行描述.假定k(x,2)是已知核函数,k(x,2)是它的更合理的选择归一化形式,例如核函数k(x,z)可以采用如下方法进行归一化:√k(x,x)k(z,x).采用以引入的符2基本多核学习:合成核方法号,可以定义以下几种合成核:将不同特性的核函数进行组合,获得多类核函a)直接求和核( Direct summation kernel)数的优点,可以得到更优的映射性能.并且,典型的学习问题经常涉及到多种或者异构的数据,多核方k(,2)=∑k(x,2)法可以提供更佳的灵活性.此外,它可以作为一种巧妙的方法来解释学习结果、使得应用问题可以得到b)加求和核( Weighted summation kernel)更深入的理解.这就是多核学习的一类基本方法,即合成核方法k(x,2)=∑(,2,≥0,∑月=1(6)2.1合成核的构造1)多核线性组合合成方法c)加权多项式扩展核( Weighted polynomial多核学习最早从生物信息学领域得到应用和认extended kernel同.如 Pavlidis等20在2001年就研究了基于异构k(x,z)=ak1(x,2)+(1-a)k2(x,2)(7)1010自动化学报36卷其中.k(x,2)是k(x,x)的多项式扩展是,该合成核矩阵的大小为(s×n)×(s×n),而原近来,这类合成核法又得到一些改进,在图始核矩阵的大小都是n×n,由于合成核矩阵是原始像目标的识别领域得到广泛应用.如在金字塔框架核矩阵规模的§倍,因此样本特征必须被复制,使运对日标形状进行多核表示阿,或釆用多核方法,算量成倍增加自动获得基」决策的一种相应目标类别的稀疏依赖3)其他改进合成核方法图,实现了多类目标联合检测③2].提高了目标的识近年来,针对多核学习中核函数的选取以及杖别率.通过同时考虑多核线性组合的稀疏性和分类值系数的改进,又出现了一些新的多核合成方法,器的强判别力,将多核学习问题转化为不同的优化如:问题58.63,或通过多对象描述子、多特征空间的整a)非平稳多核学习合,并进行快速求解64.此外,合成核方法在特征提前述的多核线性组合方法都是对核函数的平稳取、处理及应用7、分类972-4、图像分割、组合,即对所有输入样本,不同的核对应的权值是系统辨识等方面又得到了一些成功应用不变的.无形中对样本进行了一种平均处理. Lewis2)多核扩展合成方法等吲提出了一种多核的非平稳组合方法,对每个输述合成核方法都是试图通过一种求和“平均入样本配以不同的权值系数.如常规SVM判别函化”的思想42来实现不同核矩阵融合.然而,这里数为存在个丢失原始核矩阵信息的风险.比如,如果数据集的局部分布是多变的.不同的核处理不同的区f(c)=∑0r,m)+b(1域会得到更好的结果,对不同核函数采用平均的方法将丢失刻画这些局部分布的性能.为了实现核矩引入不同的加权系数,典型的合成核SVM的阵的组合而不丢失任何原始信息,可以考虑将多核判别函数可以改写为矩阵进行扩展合成42],新的核矩阵由原核矩阵和其他不同的核矩阵共同构成.在这个更大的核矩阵中原核矩阵仍然存在.因此,原始核函数的性质得以保∫(x)-∑m∑k(x,x)+b(1留.该合成核矩阵的形式为而对于非平稳的合成核SVM,其判别函数改进11K1,2K为2.2K∑a:∑()k(c;,m)(12)K1 K可以看出,原始核矩阵位于新矩阵的对角线上在最大熵判别( Maximum entropy discrimination,其他所有元素是定义为(Kn)3=Fn(m,)的MED)框架下,通过使用一种大间隔隐变量生成两个不同核矩阵的混合,可由如下公式求得(以两个模型,使得隐参数估计问题可以通过变化边界和高斯核为例)一个内点优化过程来表示,并且相应的参数估计可以通过快速的序列最小优化( Sequential minimaloptimization,SMO)算法实现.通过多种数据集的4:4+(9)实验验证,非平稳的多核学习方法具有更好的通用性.很明显,当p=p时,Kp=knb)局部多核学习实验结果显示,当数据集具有变化的局部数据此后,仍旧是针对多核学习在整个输入空间中分布时,这种合成核方法将是更好的选择此外,通对某个核都是分配相同权值的问题,G6nen等0常核组合方法在很大程度上依靠训练数据,并且必利用一种选通模型( Galing nodel)部地选择合须道过学习获取一些权系数,以标识每个核的重要适核函数,提出了一种局部多核学习算法在SVM性.而在护展合成核方法中,这些核函数的重要性可框架下,其判别函数形如以直接从支持向量机的训练过程中导出.由此,分别对应不同核的权系数可以通过一个单独的分类尜优化过程整体得到.并且该优化过程不会像其他加权∑q∑(x)k1(x;xm/r)+b(13)核方法那样,由于在优化权系数和训练分类器过程中两次仗用训练数据而产生训练数据的过拟合.但其中,7z(x)是选通函数,其定义形式为8期汪洪桥等:多核学习方法10117(c)exp((vm, )+Umo)(14)详细阐述了应用于合成核的列生成 Boosting方法并成功推广到分类和回归问题∑ep(,x)+"l2)二次约束型二次规划从数学形式上看,二次约束型二次规划是一类这里的tm和tm是选通模型参数,可以在多核学习目标函数和约束同为二次函数的优化问题过程中通过梯度下降法获得.将局部选通模型和基于核的分类器相结合,优化问题可以用一种联合的方式加以解决.局部多核学习方法获得了与多核学习近似的精度,但只需要存储更少的支持向量.基于st.Px+qx+r;≤0,i=1,2,…,m此, Christoudias等又提出了一种基于 BayesianAr=b的局部权值求取方法,以使学习过稈能适应人规模(1的数据集这里,P,B1,…,Pn是n×n矩阵,优化变量x∈c)非稀疏多核学习R;如果P1,…,Pmn均为0矩阵,则约束变为线性大部分合成核方法都有式(6)的形式,即对多核的,该问题实际变为一个二次规划问题系数的约束是一种1范数的形式,以提高核组合的Bach等针对多核矩阵和分类器系数锥组合稀疏性.稀疏性的提高在一些情况下可以减少冗余,问题的联合优化,提出了Q(QP的-种新对偶肜提高运算效率.但当某个问题多个特征编码间具有式,把它作为一个二阶锥规划,可以利用 Moreau-正交性,稀性可能导致有用信息的丢失和泛化性 Yosida正则化来生成SMO方法的适用形式.实能变弱.Klof等通过对系数引入一种l2范数约验结果显示这种基于SMO的算法比常用工具箱中束,即‖2=1,提出了非稀疏的多核学习方法.虽应用的内点法更有效,广泛应用于支持向量回归问然在此约束下,名核组合形式是非凸的,但通过使用题1二范数‖|2=1边界上的值,可以得到一个紧致的3)半定规划凸近似,这就保证了核矩阵的严格正定性.通过在大通过在一个核矩阵中综合考虑训练数据和测试规模数据集下与C1范数和常用多核学习( Multiple数据, Lanckrict等田通过半定规划技术实现了核kernel learning,MKT)方法进行对比实验,仿真实矩阵的学习问题,也为合成核模型提供了一种功能验结果显示2-MKL在抗噪声和特征集冗余方面具强大的渐进直推式算法,该算法被成功应用并推广有较强的鲁棒性.此后,Klo等刚又将O2范数约到蛋白质功能预测0.其考虑的核矩阵具有如下形束推广到任意C范数,p>1,进步增强了核机器式的通用性和鲁棒性Ktr Ktrt2,2合成核机器的学习方法Kr Kt为了求取合成核的参数,通常是将合戊核与支其中,K一(x)重(x;),1-1,…,mu,m+持向量机方法相结合,然后将目标函数转化成不同1,…,m1+nt:这里nt和m是有标号的训练样的优化问题,如不同的正则化形式或对训练样本本个数和无标号的测试样本个数.我们的目标是的一些约束,通过不同的优化方法进行求解.基于通过优化关于训练数据块Kt的损失函数,学习得此,出现了多种合成核机器的学方法到最优的混合数据块矩阵Kr和测试数据块矩阵1) Boosting方法K1即利用有标号的训练样本米预测测试样本的类早期受集成思想和 Boosting方法的启发,别,也就是说,作者认为在训练的过程中同时考虑训Bennett提出了一种多自适应国归核( Multiple练样本和测试样本,可以找出最佳的核矩阵.但这additive regression kernels,MARK)算法.MARK样产生的问题是,求解核矩阵的搜索空间也相对变定义了一种异构核模型,并考虑一个大规模核知阵大,为了避免过学丬( Overfilling), Lanckriet利用库( Library),这个库由不同的核函数和其参数构成.限制核矩阵的迹为一常数米控制,于是有了约束式通过使用一种梯度 Boosting列生成方法, MARK tr(K)=C构建出异构核矩阵的每一列,然后将其添加到合成半定规划是一种凸优化问题( Convex opti-核中.算法的目标就是在这个核矩阵库的基础上,找 mization problem)∞o,它有一个线性的目标函数到一种构建推广模型的方法.这种方法推广性强,不( Alline objectives lunction)、有限个线性矩阵不等需要存储大量的数据米应对后续的预测,提高了预式约束( Linear matrix inequality constraints)以及测的效率在此基础上,通过与SVM结合,Bi等17有限个线性矩阵等式约束( Affine matrix equality1042自动化学报36卷constraints),其标准形式如下如回归问题、一类分类(奇异检测)问题等.实验结果显示该算法可以有效增强模型的自动选择能力min c u并能提高学习结果的解释性.同时能有效应用于数S.t.Fy()-Fd+uFi+,.+ugFg20十万个样本和数百个核的大规模组合优化问题.这7=1,…,种半无限线性规划相比其他方法明显提高了学习速度,适宜于解决大规模问题.特别是当SVMs与·些Au= b已出现的字符串核( String kernel)相结合, String(17)kernel也是一种有效的核方法,它根据两个字符串其中向量t是最优化目标,FF是n×n的的所有公共子串计算它们的相似度,利用这些核对对称矩阵.F(a)是一个半正定阵,上标j表示特征的稀疏映射,使得我们可以训练一种字符串核可能有1全1个约束式:满足此约束式的所构成sVM,并应用于计算生物学中的千万级样本的数据的集合是一个凸集合.A是一个行数与长度相同,片段24在此基础上,7iem等提出了一种应用于列数与b长度相同的矩阵表示有限个等式约束式联含特征映射的多核学习方法,为多兴分类问题的因此,半定规划是在对称且半正定矩阵的凸子集合多核学习提供了一种史方便和原理化的途径.通过( Convex subsct)卜:求解凸函数的最优化问题针对多核支持向量分类问题,通过定义一种对一种凸Q(QP以及两种 SILPs在数据集上进行比较,实验结果显示 SILPS比QCQP在速度上更能指标( Performance iudex)u(K),基于原始一对有优势终可以转化为一个标准的半定规划形式5)超核( Hypcrkcrncls)对基于核方法的支持向量机而言、如何选择一个合适的核函数实现自动的机器学习是一个很大的min t,t,入,υ,6挑战Ong等3通过定义一种核空间上的再生核t.tr|∑FHilbert空间,即超再生核 Hilbert空间,并引入超核的概念及构造方法,在更广义的层面上实现了这,K;≥0目标定义1(超再生核 Hilbert空间, Hyper reproducing kernel Hilbert space).改Ⅹ为非3.tre-tU8+ xy空集合,Ⅹ:ⅩxX是复合指标集,H为函数f:X→R的 Hilbert空间,该函数可表示为该空间中两(e+-6+入y)1t-26Ce个向量的内积,且其范数f=√f,f,则被0>0称为超雨生 Hilbert空间,如果存在一个超核k:x6>0X→R具有如下性质:(18再生性:对所有∫∈丑,有(k,),/)其中,t是引入的一个替代变量( Auxiliary vari-f(x),特殊地,(k(x),k(,x2)-k(xxablc),v,6,A是引入的 Lagrangian乘子,至此,可b)k张成整个空间H,即H以通过标准的半定规划求解方法得到B及相应的span()(XLagrangian乘子,半定规划具有很高的泛化能力c)对仟一固定的(X,超核k是关于其第线性规划( Linear programming,LP)以及QCQP二个输入的核函数,即对任一固定的x∈X,函数问题都可以转换推广成半定规划门题然后可以很k(x,x)-kx,(x,x),x,x′∈是一个核函数容易地使用内点法( Interior-point method)加以解在超再生核 Hilbert空间上,可以用类似于止则决化品质函数的方法.得到一个从训练数据对核进行4)半无限线性规划学习的推理框架.对超核的学习,可以通过定义Sonnenburg等B7在多核矩阵锥组合的基础上,个被称为品质函数( Quality functional)的量(类似提出了一种通用而更有效的多核学习算法.该方法于风险函数)来实现,这个量可以衡量核函数“非良将Bach等的QCQP对偶形式改写为一种半无限( Badness”的程度线性规划(Semi- infinitite linear program,SILP)形定义2(正则化品质函数, Regularized qual-式,新的规划形式可以在标准的SVM应用问题中, ity functionality).设X,Y分别是训练测试样本利用成熟的线性规划方法进行求解.并且,通过将组合和样本标签,对X的一个半正定核矩阵K,此形式进行推广,算法能有效解决更多类型的问题,其正则化的质函数定义为如下形式:8期汪洪桥等:多核学习方法1013g(,x,Y)=9mp(k,X,Y)+2‖(17)分组LasoLasso回归是目前处理多重共线性的主要方法这里,≥0是一个正则化常数,h表示空间之一,相刘于其他方法,更容易产生稀疏解:在参H中的范数,Qm(k,X,Y)是一种经验品质函数,数估计的同时实现变量选择,因而可以用来解决检它表示核函数k与某一特定数据集X,Y的匹配程验中的多重共线性问题,以提高检验的效率.Laso度,该函数的值常用来调整k以使得gm最优(如:可以推广为分组Laso( Group lasso),从而使得最优核目标度量)模型的解可以保持组稀疏性和层次性.Bach26·关引理1(再生核 Hilbert空间的表示定理,注于分块1范数正则化的最小二乘回归,即分组Representer theorem for hyper-RKHS).设Las0o题,研究了其渐进模型一致性,推导出了分X为非空集合,Qmp是任意经验品质函数,X,Y组Laso-致性在一些实际假设下的充要条件,如分别是训练测试样木组合和样木标签,则每一个最模型误定.当线性预测器和欧氏范数(2范数)用函小化正则化品质函数g(k,X,Y)的k∈Ⅱ具有数和再生核 Hilbert,范数代替,这就是常说的多核学以下的一种表示形式习问题.通过使用函数分析工具和特定的协方差算,将上述一致性结果推广到无限维情形,同时提出k(x)=∑月12(m,m),(m,m1),,x∈x种自适应方法来获得一致性模型的估计,即使2,7在非适应方法必要性条件不满足的情况下也能适用(20)为多核学习间题提供了一条新的途径对每一个1≤i,≤M,这里B;∈R2.3其他合成核参数学习方法根据超再牛核 Hilbert空间的表示理论可知,由超核构造的决策函数不仅由某一个单核构成,而且从最简单的多个核直接求和到上述的各种改进还由多核之间的一个线性组合构成,因此具有更优合成核构造方法,多核学习经历了从经验性选择的性能在分类、回归以及奇异检测等方面的实验证运用多和优化方法求解的过程但针对一些具体间实了该方法的有效性B.8,拓展了多核模型选择与题,对核参数的选取,多核权系数的设定,目前还没合成的研究途径有形成一个合理统一的模式.常用的方法只能是凭6)简单MKL借经验、实验对比、大范围的搜索或通过交叉验证从Bach等的多核学习框架36出发, Sonnen-等进行寻优.在这种情况下,也出现了其他的些方bug等提出了种通用而更有效的多核学习算法,实现了多核学习问题,典型的有法37,该方法通过迭代使用现有的支持向量机代1)基于智能优化方法的多核学习码,从一个新的角度解决了人规模问题的多核学习这类方法主要通过一些比较成熟的智能优化然而,这种迭代算法在收敛到一个合理解之前,需要方法,建立目标函数,寻找该函数极值的过程就是过多的迭代运算. Rakotomanonyy等27用一种自合成核参数寻优的过程如采用多项式核与径向适应的C2范数正则化方法米考虑多核学习问题,每基核的合成核2作为支持向量机的核函数k个核矩阵的权系数被包含在标准SVM的经验风险2-(1-p)km,将其用SVM进行预测过程中最小化问题中,并采用(2约束以提高解的稀疏,的参数向量(d,o,,p)作为粒子,其中d为多项式然后采用了一种基于分块1范数正则化的算法来解核参数,为径向基核尺度参数,y为SVM调整参决这一问题,为多核问题提供了一个新的视角,并且数,p为合成核的权重参数,利用粒了群算法对该合证明了该方法与Bach等的方法是等效的.从上运成核的参数进行优化,最终找到最优的预测结果描述可以看出,除了学习合成核外,该与法解决的是2)基于核目标度量的多核学习个标准的SVM优化问题,这里核的定义形式为核度量434是两个核函数之间或核函数与目多个核的线性组合. Rakotomamonjyl称之为简标函数间的一个相似性度量,在多核矩阵信息融合单多核学习( Simple MKL)在加权的2范数正则方面得到了应用,其概念最早由 Cristianini等提出化形式下,同时对多核权系数进行一个额外的1范考虑一个两类分类数据集S={(x,1)}=1,其中非数约束,为多核学习提供了一种基于混合范数正则∈{+1,-1},则在数据集S下,两个核矩阵之间的化的新思路.简单多核学习可以从两类分类问题向核度量定义为其他方向扩展,如回归、类、一类分类(奇异检测)A(S,K1,K2)(K1,K2)以及多类分类问题,具有很强的通用性,并且与其他(21√k1,K1)F(K2,k2)F多核学习算法相比,该算法收敛速度更快且效率更这里,(K,Ka)F=>1-1Fn(x2:)(x,T)通1044自动化学报36卷过上式,对应于S的核矩阵K的性能可以通过A;-2,t-0,1,2,值米量度,如:A(5,K,G),这里的G是基于特定任务的理想核G=y,其中y=m12…,.基另一种典型多尺度核为小波核函数( Waveletkernel function) 831于对目标核的度量原珥,通过使用不同的核函数,或定理1.令h(m)是一个小波母函数,a和c分者调节不同的参数值,可以产生一组核矩阵.然后,别表示仲缩和转移因子,a,∈R如果x,z∈R对该度量值的最大化执行半定规划或其他学习方法,则内积型小波核函数可表示为以得到一个对不同核矩阵加权组合的最优核3多个尺度的多核学习:多尺度核方法k(2)=江4(合成核方法虽然有了一些成功应用,但都是根据简单核函数的线性组合,生成满足 Mercer条件的转移不变小波核函数为新核函数;核函数参数的选择与组合没有依据可循,对样木的不平坦分布仍无法圆满解决,限制了决策k(a, z)=(函数的表示能力.在此情况下,山现了多核学习的种特殊化情形,即将多个尺度的核进行融合.这种定理2.考虑具有一般性的小波函数方法更具灵活性,并且能比合成核方法提供更完备的尺度选择.此外,随着小波理论、多尺度分析理论h(x)=cos(1.75x)252间使其其有了很好的且论录这类方法目箭也如果x2(R",则小波核函数为得到了很好的利用,烘型的如 Kingsbury等③2将多个尺度大小的核进行分光heng等B到、 Yang k(a,2)=h(x二等834提出了多尺度支持向量回归.分别用于非平坦i=1数的估计和时序列预测.此外,通过进一步将多∏1c015(n-2)C一之尺度核与支持向量机结合.多尺度核方法在基于回归的热点检测48和图像压缩49等方面均得到了应(26用.近来,结合多尺度分析方法,基于 Hilbert空间通过仲缩因子a的变化,即可得到不同尺度的小波中的再生核进行函数重构得到了重视并进行了相关的应用研究;此外,多尺度核方法又逐步推广到核函数了高斯过程的健模与处里-27,这对基于核方法3.2多尺度核的学习方法的机器学习又是一次大的扩展1)多尺度核序列学习方法3.1具有多尺度表示能力的核函数对多尺度核的学习,很直观的思路就是进行多尺度核的序列学习.多尺度核序列合成方法32简单度表示能力的核函数.在被广泛使用的核函数中,高理解就是先用大尺度核拟合对应决策函数平滑区域的样木,然后用小尺度核拟合决策函数变化相对剧斯径向基核烈区域的样本,后面的步骤利用前面步骤的结果,进k(a, a )=cxp(22行逐级优化,最终得到更优的分类结果考虑一个两尺度核k1和k2合成的分类问题是最受欢迎的,因为它们具有通用普遍的近似能力,我们要得到合成的决策函数同时它也是一种典型的可多尺度化核.以此核为例f(x)=f1(x)+f2(x)将其多尺度化(假设其只有半移不变性):k(-22这里22af()=∑ak1(xn,)b2其中.σ1
下载说明:请别用迅雷下载,失败请重下,重下不扣分!
-
基于SSH的网上购物商城管理系统
使用SSH,mysql,本系统有两大模块,前台实现用户购物,下订单购买等功能,后台实现货物,人员的管理功能,功能较多,简单易懂,大家可以学习一下
- 2020-11-28下载
- 积分:1
-
谱分析(完整版)
该文档介绍了各种谱分析方法,并对其进行了matlab仿真、比较
- 2020-11-30下载
- 积分:1
-
DB小波MALLAT分解与重构算法(matlab M文件)
matlab m文件编写的DB小波分解与重构算法,直接可运行,思路清晰。
- 2020-12-07下载
- 积分:1
-
鲁棒控制在飞翼无人机控制律设计中的应用(论文及程序)
鲁棒控制在飞翼无人机控制律设计中的应用(论文及程序)
- 2020-11-27下载
- 积分:1
-
接口文档标准模板-含Word和excel两种
接口文档标准的模板,包含Word和excel两种模板。满足各种语言接口需要。
- 2019-10-16下载
- 积分:1
-
LBP特征提取的matlab代码
LBP特征提取的matlab代码,已验证。可在此基础上进行改进。
- 2020-12-06下载
- 积分:1
-
《LabVIEW2011程序设计与案例解析》随书代码
LabVIEW2011程序设计与案例解析 【代码目录】 └─LabVIEW2011程序设计与案例解析 ├─第10章多线程技术 │ ├─10.4生产者与消费者 │ │ ├─例10-1 │ │ │ │ 队列与局部变量.vi │ │ │ │ │ │ │ └─SubVI │ │ │ Points Difference.vi │ │ │ SimulatedSignal.vi │ │ │ Sine Wave.vi │ │ │ │ │ ├─例10-2 │ │ │ EVENTS.aliases │ │ │ EVENTS.lvlps │ │ │ EVENTS.lvproj │ │ │ ProducerConsumerEvents.vi │ │ │ 移动目标.vi │ │ │ 箱子.ctl │ │ │ 运动控制.vi │ │ │ 运动方向.ctl │ │ │ │ │ ├─例10-3 │ │ │ Adv of ProducerConsumerEvents.vi │ │ │ EVENTS.aliases │ │ │ EVENTS.lvlps │ │ │ EVENTS.lvproj │ │ │ 移动目标.vi │ │ │ 箱子.ctl │ │ │ 运动控制.vi │ │ │ 运动方向.ctl │ │ │ │ │ └─例10-4 │ │ QSM PC EXAMPLE.llb │ │ │ └─10.5综合实例 │ 多线程计时器.vi │ ├─第11章数据采集与仪器控制 │ └─11.3综合实例 │ 多通道数据数据采集软件(wav).vi │ 多通道数据采集软件.vi │ ├─第12章通信 │ ├─12.1串口通信 │ │ 串口通信软件.vi │ │ │ ├─12.2网络通信 │ │ TCP客户端.vi │ │ TCP服务器.vi │ │ UDP简易聊天软件.vi │ │ 复件 UDP简易聊天软件.vi │ │ │ ├─12.3DataSocket通信 │ │ │ DS图发送.vi │ │ │ DS图接收.vi │ │ │ │ │ └─直接绑定 │ │ DSRead.vi │ │ DSWrite.vi │ │ │ └─12.5综合实例 │ │ 基于串口通信的上位机控件软件.vi │ │ │ └─子VI │ CreatFloder.vi │ GenCMD.vi │ GetFileSizeInByte.vi │ HexToDec.vi │ Snd And Del All Files.vi │ StrToHex.vi │ UpLoadFiles.vi │ ├─第13章界面设计与美化 │ ├─13.3菜单设计 │ │ 动态生成菜单.vi │ │ │ ├─13.4子VI调用与重载 │ │ │ 子VI调用示例.vi │ │ │ 滤波.vi │ │ │ │ │ ├─利用Subpanel实现动态界面载入 │ │ │ │ 动态界面载入.vi │ │ │ │ 界面重用.vi │ │ │ │ │ │ │ └─Panels │ │ │ FindControlByName.vi │ │ │ 子界面组件.vit │ │ │ 方波.vi │ │ │ 正弦波.vi │ │ │ 随机数.vi │ │ │ │ │ └─多面板程序 │ │ 基于按钮的多面板程序.vi │ │ 基于菜单的多面板程序.rtm │ │ 基于菜单的多面板程序.vi │ │ 方波.vi │ │ 正弦波.vi │ │ 随机数.vi │ │ │ ├─13.5界面美化 │ │ 分隔栏使用示例.vi │ │ 分隔栏显示与隐藏.vi │ │ 参数设置.vi │ │ 图片滚动条.vi │ │ 属性节点使用举例.vi │ │ 调用对话框.vi │ │ 调用节点使用举例.vi │ │ 进度条使用.vi │ │ │ └─13.6综合实例 │ 用属性节点和Tab控件控制界面显示.vi │ ├─第14章项目管理与报表生成 │ Excel报表模板.xlt │ Excel报表生成.vi │ 使用报表工具生成报表.vi │ 报表生成子VI.vi │ 报表生成综合实例.vi │ 简易报表生成.vi │ ├─第15章应用程序发布 │ └─Hex2Dec │ │ Hex2Dec.aliases │ │ Hex2Dec.lvlps │ │ Hex2Dec.lvproj │ │ Hex2Dec.vi │ │ Hex2DecDLL.vi │ │ │ └─子VI ├─第16章技巧与解惑 │ 利用属性节点控制波形显示区域.vi │ 前面板对象保护.vi │ 子VI直接调用.vi │ 文件自动保存与编号.vi │ 文本文件连续写入.vi │ 用XY图绘制非等间隔采样图.vi │ 路径拆分与创建.vi │ ├─第2章开始LabVIEW之旅 │ 子VI调用.vi │ 综合实例-虚拟信号源.vi │ 虚拟信号源.vi │ ├─第3章了解LabVIEW中的数据类型 │ ├─3.3数据类型之间的转换 │ │ 数值至布尔数组转换.vi │ │ 数值至时间转换.vi │ │ 数字字符串操作.vi │ │ 路径字符串操作.vi │ │ │ ├─3.4数据运算与操作 │ │ 波形数据操作.vi │ │ │ └─3.5综合实例 │ 温度报警装置.vi │ ├─第4章数据表达与显示 │ ├─4.1基本数据表达与显示 │ │ 枚举型控件使用举例.vi │ │ 液罐使用.vi │ │ 液罐使用(状态显示).vi │ │ 滑动杆使用.vi │ │ 进度条使用.vi │ │ │ ├─4.2二维图形 │ │ 一维数组数据显示.vi │ │ 不同长度曲线绘制.vi │ │ 二维数据显示.vi │ │ 分格显示曲线.vi │ │ 多曲线数据显示.vi │ │ 李萨如图形.vi │ │ 标量数据显示.vi │ │ 波形数据显示.vi │ │ 用强度图表和强度图显示二维数组.vi │ │ │ ├─4.3三维图形 │ │ 三维参数图.vi │ │ 三维曲线图形.vi │ │ 曲面与三维曲面图.vi │ │ │ ├─4.4其它图形控件 │ │ 极坐标图.vi │ │ 用最小-最大控件显示XY图.vi │ │ │ └─4.5综合实例 │ 同心圆.vi │ ├─第5章程序结构 │ ├─5.1基本程序结构 │ │ While循环基本应用.vi │ │ 利用While循环实现前100自然数求和.vi │ │ 层叠式顺序结构.vi │ │ 平铺式顺序结构.vi │ │ 用For循环产生固定数据点数的正弦波.vi │ │ 自动索引功能.vi │ │ │ ├─5.2特殊程序结构 │ │ 定时循环应用举例.vi │ │ 条件结构基本应用.vi │ │ 计数器.vi │ │ │ ├─5.3变量 │ │ VI-1.vi │ │ VI-2.vi │ │ 全局变量.vi │ │ 用局部变量传递值.vi │ │ │ └─5.4综合实例 │ 等差序列求和.vi │ ├─第6章外部程序接口与扩展 │ ├─6.2API调用 │ │ WindowsAPI调用.vi │ │ │ ├─6.3可执行程序调用 │ │ Open Calculator.vi │ │ │ ├─6.4ActiveX调用 │ │ Media Player ActiveX.vi │ │ PPT ActiveX.vi │ │ 日历.vi │ │ 日历单击事件回调VI.vi │ │ │ ├─6.5LabVIEW与MATLAB混合编程 │ │ MATLAB Script.vi │ │ │ └─6.6综合实例 │ │ DSO25216.vi │ │ │ ├─25216a.dll │ │ │ 25216.BIT │ │ │ Clock.ico │ │ │ DSO25216.VBP │ │ │ DSO25216.VBW │ │ │ Form1.frm │ │ │ Form1.frx │ │ │ frmMain.frm │ │ │ frmMain.frx │ │ │ GO.GIF │ │ │ Module1.bas │ │ │ MSSCCPRJ.SCC │ │ │ OUT25.DLL │ │ │ OUT25DLL.DOC │ │ │ │ │ └─forVC.dll │ └─子VI │ Display.vi │ Fout.vi │ FreqChng.vi │ logdisplay.vi │ Vout.vi │ ├─第7章数学分析 │ ├─7.1基本数学分析 │ │ 多项式n阶导数.vi │ │ 多项式求和.vi │ │ 微分.vi │ │ 指数函数.vi │ │ 正弦与反正弦.vi │ │ 求实数矩阵的秩.vi │ │ 矩阵的LU分解.vi │ │ 积分.vi │ │ 线性方程组求解.vi │ │ │ ├─7.2数理统计与最优化问题 │ │ 最优化.vi │ │ 概率统计.vi │ │ 正态分布曲线.vi │ │ 求一元函数在给定区间上的最小值.vi │ │ │ ├─7.3曲线拟合与插值 │ │ 一维插值.vi │ │ 最小二乘拟合求回归系数.vi │ │ │ ├─7.4其它操作 │ │ 三维坐标平移.vi │ │ 公式编辑器.vi │ │ 常微分方程求解.vi │ │ │ └─7.5综合实例 │ 水箱问题.vi │ ├─第8章信号处理 │ ├─8.1信号发生器 │ │ Chirp信号.vi │ │ 公式节点.vi │ │ 基本函数发生器.vi │ │ 多频信号发生器.vi │ │ 正弦 高斯白噪声.vi │ │ 白噪声.vi │ │ 阶梯信号.vi │ │ │ ├─8.2时域分析 │ │ 基本平均值与均方差测量.vi │ │ 提取信号混合单频信息.vi │ │ 相关(周期成分检测).vi │ │ 谐波失真.vi │ │ 过渡分析.vi │ │ 非周期信号与周期信号自相关图.vi │ │ │ ├─8.3频域分析 │ │ 单边傅立叶变换.vi │ │ 双边傅立叶变换.vi │ │ 帕斯瓦尔定理.vi │ │ 拉普拉斯变换.vi │ │ │ ├─8.4信号调理 │ │ 低通滤波器.vi │ │ 加窗后信号.vi │ │ 小幅值信号分辨.vi │ │ 带通滤波器.vi │ │ 波形对齐(单次)两个波形.vi │ │ 波形对齐(连续)N方式.vi │ │ 重采样.vi │ │ │ ├─8.5波形监测 │ │ 波峰检测.vi │ │ 边界检测.vi │ │ 过门限捕捉.vi │ │ 过门限计数.vi │ │ │ ├─8.6逐点分析 │ │ PtByPt and Array Based Filter.vi │ │ │ └─综合实例 │ 绘制信号包络曲线.vi │ └─第9章文件操作 ├─9.2常用文件类型与操作 │ 二进制文件写入.vi │ 二进制文件读取.vi │ 文本文件写入.vi │ 文本文件读取.vi │ 电子表格文件写入.vi │ 电子表格文件读取.vi │ ├─9.3特殊文件类型与操作 │ TDM.vi │ TDMS文件存储.vi │ TDMS文件读取.vi │ XML文件.vi │ 波形文件.vi │ 测量文件.vi │ ├─9.4其它文件类型与操作 │ WAV文件.vi │ └─9.6综合实例 Excel_Read.vi
- 2020-04-15下载
- 积分:1
-
室内可见光通信仿真
关于室内可见光通信的仿真,利用Led作为照明光源和信号源,同时承担照明和通信两方面的作用,进行了通信性能的分析。
- 2020-11-02下载
- 积分:1
-
喇叭天线的增益计算matlab源代码
【实例简介】用这个程序可以计算出各种波导喇叭的增益。比较准,和计量单位给出的结果相比在+/-0.1dB内。
- 2021-10-31 00:32:20下载
- 积分:1
-
一天入门STM32
一天入门STM32 pdfC秉火《零死角玩转STM32》一F1系列时钟源To T钟电路FR和RAMROM定时/计数5系统总线又CPU并行Io口串行Io口中断系统P0p1P2 P3 TXD RXD I。I:图151系统结构框图我们说的51一般是指51系列的单片机,型号有很多,常见的有STC89C51、AT89S51,其中国内用的最多的是STC89C51/2,下面我们就以STC89C51来讲解,并以51简称。内核51由一个IP核和片上外设组成,IP核就是上图中的CPU,片上外设就是上图中的:时钟电路、SFR和RAM、ROM、定时/计数器、并行IO口、串行IO口、中断系统。IP核跟外设之间由系统总线连接,且是8bit的,速度有限51内核是上个世纪70年代 intel公司设计的,速度只有12M,外设是IC丿商(STC)在内核的基础上添加的,不同的IC厂商会在内核上添加不同的外设,从而设计出各具特色的单片机。这里 intel属于PP核厂商,STC属于IC厂商。我们后面要讲的STM32世样,ARM属于P核厂商,ARM给ST授权,ST公司在 Cortex-M3内核的基础上设计出STM32单片机。外设我们在学习51的时候,关于内核部分接触的比较少,使用的最多的是片上外设,我们在编程的时候操作的也就是这些外设。第3页共53页C秉火《零死角玩转STM32》一F1系列编程的时候操作的寄存器位于SFR和RAM这个部分,其中SFR(特殊功能寄存器)占有128字节(实际上只用了26个字节,只有26个寄存器,其他都属于保留区),RAM占有128字节,我们在程序中定义的变量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80-FF这个地址区间,但在物理区间上是分开的,所以51的RAM是有256个字节编写好的程序是烧写到ROM区。剩下的外设都是我们非常熟悉的IO口,串∏、定时器、中断这几个外设STM32系统结构STM32系统结构框图接PashDCodeCortexM3SystemSFAMDMATDMAFSMCSDIO通道1套通道2AHB系线线桥接2桥接1APB 1APB2复位和时钟通道7控制DC2PIOD PWR SP1129DMA请求ADCsGFIOE BKPUSART1 GPioF bxCAN WDGSPlGPOG USETIM1RICExTIt2C2TIM2DMA212C1TIEUARTS TIM5GPc日UART& TIM4AHTa通道1USaRT TIM2通通通5AA请求图2STM32系统结构框图内核在系统结构上,STM32和51都属于单片机,都是由内核和片上外设组成。只是STM32使用的 Cortex-M3内核比51复杂得多,优秀得多,支持的外设也比51多得多,同时总线宽度也上升到32bit,无论速度、功耗、外设都强与51。第4页共53页C秉火《零死角玩转STM32》一F1系列从结构框图上看,对比5内核只有一种总线,取指和取数共用。 Cortex-M3内部有若干个总线接∏,以使CM3能同时取址和访内(访问内存),它们是:指令存储区总线(两条)、系统总线、私有外设总线。有两条代码存储区总线负责对代码存储区(即 FLASH外设)的访问,分别是 I-Code总线和 D-Code总线。I-Code用于取指, D-Code用于查表等操作,它们按最佳执行速度进行优化。系统总线( System)用J访问内存和外设,覆盖的区域包括SRAM,片上外设,片外RAM,片夕扩展设备,以及系统级存储区的部分空间。私有外设总线负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统级存储区。还有一个MDA总线,从字面上看,DMA是 data memory access的意思,是一种连接内核和外设的桥梁,它可以访问外设、内存,传输不受CPU的控制,并且是双向通信。简而言之,这个家伙就是一个速度很快的且不受老大控制的数据般运工,这个在51里面是没有的外设从结构框图上看,STM32比51的外设多得多,51有的串口、定时器、O口等外设STM32都有。STM32还多了很多特色外设:如FSMC、SDIO、SPI、2C等,这些外设按照速度的不同,分别挂载到AHB、APB2、APB1这三条总线上。小结从内核和外设这两大方面米比较,SIM32之于51就是一个升级版的单片机。它适应市场,引流淛流,在中低端的微控制器中流光溢彩。12学习方法的区别学习51用寄存器,学习STM32用库。以前我们在学习51的时候,用的是寄存器编程的方法,想要实现什么效果,直接往寄存器里面赋值,优点是直观,简单粗暴,知道自己具体干了啥,心里踏实直接操作寄存器之所以在51上可行,究其原因,我想有两点:1、51主频不高,资源有限,必须注重程序执行的效率,只能直接操作寄存器。关键的地方还得用汇编,不适合用同件库。第5页共53页C秉火《零死角玩转STM32》一F1系列要知道当初我们学习51单片机的时候用的还是汇编,连现在的C编程都不是,就更别说什么斥函数编程2、51功能简单,寄存器不多。以国内普及最广的STC89C52为例,寄存器仝部加起来不到30个。按照功能区分来记的话,可以把每个寄存器背的滚瓜烂熟,并且寄存器每一位的功能都可以记得住,在编程的时候做到了然于胸。现在从51过度到STM32的学习,很多人还是喜欢沿用51的学习方法。接受不了库,在学习库的时候陷入迷糊之中,来回几个月下来,都不知道到底有没学会STM32,因为在这一路的学习中都是在调用库函数,压根就没有操作过寄存器,心里面很不踏实。其实大家在调用库函数的时候心中难道就没有疑问,库的底层是怎么实现的?难道就没有勇气对庥的底层探究竟。可最后当我们丌始跟踪斥函数底层的时候,看到·堆的宏定义、结构体、指针、各种的文件包含,而且注释全部都是荚文的,是不是乂心生忌惮。鉴于此,我想用两个原因来总结下很多初学者畏惧库不愿意用库的原因。1、C语言知识点的欠缺库在实现寄存器映像时使用的宏定义,强制类型转换,在定义寄存器时使用的结构体,在外设初始化函数时使用的指针,在组织头文件时使用的条件编译等C语言知识,在大学课程中很少涉及,大多数老师也基本是不讲。在一些简单的51单片机编程中又很少会用到这些知识。学单片机,做嵌入式开发其实80%的工作都跟C语言编程相关,剩下的20%的匚作就是阅读各种数据手册,熟悉各和硬件外设。所以掌握这些基本的C语言知识,是嵌入式学习中一道迈不过去的坎,STM32的库则给」我们一次提升C的机会凡是可以从书本中找到的,相信我们基本都可以学会,很多初学者并不是不够聪明或者勤奋,只是缺少方向性的指导罢了。对于这欠缺的知识点我们稍微花点时间就可以掌握,剩下的就是不断地实践词试。这里我为大家推荐·本C语言的书籍《C和指针》。2、程序架构设计思想的欠缺这个比较难搞,很多C语言学习得挺好好的人,也比较难掌握。还好我们遇到了SIM32的库,这给了我们一个学习和提升C语言绝佳的机会。库的整个架构是如何搭建起来的,代码上是如何如何一步一步写出来的:从寄存器映像开始,到寄存器的封装,然后到函数的编写,到每个外设函数对应的驱动文件,这里面涉及到了大量的条件编译,文件包含的思想,对应刚写过几行51单片机的初学者来说简直就是噩梦。但是,如果你把这系列的关系弄明自了,那么对库的整个架构也了解的差不多了,以后你就不用嚷嚷着说要操作奇存器了。如果你一开始不喜欢用库,对库开发很忌惮,那么请自问:是不是我的C语学得不够好。库是一种全新的学习方法,是一种河流,我更把它看做是与C语言的又一次历练和提升。是否用库,只差你一个闪亮的回眸第6页共53页C秉火《零死角玩转STM32》一F1系列1.3用寄存器点亮LED为了顺利过渡到库开发,在STM32编程的开始,我们对照51点亮一个LED的方法,给大家演示一下STM32如何用操作寄存器的方法点亮一个IFD,然后再慢慢讲解到底什么是库,让大家知道库跟寄存器的关系1.3.1用51点亮一个LED在用STM32点亮一个LED之前,我们先来复习下用5如何点亮一个LED。硬件上我们假设51单片札的P0口的第0位接了一个LED,负逻辑亮。如果我们要点亮这个LED,代码上我们会这么写1P0=0XFF;//总线操作点亮FD这时侯我们就把LED点亮了,如果要关掉LED,则是:1P0=0xFF;//总线操作关闭二ED这里面我们用的是总线操作的方法,即是对P0口的8个1O同时操作,但起作用的只是P0^0除了这种总线操作的方法,我们还学习过位操作,利用51编译器的关键字sbit,我们可以定义个位变量1sbit工E0^0那么LED=0;就点亮了LED,LED=1;就关闭了LED。为了让程序看起来见名知义,我们定义两个宏:1 #define on 02 define OfF 1点亮和关闭LED的代码就变成了:1 LED//位操作点亮IED2 LED= OFF//位操作关闭LD稍微整理下代码,整体的效果就是:1//假设51单片机的P0~0口接TFD,负逻辑点亮3 #define ON 04 definc Ofe 16 sbit lEd poo8 void main(void)第7页共53页C秉火《零死角玩转STM32》一F1系列9{10PO OXFE;/总线操作点亮0=0XE彐//总线操作关闭LED13工ED=ON;//位操作点亮LED14LED=OF彐;/位操作关闭LED15」上血总线和位操作的的方法,学过51的朋友是非常熟悉的,也很容易理解。那么我们再说一下大家容易忽略的几个知识点。什么是寄存器在点亮LED的时候,我们都是用操作寄存器的方法来实现的,那大家是否想过,这个寄存器到底是什么?为什么我们可以直接操作P0口?解答上面的问题之前,我们先简单介绍下51单片机的主要组成部分,这对我们学习其他单片机也有好处。我们以国内的STC89C51为例,该单片机主要由51内核、外设IP、和总线这三人部分组成。内核是由 Intel公司生产的,外设P就是STC公司在内核的基础上添加的诸如定时器、串口、IO凵等这些东西,总线就是用米连接內核和外设的接凵单元。 Intel在这里属于IP核设计公司,STC属」I设计公司。世界上能设计IP核的公司屈指可数。我们非常熟悉的ARM公司就属于IP核设计公司,ARM给其他公司授权,其他IC公司就在ARM内核上设计出各具特色的MCU,我们后面要学习的STM32就是属于一中基于ARM内核的MCU。寄存器则是内置于各个IP外设中,是一种用于配置外设功能的存储器,就是一种内存,并且有想对应的地址。学过C语言我们就知道,要操作这些内存就可以使用C语言中的指针,通过寻址的方式来操作这些具有特殊功能的内存一寄存器。比如P0口对应的地址是0X80,那么我们要修改0X80这个地址对应的内存的内容的话,按照常理可以这样操作1*(+0X80)=0XEE;点亮LED可当我们编译的吋候,编译器会报错,在51里面只能通过SFR和SBIT这两个关键字来实现寄存器映像,不能直接操作寄存器对应的地址,这是51相较于STM32不同的地万51单片机的这些寄存器位于地址80H~HFH中,对应着128个地址,但不是每个地址都是有效的,51系列的单片机有21个,52系列的则有26个,其他的都是保留区第8页共53页C秉火《零死角玩转STM32》一F1系列表2AT89c52SFR映象及复位状态OFBDEFHDFOHo00000DFTHOE8H0D000000DETH00000003DOTHOC8H0000000)XXXXXXODDCFHx00000037HEDAFH0粪0H11111111DATHSCON98H00000002SBUF9FHP1111111197HTCON88H0000000)TMODTLOTL100000000000000000000000000000000000BFHSPDPHPCON80H1DPLco111OXXX0000图351寄存器映射2.寄存器映射实际上我们在编程的吋侯并不是通过指针来操作奇存器的,而是直接给PO、Pl这些端口寄存器赋值。那么这些外设资源是如何与地址建立一一对应的关系(寄存器映射定义),这得益与51特有的两个关键字:SFR和sbit,其但单片机没有,只能用其他的方式来实现寄存器映射。这两个关健字帮我们实现了所有寄存器的定义,所以我们才可以像操作普通变量一个米操作寄存器。其实我们一开始提到的点亮LED的代码,全貌应该是这样的:1 sfr pocx80;//寄存器定义2P0=0ⅩFE;/总线操作点亮LED为了方便起见,我们可以扣奇存器映射全部写好封装在个头文件里面,不用每用个寄存器就定义一次。其实这方面的工作不用我们做,我们在编程的时候都会在开始的地方添加一个头文件1 include 第9页共53页C秉火《零死角玩转STM32》一F1系列这个头文件已经实现了全部寄存器的定义,该文件是kei自带,在安装目录:KeiC5IINC可以找到。这个文件实现了字节寄存器和位寄存器的定义2 REG514 Header file for generic 80C51 and 80C31 microcontroller5 Copyright (c)-988-2002 Keil ELektronik GIbH and Kei- Software, Inc6 All rights reserved.9 +ifdef REG5- H10#define RFG5. H1112/* BYTF, Reci ster *13sfr0=x80;1456PEE2×90sfrCaO;13BO17 sfr PSWRDO18 sfr AccCeO:901strBsExFO;12222x8-;3 sIr PCoN24 sr icon Cx8825 sfr TMOD Cx89:sfr TloxiA2222367890sfr TCx8Bfr TCx8Cifr Ti18D831 sfr t2×B832 sfr sLHHEPCB9833 sfr sbuf993436/* BIT Register37/+PSW*/38 sbit CYOxD39 sbit ACOxD640 sbit Fo41 sbit rs0xD4;43 sbit ov44 sbit P=0×D0;4546/*TCON*/47 sbit TF0x8F;48 sbit TR0x8E;49 sbit TFo0x8D:50 sbit mro0x8C51 sbit IE-= 0x8B;53 sbit Ieo0x894 shit tto08856/+IE57 sbit eA0×AF58 sbit fs0×AC59 sbit er0×AB;60 sbit EX0×AA61 sbit ero0x90×A8第10页共53页
- 2020-12-08下载
- 积分:1