机器学习 _ 统计模型之(一)贝叶斯公式

1. 贝叶斯法则

  先举个例子:比如事件 X 是努力,事件 Y 是成功,能成功的基本都努力了(条件Y成立时,X必然成立);但是努力不一定都能成功(条件 X 成立时,Y 不是一定成立)。也就是说,X 与 Y 之间的关系不对等,但 X 和 Y 又确实有关系。贝叶斯法则就是用来描述这种关系的。

  所有要是有人说“成功源于努力,所以努力必能成功”,那是心灵鸡汤。正确的说法是努力能把成功的可能性提高一点。

2. 贝叶斯公式

  事件X发生的概率,称为边缘概率,记作 P(X)。

  事件 Y 在事件 X 已经发生条件下的发生概率,称为条件概率,记为 P(Y|X)。

  事件 X,Y 共同发生的概率称为联合概率,记为 P(XY) 或者 P(X,Y)。

有公式:

 P(XY) = P(Y)P(X|Y)=P(X)P(Y|X)

 P(Y|X)=P(XY)/P(X)=P(Y) P(X|Y)/P(X)

  还用上面的例子,稍作调整:假设有 50% 的人努力了,即 P(X)=50%;有 20% 的人成功了 P(Y)=20%;且知道成功的人 75% 都努力了 P(X|Y)=75%;求如果努力有多大成功率?

  努力且成功的人:P(X,Y)=P(X|Y)P(Y)=75%*20%=15%

  努力的人有多大成功率:P(Y|X)=P(X,Y)/P(X)=15%/50%=30%

完整的贝叶斯公式:

  完整公式中,分母是所有努力者,即“努力&成功”和“努力&不成功”之和,上例中直接给出这两部分之和:有 50% 的人努力了。

  有时候我们需要自己计算分母,比如将题目改为:有 20% 的人成功了 P(Y1)=20%,成功的人有 75% 是努力的 P(X1|Y1)=75%,不成功的人有 43.75% 是努力的 P(X1|Y0)=43.75%,如上图所示。这里用 Y1 表示成功 Y0 表示不成功,X1 表示努力 X0 示不努力。

  此时,代入完整公式得到:

3. 相关概念

(1) 先验/后验

  先验概率 + 样本信息=>后验概率

  先验概率是在进行一系列具体的观测和实验之前就知道的量 P(Y),一般来源于经验和历史资料。而后验概率一般认为是在给定样本的情况下的条件分布 P(Y|X)。先验与样本的结合也是:规则和实践的结合。

  将学习视为一个减少不确定性的过程,即用 X 带来的信息不断修改 Y 判断标准的过程,每一次训练之后,后验变为下一次的先验,不断重复。

(2) 判别模型与生成模型

  判别式模型是直接计算条件概率 P(Y|X) 建模,简单的说就是用正例反例直接做除法算出概率,常见的有线性回归,SVM 等。

  生成式模型是通过联合概率 P(X,Y),和贝叶斯公式求出 P(Y|X),其中包括推理的过程,常见的有朴素贝叶斯,HMM 等。

(3) 拉普拉斯平滑(修正)

  拉普拉斯平滑(Laplace Smoothing)又被称为加 1 平滑,它主要解决的是在概率相乘的过程中,如果有一个值为 0,会导致结果为 0 的问题。

  具体的方法是:分子加 1,分母加 K,K 代表类别数目。

  比如:p(X1| C1) 是指的在垃圾邮件 C1 这个类别中,单词 X1 出现的概率。

 p(X1|C1)= n1 / n,n1 为 X1 出现的次数,n 为总单词数。当 X1 不出现时 P(X1|C1)=0,修正后 p(X1|C1)=(n1+1)/(n+N),其中 N 是词库中所有单词的数目。

(4) 似然函数

  概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量输出结果时,未知参数的可能取值。

  假设条件是 X,结果是 Y,条件能推出结果 X->Y,但结果推不出条件,现在手里有一些对结果 Y 的观测值,想求 X,那么我们举出 X 的所有可能性,再使用 X->Y 的公式求 Y,看哪个 X 计算出的 Y 和当前观测最契合,就选哪个 X。这就是求取最大似然的原理。

  计算似然函数时,常使用似然函数的对数形式,即“对数似然函数”。它简化了操作(取对数后乘法变为加法),同时也避免了连乘之后值太小的问题。

4. 总结

  统计模型的优势在于,用概率代替硬规则,如果两种可能性:0.51:0.49 和 0.99:0.01,如果用于预测,都会选前面的那种可能性,但是概率能展示出更多的信息。