EM算法详细例子及推导
EM算法详细例子及推导数θ),那么对于上面的实验,我们可以计算出他们出现我们观察到的结果即0=(5,9,.8,4,7,20=(B,A,A,B,4)的概率函数P(X=x10),2z)⑨)就叫做θ的似然函数。我们将它对θ求偏导并令偏导数为0,就可以得到如的结果P(X=x0,=20))=(;P(z=A)3(1-P(z=A)2C10(1-64)10A(1-6C104(1-0(1-6B)C106n(1-6我们将这个问题稍微改变一下,我们将我们所观察到的结果修改一…下我们现在只知道每次试验有几次投掷出正面,但是不知道每次试验投掷的是哪个硬币,也就是说我们只知道表中第一列和第三列。这个时候我们就称Z为隐藏变量( Hidden variable),X称为观察变量( Observed variable)。这个时候再来估计参数θ4和θB,就没有那么多数据可供使用了,这个时侯的估计叫做不完整数据的参数估计。如果我们这个时候冇某种方法(比如,正确的猜到每次投掷硬币是A还是B),这样的话我们就可以将这个不完整的数据估计变为完整数据估计当然我们如果没有方法来获得更多的数据的话,那么下面提供了一种在这种不完整数据的情况下来估计参数θ的方法。我们用迭代的方式来进行:(1)我们先赋给θ一个初始值,这个值不管是经验也好猜的也好,反正我们给它一个初始值。在实际使用中往往这个初始值是有其他算法的结果给岀的,当然随机给他分配一个符合定义域的值也可以。这里我们就给定64=0.7,6B=0.4(2)然后我们根据这个来判断或者猜测每次投掷更像是哪枚硬币投掷的结果。比如对于试验1,如果投掷的是Δ,那么出现5个止面的概率为C10×0.75×(1-07)5≈0.1029:;如果投掷的是B,出现5个正面的概率为C105×0.43×(1-0.4)5≈0.2007;基于试验1的试验结果,可以判断这个试验投掷的是使币A的概率为0.10290.10290.2007)-0.389是B的概率为02007(0.1029+0.2007)06611。因此这个结果更可能是投掷B出现的结果(3)假设上一步猜测的结果为B,A,A,B,A,那么恨据这个猜测,可以像完整数据的参数仙计一样(公式2重新计算的值这样一次一次的迭代2-3步骤直到收敛,我们就得到了θ的估计。现在你可能有疑问,这个方法靠谱么?事实证明,它确实是靠谱的。期望最大化算法就是在这个想法上改进的。它在估计每次投掷的硬币的吋候,并不要确定住这次就是硬币A或者B,它计算岀来这次投掷的硬币是A的概率和是B的概率;然后在用这个概率(或者叫做Z的分布)来计算似然函数。期望最大化算法步骤总结如下:F步骤先利用旧的参数值〃计算隐藏变量Z的(条件)分布P(万=2|Xn2),然后计算logP(,X=m)的期望B(o(2,X=x)=∑∑P(Z=别X=)P(Z=X=x)其中θ是当前的值,而θ是上一次迭代得到的值。公式中已经只剩下θ一个变量了,θ是一个确定的值,这个公式或者函数常常叫做Q函数,用Q(6,6)来表示。M步骤极大化Q,往往这一步是求导,得到由旧的θ值′米计算新的θ值的公式aQ总结一下,期望最大化算法就是先根据参数初值估计隐藏变量的分布,然后根据隐藏变量的分布来计算观察变量的似然函数,估计参数的值。前者通常称为E步骤,后者称为M步骤3数学基础首先来明确一下我们的目标:我们的目标是在观察变量X和给定观察样本:1,x2,…,rn的情況下,极大化对数似然函数(=>nP(X2=x;)(5)其中只包含观察变量的概率密度函数P(X2=2)=∑P(X=n,=)这里因为参数θ的写法与条件概率的写法相同,因此将参数θ写到下标以更明确的表述其中Z为隐藏随机变量,{}是Z的所有可能的取值。那么6)=∑h∑P(X=x,z=2)∑h∑。Px=x这里我们引入了一组参数(不要怕多,我们后面会处理掉它的)a,它满足可能的;,0;∈(0,1和∑;a=1到这里,先介绍一个凸函数的性质,或者叫做凸函数的定义。∫(x)为凸函数,=1,2,…,m,A∈[0,1∑1A对∫(x)定义域中的任意n个m1,x2,…,xn有f(∑Aa)≤∑mf(xr)i=1对于严格凸函数,上面的等号只有在x1=2xn的时候成立。关于凸函数的其他性质不再赘述。对数函数是一个严格凸数。因而我们可以有下面这个结果0)=∑hn∑≥∑∑ah(X=2n,2=C现在我们根据等号成立的条件来确定a;即P(X=x,Z=2)C(10)其中c是一个与j无关的常数。因为∑,=1,稍作变换就可以得到P(X;=x;)现在来解释下我们得到了什么。c;就是Z=2;在X=x;下的条件概率戌者后验概率。求α就是求隐藏随机变量Z的条件分布。总结一下目前得到的公式就是)-∑∑P(Xi=i,Z(12)直接就极大值比较难求,EM算法就是按照下面这个过程来的。它就是大名鼎鼎的琴生( Jensen)不等式(1)根据上一步的θ来计算α,即隐藏变量的条件分布(2)极大化似然函数来得到当前的的估计3.1极大似然估计好吧,我觉得还是再说说极大似然估计吧。给定一个概率分布D,假设其概率密度函数为f,其中f带有一组参数6。为了估计这组参数6,我们可以从这个分布中抽出一个具有n个采样值的X1,X2,…,Yn,那么这个就是n个(假设独立)同分布随机变量,他们分别有取值x1,x2…,xn,那么我们就可以计算出出现这样一组观察值的概率密度为lI f(ai)(13)对于f是离散的情况,就计算出现这组观察值的概率10)注意,这个函数中是含有参数0的。0的极大似然估计就是求让上面似然函数取极大值的时候的参数O值。般来说,会将上面那个似然函数取自然对数,这样往往可以简化计算。记住,这样仅仅是为了简化计算。取了自然对数之后的函数叫做对数似然函数。ln()=∑lnf(n)因为对数是一个严格单调递增的凹函数,所以对似然函数取极人值与对对数似然函数取极大值是等价的。3取了对数之后还可以跟信息熵等概念联系起来4关于凸函数有很多种说法,上凸函数和下凸函数,凸函数和凹函数等等,这里指的是二阶导数大」(等」)0的一类函数,而凹函数是其相反数为凸数的一类函数32期望最大化算法收敛性如何保证算法收敛呢?我们只用证明l(04+1)≥1(00)就可以了l(0(t11)∑∑(+1)1PX=x;2=2)(+(t+1∑∑nf(X=x;,z=z;)(+1)(t)o(tn /(r=i,Z=2(t)≥∑∑ahn(t)7(0其中第一个人于等于号是因为只有当a取值合适(琴生不等式等号成立条件)的时候才有等号成立,第二个人于等于号正是M步骤的操作所致。这样我们就知道l(θ)是随着迭代次数的增加越来越人的,收敛条件是值不再变化或者变化幅度很小。4应用举例4.1参数估计很直接的应用就是参数估计,上面举的例子就是参数估计42聚类但是如果估计的参数可以表明类别的话,比如某个参数表示某个样本是否属于某个集合。这样的话其实聚类问题也就可以归结为参数估计问题。References[]最大似然估计[oNline].Availablehttp://zh.wikipediaorg/wiki.%E6%9c%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1[2] Ceppellini, r, Siniscalco, M.& Smith, C.A. Ann. Hum. Genet. 20, 97-115(1955)3 Hartley, H. Biometrics 14, 174-194(1958)4 Baum, L.E., Petric, T, Soulcs, G.& Weiss, N. Ann. Math. Stat 41, 164-171(1970)[ 5] Dempster, A P, Laird, N.M., Rubin, D B.(1977). "Maximum Likelihoodfrom Incomplete Data via the em algorithm. Journal of the royal statis-tical Society Series B(Methodological)39(1): 1-38. JSTOR 2984875 MR0501537[6]Whatistheexpectationmaximizationalgorithm[oNline].Avaiable:http//ai. stanford. edu/-chuongdo/papers/em tutorial pdf[7TheEmAlgorithmOnline.Availablehttp://www.cnblogs.com,jerrylead/ archive/2011/04/06/2006936html
- 2020-12-07下载
- 积分:1
K60的中文资料
此文档介绍了K60单片机的一些结构功能,纯中文。K60P144M1OOSF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6. Nov 201夲部分讲解如何配置芯片上的嵌套向量中断控制器。完整信息清参阅htp/www.arm.com。InterruptsModulePPBNested VectoredModuleInterrupt Controller(NVIC)Module图32嵌套向量中断控制器题日相关模块参考链接套问量中断控制器http://www.arm.com系统内存映System memory map时钟Clock distribution电源管理Power management专用外设总线ARM Cortex-M4核心 ARM Cortex-M43.22.1中断优先级器件支持16级中断优先级,因此在嵌套向量中断控制器中,每一个中断源在优先级控制寄存器IP中都有4个位。例如IPRO中3302928a7262524232221a019181716|151413121110976543210R0000006000600000W3.22.2非可屏蔽中断非可屏蔽中断的中断源来自于外部的NM引脚。此引脚是多路复用引脚,必须要配置他的功能,使其成为外部不可屏蔽中断功能引脚。322.3中断分配中断默认按照下表分配向量号:当中断使用时,此值储存在栈中。IRQ号:非核心中断源,对应的编号为终端号减16。IRQ号在ARM的NVC文档中有描述表34中断号分配址址中断编号IRQ号非优先级编中断伏先溟模块描述(1)号(2)级编号(3)ARM核心中析源0x00000000ARM内核切始牟栈指针0x00000004ARM内核初始程序计数器Editbylie:soonli@qq.comK60P144M100SF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6 NoV 2010x00000082AHM内核非可屏蔽中断x00000c3ARM内核哽件故障0x000000101ARM内核存储控制器故障0x0000145ARM内核总线故障0x000000186ARM内核用故障0x000001C70x00002080x0000219x00028100x000002C11ARM内核管理程序调入0x000003012ARM内核周试监控0x000034130x0000003814ARM内核0x0000315ARM内核系统往拍定时器非核心中新源0x00000040160DMADA通道0发送完成0x000000141DMADMA通道⊥发送完成0×00004818DMAD)MA通道2发送完成000401DMA通道3发送完成0x0000020DA通道4发送完成0300052DMA通道5发送完成0x00000582DMADMA通道6发送完成0x000_005C2sDMADMA通道7发送完成0x0000006021DMA通道8发送完成0x0000006425DMADMA通道9发送完成0x0000006826⊥0DMADMA通道10发送完成0x000006C27DMADMA通道11发送完成0x00007028DMA通道12发送完成0x000007429DMA通道13发送完成0x0000087314DMA通道1发送完成0x00007C3IMA通道15发送完成0x00000803216DMADMA通道0-15故障0x00000081MCM0x00000883184闪存命令执行完成0x000008C35闪存读取冲突0x0000009036模式控制掉电中断,电检测低澌喚醒单兀注意:在需要使用低漏检测0x00000094370低漏唤醒|的时候不要禁止这个中断0x000009838看门狗看门狗中断0x0000009c39230x00000A441IICIEditbylie:soonli@qq.com4K60P144M100SF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6 NoV 2010x0000A84SPD所有中断源使用一个向量x0000AC4SPI1所有中断源使用一个向量0x000000B014SPI2所有中断源使用一个向量CR’ ed Message bufi0x000000B44529CANO(0-15)0x00000846CAND总线关闭0x0000BC47错误0x000000C048CANO发送报警x00000C449CANO接收报整0x000000C850CAND唤帼0x00000CC50x0000000520x000000D1537CAN⊥5)0x000000D8CANI总线关闭0x00000DC5CAN⊥错误0x000000E05610发送报警0x0000C457接收报警0x0000E858唤醒0x0000EC59100x0000F06011l⊥0000F461JJARTO串口0状态中新源0x00000F862UARTO串口0错误中新源0y000000FC11UARTI串口1状态中断源0x00010064UARTI串口1错昃中源x0000010465UART2串口2状态中新源000001085650UART2串口2错昃中粉溴0x000067UaRT串口3状态中新源0x000011068UART串口3错误中析源0x0001146gUART4串口4状态中析源00011870UART串口4错误中析源0x0000011C715513UART串口5状态中新源0x0000120721111111UART5串5错误中析源0x00001247370x000128740x00012c75CMPO0x00003076CMPI0x000013476115CMP20x000001387815FTM0所有中断源使一个向量0x000013C7963FTM1所有中断源使用一个向量0x00001408064FTM2所有中断源使用一个向量000014481160x0000014816报警中断Editbylie:soonli@qq.comK60P144M100SF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6 NoV 2010x00014C8x0001508PITPIT通道00x000001518517PITPIT通道10x0000015886017PITPIT通道20x0000015C81PITPIT通道30x0000160882180x000016489USB OTx001689074充电检测0x0000016C|91Ethernet macIEEE1588定时器中断0x000017092Ethernet mac发送中断0x0000017497719Ethernet mac接收中断0x00001789EtherneL mac错误和其他中断0x00017C950x00000180|96SDH0x00184978120DACO0x000001889DACI0x0001899TsT所有中断源使用一个向量0x0000901008120x0000194101低功耗定时器00001981020x000019c10321引因控制模块PORTA引脚中断000001A0104引却控制模块PORTB引脚中断00004105引脚控制模块PORTC引脚中断0x0001AB106引閎控制模块PORTD引脚中断0x00000⊥AC10791引脚控制模块P0RTE引脚中断0×001B01080x000011090×00010701094软中断软件中断(4)(1)表示嵌套向量中断控制器的中断源号(2)表示嵌套向量中断控制器对于响应中断的ISER,ⅠCER,ISPR,ICPR和IABR寄存器的值,计算方法是IRQ的值除以32。(3〕表示嵌套向量中断控制器对于响应中断的IPR寄存器的值,计算方法是IRQ的值狳以4(4)此中断只能被NVC寄存器置位或者清零。3.2.2.3.1确定位域和寄存器的位置,来配置一个特定的中断如果你需要配置低功耗寄存器中断,下面的表格自“中断号分配”地址中断编号1RQ号非优先级编中断优先源模块描述号(2)级编号(3)0x0000019410」2⊥低功耗定时器译者注:下面角标的注解没有被列出,请看上表末尾。1)在NⅥC寄存器中,你需要配置关于中断的信息Editbylie:soonli@qq.comK60P144M100SF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6 NoV 201· NVICISER2NVICICER2· NVICISPR2· NVICICPE2NVICIABR2NVICIPR212)确定特定中淅在相对应的寄存器中的特定位域(汗,这句话怎么这么别扭)。NVICISER2, NVICICER2, NVICISPR2, NVICICPR2, NVICIABR2 7位置=IRQ/32=21NⅥCIPR21位域的起始地址=8*(IRQ/4)+4=12因为 NVICIPR的位域的4位宽,所以 NVICIPR21的范围是12-15。因此,下列的位域的位是用来配置低功耗定时器的中断的。NVICISER2[21]NVICICER2[21NVICISPR2(21NVICICPR2[21NVICIABR2[211NVICIPR21[15: 123.2.3异步唤醒中断的配置夲节概述如何配置芯片中的相应模垬。在AM的文档中有更加完整的描述信息www.armcomClock logicWake-upquesynchronousModuleWake-up InterruptController(AWIC)Module图3-3异步唤醒单元主题相关模块参考链接系统存储映射System memory mat时钟Clock distribution电源管理Powcr managcmcnt嵌套向量中断控制器NVIC唤醒请求AWIC wake-up sources3.2.3.1唤醒源器件使用一下的内部或者外部异步唤醒输入模块Editbylie:soonli@qq.comK60P144M100SF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6 NoV 201唤醒源描述可用的系统复位复位引脚和看门狗(当使用LPO时钟源吋),JTAG接口低电压检测模块控制器低电压警告模块控制器引脚中断引脚控制模块,任何一个中断使能的引胭都可以吹醒系统ADC「当使用内部时钟源的时候可是实现这个功能CMP由于没有系统时钟可以使用,所以此时是无效的LIC地址匹配唤醒接收眺变唤醒USB唤醒功能唤醒低功耗定时器在Stop/ⅥPS模式下有效实时时钟在Stop/ⅦLPS模式卜有效以太网魔法包唤醒SDIIC唤陧功能唤醒IIS唤醒功能唤醒1588时钟唤醒功能唤醒TSICAN3.2.3JTAG控制器配置本节概述如何配置芯片中的相应模块。在后面专门的章节中有更全面的介绍。JTAG controller图3-4JTAG控制器表38相关信息的参考链接题相关模块参考链接仝面介绍JT△GCJTAGC信号传输设置引脚控制Signal multiplexing3.3系统模块3.3.1系统集成控制模块(SIM)配置Editbylie:soonli@qq.comK6OP144M100SF2RM. pdf K60 Sub-Family Reference Manual, Rev. 6 Nov 201本节概述如何配置芯片中的相应模块。在后面专门的章节中有更全面的介绍PeripheralbridgeegisteracceSSResetsMode controller图35系统集成控制模块表39相关信息的参考链接主题相关模块参考链接全面介绍系统集成控制模块系统存储映射Systcm memory maj时钟Clock distribution电源管理Power management3.3.2模式控制器模块本节概述如何配置芯片中的相应模块。在后面专门的章节中有更全面的介绍。PeripheralbridgeRegistResetsMode controller图3-6模式控制模块表3-10相关信息的参考链接题相关模块参考链接全面介绍模式控制模块Mode controllerEditbylie:soonli@qq.comK60P144M100SF2RM. pdfK60 Sub-Family Reference Manual, Rev. 6 NoV 201系统存储映射System memory map电源管理Power management电源管理控制器PMO3.3.3电源管理控制模块本节概述如何配置芯片中的相应模块。在后面专门的章节中有更仝面的介绍PeriphebridgeRegisteraccessPower managementcontroller(PMC)图37电源管理控制模块表3-11相关信息的参考链接主题相关模块参考链接全面介绍PMCPMC系统存储映射System memory map电源管理Powcr managcmcnt面介绍Mode controller低漏唤醒单元LLWU3.3.4低漏唤醒单元节概述如何配置芯片中的相应模块。在后面专门的章节中有更全面的介绍。Editbylie:soonli@qq.com
- 2020-12-03下载
- 积分:1
xilinx_CORDIC算法(非常经典)
FPGA有关的cordic讲解,xilinx公司ppt型的详细讲解,中文。从原理到实现(模型的建立等)。简介目前的具有许多乘法器和加法器。然而各种各样的通信技术和矩阵算法则需要三角函数、平方根等的运算如何在上执行这些运算可以使用查找表或是迭代法本节介绍了算法这是一个移位相加算法允许计算不同的三角函数例如0.0.0包括除法和对数酾数在内的其它函数。xⅫNX关于算法的细节问题,可参见下面的材料技术并不是什么新鲜的东西。事实上它可以追溯到年由发表的一篇文章。在上个世纪五十年代,在大型实际的计算机中的实行移位相加受到了当时技术上的限制,所以使用变得非常必要。到了七十年代,和其他公司出产了手持计算器,许多计算器使用一个内部单元来计算所有的三角函数(了解这件事的人们一定还记得,那时求一个角度的正切值需要延迟大约1秒中)二十世纪八十年代,随着高速度乘法器与带有大存储量的通用处理器的出现, CORDIC算法变得无关紧要了。然而在二十一世纪的今天,对于来说,定是在应用中(诸如多输入多输出(波束形成以及其他自适应系统)计算三角函数的备选技术。wwwsteepestascenCO1笛卡尔坐标平面旋转在坐标平面上将点(,)旋转0角度到点(,)的标准方法如下所示00这被称为是平面旋转、向量旋转或者线性矩阵代数中的旋转。xⅫNX上面的方程组同样可写成矩阵向量形式00例如一个相移为wwwsteepestascenCO1伪旋转通过提出因数,方程可写成下面的形式000(0)如果去除0项,我们得到伪旋转方程式0)6(0)即旋转的角度是正确的,但是与的值增加9倍由于所以模值变大。注意我们并不能通过适当的数学方法去除0项然而随后我们发现去除θ项可以简化坐标平面旋转的计算操作。xⅫNX在坐标平面中0因此经过伪旋转之后,向量的模值将增加0倍。向量旋转了正确的角度但模值出现错误。wwwsteepestascenCO1方法方法的核心是伪旋转角度θ,其中θ。故方程为下面的表格指出用于算法中每个迭代的旋转角度精确到位小数xⅫNX在这里,我们把变换改成了迭代算法。我们烀各种可能的旋转角度加以限制,使得对任意角度θ的旋转能够通过一系列连续小角度的旋转迭代来完成。旋转角度遵循法则:0,遵循这样的法则,乘以正切项变成了移位操作。前几次迭代的形式为第次迭代旋转第次迭代旋转第次迭代旋转等很显然,每次旋转的方向都影响到最终要旋转的累积角度。在≤日的范围内的任意角度都可以旋转。满足法则的所有角度的总和0为。对于该范围之外的角度,可使用三角恒等式转化成该范围内的角度。当然,角分辨率的数据位数与最终的精度有关。。因此,在次旋转以后,为了标定伪旋转的幅度,要求乘以一个系数角分辨率的数据位数对最终的旋转精度非常关键。wwwsteepestascenCO1
- 2020-11-29下载
- 积分:1