贝叶斯方法与其中的思想

content

连续性随机变量的分布以及概率密度

似然函数

贝叶斯方法

参考资料(强烈推荐最后一个)


连续性随机变量的分布以及概率密度

连续性随机变量的分布不能像离散型的分布那样去描述。因为这种变量的取值充满一个区间,如果取一个点问他的概率,只能是0。
刻画连续性随机变量的概率分布的一个方法是使用概率密度函数
- 定义:设连续型随机变量X有概率分布函数F(x),则F(x)的导数f(x) = F‘(x) 称为X的概率密度函数。

概率密度函数就是来描述连续性随机变量的概率分布的。
- 理解:在连续性随机变量中去一个点x,事件{x < X ≤ x + h}的概率为F(x + h) - F(x)。因此[F(x + h) - F(x)] / h 为在x附近h这个长度上单位长度所占有的概率。令h趋近于0,则[F(x + h) - F(x)] / h的极限f(x) = F‘(x)为x点处单位长的概率。


似然函数

似然函数的定义,它是给定联合样本值x下关于(未知)参数θ 的函数:L(θ | x) = f(x | θ)
这里的x是指联合样本随机变量X取到的值,即X = x;
这里的θ是指未知参数,它属于参数空间;
这里的f(x | θ)是一个密度函数,特别地,它表示(给定)θ下关于联合样本值x的联合密度函数。
简单来说,似然函数是关于θ的函数(通过各种情况的可能性,猜参数)。密度函数是关于x的函数(通过参数,推测各种情况的可能性)。
所以上边等式的等号=理解为函数值形式的相等,而不是两个函数本身是同一函数(根据函数相等的定义,函数相等当且仅当定义域相等并且对应关系相等)。

总结:概率密度表达给定θ下样本随机向量X = x的可能性,而似然表达了给定样本X = x下参数θ1(相对于另外的参数θ2)为真实值的可能性。


贝叶斯方法 —— 先验与似然共舞

P(B|A) = P(AB) / P(A)

举例:纠正拼写,详细例子见参考资料平凡而又神奇的贝叶斯方法
如果一个人在打字时输入了thew,显然这是一个错误的单词,但是实际上他想输入的是the还是thaw或者是其他的呢?这里就引入了纠正拼写问题。
我们需要得到的结果可以表示为P(我们猜测他想输入的 | 输入的是thew)
设我们猜测他想输入的为h1, h2… 统称为h
设他实际输入的是D
则问题转化为P(h | D)
使用贝叶斯公式得到P(h | D) = P(h) * P(D | h) / P(D)
也就是P(h | D) ∝ P(h) * P(D | h)
P(h)是什么: 它是在所有的词汇表中输入h代表的这个单词的可能性,也就是h代表的这个单词的先验概率
P(D | h)是什么: 回去看看上边介绍的似然函数,是不是有些眼熟。可以这么理解,我想要的是更好地满足给定的D的情况下的h,这就是似然

如果不使用贝叶斯呢?

一个最常见的替代方案就是,选择离 thew 的编辑距离最近的。然而 the 和 thaw 离 thew 的编辑距离都是 1 。这可咋办捏?你说,不慌,那还是好办。我们就看到底哪个更可能被错打为 thew 就是了。我们注意到字母 e 和字母 w 在键盘上离得很紧,无名指一抽筋就不小心多打出一个 w 来,the 就变成 thew 了。而另一方面 thaw 被错打成 thew 的可能性就相对小一点,因为 e 和 a 离得较远而且使用的指头相差一个指头(一个是中指一个是小指,不像 e 和 w 使用的指头靠在一块——神经科学的证据表明紧邻的身体设施之间容易串位)。OK,很好,因为你现在已经是在用最大似然方法了,或者直白一点,你就是在计算那个使得 P(D | h) 最大的 h 。
——平凡而又神奇的贝叶斯方法

贝叶斯就是先验乘似然,既然似然已经可以做到了,为什么还要多加一个先验呢。一方面当似然不能做出有有效判断的时候,先验可以提供另一种判断方式,例如词语纠错中可以通过哪个词更常见这个先验来进行判断。另一方面,即便一个猜测与数据非常符合,也并不代表这个猜测就是更好的猜测,因为这个猜测本身的可能性也许就非常低。

例如:-1 3 7 11 你说是等差数列更有可能呢?还是 -X^3 / 11 + 9/11*X^2 + 23/11 每项把前项作为 X 带入后计算得到的数列?此外曲线拟合也是,平面上 N 个点总是可以用 N-1 阶多项式来完全拟合,当 N 个点近似但不精确共线的时候,用 N-1 阶多项式来拟合能够精确通过每一个点,然而用直线来做拟合/线性回归的时候却会使得某些点不能位于直线上。
——平凡而又神奇的贝叶斯方法

