这里写自定义目录标题
概率和统计是一个东西吗?
概率(probabilty)和统计(statistics)看似两个相近的概念,其实研究的问题刚好相反。
-
概率研究的问题是,已知一个模型和参数,怎么去预测这个模型产生的结果的特性(例如均值,方差,协方差等等)。
举个例子,我想研究怎么养猪(模型是猪),我选好了想养的品种、喂养方式、猪棚的设计等等(选择参数),我想知道我养出来的猪大概能有多肥,肉质怎么样(预测结果)。 -
统计是,有一堆数据,要利用这堆数据去预测模型和参数。
仍以猪为例。现在我买到了一堆肉,通过观察和判断,我确定这是猪肉(这就确定了模型。在实际研究中,也是通过观察数据推测模型是/像高斯分布的、指数分布的、拉普拉斯分布的等等),然后,可以进一步研究,判定这猪的品种、这是圈养猪还是跑山猪还是网易猪,等等(推测模型参数)。
一句话总结:概率是已知模型和参数,推数据。统计是已知数据,推模型和参数。
显然,本文解释的MLE(最大似然估计)和MAP(最大后验估计)都是统计领域的问题。它们都是用来推测参数的方法(不是推测模型,模型必须预先指定或假设好)。
为什么会存在着两种不同方法呢? 这需要理解贝叶斯思想。我们来看看贝叶斯公式。
概率函数与似然函数
似然(likelihood)这个词其实和概率(probability)是差不多的意思,Colins字典这么解释:The likelihood of something happening is how likely it is to happen. 你把likelihood换成probability,这解释也读得通。但是在统计里面,似然函数和概率函数却是两个不同的概念(其实也很相近就是了)。
对于这个函数:
----公式(1)
输入有两个:表示某一个具体的数据;表示模型的参数。
-
概率函数:对于公式1,如果是已知确定的,是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少。
-
似然函数:对于公式1,如果是已知确定的,是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少。
这有点像“一菜两吃”的意思。其实这样的形式我们以前也不是没遇到过。例如,, 即的次方。如果x是已知确定的(例如x=2),这就是f(y)=2^y, 这是指数函数。
如果y是已知确定的(例如y=2),这就是f(x)=x^2,这是二次函数。同一个数学形式,从不同的变量角度观察,可以有不同的名字。
最大似然估计(MLE)
假设有一个造币厂生产某种硬币,现在我们拿到了一枚这种硬币,想试试这硬币是不是均匀的。即想知道抛这枚硬币,正面出现的概率(记为θ)各是多少?
这是一个统计问题,回想一下,解决统计问题需要什么? 数据!
于是我们拿这枚硬币抛了10次,得到的数据()是:反正正正正反正正正反。
- 模型:假设是二项分布;
- 参数:我们想求的正面概率θ是模型参数。
那么,出现实验结果(即反正正正正反正正正反)的似然函数是多少呢?
注意,这是个只关于θ的函数。
最大似然估计,顾名思义,就是要最大化这个似然函数。
我们可以画出f(θ)的图像:
可以看出,在θ=0.7时,似然函数取得最大值。
这样,我们已经完成了对θ的最大似然估计。即,抛10次硬币,发现7次硬币正面向上,最大似然估计认为正面向上的概率是0.7。(ummm…这非常直观合理,对吧?)
- 贝叶斯思想:
且慢,一些人可能会说,硬币一般都是均匀的啊! 就算你做实验发现结果是“反正正正正反正正正反”,我也不信θ=0.7。
这里就包含了贝叶斯学派的思想了——要考虑先验概率。 为此,引入了最大后验概率估计。
最大后验概率估计
- 最大似然估计是求参数θ, 使似然函数最大。
- 最大后验概率估计则是想求θ使最大。求得的θ不单单让似然函数大,θ自己出现的先验概率也得大。 (这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法)
- MAP其实是在最大化, 不过因为是确定的(即投出的“反正正正正反正正正反”),是一个已知值,所以去掉了分母.
的求法:
(假设“投10次硬币”是一次实验,实验做了1000次,“反正正正正反正正正反”出现了n次,
则P(x0)=n/1000P(x0)=n/1000。总之,这是一个可以由数据集得到的值)。
- 最大化的意义: 已经出现了,要求θ取什么值使最大。顺带一提,即后验概率,这就是“最大后验概率估计”名字的由来。
最大后验估计的例子
对于投硬币的例子来看,我们认为(”先验地知道“)θ取0.5的概率很大,取其他值的概率小一些。我们用一个高斯分布来具体描述我们掌握的这个先验知识,例如假设P(θ)为均值0.5,方差0.1的高斯函数,如下图:
对于投币10次的硬币实验,实验结果(即反正正正正反正正正反)的似然函数是:
则的函数图像为:
注意,此时函数取最大值时,θ取值已向左偏移,不再是0.7。实际上,在θ=0.558时函数取得了最大值。即,用最大后验概率估计,得到θ=0.558
最后,那要怎样才能说服一个贝叶斯派相信θ=0.7呢?你得多做点实验。实验做得多,似然函数P(x0|θ)的重要性就增加,而先验概率P(θ)的影响就变小了
如果做了1000次实验,其中700次都是正面向上,这时似然函数为:,而P(θ)还是那个高斯函数。此时,似然函数图像如下:
如果仍然假设P(θ)为均值0.5,方差0.1的高斯函数,P(x0|θ)P(θ)的函数图像为:
在θ=0.696处,P(x0|θ)P(θ)取得最大值。
这样,就算一个考虑了先验概率的贝叶斯派,也不得不承认得把θ估计在0.7附近了。
贝叶斯派观点 VS 频率派观点
先简单总结下频率派与贝叶斯派各自不同的思考方式:
- 频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X 是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X 的分布;
最大似然估计本质上就是频率派思维,认为模型参数θ虽然未知但是固定的,通过最大似然来估计θ。 - 贝叶斯派的观点则截然相反,他们认为参数是随机变量,而样本X 是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。
最大后验估计本质上是贝叶斯派思维。贝叶斯派既然把θ看做是一个随机变量,所以要计算P(θ|x0)的分布,便得事先知道θ的无条件分布,即在有样本之前(或观察到X之前),θ有着怎样的分布。
贝叶斯定理
在引出贝叶斯定理之前,先学习几个定义:
-
条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。其定义为:
-
联合概率表示两个事件共同发生的概率。A与B的联合概率表示为。
-
边缘概率(又称先验概率)是某个事件发生的概率。
通过联合概率求边缘概率:在联合概率中,把最终结果中那些不需要的事件通过合并成它们的全概率,而消去它们(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率),这称为边缘化(marginalization),比如A的边缘概率表示为P(A),B的边缘概率表示为P(B)。
接着,考虑一个问题:P(A|B)是在B发生的情况下A发生的可能性。
- 首先,事件B发生之前,我们对事件A的发生有一个基本的概率判断,称为A的先验概率,用P(A)表示;
- 其次,事件B发生之后,我们对事件A的发生概率重新评估,称为A的后验概率,用P(A|B)表示;
- 类似的,事件A发生之前,我们对事件B的发生有一个基本的概率判断,称为B的先验概率,用P(B)表示;
- 同样,事件A发生之后,我们对事件B的发生概率重新评估,称为B的后验概率,用P(B|A)表示。
贝叶斯定理便是基于下述贝叶斯公式:
贝叶斯公式可以直接根据条件概率的定义直接推出。
朴素贝叶斯分类器
带你彻彻底底搞懂朴素贝叶斯公式
一. 朴素贝叶斯
朴素贝叶斯用于分类,是一种分类器,根据观察到的特征来判别类型。
朴素贝叶斯中的朴素一词的来源就是假设各特征之间相互独立(注意:是特征之间独立,不是特征与类别之间独立,如果是后者那么通过特征来推断类别就没有意义了)。这一假设使得朴素贝叶斯算法变得简单,但有时会牺牲一定的分类准确率。
-
贝叶斯公式:
-
在分类任务中,我们的目的是要根据观察到的特征,来实现分类任务,即求出p(类别|特征)。
将贝叶斯公式应用到分类任务: -
朴素贝叶斯:通常的分类任务中,特征有许多个,如果假设各个特征之间相互独立,那么就变成了朴素贝叶斯:
其中,表示第k类,表示第j个特征 -
朴素贝叶斯公式不求分母,只求分子,最后求各个分子之间的相对比值,就可得出各个类别的概率。
朴素贝叶斯的优缺点: -
朴素贝叶斯的优缺点
优点:
(1) 算法逻辑简单,易于实现(算法思路很简单,只要使用贝叶斯公式转化即可!)
(2)分类过程中时空开销小(假设特征相互独立,只会涉及到二维存储)
缺点:
朴素贝叶斯假设属性之间相互独立,这种假设在实际过程中往往是不成立的。在属性之间相关性越大,分类误差也就越大。
朴素贝叶斯分类器实例
首先,给出数据如下:
现在给我们的问题是,如果一对男女朋友,男生想女生求婚,男生的四个特点分别是不帅,性格不好,身高矮,不上进,请你判断一下女生是嫁还是不嫁?
这是典型的二分类问题,按照朴素贝叶斯的求解,转换为求
1)P(嫁|不帅、性格不好、矮、不上进)的概率
2)P(不嫁|不帅、性格不好、矮、不上进)的概率。
这里我们根据贝特斯公式:
在根据朴素贝叶斯假设(特征之间独立):
我们的目标是求解为不同的类别,贝叶斯公式的分母总是相同的。所以,只求解分子即可。
-
第一步,求各个特征的概率值和条件概率值的方法:从观察数据中统计
对原始数据表进行统计可得:
P(嫁)=1/2、P(不帅|嫁)=1/2、P(性格不好|嫁)=1/6、P(矮|嫁)=1/6、P(不上进|嫁)=1/6。
P(不嫁)=1/2、P(不帅|不嫁)=1/3、P(性格不好|不嫁)=1/2、P(矮|不嫁)=1、P(不上进|不嫁)=2/3 -
第二步,求朴素贝叶斯公式的分子
于是,对于类别“嫁”的贝叶斯分子为:P(嫁)P(不帅|嫁)P(性格不好|嫁)P(矮|嫁)P(不上进|嫁)=1/2 * 1/2 * 1/6 * 1/6 * 1/6=1/864
对于类别“不嫁”的贝叶斯分子为:P(不嫁)P(不帅|不嫁)P(性格不好|不嫁)P(矮|不嫁)P(不上进|不嫁)=1/2 * 1/3 * 1/2 * 1* 2/3=1/18。 -
第三步,求分子之间的相对比值,得出各个类别的概率。
朴素贝叶斯公式不求分母,只求分子,最后求各个分子之间的相对比值,就可得出各个类别的概率。
P(嫁|不帅、性格不好、矮、不上进)=(1/864) / (1/864+1/18)=1/49=2.04%
P(不嫁|不帅、性格不好、矮、不上进)=(1/18) / (1/864+1/18)=48/49=97.96%
贝叶斯网络
贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型(directed acyclic graphical model),是一种概率图模型,于1985年由Judea Pearl首先提出。它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。
贝叶斯网络的有向无环图中的节点表示随机变量{X1,X2,…,Xn}
它们可以是可观察到的变量,或隐变量、未知参数等。认为有因果关系(或非条件独立)的变量或命题则用箭头来连接。若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是“果(children)”,两节点就会产生一个条件概率值。
例如,假设节点E直接影响到节点H,即E→H,则用从E指向H的箭头建立结点E到结点H的有向弧(E,H),权值(即连接强度)用条件概率P(H|E)来表示,如下图所示:
简言之,把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。其主要用来描述随机变量之间的条件依赖,用圈表示随机变量(random variables),用箭头表示条件依赖(conditional dependencies)。
此外,对于任意的随机变量,其联合概率可由各自的局部条件概率分布相乘而得出:
贝叶斯网络定义: 令G = (I,E)表示一个有向无环图(DAG),其中I代表图形中所有的节点的集合,而E代表有向连接线段的集合,且令X = (Xi)i ∈ I为有向无环图中的某一节点i所代表的随机变量,若节点X的联合概率可以表示成:
则称X为相对于有向无环图G 的贝叶斯网络,其中,pa(i)表示节点i之“因”,或称pa(i)是i的parents(父母)。
此外,对于任意的随机变量,其联合概率可由各自的局部条件概率分布相乘而得出:
如下图所示,便是一个简单的贝叶斯网络:
有p(a,b,c)=p(c|a,b)p(b|a)p(a)
贝叶斯网络的结构形式
- 形式一: head-to-head
依上图,所以有:P(a,b,c) = P(a)P(b)P(c|a,b)成立,即在c未知的条件下,a、b被阻断(blocked),是独立的,称之为head-to-head条件独立。 - 形式二: tail-to -tail
考虑c未知,跟c已知这两种情况:
在c未知的时候,有:P(a,b,c)=P©P(a|c)P(b|c),此时,没法得出P(a,b) = P(a)P(b),即c未知时,a、b不独立。
在c已知的时候(c已知时的条件概率),有:P(a,b|c)=P(a,b,c)/P©,然后将P(a,b,c)=P©P(a|c)P(b|c)带入式子中,得到:P(a,b|c)=P(a,b,c) /P( c) = P( c)P(a|c)P(b|c) / P( c) = P(a|c)*P(b|c),即c已知时,a、b独立。
- 形式三:head-to-tail
还是分c未知跟c已知这两种情况:
c未知时,有:P(a,b,c)=P(a)P(c|a)P(b|c),但无法推出P(a,b) = P(a)P(b),即c未知时,a、b不独立。
c已知时,有:,且根据,可化简得到:
所以,在c给定的条件下,a,b被阻断(blocked),是独立的,称之为head-to-tail条件独立。
这个head-to-tail其实就是一个链式网络,如下图所示:
根据之前对head-to-tail的讲解,我们已经知道,在xi给定的条件下,xi+1的分布和x1,x2…xi-1条件独立。意味着啥呢?意味着:xi+1的分布状态只和xi有关,和其他变量条件独立。通俗点说,当前状态只跟上一状态有关,跟上上或上上之前的状态无关。这种顺次演变的随机过程,就叫做马尔科夫链(Markov chain)。
因子图
wikipedia上是这样定义因子图的:将一个具有多变量的全局函数因子分解,得到几个局部函数的乘积,以此为基础得到的一个双向图叫做因子图(Factor Graph)。
通俗来讲,所谓因子图就是对函数进行因子分解得到的一种概率图。一般内含两种节点:变量节点和函数节点。我们知道,一个全局函数通过因式分解能够分解为多个局部函数的乘积,这些局部函数和对应的变量关系就体现在因子图上。
举个例子,现在有一个全局函数,其因式分解方程为:
其中fA,fB,fC,fD,fE为各函数,表示变量之间的关系,可以是条件概率也可以是其他关系。其对应的因子图为:
在概率图中,求某个变量的边缘分布是常见的问题。这问题有很多求解方法,其中之一就是把贝叶斯网络或马尔科夫随机场转换成因子图,然后用sum-product算法求解。换言之,基于因子图可以用sum-product 算法高效的求各个变量的边缘分布。
从贝叶斯网络来观察朴素贝叶斯
朴素贝叶斯可以看做是贝叶斯网络的特殊情况:即该网络中无边,各个节点都是独立的。
朴素贝叶斯朴素在哪里呢? —— 两个假设:
- 一个特征出现的概率与其他特征(条件)独立;
- 每个特征同等重要。
来源:CSDN
作者:xys430381_1
链接:https://blog.csdn.net/xys430381_1/article/details/103937412