科学网

 找回密码
  注册

tag 标签: Maximum

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

Max-consensus using the soft maximum
woshizs90 2016-5-30 07:20
英文摘要(Abstract) A distributed consensus algorithm for estimating the maximum and the minimum of the initial measurements in a sensor network is proposed. Estimating extrema is useful in many applications such as temperature control. In the absence of communication noise, max estimation can be done by updating the state value with the largest received measurements inevery iteration at each sensor. In the presence of communication noise, however, the maximum estimate may incorrectly drift to a larger value at each iteration. As a result, a softmax approach together with a consensus algorithm is introduced herein. Softmin based algorithm is also described using the same approach. It is shown that for some distributions of the initial measurements, a modified softmin consensus can also be used to calculate the max. A shifted nonlinear bounded transmit function is also introduced to improve the convergence speed. A trade off between power of the transmitted signal and the error in the estimate is described and simulation results areprovided. 摘要大意(Chinese translation) 分布式传感器网络的共识共识算法指的是在一个没有基站的传感器网络中, 每个传感器通过不断与其附近其他传感器交换信息, 最终实现网络中所有传感器达到共识。 在本文中, 我们介绍了一种估计分布式传感器网络中所有传感器的测量极值(最大值和最小值)的分布式传感器网络共识算法。 此算法 基于最大值近似函数(softmax function)和平均值共识算法(average consensus)。 与以前的算法比较, 此算法在有噪声的情况下, 传感器仍然可以得到一个较为精确的极值估计。 在本文中我们介绍了此方法的利弊: 我们需要将一个设计参数的值较大来得到一个精确的估计值, 然而同时也会使算法需要更长的时间来达到共识。 最后在本文中,我们还介绍以及分析了让此分布式算法更快达到共识的方法。 这篇文章已经在 2013 Asilomar Conference on Signals, Systems and Computers 年的会议中发表 一个更完整的期刊文章正在IEEE Sensor Journal审核,并且可以在arXiv上找到pdf版(链接: http://arxiv.org/abs/1602.01128) 如果您有什么问题可以直接与博主联系 (If you have any comments/questions, please feel free to contact the blogger)
个人分类: 论文|2116 次阅读|0 个评论
[转载]最大似然估计(Maximum likelihood estimation)
wangdongice 2012-9-21 16:48
转自: http://www.cnblogs.com/liliu/archive/2010/11/22/1883702.html 最大似然估计 提供了一种 给定观察数据来评估模型参数 的方法,即:“ 模型已定,参数未知 ”。简单而言,假设我们要统计全国人口的身高,首先 假设这个身高服从服从正态分布 (注:模型已知,包括模型的超参数已知,比如假设数据服从多项式曲线,那么多项式的阶数应该是已知的) ,但是 该分布的均值与方差未知 。我们没有人力与物力去统计全国每个人的身高,但是可以通过采样,获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布的均值与方差。 最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的。(i.i.d 假设) 下面我们具体描述一下最大似然估计: 首先,假设 为独立同分布的采样, θ 为模型参数, f 为我们所使用的模型,遵循我们上述的独立同分布假设。参数为 θ 的模型 f 产生上述采样可表示为 回到上面的“模型已定,参数未知”的说法,此时,我们已知的为 ,未知为 θ ,故似然定义为:      在实际应用中常用的是两边取对数,得到公式如下:   其中 称为 对数似然 (注:对数操作将连乘积的形式变成连加和的形式,方便后续操作;这是一个无限制最优化问题,极值取在导数为0处) ,而 称为平均对数似然。而我们平时所称的最大似然为最大的对数平均似然,即:    举个别人博客中的例子,假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我 们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后把拿出来的球 再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少? 很多人马上就有答案了:70%。而其后的理论支撑是什么呢? 我们假设罐中白球的比例是 p ,那么黑球的比例就是 1-p 。因为每抽一个球出来,在记录颜色之后,我们把抽出的球放回了罐中并摇匀,所以每次抽出来的球的颜 色服从同一独立分布。这里我们把一次抽出来球的颜色称为一次抽样。题目中在一百次抽样中,七十次是白球的概率是 P(Data | M), 这里Data是所有的数据,M是所给出的模型,表示每次抽出来的球是白色的概率为 p 。如果第一抽样的结果记为 x1 ,第二抽样的结果记为 x2... 那么 Data = (x1,x2,…,x100)。 这样,      P(Data | M)      = P(x1,x2,…,x100|M)      = P(x1|M)P(x2|M)…P(x100|M)      = p^70(1-p)^30 . 那么 p 在取什么值的时候, P(Data |M) 的值最大呢?将 p^70(1-p)^30 对 p 求导,并其等于零。      70p^69(1-p)^30-p^70*30(1-p)^29=0。     解方程可以得到 p=0.7 。 (注:额!!这么看肿么看得出来,应该这样子:logP(Data|M)=70logp+30log(1-p), 再对p求导,70(1/p)-30 =0, p=0.7 ) 在边界点 p=0,1,P(Data|M)=0。 所以当 p=0.7 时, P(Data|M) 的值最大。这和我们常识中按抽样中的比例来计算的结果是一样的。 假如我们有一组连续变量的采样值 (x1,x2,…,xn), 我们知道这组数据服从正态分布,标准差已知。请问这个正态分布的期望值为多少时,产生这个已有数据的概率最大?      P(Data | M) = ? 根据公式      可得:    对μ求导 可得 ,则最大似然估计的结果为 μ=(x1+x2+…+xn)/n (注:同上,取对数啊啊啊!!!) (心得:取对数之所以有效,因为极大似然函数假设独立同分布,联合概率都会写成连乘积的形式,而且经常会出现指数分布群,所以取对数往往会让问题变得简单*_*) 由上可知最大似然估计的一般求解过程:   (1) 写出似然函数;   (2) 对似然函数取对数,并整理;   (3) 求导数 ;   (4) 解似然方程 注意: 最大似然估计只考虑某个模型能产生某个给定观察序列的概率。 而 未考虑该模型本身的概率 (注:极大似然估计将模型的参数当带估计的常数,而贝叶斯估计将模型的参数也当成随机变量) 。 这点与贝叶斯估计区别。贝叶斯估计方法将在以后的博文中描述 本文参考 http://en.wikipedia.org/wiki/Maximum_likelihood http://www.shamoxia.com/html/y2010/1520.html
个人分类: 模式识别,机器学习基础|3537 次阅读|0 个评论
R中的极大似然估计
热度 2 zjlcas 2012-6-25 09:42
R中的极大似然估计
R中的极大似然估计 张金龙 jinlongzhang01@gmail.com 人们经常用样本(sample)来估计总体(population)的参数, 假定一个概率密度函数,如正态分布,并给出所有可能的参数组合,那么每一种参数组合所生成当前样本的可能性分别有多大?将最可能产生当前样本的参数,作为总体参数的估计,这就是极大似然(Maximum Likelihood)思想的体现。 在实际的计算中, 人们往往需要先假定某一概率密度, 如正态分布, $p.d.f. (y) = \frac{1} {\sqrt{2 \pi} \sigma} e^{-1/2 \frac{(y- \mu)^2} {\sigma^2}}$ pdfi - 1/(sqrt(2*pi)*sigma) * exp(-1/2 * (obs - mu)^2/(sigma^2)) 其中, obs为某一次观测值 mu 为 总体平均值的任意估计值 sigma 为 总体标准差的任意估计值, 则可以求得观测到该次观测值的概率 pdfi 对所有的样本数据的概率密度相成, 即获得联合概率密度, 即似然函数。 似然函数 L = pdf1 * pdf2 * pdf3 * ... * pdfn $L = \prod_{i=1}^n \frac{1} {\sqrt{2 \pi} \sigma} e^{-1/2 \frac{(y- \mu)^2} {\sigma^2}}$ 那么,什么样的参数, 才能保证Likelihood函数取最大值? 由于联合概率密度的值往往非常小,在计算机中难以处理,一般情况下, 将似然函数取对数, 便于数值操作。 此时,做一系列的变换。 : 如: $LogL = \sum_{i=1}^n \log\left ( \frac{1} {\sqrt{2 \pi} \sigma} e^{-1/2 \frac{(y- \mu)^2} {\sigma^2}} \right )$ $LogL= \sum_{i=1}^n \left $ $LogL= \sum_{i=1}^n \log(2 \pi)^{-1/2} + \sum_{i=1}^n \log\left (\frac{1} {\sigma}\right ) + \sum_{i=1}^n \left ( -1/2 \frac{(y- \mu)^2} {\sigma^2} \right )$ $LogL= -\frac{n} {2} \log(2 \pi) - n \log(\sigma) - \frac{1} {2 \sigma^2} \sum_{i=1}^n ( y - \mu)^2$ 若认为LogL为$\mu$的函数, 若保证LogL最大值,令 $\sum_{i=1}^n ( y - \mu)^2$ 取最大值,则 $\mu = \frac{\sum_{i=1}^n y_i}{n}$ 另外一方面, 若认为LogL为$\sigma$的函数, 将LogL函数对$\sigma$求导, 令导数为0, 可求得极值。 $\frac{\delta LogL}{\delta \sigma} = -\frac{n}{\sigma} - (-2) \frac{1}{2} \sum_{i=1}^n (y - \mu)^2 \sigma^{-3}$ $\frac{\delta LogL}{\delta \sigma} = -\frac{n}{\sigma} + \frac{1}{\sigma^2} \sum_{i=1}^n (y - \mu)^2$ 令导数为0, 得 $\frac{n}{\sigma} = \frac{1}{\sigma^3} \sum_{i=1}^n (y - \mu)^2$ $\sigma^2 = \frac{\sum_{i=1}^n (y - \mu)^2}{n}$ 此时, 带入之前$\mu$,求得$\sigma$的估计 $\hat{\sigma}^2 = \frac{\sum_{i=1}^n (y - \bar{y})^2}{n}$ 用极大似然估计求得的$\sigma$值为有偏估计, 即样本的最可能取值。 以上是解析解。 在实际情况下, 人们常用多种优化方法, 求得极大似然估计的数值解。 这些方法包括 "Nelder-Mead" (Nelder and Mead ,1965), "BFGS" (Broyden, Fletcher, Goldfarb and Shanno, 1970), "CG" (Fletcher and Reeves,1964), "L-BFGS-B" (Byrd et. al. ,1995) , "SANN" (Belisle 1992), 等。 由此看来, 极大似然估计, 首先是按照假定的概率密度, 求得联合概率密度, 即似然函数,进一步写成对数似然函数, 再用数值优化的方法, 求得对数似然函数所对应的点(各参数)。即获得参数的极大然估计。 下面提供一个实例: 问题: 假设一批树木中抽取若干个体,胸径分别为 150, 124, 100, 107, 170, 144, 113, 108, 92, 129, 123, 118,试求这批树木胸径的平均值和标准差。 分析: 如果用这批样本数据直接计算平均值和方差, 可以得到总体平均值和标准差的估计。 dat - c(150, 124, 100, 107, 170, 144, 113, 108, 92, 129, 123, 118) mean(dat) 123.1667 ### 求样本平均值 mean.sample - sum(dat)/length(dat) ### 设置空向量 var.sample - c() for(i in 1:length(dat)){ var.sample - (dat - mean.sample)^2 } dd - sum(var.sample) ## 求样本标准差 sqrt(dd/(length(dat))) ## 求总体标准差 sqrt(dd/(length(dat) - 1)) 以上是普通的估计方法 下面用极大似然方法估计 ########################################################################### ### 联合概率密度 like = function(data, mu, sigma) { like = 1 for(i in 1:length(data)){ # like = like *( 1/(sqrt(2*pi)*sigma) * exp(-1/2 * (data - mu)^2/(sigma^2))) like = like * dnorm(x = dat , mean = mu, sd = sigma) } return(like) } like(dat, 120, 20) ### 对数似然函数 loglike = function(data, mu, sigma) { loglike = 0 for(i in 1:length(data)){ loglike = loglike + log(dnorm(x = dat , mean = mu, sd = sigma)) } return(loglike) } loglike(dat, 122, 20) ### 扩展参数组合 params = expand.grid(mu = seq(50, 200, 1), sigma = seq(10, 40, 1)) LogLik.surf = with(params, loglike(dat, mu, sigma)) dim(LogLik.surf) - c(length(seq(50, 200, 1)), length(seq(10, 40, 1))) library(lattice) contourplot(LogLik.surf ~ mu*sigma, data = params, cuts = 20) # Zooming in params = expand.grid(mu = seq(120, 126, 0.01), sigma = seq(18, 25, 0.1)) LogLik.surf.zoom = with(params, loglike(dat, mu, sigma)) dim(LogLik.surf.zoom) - c(length(seq(120, 126, 0.01)), length(seq(18, 25, 0.1))) library(lattice) contourplot(LogLik.surf.zoom ~ mu*sigma, data = params, cuts = 20, region = TRUE) ### nlm进行极大似然优化, 需要提供初始值 ### 对数似然函数 loglike000 = function(p) { loglike = 0 for(i in 1:length(dat)){ loglike = loglike + log(dnorm(x = dat , mean = p , sd = p )) } return(-loglike) } (MLEst - nlm(f = loglike000, p = c(100, 10))) 参考 http://www.quantumforest.com/2011/10/maximum-likelihood/
个人分类: 统计分析|14554 次阅读|4 个评论
系统发育树构建软件Mega5支持最大似然法(Maximum likelihood)算法了
热度 5 陈文峰 2010-5-28 11:22
今天本来在试用PHYML中的最大似然法来构建系统发育树,后来与人交流,他要对一些序列进行比对,我推荐他用Mega软件,就让它从网上下载,他下载后,我发现Mega4已升级到5.0版本了。再一看,发现它居然支持最大似然法来构建系统发育树了,而以前的4.0版是不支持的。我赶紧自己也下载了一个,安装运行后,发现确实能用。不过美中不足的是,在该软件的主界面上有一个提示,说:This is a beta test release. Please do not use results generated in publications。哎,不管怎么说,以前大家都用装在苹果机上的PAUP中的ML法来构建系统发育树,而操作起来十分困难,现在好了,有MEGA5了。我试着用自己的16S序列数据,用ML法建了个树,发现所需时间不是很长,我在写帖子的时候,运行了17分钟了,完成了69%的任务。看来速度不会象苹果机上运行PAUP那么长的时间了。喜欢尝鲜的人赶紧下载下来试试。 除了这个ML法的大改进外,Mega5还有其它方面的改进,看起来和使用起来都比以前的mega4要好用。期待正式版的早日诞生! Mega5的下载地址为: http://www.megasoftware.net/beta/index.php ,需要填上姓名和email地址,然后从email中确认一下即可以下载了。
个人分类: 根瘤菌进化、发育与系统学|27602 次阅读|16 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 11:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部