白话机器学习-最大似然

MasterCui 2017-03-26

机器学习,从本质上讲,就是一种经验的总结。

例如,“山雨欲来风满楼”,山里面下大雨之前会刮大风,就是一种经验的总结。当然,这也不是100%准确的事情,只是从概率上看,刮风之后下雨的可能性是最大的。

机器学习模型,我们追求的也就是,这个模型看上去是最靠谱的,最接近我们观察到的事实的。换句话说,我们通过观察到的事件,来确定模型,使得这个模型在概率上说,是最有可能的,最符合我们观察到的事件的。

不均匀硬币

现在,有一枚硬币,由于加工不均匀,每次抛硬币时,其正面朝上的概率为 X ,现在,我们怎么才能知道这个X是多少呢?最简单的办法是抛10次硬币,如果6次正面朝上,我们很容易脱口而出,正面朝上的概率是3/5.

为什么我们可以脱口而出,不假思索的说是3/5呢?理由很简单啊,抛10次,6次向上,正面朝上的概率为3/5最合理啊,这种可能性最高啊。

由于是概率,所以,这个估计或多或少都存在一个运气的问题,可能这个硬币朝上的概率只有1/10,但是抛硬币的人特别妖,就是能够10次里面抛出6次正面朝上。

“抛10次硬币,6次正面向上“ 和 ”硬币正面朝上的概率为3/5”

“抛10次硬币,6次正面向上“ 和 ”硬币正面朝上的概率为1/10”

由于抛硬币问题简单,而且上面两个判断相差很大,所以我们很容易就知道前者可能性最大,后者可能性较小。如果问题改成

山雨欲来风满楼

雨后出现彩虹

哪个比较靠谱,这个就非常难了吧。所以,我们还需要一套理论去量化靠谱程度,可能性到底有多高的程度。

猎人

MLE maximum likelihood estimation的最本质的思想就是:发生某事件X,我们非常关心导致这件事情发生的原因或者细节A(A有多种可能性)。但对于A,我们无法溯源去回放事件,去验证到底是哪个。于是我们企图找到某一个A(即估计值Ahat),使得【基于Ahat,当下我们观察到的现实——X的发生——具有最大的发生的可能性】,这样的想法得到的Ahat就是极大似然估计。一个小故事:有一个业余的猎人新手和一名资深猎人,他们一人一把枪地跑去打猎,砰地一声枪响,一头小鹿应声倒地,这时候问你:更可能的情况是猎人打中了还是新手打中了?在这个故事里,【发生的某事件X】是小鹿被打中,【我们关心的事情A】是谁打中了小鹿,【A的可能的情况】有猎人打中或新手打中,【极大似然估计A】是猎人打中。

概率分布

1. 概率密度函数


假如我们要预测明天的下雨量,x表示下雨的量,f(x)就表示为概率密度,我们随便画一个概率密度,他们的关系如下:

白话机器学习-最大似然

其中概率密度函数f(x)并不代表概率,只是代表当前x点的概率密度,类似于速度不代表位移一样,我们把所有可能发生事件概率相加应该为1(上图面积):

∫+∞−∞f(x)dx=1

其中f(x)>=0,也可以计算下雨量在某个范围内的概率:

P(a<x<b)=∫abf(x)dx=1

积分后的概率即成为概率分布。

2. 二项分布


抛硬币是典型的二线分布,假设我们抛了5次硬币,设定P(x)表示有x次硬币正面朝上的话,我们可以得到一个类似如下的概率分布:

白话机器学习-最大似然

其中x为正面朝上的次数,离散变量和连续变量的差别可以看下面的泊松分布。

3. 泊松分布


泊松分布是二项分布的极限情况。

假设我们现在要估计某个路口一小时经过k辆车的概率,第一步我们需要先大量的观察一段时间,获得一个一小时内通过汽车数量的期望λ。

然后我们把一小时分为60分钟,同时假设每一分钟要么经过一辆车,要么没有车,那么按照二项分布的式子:

P(k)=Ck60(λ60)k(1−λ60)60−k

也就是说,期望除以60分钟(把一小时分成60份)获得每一分钟有一辆车经过的概率。

但是很明显我们不能确保每分钟真的只过一辆,为了更加精确,我们可以把一小时继续分为3600秒或72000个半秒,也就是说分的越多份,越精确。如果我们这么一直分下去,我们就获得了泊松分布,也就是二项分布的极限情况。

如果引入极限和e,泊松分布可以表达为(参考这里):

P(X=k)=e−λλkk!

泊松分布的概率密度和累计概率图像如下:

白话机器学习-最大似然

