Nai¨veBayes
一、贝叶斯定理
设
相反
我们通常使用贝叶斯公式进行计算。贝叶斯定理是:
我们假定数据如下,暂时先设定一个维度性别:
男 | 女 | 合计 |
---|---|---|
购买 | 200 | 80 |
不购买 | 80 | 140 |
合计 | 280 | 220 |
先确定事件为:设定用户为男性记为事件
我们期待有这样的数值,新来客户为男性时,他购买的概率是多少?是女性时购买的概率是多少?对等事件我们分别记作
按照理论,我们通常需要一个先验概率,
我们可以用已有的数据计算出先验概率:
购买条件下男性用户的概率
不购买条件下男性用户的概率
购买条件下女性用户的概率
不购买条件下女性用户的概率
购买的概率
有了先验概率之后,我们就可以计算出我们需要的后验概率,也即来了一个男性用户或者女性用户,我们知道他购买的概率。
男性购买的概率:
女性购买的概率:
二、注意点
1、属性是连续的而不是分类的
在实际生活中,属性中大多会存在连续的,比如鱼的长度,人的年龄,借款的额度,借款的次数等等。贝叶斯为了解决这一问题,我们通常假设这一属性服从正态分布又称高斯分布:
其中
属性的期望我们可以用
属性的方差我们可以用
例如我们要计算年龄为25岁小伙子的概率:
根据微积分得到
2、出现维度分类为0的情况
我们对照上边的实例假设一个这样的情况,假设商品电脑非常潮,而男生都喜欢电脑,所有的男性都买了此电脑,也就是说没有购买的男性的人数是0。
这时会出现一个问题。
那么我现在再来计算一下
显然,这不符合逻辑。为了解决这一问题,拉普拉斯校准应运而生。我们通常选取的样本数量不会太小,否则不具有说服力,在此的基础上,我们对各个维度的每个分类上,给样本量+1,在计算各个维度的分类的时候分母加上维度的分类数。
选取上边的例子,各个维度的样本数都加1,于是我们得到下表:
男 | 女 | 合计 |
---|---|---|
购买 | 201 | 81 |
不购买 | 81 | 141 |
合计 | 282 | 222 |
然后我们就采用校准之后的数据来获取先验概率,即可。
3、多维度的拓展
首先我们要明白这样一个事实,我们在建立模型的时候往往会有不止一两个维度,少则十几个,多则上百。而朴素贝叶斯的要求比较苛刻,我们在建立模型之初就假定各个条件相互独立,所以在解决多维度的时候,我们可以把各个维度之间看成相互独立事件。采用概率论上的独立事件算法。
假定事件
这里的
4、维度之间不独立
在实际生活中,很难说某两个维度之间是绝对独立,而朴素贝叶斯采取的条件就是假设各个维度独立,这样难免让我们生疑,比方说学历这个维度和收入就存在一定关系,高学历决定高收入不是完全正确,但只至少可以知道这句话说明了这两个维度之间存在必然的关系。那么如何说服众人,证明两个维度之间有无关系呢?
这就需要引入我们的相关分析,对于标称数据我们采用
标称型:一般在有限的数据中取,而且只存在特定的结果[‘类1’,‘类2’,‘类3’](一般用于分类)
数值型:可以在无限的数据中取,而且数值比较具体化,例如1.001,2.002….这种值(一般用于回归分析)
1)、协方差和相关系数
我们知道方差是反映一个变量波动的大小。对于二维随机变量
这就意味着如果
量
我们先来引入两个概念:
1、方差
2、
通常我们使用如下公式来计算两个变量的协方差:
这里简要说明一下
2)、卡方检验
在讲述卡方检验之前,我们先来引入卡方分布:
设
我们采取我们假设的例子,学历与收入的关系做一张图表,来简述一下实现的过程:
doctor | graduate | undergraduates | specialty | total |
---|---|---|---|---|
high | 150 | 100 | 70 | 40 |
mid | 160 | 170 | 230 | 110 |
low | 40 | 50 | 60 | 90 |
total | 350 | 320 | 360 | 240 |
对于标称数据,两个属性
性A取值
其中,
其中,n是数据元组的个数,
博士的高收入期望频率:
博士的中收入期望频率:
博士的低收入期望频率:
这里就展示这么多,我已经通过excel计算除了一个详细的期望频率列表,如下:
doctor | graduate | undergraduates | specialty |
---|---|---|---|
high | 99.21 | 90.71 | 102.05 |
mid | 184.65 | 168.82 | 189.92 |
low | 66.14 | 60.47 | 68.03 |
单个频率的
doctor | graduate | undergraduates | specialty |
---|---|---|---|
high | 26.00 | 0.95 | 10.06 |
mid | 3.29 | 0.01 | 8.46 |
low | 10.33 | 1.81 | 0.95 |
当前的*度为:
我们可以查找卡发分布表,这里我截取一段概率论课本后边的表,选取*度为6的,我们来下看:
|
|
0.995 | 0.99 | 0.975 | 0.95 | 0.90 | 0.10 | 0.05 | 0.025 | 0.01 | 0.005 |
---|---|---|---|---|---|---|---|---|---|---|---|
6 | 拒绝值 | 0.676 | 0.827 | 1.237 | 1.635 | 2.204 | 10.645 | 12.592 | 14.440 | 16.812 | 18.548 |
在
5、条件不独立怎么办?
在维度相关之后,我们的朴素贝叶斯的算法似乎就有点问题了,不能正常使用独立事件的概率,如果强行使用,难免会给结果带来较大的误差,因此我们需要一种新的算法来解决维度不独立的情况。而这种新的算法就是—贝叶斯信念网络,那么信念网络如何处理维度间的不独立呢?信念网络和神经网络有什么相似之处呢?请听下回讲解。