em算法r语言
‘壹’ 缺失的参数mac什么意思
对于你的苹果电脑出现了缺少参数这样的提醒很有可能是你的插件没有安装完全。
‘贰’ 大数据挖掘需要学习哪些技术大数据的工作
处理大数据需要一个综合、复杂、多方位的系统,系统中的处理模块有很多,而数据挖掘技术以一个独立的身份存在于处理大数据的整个系统之中,与其他模块之间相辅相成、协调发展。在大数据时代中,数据挖掘技术的地位是无可比拟的。
数据挖掘的基本流程
在正式讲数据挖掘知识清单之前,我先和你聊聊数据挖掘的基本流程。
数据挖掘的过程可以分成以下 6 个步骤。
商业理解:数据挖掘不是我们的目的,我们的目的是更好地帮助业务,所以第一步我们要从商业的角度理解项目需求,在这个基础上,再对数据挖掘的目标进行定义。
数据理解:尝试收集部分数据,然后对数据进行探索,包括数据描述、数据质量验证等。这有助于你对收集的数据有个初步的认知。
数据准备:开始收集数据,并对数据进行清洗、数据集成等操作,完成数据挖掘前的准备工作。
模型建立:选择和应用各种数据挖掘模型,并进行优化,以便得到更好的分类结果。
模型评估:对模型进行评价,并检查构建模型的每个步骤,确认模型是否实现了预定的商业目标。
上线发布:模型的作用是从数据中找到金矿,也就是我们所说的“知识”,获得的知识需要转化成用户可以使用的方式,呈现的形式可以是一份报告,也可以是实现一个比较复杂的、可重复的数据挖掘过程。数据挖掘结果如果是日常运营的一部分,那么后续的监控和维护就会变得重要。
数据挖掘的十大算法
为了进行数据挖掘任务,数据科学家们提出了各种模型,在众多的数据挖掘模型中,国际权威的学术组织 ICDM (the IEEE International Conference on Data Mining)评选出了十大经典的算法。
按照不同的目的,我可以将这些算法分成四类,以便你更好的理解。
分类算法:C4.5,朴素贝叶斯(Naive Bayes),SVM,KNN,Adaboost,CART
聚类算法:K-Means,EM
关联分析:Apriori
连接分析:PageRank
1. C4.5
C4.5 算法是得票最高的算法,可以说是十大算法之首。C4.5 是决策树的算法,它创造性地在决策树构造过程中就进行了剪枝,并且可以处理连续的属性,也能对不完整的数据进行处理。它可以说是决策树分类中,具有里程碑式意义的算法。
2. 朴素贝叶斯(Naive Bayes)
朴素贝叶斯模型是基于概率论的原理,它的思想是这样的:对于给出的未知物体想要进行分类,就需要求解在这个未知物体出现的条件下各个类别出现的概率,哪个最大,就认为这个未知物体属于哪个分类。
3. SVM
SVM 的中文叫支持向量机,英文是 Support Vector Machine,简称 SVM。SVM 在训练中建立了一个超平面的分类模型。如果你对超平面不理解,没有关系,我在后面的算法篇会给你进行介绍。
4. KNN
KNN 也叫 K 最近邻算法,英文是 K-Nearest Neighbor。所谓 K 近邻,就是每个样本都可以用它最接近的 K 个邻居来代表。如果一个样本,它的 K 个最接近的邻居都属于分类 A,那么这个样本也属于分类 A。
5. AdaBoost
Adaboost 在训练中建立了一个联合的分类模型。boost 在英文中代表提升的意思,所以 Adaboost 是个构建分类器的提升算法。它可以让我们多个弱的分类器组成一个强的分类器,所以 Adaboost 也是一个常用的分类算法。
6. CART
CART 代表分类和回归树,英文是 Classification and Regression Trees。像英文一样,它构建了两棵树:一棵是分类树,另一个是回归树。和 C4.5 一样,它是一个决策树学习方法。
7. Apriori
Apriori 是一种挖掘关联规则(association rules)的算法,它通过挖掘频繁项集(frequent item sets)来揭示物品之间的关联关系,被广泛应用到商业挖掘和网络安全等领域中。频繁项集是指经常出现在一起的物品的集合,关联规则暗示着两种物品之间可能存在很强的关系。
8. K-Means
K-Means 算法是一个聚类算法。你可以这么理解,最终我想把物体划分成 K 类。假设每个类别里面,都有个“中心点”,即意见领袖,它是这个类别的核心。现在我有一个新点要归类,这时候就只要计算这个新点与 K 个中心点的距离,距离哪个中心点近,就变成了哪个类别。
9. EM
EM 算法也叫最大期望算法,是求参数的最大似然估计的一种方法。原理是这样的:假设我们想要评估参数 A 和参数 B,在开始状态下二者都是未知的,并且知道了 A 的信息就可以得到 B 的信息,反过来知道了 B 也就得到了 A。可以考虑首先赋予 A 某个初值,以此得到 B 的估值,然后从 B 的估值出发,重新估计 A 的取值,这个过程一直持续到收敛为止。
EM 算法经常用于聚类和机器学习领域中。
10. PageRank
PageRank 起源于论文影响力的计算方式,如果一篇文论被引入的次数越多,就代表这篇论文的影响力越强。同样 PageRank 被 Google 创造性地应用到了网页权重的计算中:当一个页面链出的页面越多,说明这个页面的“参考文献”越多,当这个页面被链入的频率越高,说明这个页面被引用的次数越高。基于这个原理,我们可以得到网站的权重划分。
最后
算法可以说是数据挖掘的灵魂,也是最精华的部分。这 10 个经典算法在整个数据挖掘领域中的得票最高的,后面的一些其他算法也基本上都是在这个基础上进行改进和创新。今天你先对十大算法有一个初步的了解,你只需要做到心中有数就可以了。
‘叁’ 急求如何用MATLab实现EM算法
最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计或极大后验概率估计。
实现代码如下:
02 Jul 2015 hui cheng
06 May 2015 Mei Dong
very good job!
12 Nov 2014 Jobaer
please, sir , send me a source code on image segmentation. I want to segement weeds from soil.My email address is [email protected] .
18 Jan 2014 HuangJunFeng HuangJunFeng
16 Dec 2013 widdy
19 Feb 2013 Tong Chu
01 Jan 2013 manas nag
sir
after executing this it is declaring that k is undefined
04 Dec 2012 Jason Rebello
Some people want to know how to view the segmented image. For example suppose you have two classes ie k=2; us the following code to view it
[row col] = size(ima);
final_img = zeros(row,col);
for i=1:row
for j=1:col
if mask(i,j)==1
final_img(i,j)=1;
else
final_img(i,j)=255;
end
end
end
imshow(final_img/255);
This is a naive way of viewing it .. you may have to change somethings if k>2. Anywayz hope it helps. The mask basically stores the segmented image.
16 Nov 2011 surya
great job.i am using the same algorithm in my project for x-ray images.can u please tell how to view the segmented image
Comment only
18 Feb 2010 prashanth
Sir, I am starting my project on the same subject. i was unable to find the algorithm psuedocode for em algorithm. kindly send me one at [email protected]. Also can u just tell me the explanation for the source code..
Comment only
21 Dec 2009 maria
Hi, could you please explain how I can use "mask" to see result of segmentation??
Comment only
17 Mar 2009 Patrick
Greetings Prof., Very nice .. could you please let me know what exactly does the mask variable store ? As what i see it classifies each pixel that falls within each class . Am i correct in that assumption?
Thanks
24 May 2008 darko brajicic
great job!
27 Apr 2008 Bilo Bilo
Thanks
15 Aug 2007 smiled fisher
06 Nov 2006 Karthik Raja T
HI, Greetings,can it for my color image segmentation ?
04 Sep 2006 Mikel Rodriguez
12 Jul 2006 carlos mas
03 May 2006 Mohamed Sami
look when u make a code u must show us the output to see it then u read ur code .. try to explain that with output we can see bye
‘肆’ 电流电压有效值,平均值
单相正弦交流电的有效值为220V、峰值为310V(有效值乘以1.414也就是根号2)、算术平均值为0V、整流平均值(绝对值的平均值)为198V(有效值除以1.11
也咳哟乘以0.9)。
三相正弦交流电的有效值为380V、峰值为540V(有效值乘以1.414也就是根号2)、算术平均值为0V、整流平均值(绝对值的平均值)为342V(有效值除以1.11
也咳哟乘以0.9)。
三相电的相电压有效值(星形连接相电压为220V,三角形连接相电压为380V)。
三相电的线电压有效值为380V。
‘伍’ 平衡二叉树的各种算法实现
平衡二叉树(AVL)
那对图 1 进行下改造,把数据重新节点重新连接下,图 2 如下:
图 3 是一棵高度为 4 的 AVL 树,有 5 层共 31 个节点,橙色是 ROOT 节点,蓝色是叶子节点。对 AVL 树的查找来看起来已经很完美了,能不能再优化下?比如,能否把这个节点里存放的 KEY 增加?能否减少树的总层数?那减少纵深只能从横向来想办法,这时候可以考虑用多叉树。
‘陆’ 人工智能是学习什么
1、学习并掌握一些数学知识
高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础。
线性代数很重要,一般来说线性模型是你最先要考虑的模型,加上很可能要处理多维数据,你需要用线性代数来简洁清晰的描述问题,为分析求解奠定基础。
概率论、数理统计、随机过程更是少不了,涉及数据的问题,不确定性几乎是不可避免的,引入随机变量顺理成章,相关理论、方法、模型非常丰富。很多机器学习的算法都是建立在概率论和统计学的基础上的,比如贝叶斯分类器、高斯隐马尔可夫链。
再就是优化理论与算法,除非你的问题是像二元一次方程求根那样有现成的公式,否则你将不得不面对各种看起来无解但是要解的问题,优化将是你的GPS为你指路。
以上这些知识打底,就可以开拔了,针对具体应用再补充相关的知识与理论,比如说一些我觉得有帮助的是数值计算、图论、拓扑,更理论一点的还有实/复分析、测度论,偏工程类一点的还有信号处理、数据结构。
2、掌握经典机器学习理论和算法
如果有时间可以为自己建立一个机器学习的知识图谱,并争取掌握每一个经典的机器学习理论和算法,我简单地总结如下:
1) 回归算法:常见的回归算法包括最小二乘法(OrdinaryLeast Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(MultivariateAdaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing);
2) 基于实例的算法:常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM);
3) 基于正则化方法:常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net);
4) 决策树学习:常见的算法包括:分类及回归树(ClassificationAnd Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM);
5) 基于贝叶斯方法:常见算法包括:朴素贝叶斯算法,平均单依赖估计(AveragedOne-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN);
6) 基于核的算法:常见的算法包括支持向量机(SupportVector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等;
7) 聚类算法:常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM);
8) 基于关联规则学习:常见算法包括 Apriori算法和Eclat算法等;
9) 人工神经网络:重要的人工神经网络算法包括:感知器神经网络(PerceptronNeural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-OrganizingMap, SOM)。学习矢量量化(Learning Vector Quantization, LVQ);
10) 深度学习:常见的深度学习算法包括:受限波尔兹曼机(RestrictedBoltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders);
11) 降低维度的算法:常见的算法包括主成份分析(PrincipleComponent Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS), 投影追踪(ProjectionPursuit)等;
12) 集成算法:常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging),AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(GradientBoosting Machine, GBM),随机森林(Random Forest)。
3、掌握一种编程工具,比如Python
一方面Python是脚本语言,简便,拿个记事本就能写,写完拿控制台就能跑;另外,Python非常高效,效率比java、r、matlab高。matlab虽然包也多,但是效率是这四个里面最低的。
4、了解行业最新动态和研究成果,比如各大牛的经典论文、博客、读书笔记、微博微信等媒体资讯。
5、买一个GPU,找一个开源框架,自己多动手训练深度神经网络,多动手写写代码,多做一些与人工智能相关的项目。
6、选择自己感兴趣或者工作相关的一个领域深入下去
人工智能有很多方向,比如NLP、语音识别、计算机视觉等等,生命有限,必须得选一个方向深入的钻研下去,这样才能成为人工智能领域的大牛,有所成就。
根据网络给的定义,人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的还能的理论、方法、技术及应用系统的一门新的技术科学。
网络关于人工智能的定义详解中说道:人工智能是计算机的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。
综上,从定义上讲,人工智能是一项技术。
‘柒’ kmeans 质心为什么会收敛
直接证明Kmeans收敛其实是无本之木
严格说,kmeans过程收敛是因为 他的数据划分判断依据 欧式距离 与 均值算质心 这两步搭配
恰好是EM算法的特例,EM算法的收敛性非常复杂,解释不清楚。
‘捌’ 什么叫EBF算法
通常我们用K-平均法和K-邻近法估计椭圆基函数(EBF)中心位置与函数宽度等参数.但上述的方法在输入矢量包含相关元素时存在性能次优化问题.另外,对于EBF网络来说,如何选择适当的类的数目仍是一个难以解决的问题.本文提出用结合改进的RPCL算法和EM算法的EBF网络结构来解决上述问题.在话者识别的软件开发中,证明这种结构具有更优越的样本表征能力以及更好的识别率.
‘玖’ 最大似然估计单调增怎么办
热门频道
首页
博客
学院
VIP
APP
问答
下载
推荐频道
论坛
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
程序员必备的浏览器插件
登录
极大似然估计与最大似然估计 原创
2012-04-10 09:04:52
deepfuture
码龄11年
关注
1、极大似然估计是一种目前仍然得到广泛应用的方法。它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是:一个随机试验如有若干个可能的结果A,B,C,…。若在一次试验中,结果A出现,则一般认为试验条件对A出现有利,也即A出现的概率很大。
可以这么理解,在多次试验中,试验条件X使众多试验结果的A结果发生的概率很大,我们计算这个试验条件的相关参数。你还可以更广泛地理解,在X发生的前提下,A发生的概率很大,我们知道A发生的概率,需要求出X发生的相关参数
极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。
2、求极大似然函数估计值的一般步骤:
(1) 写出似然函数;
(2) 对似然函数取对数,并整理;
(3) 求导数 ;
(4) 解似然方程
极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。
当然极大似然估计只是一种粗略的数学期望,要知道它的误差大小还要做区间估计。
3、
最大似然估计法的基本思想
最大似然估计法的思想很简单:在已经得到试验结果的情况下,我们应该寻找使这个结果出现的可能性最大的那个作为真的估计。
我们分两种情进行分析:
1.离散型总体
设为离散型随机变量,其概率分布的形式为,则样本 的概率分布为,在固定时,上式表示 取值的概率;当固定时,它是的函数,我们把它记为 并称为似然函数。似然函数的值的大小意味着该样本值出现的可能性的大小。既然已经得到了样本值,那它出现的可能性应该是大的,即似然函数的值应该是大的。因而我们选择使 达到最大值的那个作为真的估计。
2.连续型总体
设为连续型随机变量,其概率密度函数为则为从该总体抽出的样本。因为相互独立且同分布,于是,样本的联合概率密度函数为
,在是固定时,它是在处的 密度,它的大小与落在附近的概率的大小成正比,而当样本值固定时,它是的函数。我们仍把它记为并称为似然函数。类似于刚才的讨论,我们选择使最大的那个作为真的估计。
总之,在有了试验结果即样本值时,似然函数反映了的各个不同值导出这个结果的可能性的大小。 我们选择使达到最大值的那个作为真的估计。这种求点估计的方法就叫作最大似然法。
7.2.2最大似然估计的求法
假定现在我们已经观测到一组样本要去估计未知参数。一种直观的想法是,哪一组能数值使现在的样本出现的可能性最大,哪一组参数可能就是真正的参数,我们就要用它作为参数的估计值。这里,假定我们有一组样本.如果对参数的两组不同的值和,似然函数有如下关系
,
那么,从又是概率密度函数的角度来看,上式的意义就是参数使出现的可能性比参数使出现的可能性大,当然参数比更像是真正的参数.这样的分析就导致了参数估计的一种方法,即用使似然函数达到最大值的点,作为未知参数的估计,这就是所谓的最大似然估计。 现在我们讨论求最大似然估计的具体方法.为简单起见,以下记,求θ的极大似然估计就归结为求的最大值点.由于对数函数是单调增函数,所以
(7.2.1)
与有相同的最大值点。而在许多情况下,求的最大值点比较简单,于是,我们就将求的最大值点改为求的最大值点.对关于求导数,并命其等于零,得到方程组
, (7.2.2)
称为似然方程组。解这个方程组,又能验证它是一个极大值点,则它必是,也就是的最大值点,即为所求的最大似然估计。大多常用的重要例子多属于这种情况。然而在一些情况下,问题比较复杂,似然方程组的解可能不唯一,这时就需要进一步判定哪一个是最大值点。
还需要指出,若函数关于的导数不存在时,我们就无法得到似然方程组 (7.2.2),这时就必须根据最大似然估计的定义直接去的最大值点。
在一些情况下,我们需要估计。如果分别是的最大似然估计,则称为的最大似然估计。
下面我们举一些例子来说明求最大似然估计的方法。
例 7.2.1 设从正态总体抽出样本,这里未知参数为mm 和(注意我们把看作一个参数)。似然函数为
=
它的对数为
,
似然方程组为
由第一式解得
, (7.2.3)
代入第二式得
. (7.2.4)
似然方程组有唯一解(,),而且它一定是最大值点,这是因为当或或∞时,非负函数。于是和的最大似然估计为
,. (7.2.5)
这里,我们用大写字母表示所有涉及的样本,因为最大似然估计和都是统计量,离开了具体的一次试验或观测,它们都是随机的。
例7.2.2设总体服从参数为的泊松分布,它的分布律为
,
有了样本之后,参数λ的似然函数为
,
似然方程为
,
解得
.
因为的二阶导数总是负值,可见,似然函数在处达到最大值。所以,是λ的最大似然估计。
例7.2.3 设总体为上的均匀分布,求的最大似然估计。
的概率密度函数为
对样本,
很显然,L(a,b)作为a和b的二元函数是不连续的。这时我们不能用似然方程组(7.2.2)来求最大似然估计,而必须从最大似然估计的定义出发,求L(a,b)的最大值。为使L(a,b)达到最大,b-a应该尽量地小,但b又不能小于,否则,L(a,b)=0。
类似地,a不能大过。因此,a和b的最大似然估计为
,
.
现在为止,我们以正态分布,泊松分布,均匀分布的参数以及事件发生的概率的估计为例子讨论了矩估计和最大似然估计。在我们所举的例子中,除了均匀分布外,两种估计都是一致的。矩估计的优点是简单,只需知道总体的矩,总体的分布形式不必知道。而最大似然估计则必须知道总体分布形式,并且在一般情况下,似然方程组的求解较复杂,往往需要在计算机上通过迭代运算才能计算出其近似解。
展开全文
极大似然估计法仿真程序
极大似然估计的实现,极大似然估计的实仿真程序,锚的坐标计算。
浏览器打开
逻辑回归与最大似然估计推导
目录 逻辑回归(对数几率回归) 1.广义线性模型 2.逻辑回归的假设 3. 逻辑回归的代价函数 为什么LR中使用交叉熵损失函数而不使用MSE损失函数? 3. 极大似然估计 4. 利用梯度下降法求解参数w 4.1 三种梯度下降方法的选择 5.逻辑回归优缺点: 参考资料: 逻辑回归(对数几率回归) 逻辑回归是一种分类算法,不是回归算法,因为它用了和回归类似的思想来解决了分类问题...
浏览器打开
deepfuture
这篇文章对你有帮助吗?作为一名程序工程师,在评论区留下你的困惑或你的见解,大家一起来交流吧!
极大似然估计和最大似然估计定义
https://blog.csdn.net/z2539329562/article/details/79187967
浏览器打开
从最大似然到EM算法浅解
从最大似然到EM算法浅解 [email protected] http://blog.csdn.net/zouxy09 机器学习十大算法之一:EM算法。能评得上十大之一,让人听起来觉得挺NB的。什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题。神为什么是神,因为神能做很多人做不了的事。那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界
浏览器打开
...笔记_renxingzhadan的专栏_最大似然估计单调增怎么办
的似然函数分布图 主要注意的是多数情况下,直接对变量进行求导反而会使得计算式子更加的复杂,此时可以借用对数函数。由于对数函数是单调增函数,所以 ...
从最大似然到EM算法浅解_zouxy09的专栏
感性的说,因为下界不断提高,所以极大似然估计单调增加,那么最终我们会到达最大似然估计的最大值。理性分析的话,就会得到下面的东西: ...
极大似然估计和最大后验估计
https://jiahao..com/s?id=1593811166204755239&wfr=spider&for=pc 机器学习中,一般只得到业务产生的数据集D,机器学习目的是通过数据D了解该项业务的过去(建模)和未来(预测和分类)。但你手头上只有数据集D,没有其他任何辅助信息,那么如何建模? 1.概率假设合理吗? 我们总是假设数据集D由某种概率分布生成...
浏览器打开
最大似然估计法(MLE)
最大似然估计(Maximum Likelihood Estimation),是一种统计方法,它用来求一个样本集的相关概率密度函数的参数。最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的。 一、最大似然估计法的基本思想 最大似然估计法的思想很简单:在已经得到试验结果的情况下,我们应该寻找使这个结果出现的可能性最大的那个 作为真 的估计。
浏览器打开
机器学习之最大似然算法_linyanqing21的博客_最大化对数...
感性的说,因为下界不断提高,所以极大似然估计单调增加,那么最终我们会到达最大似然估计的最大值。理性分析的话,就会得到下面的东西: ...
MLE极大似然估计和EM最大期望算法_好记性不如烂笔头
感性的说,因为下界不断提高,所以极大似然估计单调增加,那么最终我们会到达最大似然估计的最大值。理性分析的话,就会得到下面的东西: ...
最大似然估计(Maximum likelihood estimation)(通过例子理解)
之前看书上的一直不理解到底什么是似然,最后还是查了好几篇文章后才明白,现在我来总结一下吧,要想看懂最大似然估计,首先我们要理解什么是似然,不然对我来说不理解似然,我就一直在困惑最大似然估计到底要求的是个什么东西,而那个未知数θ到底是个什么东西TT原博主写的太好了,这里 我就全盘奉上~似然与概率在统计学中,似然函数(likelihood function,通常简写为likelihood,似然)是一个非
浏览器打开
最大似然估计
最大似然估计 一、简介 最大似然估计法 是费希尔(Fisher, R. A.)于1912年首次提出,并于1921年和1925年的工作中加以发展使其更臻于完善。最大似然估计是一种求估计量的方法,它在求估计量的方法中地位是比较高的。那么最大似然估计法就是参数估计中的点估计中的一种方法的,按照变量的类型主要分为离散型随机变量与连续性随机变量。 二、离散型随机变量与连续性随机变量 1.离散型随机变量: ...
浏览器打开
从最大似然到EM算法浅解-讲义文档类资源
感性的说,因为下界不断提扃,所以极大似然估计单调增加,那么最终我们会到达最大似然估计的最大值。理性分析的话,就会得到下血的东西 (0+1)2∑∑?:(2)kea()...
极大似然估计(MLE)_weixinhum
x \ln x lnx是随着 x x x增大而单调增大的,也就是说当 ln x \ln x lnx取得最大值的时候 x x x也取得最大值),这个时候极大似然估计变成...
最大似然估计 高斯分布 正态分布
极大似然估计法是求估计的另一种方法。它最早由高斯提出。后来为费歇在1912年的文章中重新提出,并且证明了这个方法的一些性质。极大似然估计这一名称也是费歇给的。这是一种上前仍然得到广泛应用的方法。它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是:一个随机试验如有若干个可能的结果A,B,C,…。若在一次试验中,结果A出现,则一般认为试验条件对A出现有利,也即A出现的概率很大。 ...
浏览器打开
【机器学习】MAP最大后验估计和ML最大似然估计区别
MAP:maximun a posteriori 最大后验估计 ML:maximun likelihood. 1 MAP A maximum a posteriori probability (MAP) estimate is an estimate of an unknown quantity, that equals the mode of the posterior d
浏览器打开
机器学习之极大似然估计详解_daerzei的专栏
极大似然估计在机器学习中很多模型都会用到,理解了极大似然估计对后面学习机器学习有很大帮助。 极大似然估计听着很高冷,光看名字就让需要数学不好的同学望而却步。
写评论
评论
收藏
点赞
分享
APP记录你的成长
‘拾’ pattern recognition and machine learning这本书怎么看
作者:Richardmore
这本书可以说是机器学习的经典学习之作。以前在上机器学习这么课的时候,很多细节还没联系到,结果在读论文中就显得捉襟见肘。本文打算理清楚这本书的脉络,也顺便为学习机器学习的人打下一个学习路线图。
1. 排除两块内容
现排除第五章的内容神经网络,之所以把神经网络先单列出来,原因一是一个比较独立的研究脉络,二是因为这部分因为深度学习的原因太热了,所以我认为在学习机器学习中把神经网络单列出来学习,在交大的研究生课程安排中,神经网络是机器学习的后续课程。
对于第6,7章,也不在下面的学习路线中,因为这部分是关于核技巧方面的,主要是就是高斯过程回归,高斯过程分类以及SVM等内容。
2. 一个概率图框架为中心视角
排除了上面几章的内容,PRML书中可以用下面的学习路线图覆盖,通过这个图可以理清楚了各个内容的不同角色。
<img src="https://pic3.mg.com/_b.png" data-rawwidth="1888" data-rawheight="412" class="origin_image zh-lightbox-thumb" width="1888" data-original="https://pic3.mg.com/_r.png">
说明:
(1)一般模型中都会有隐变量因此,,因此对于P(X)的采用MLE学习的另一个技巧,便是第九章 EM算法。条件是在M步时,Q要可以被analytically computed。
(2)至于为什么近似,Exact Inference is hard we resort to approximation
3. 隐变量技巧
下面我们看看另外一个视角:隐变量技巧。隐变量不仅可以使得模型的表达能力丰富起来,而且通常对于隐变量往往富有一定的实际意义。
<img src="https://pic1.mg.com/_b.png" data-rawwidth="1764" data-rawheight="422" class="origin_image zh-lightbox-thumb" width="1764" data-original="https://pic1.mg.com/_r.png">
说明:
(1)这里所谓的结合模型中,在PRML中最后一章仅仅提到了以加法的方式进行模型集合,也就是mixture of experts,在论文Hinton G E. Training procts of experts by minimizing contrastive divergence[J]. Neural computation, 2002, 14(8): 1771-1800. 提出了proct of experts 模型,也就是以乘法的方式进行结合,RBM就是一种特殊的proct of experts 模型,而高斯混合模型便是加法模型的代表。
(2)隐变量的技巧是机器学习中一种重要的技巧,隐变量的加入不仅仅增加了模型的表达能力,而且,隐变量还可以被赋予某种特殊的意义,比如RBM模型中隐变量h被当成显变量v的特征抽象。这当然归根结底是因为隐变量模型确实是现实世界真实存在的情况,unobserved but important variables do exist! 当然隐变量的引入也为模型的推断带来了新的挑战,有很多比较好的隐变量模型往往找不到很高效的方法,而被限制着。
4. 例子说明
下面分别从上面两个视角来分析RBM模型,贝叶斯线性回归和序列模型。
4.1 RBM模型
RBM模型是一个无向2层对称的图模型,从隐变量的视角来看,它是一个以乘法方式结合的distributed models。当然隐变量的引入增加了模型的复杂性和表达能力,但是也为学习,推断带来了问题。对于RBM的参数学习,因为是无向图,所以采用MLE最大化P(X),但是由于此时P(X,Z)难以评估,所以
<img src="https://pic2.mg.com/v2-_b.png" data-rawwidth="834" data-rawheight="94" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic2.mg.com/v2-_r.png">
很难计算,没有在RBM的学习中不能像高斯混合模型那样可以采取EM算法。因此只能采取最为标准的做法,求取P(X)的梯度,结果梯度公式如下:
<img src="https://pic2.mg.com/v2-_b.png" data-rawwidth="800" data-rawheight="90" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic2.mg.com/v2-_r.png">
然而对于计算后面的model部分的积分需要知道模型的概率分布,评估模型的概率分布需要计算一个标准化的分母,难以计算。因此就需要依赖近似,由于p(v|h),p(h|v)都是可以分析公式表达,因此采用Gibbs sampler来数值逼近积分。当然后来Hinton G E. Training procts of experts by minimizing contrastive divergence[J].发现对于这一部分,Gibbs sampler 不需要多部的迭代,一次迭代就可以了,从而使的训练RBM的时间代价大大降低了,后来(A fast learning algorithm for deep belief nets,2006)提出了贪婪式的训练多层DBN(stacked RBM),每层都是训练RBM,从而使的深度学习焕发新的活力(Recing the dimensionality of data with neural networks,2006)。
4.2 贝叶斯线性回归Bayesian Linear Regression BLR
这个模型是最为基础的,这个模型在PRML中,利用直接推断,变分法推断,MCMC采样都是可以做的;因此便于比较不同算法得到的结果。之前,本来打算在这里以LDA主题模型来举例,虽然LDA的EM算法, 变分法,以及Gibbs sampling 都是可以做的,但是模型太复杂,所以果断放弃了,以BLR模型作为例子说明。
BLR是一个有向图模型,是一个典型的贝叶斯网络(虽然简单一点)。如果以一个贝叶斯的视角来看,其中的隐变量便是线性参数w,以及各种超参数α,β.....,在贝叶斯的处理视角之下,这些都会赋予一个先验分布。当然,有些模型书中也提到,有不同层次上的贝叶斯网络。有的是仅仅对参数w赋予一个先验分布,而对于其他的参数(hyperparameter)仅仅是作为模型参数,就是假设是一个渡固定的数值,然后再通过learn evidence function,其实说白了就是MLE,来寻找最佳的超参数α,β....。相比于把线性参数w,以及各种超参数α,β.....全部作为放入到贝叶斯网络中,这样的做法显然简化了模型,降低了贝叶斯网络的复杂性。这个技巧也在多处的论文中出现。
从隐变量的角度来看,由于BLR模型相对简单,其中并没有随机隐变量,仅仅是一些参数w,以及各种超参数α,β..的环境隐变量。
4.3 序列模型:隐马尔可夫链HMM与条件随机CRF
隐马尔可夫链HMM这个模型是一个有向图模型,典型的贝叶斯网络,只不过这个网络是一个线性链(linear chains),因此可以进行分析上推断,要知道对于一般网络,并不存在通用的实用的inference算法。因为HMM是一个有向图模型。但是(1)在PRML书中,以及李航《统计学习》中并没有把其当作一个贝叶斯网络来进行处理,对所有的参数比如发射概率,转移矩阵概率都是模型的参数,而不是通过赋予一个先验分布,从而纳入到贝叶斯网络框架之中。因此对于模型而言,关键的便是通过MLE最大化P(X)来学习模型的参数,因为这里的有隐变量,因此在PRML,以及《统计学习》中都是通过EM算法做的。(2)其实,HMM是一个典型的线性链式的贝叶斯网络,因此对于通过对其参数赋予先验分布,进而从贝叶斯的角度,来对模型进行推断是一个非常自然的想法。我在论文Sharon Goldwater, Thomas L Griffiths 论文 A Fully Bayesian Approach to Unsupervised Part-of-Speech Tagging,中作者采用了Bayesian HMM 重新做了POS任务。作者在文中还详细罗列了Bayesian HMM 相比普通的HMM的优点:(a)可以使用先验知识,例如在POS中语言的认知可以加入到先验分布之中,而且(b)贝叶斯的推断,是通过一个后验分布推断参数,相比MLE点估计,会更加准确。对于贝叶斯的推断,作者在文中使用了Gibbs sample抽样实现了数值采样推断模型。最后作者比较了Gibbs sample+Bayesian HMM和普通的HMM +EM,在POS任务效果更加好。另外,对于本论文的作者Thomas L Griffiths,第一次接触这个学者,是在读Gibbs sample in LDA这篇文章,作者推导了LDA的各种的条件分布,然后基于Gibbs sample 进行采样,记得Github上有Java版的实现代码,其推导十分严谨,并且有代码辅助,是学习LDA的一个捷径。在近似推断方面可以看出Thomas L Griffiths是一个坚定的数值采样学派,而LDA的开山之作《Latent Dirichlet Allocation 》的作者David M. Blei,看了作者部分文章以后,发现这个人是在近似推断方面是一个变分法的坚定学派,在《Latent Dirichlet Allocation 》之中,便是通过变分法进行推断了,David M. Blei还写了一个关于变分法的入门讲义pdf,网上可以搜到。所以回看我们概率图视角,做机器学习推断是不可避免的,有的是变分法近似,有的是数值采样近似,也有的是EM算法试一试。至于选择哪一种,就看你的问题哪一个比较简单了。但是好像有的人对这些方面各有偏爱。
再说一下条件随机场CRF,相比与HMM,这也是一个序列模型,在很多的NLP任务中,CRF都是state of art 的算法,毕竟人家可以方便的特征工程嘛。但是这种日子被深度学习取代了,在NLP方面,RNN(递归神经网络)要比CRF表现更好,见我之前博文基于RNN做语义理解和词向量。先不说这么远,CRF的模型架构上是一个典型的无向的链式概率图模型,因此,(回看我们概率图的视角),CRF的关键问题便是如何进行学习了P(X),好在求其该模型直接求其梯度并没有太大的困难,具体可以参见李航的《统计学习》。
5 结束语
这篇文章,从概率图,隐变量两个视角对PRML中各个章节进行了串联,并以RBM,BLR,序列模型(HMM&CRF)具体说明这种串联。