4. 正态分布


跟泊松分布一样,正态分布其实也是在大量观察现实世界的接触上总结推理出来的,它的概率密度函数为:

f(x)=12π−−√σe−(x−μ)22σ2

图像类似:

白话机器学习-最大似然

其中μ为观察到的数据的均值,是期望的一种估计方式,类似上面泊松分布估计用的期望,在图上表示为中心点的位置。

σ是样本的标准差,在图上可以表现为向中央的紧缩程度。

正态分布的特点是大自然中很多事件都符合它的描述,比如20岁男子的身高、同一个学校里学生的成绩分布等等。

正态分布还有一个有趣的特点是:

  1. 横轴区间(μ-σ,μ+σ)内的面积(即概率)为68.268949%

  2. 横轴区间(μ-1.96σ,μ+1.96σ)内的面积为95.449974%

  3. 横轴区间(μ-2.58σ,μ+2.58σ)内的面积为99.730020%

正态分布可以通过调整其两个参数能够拟合很多自然界的情况,也可以和其他分布在某些情况下互相转换。

5. Gamma分布


正态分布的特点是左右对称,这个世界也有很多不符合这种分布的情况,比如某个事件的热度,可能会先迅速上升,然后缓慢降低热度,还有发射火箭的速度等等。

Gamma分布的概率密度函数为:

白话机器学习-最大似然

其中α为形状参数,表示分布的形状,β为尺度参数,表示左右两边的对称情况,数值越大越对称,无限大时区域正态分布。

下图中k=α,θ=β:

白话机器学习-最大似然

白话机器学习-最大似然

数据的期望可以表示为:E(X)=α/β, D(X)=β/(α2)

从物理意义上说,Gamma分布表示第α件事情发生时所需等待的时间. b表示某事件发生需要的时间

Gamma(a,b)表示第α件事情发生时所需等待的时间。

6. 伯努利、二项分布、多项分布

伯努利分布就是对单次抛硬币的建模,X~Bernoulli(p)的PDF为f(x)=px(1−p)1−x,随机变量X只能取{0, 1}。对于所有的pdf,都要归一化!而这里对于伯努利分布,已经天然归一化了,因此归一化参数就是1。

很多次抛硬币的建模就是二项分布了。注意二项分布有两个参数,n和p,要考虑抛的次数。

二项分布的取值X一般是出现正面的次数,其PDF为:

白话机器学习-最大似然

Cxn就是二项分布pdf的归一化参数。如果是beta分布,把Cxn换成beta函数分之一即可,这样可以从整数情况推广为实数情况。所以beta分布是二项分布的实数推广!

多项分布则更进一层,抛硬币时X只能有两种取值,当X有多种取值时,就应该用多项分布建模。

这时参数p变成了一个向量p⃗ =(p1,…,pk)表示每一个取值被选中的概率,那么X~Multinomial(n,p)的PDF为:

白话机器学习-最大似然

伯努利分布最简单,就是抛一次硬币

二项式分布是抛多次硬币,出现n次正面的概率,其概率密度函数图,就是直方图

白话机器学习-最大似然

多项式分布就是抛一个多面体,每个面朝上的概率为pi, 所以p1+p2+...+pk=1, 抛一次的结果是(x11,x12,x13,...,x1k)注意只有一个x1i=1,其他都为0

那么抛n次多面体,就是多项式分布,其中xi表示i面朝上一共出现了xi次

二项分布的典型例子是扔硬币,硬币正面朝上概率为p, 重复扔n次硬币,k次为正面的概率即为一个二项分布概率。

硬币正面向上概率是0.6,抛10次,6次朝上的概率是 0.2508

硬币正面向上概率是0.1,抛10次,6次朝上的概率是 0.0001

(顺便计算一下,硬币正面向上概率是0.1,抛10次,1次朝上的概率是 0.3874)

无论硬币正面向上概率是多少,如果将抛10次里面1次朝上的概率,2次朝上的概率,一直累加到10次朝上的概率,其总和应该为1.

我们看到10次里面6次朝上的结果,硬币正面向上概率为0.6和0.1之间相差上千倍。

”硬币正面向上概率是0.1,抛10次,1次朝上“ 比 ”硬币正面向上概率是0.6,抛10次,6次朝上“ 更加靠谱

概率分布就是为了量化靠谱程度的数学工具。通过这些工具,我们可以计算出一个观察结果(抛10次硬币,6次正面向上)和一个带参数(正面朝上概率)的模型之间,从概率上讲,相似(似然)程度。

详细资料,请加群获取:586656942

白话机器学习-最大似然

¥61.4
购买

相关推荐