Loading

【机器学习:贝叶斯算法】

references: https://ocw.nctu.edu.tw/course_detail-v.php?bgid=1&gid=1&nid=563

使用贝叶斯算法进行分类

1 基本解读

引例:银行对高危用户的识别,我们以伯努利分布的方式来记录银行高危用户,伯努利分布呢就是二项分布,如果用户是高危用户,我们将其标记为1,如果用户不是高危用户,我们将其标记为0,我们可以使用贝叶斯算法建立模型,实现将用户的特征输入到模型后,自动预测或判定该用户是高危用户。

朴素贝叶斯是最简单的算法,因为它包括了两一个很天真的基本假设,就是特征对应的随机变量之间的独立性假设,这个假设会提高计算效率,但是由于生活中的特征大多是相联系的,因此这个假设会降低一定的准确度。我们可以将朴素贝叶斯看作一个Baseline模型,如果所构建模型的效果甚至不如朴素贝叶斯,那么模型则代表模型效果是比较差的。

image
先验概率来自于过去的历史资料,例如一个营运了十年的银行,会保存有用户的特征、高危用户的数量等资料信息,贝叶斯实际上就是用先验概率来计算后验概率的方法。
image
当有多个随机变量\(X_1,X_2...,X_f\)相互独立的时候,他们的联合概率分布等于各自分别的乘积,也即:
$P(X_1,X_2,...,X_f|C) = P(X_1|C)P(X_2|C) ... P(X_f|C) $

2 二分类

二分类的时候,我们估计的是p(C=1|X)的概率,当p(C=1|X)>0.5是 就将类别判定为1。

image

3 多分类

多分类的时候,分别估计每一个类别出现的概率,取他们中概率最大的作为分类结果,计算任何一个类的概率时,分母总是\(P(X=x)\),我们得到的结果是对比概率大小,因此,我们只需要对比分子结果的大小,就可以实现预测/分类的目标。
image
朴素贝叶斯算法中的不合理假设:
每一个属性所对应的随机变量是相互独立的。
对于分类任务,每一个实例(instance)的属性(atribute)都是相等的。
image

4 朴素贝叶斯计算案例

假设我们要开展打球这一项户外运动,如果某天出去打球标签为+1,某天不出去打球标签为-1,我们的目标是预测在给定四个属性的情况下,某天是否会出去打球。
image
考虑标签的时候,我们基于最大似然估计来计算先验概率 p(打球),解得image其中 N表示总天数,$ x^t$取 0 或 1 ,它是一种伯努利分布。

image
考虑属性的时候,我们拿Outlook属性为例,它包括Sunny、Overcast和Rainy三类,不再是简单的伯努利分布,而是一种多项式分布。类似地,我们基于最大似然估计来计算 p(Sunny) p(Overcast) p(Rainy),\(x_i\)表示三种天气种的一种,取值0或1。\(p_i\)表示第i种天气出现的概率。
image
表格中列示我们计算的结果,将表格种的结果带入公式计算,就可以得到要预测的后验概率,计算出是否开展户外打球活动。
image

5 零频率问题:Zero-frequency Problem

这里有两个观点需要掌握:
观点一:当前实验进度没有出现过的情况,不代表是一定不会发生的。
观点二:平滑后的各情况出现的概率之和为1,平滑可以看作:实验共有n种可能出现的情况,初始时做了nλ次的实验,每种情况出现的次数是λ。后来又做了m = 8 次实验,再根据8次实验的结果对概率进行修正。
image

posted @ 2022-07-15 21:25  ArkonLu  阅读(126)  评论(0编辑  收藏  举报