所以到底哪个好呢?多项式?还是直线?一般地说肯定是越低阶的多项式越靠谱,可以理解为低阶多项式更常见,也就是其先验概率更大。当然不是随意的低阶都可以,同样要满足其似然,因此这就是贝叶斯将先验和似然相乘的原因。
如果使用一个高阶多项式完全拟合分布,甚至连噪声都进行了拟合,它确实是最大似然的选择,但是它真的好吗?是不是过拟合了?因此P(D | h) 大不代表你的 h (猜测)就是更好的 h,还要看 P(h) 是怎样的。

来比较哪个模型最为靠谱。前面提到,光靠 P(D | h) (即“似然”)是不够的,有时候还需要引入 P(h) 这个先验概率。奥卡姆剃刀就是说 P(h) 较大的模型有较大的优势,而最大似然则是说最符合观测数据的(即 P(D | h) 最大的)最有优势。整个模型比较就是这两方力量的拉锯。我们不妨再举一个简单的例子来说明这一精神:你随便找枚硬币,掷一下,观察一下结果。好,你观察到的结果要么是“正”,要么是“反”(不,不是少林足球那枚硬币:P ),不妨假设你观察到的是“正”。现在你要去根据这个观测数据推断这枚硬币掷出“正”的概率是多大。根据最大似然估计的精神,我们应该猜测这枚硬币掷出“正”的概率是 1 ,因为这个才是能最大化 P(D | h) 的那个猜测。然而每个人都会大摇其头——很显然,你随机摸出一枚硬币这枚硬币居然没有反面的概率是“不存在的”,我们对一枚随机硬币是否一枚有偏硬币,偏了多少,是有着一个先验的认识的,这个认识就是绝大多数硬币都是基本公平的,偏得越多的硬币越少见(可以用一个 beta 分布来表达这一先验概率)。将这个先验正态分布 p(θ) (其中 θ 表示硬币掷出正面的比例,小写的 p 代表这是概率密度函数)结合到我们的问题中,我们便不是去最大化 P(D | h) ,而是去最大化 P(D | θ) * p(θ) ,显然 θ = 1 是不行的,因为 P(θ=1) 为 0 ,导致整个乘积也为 0 。实际上,只要对这个式子求一个导数就可以得到最值点。
——平凡而又神奇的贝叶斯方法

最后再引用一段

朴素贝叶斯方法

朴素贝叶斯方法是一个很特别的方法,所以值得介绍一下。我们用朴素贝叶斯在垃圾邮件过滤中的应用来举例说明。

贝叶斯垃圾邮件过滤器

问题是什么?问题是,给定一封邮件,判定它是否属于垃圾邮件。按照先例,我们还是用 D 来表示这封邮件,注意 D 由 N 个单词组成。我们用 h+ 来表示垃圾邮件,h- 表示正常邮件。问题可以形式化地描述为求:
P(h+|D) = P(h+) * P(D|h+) / P(D)
P(h-|D) = P(h-) * P(D|h-) / P(D)
其中 P(h+) 和 P(h-) 这两个先验概率都是很容易求出来的,只需要计算一个邮件库里面垃圾邮件和正常邮件的比例就行了。然而 P(D|h+) 却不容易求,因为 D 里面含有 N 个单词 d1, d2, d3, .. ,所以P(D|h+) = P(d1,d2,..,dn|h+) 。我们又一次遇到了数据稀疏性,为什么这么说呢?P(d1,d2,..,dn|h+) 就是说在垃圾邮件当中出现跟我们目前这封邮件一模一样的一封邮件的概率是多大!开玩笑,每封邮件都是不同的,世界上有无穷多封邮件。瞧,这就是数据稀疏性,因为可以肯定地说,你收集的训练数据库不管里面含了多少封邮件,也不可能找出一封跟目前这封一模一样的。结果呢?我们又该如何来计算 P(d1,d2,..,dn|h+) 呢?
我们将 P(d1,d2,..,dn|h+) 扩展为: P(d1|h+) * P(d2|d1, h+) * P(d3|d2,d1, h+) * .. 。熟悉这个式子吗?这里我们会使用一个更激进的假设,我们假设 di 与 di-1 是完全条件无关的,于是式子就简化为 P(d1|h+) * P(d2|h+) * P(d3|h+) * .. 。这个就是所谓的条件独立假设,也正是朴素贝叶斯方法的朴素之处。而计算 P(d1|h+) * P(d2|h+) * P(d3|h+) * .. 就太简单了,只要统计 di 这个单词在垃圾邮件中出现的频率即可。关于贝叶斯垃圾邮件过滤更多的内容可以参考这个条目,注意其中提到的其他资料。
——平凡而又神奇的贝叶斯方法

条件独立假设,也正是朴素贝叶斯方法的朴素之处


参考资料:
概率论与数理统计 陈希孺
如何理解似然函数 https://www.zhihu.com/question/54082000
如何通俗地理解概率论中的「极大似然估计法」?https://www.zhihu.com/question/24124998/answer/242682386
平凡而又神奇的贝叶斯方法http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/

猜你喜欢

转载自blog.csdn.net/yinruiyang94/article/details/78950088
今日推荐