支持向量机
关于支持向量机里面讲核函数的,介绍了线性核函数、高斯核函数、及多项式核函数等。还介绍了核函数的判定以及Mercer定理1x1121T3212T42.3p(a)L313x2.3.32cT1V2C.223+d更一般地,核数K(x2z)=(xz+)“对应的映射后特征维度为a(求解方法参见http://zhidao.baiducom/question/16706714.html)由于计算的是内积,我们可以想到IR中的余弦相似度,如果ⅹ和z向量夹角越小,那么核函数值越大,反之,越小。因此,核函数值是(x)和(z)的相似度。再看另外一个核函数K(r, z)=expz-z|222这时,如果x和z很相近(x-2‖≈0),那么核函数值为1,如果x和z相差很大(x-2》0),那么核函数值约等于0。由于这个函数类似于高斯分布,因此称为高斯核函数,也叫做径向基函数( Radial basis function简称RBF)。它能够把原始特征映射到无穷维。既然高斯核函数能够比较ⅹ和z的相似度,并映射到0到1,回想 logistic回归, sigmoid函数可以,因此还有sigmoid核函数等等下面有张图说明在低维线性不可分时,映射到高维后就可分了,使用高斯核函数。Linear回回看目即Gaussian来自 Eric Xing的sdes注意,使用核函数后,怎么分类新来的样本呢?线性的时候我们使用SVM学与出W和b,新来样木ⅹ的话,我们使用wTx+ b来判断,如果值大于等于1,那么是正类,小于等于是负类。在两者之间,认为无法确定。如果使用了核函数后,W2x+b就变成了wφ(x)+b,是否先要找到p(x),然后再预测?答案背定不是了,找φ(x很麻烦,回想我们之前说过的wa+6=boy(0)x+bi=1(x(,x)+b只需将替换成(x,x),然后值的判断同上8核函数有效性判定问题:给定一个函数K,我们能否使用K来替代计算φ(x)2中(z),也就说,是否能够找出一个,使得对丁所有的x和z,都有k(x,2)=(x)r中(2)9比如给出了K(x,2)=(x2)2,是否能够认为K是一个有效的核函数下面来解决这个问题,给定m个训练样本全(r(3xm,每一个对应一个特征向量。那么,我们可以将(e) yJ仟意两个和带入K中,计算得到=0。I可以从1到m,j以从1到m,这样可以计算出m*m的核函数矩阵( Kernel Matrix)。为了方便,我们将核函数矩阵和(x,z)都使用K来表示如果假设K是有效地核函数,那么根据核函数定义k1=K(x0x0)=p(x()p(x0)=p(x(0)p(x()=K(x(,x)=K可见,矩阵K应该是个对称阵。让我们得出一个更强的结论,首先使用符号中x(x)来表示映射函数中(x)的第k维属性值。那么对于任意向量z,得2K2=∑∑2K3∑∑(m0y(0)2∑∑∑(z0)(x0)z∑∑∑29(x)k(z0)k i j=S|∑zipk(c(ak0.最后一步和前面计算K(x)=(x2)时类似。从这个公式我们可以看出,如果K是个有效的核函数(即K(xz)和(x)p(2)等价),那么,在训练集上得到的核函数矩阵K应该是半正定的(K≥0这样我们得到一个核函数的必要条件:K是有效的核函数==>核函数矩阵K是对称半正定的可幸的是,这个条件也是充分的,由 Mercer定理来表达。Mercer定理:如果函数K是×四→巫上的映射(也就是从两个n维向量映射到实数域)。那么如果K是一个有效核函数(也称为 Mercer核函数),那么当且仅当对于训练样例(r()x(m,其相应的核函数矩阵是对称半正定的。Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找φ,而只需要在训练集上求出各,然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)即可。许多其他的教科书在 Mercer定理证明过程中使用了范数和再生希尔伯特空间等概念,但在特征是n维的情况下,这里给出的证明是等价的。核函数不仅仅用在SWM上,但凡在一个模型后算法中出现了,我们都可以常使用区(xz)去替换,这可能能够很好地改善我们的算法。posted on2011-03-1820:22 Jerry Lead阅读(…)评论(…)编辑收藏刷新评论刷新页面返回顶部博客园首页博问新闻闪存程序员招聘知识库Powered by:博客园 Copyright@ Jerry Lead
- 2020-12-01下载
- 积分:1
多功能电表软件系统设计
电能表的软件系统包括程序数据结构模块、程序初始化与电表运行处理模块、事件分配查询管理处理模块及显示处理模块、通讯处理模块、电量处理模块、时间与时段管理处量模块、电表最大需量处理模块八大部分组成,各个部分都有其特殊的任务,在电表系统中完成它们相应的功能。●●●●程序数据结构部分●●●●●●●●●程序数据结构部分程序数据结构模块是对程序中的数据进行分析,合理的分配数据内存,定义程序涉及的变量。它是根据整个程序的算法来制定的,同时一个好的数据结构对整个程序的编写有非常重要的作用,因此根据电能表软件系列实现的功能及其算法制定合理的数据结构。电能表的数据结构包括两个部分:内存数据结构和数据结构与常量结构。●这个是与常量的数据结构,在显小与数据通讯都会使用这个结构●●●●●●●●●程序常量数据结构部分●●●●数据标示项数据标示表示的正反数据存放的格式数据值的长度数据在与的偏移量数据显示的符号通过此结构可以把所要显示、通讯的数据在或者在存放的位置长度以极标志等内睿取出供所需要的函数使用●●●●程序数据结构部分●●●●●●●●●合相有功功率合相有功瞬时功率电压有校值合电流有校值当前的线频率合功率因数合相电压与电流的夹角当前的电能此结构可以对的计量参数寄存器一次可以全读出,并同时也可以分别取出对应所需要的参数●●●●●●●●●程序初始化与电表运行处理●●●●程序初始化与电表运行处理●程序初始化与电表运行处理模块是对整个程序进行初始化,并对电表运行的六种状态进行转换。程序初始化包括两个部分:初始化和电表各部件初始化。初始化是对各部件进行初始化,为各部件在程序工作时提供合适的初始状态,它包括配置口工作模式、看门狗初始化、定时器初始化、键盘中断初始化、串口中断初始化、初始化等等。电表各部件初始化是对电能表系统各部件进行配置工作状态,初始化它们的工作方式,为程序工作提供电表部件初始状态,它包括指示灯初始化显示初始化、实时时钟初始化、电量恢复、通讯信道、历史电量处理等等部件的初始化。●●●●口工作模式●●●●●●●●●口工作模式如果有没有用到的口,作输入时要通过电阻与或者与连接,作输出时要输出置与置因为设备输入端未连接将会产生工作枚障,如果输入未连接,则由于噪音等原因可能会产生内部输入电平,从而导致故障。如果在上电时口为输入,但电池供电时口的电平为不确定状态时,也应对口作相应的处理●当主时钟切换到副时钟时,应将主时钟的口设为输出置看门狗初始化●●●●●●●●可选字节设定地址:080H/Ls0HrWINDOW1F工NDOWWDCSWDCS1WDCSLSROSC看门狗的开了NDCW1VINDOMO看门狗定封器窗口打开周期窗时间设定为1C5WDTCN看门狗定时器计数器的操作控制/非法汸问检测琹止计数器操怍复位后停止计数),禁止非法访问检测操作允许计数器橾作;愆位后始计敏),氘许非法访闻枱测橾作看门狗定时器HD,FDCS1HDCEO昋门狗定时器溢出吋间0z°/faL(3.88ms)时间间隔设置n/f!(7.76ms):25/土R(3L.03ms0CTL (62, OG sD0125fsL(124.12mE)fL(496.4LSROSC内部低速振蓠器操作看门狗设为不可由软件停1(出将1写入C寄存器的第0红 SESTOP)时停l操作不能停止(即使将1写入 SRSTOP位也不停止操作)能停止单片机内部的看门狗把设为不能停止时为硬看门狗,必须在窗口打开才能清狗否则单片机会复位,●●●●串口中断初始化●●●●●●●●●●由于多功能表有二个供通讯的口,一个供红外通讯口。但单片机只有二个哪么就需要模拟其中一个的分频时钟信号不能得到此时应选的分分频时钟信号模拟红外通讯,需要个外部中断(接收接收管上的电平信号并每要检测屮断口的信号),二个定时器(输出载波与的时间间隔)串口中断初始化有关UART0的寄存器波特率发生控制寄存器0( BRGCO)真出:F? iH Aher reset: 1Fh民WEymarBRGCOTPE01TP90O0 MDLO4MPLSMDLDe MDLoTBLOm(TPS01,TPS00)=(0,0)选择定时器TM50的输出作为TPSDTP500Base cock (IxeLKol selection"fPRs=2 MHz fFRE-5 MHz fFRs-B MHz1FFG-10MH基本时钟TM50 DutpfEgli1 H25 H4 HT5 MHz250kF2H25 kHz1 MH26H2625kH15625kH2250H3125k因为如果选择外围硬件时钟fprs作为基本时钟,那么就不可能产生出1200bps的波特率。MDLO4MDLOS MDLO2 MDLOT MDLOG k Selectian of 5-titcounterx Selng Erchbiled0acLM/B0(MDLO4, MDL03, MDLO2MDL01,ML00)=(0,1,1,0,1),k=13028 fruTa2a scLk/?31t/3
- 2020-11-30下载
- 积分:1