统计学习方法第四章
来源:互联网 发布:闪讯mac怎么连接 编辑:程序博客网 时间:2024/04/29 03:49
统计学习方法第四章:朴素贝叶斯法
- 朴素贝叶斯法
朴素贝叶斯法基于特征条件独立假设学习到给定数据集的联合概率分布P(X,Y),具体地是通过学习先验概率分布及条件概率分布,两个概率相乘即得联合概率分布。先验概率是在缺乏某个事实的条件下描述某个变量,个人理解在机器学习中,我们要求出测试样例属于某一个类别的概率,那么先验概率就是不考虑任何因素每个类别出现的概率(P(Y=Ck)),这种情况下应该将样本归属于出现次数最多的一个类别。条件概率分布就是:
上面的表示第i个特征的取值。有这两个概率可以得到联合概率分布P(X,Y):
而条件概率分布P(X=x|Y=c)的参数数量是指数级的,也就是X和Y的组合很多,假设xj可能取值Sj个,Y可能取值有K个,那么参数的个数是。特别地,取xj=S也就是假设每个特征都有S个可能值,那么参数个数为KSn,n是特征维度,当维数n很大的时候,就会发生维数灾难。
为了解决这个问题,求出条件概率分布,朴素贝叶斯对条件概率分布做了条件独立性的假设,假设在类别确定的情况下各个特征直接相互独立且同分布,这样条件概率式子就可以表示成:
改成连乘的形式后,对于每一项的求法还是很好求的,大大较少了计算量。但是因为假设分类的特征在类别确定的条件下都是条件独立的,这一假设使得朴素贝叶斯变得简单,但有时也会牺牲一定的分类准确率。
基于此假设,可以得到后验概率,后验概率就是考虑给定的事实比如输入x,通过学习到的模型计算出后验概率P(Y=ck|X=x),将后验概率最大的类别作为输入x的类别。后验概率的计算可通过贝叶斯定理求出:
分母其实是p(X=x)的概率,其中用到了全概公式,分子是联合概率分布,下面是我自己对这个式子推到的过程,其实也很简单,不想编辑公式,直接上照片吧:
将条件独立性假设带入上式得到:
选择后验概率最大的类别作为输出,因此朴素贝叶斯分类器可以表示为:
参数估计
朴素贝叶斯要学习的参数是先验概率分布P(Y=ck)和条件概率分布P(X(j)=x(j)|Y=ck)。可以采用极大似然发来估计他们的概率,其实就是用样本出现的频率来估计概率。
对于先验概率:也就是用样本中ck类出现的样本数除以样本总数。
对于条件概率分布:,其中xi(j)是第i个样本的第j个特征,ajl是第j个特征可能取的第l个值,分母是上面说过的样本中ck类出现的样本数贝叶斯分类
①对于给定的数据集,计算先验概率和条件概率
②对于测试样例x=(x(1),x(2)…..x(n)),计算
即可,因为分母P(X=x)在输入x确定的情况下是不变的常数,只需要比较分子谁大就可以了。
③选择使得上式值最大的一个类作为测试样例的列表。
贝叶斯估计
上面的参数估计方法是最大似然估计,但是这种方法有个隐患,假设训练数据中没有出现某种参数和类别的组合怎么办?此时估计的概率值为0,但是这不代表真实数据中就没有这样的组合。而且分母是指示函数,有可能某种类别的样本数为0。解决这一问题的方法是采用贝叶斯估计。对应的式子为:
条件概率的贝叶斯估计:
其中λ>=0,Sj表示特征Xj可能取值的总0数。分子和分母分别比最大似然估计多了一点东西,其意义是在随机变量每个取值的频数上加一个常量λ,λ称为平花银子。当此常量取0时,就是最大似然估计,常见的是将此常量取1,称为拉普拉斯平滑。
先验概率的贝叶斯估计:,K是类别数。
0 0
- 统计学习方法第四章
- 统计学习方法第四章朴素贝叶斯法-李航
- 统计学习方法笔记,第四章朴素贝叶斯法
- 统计学习方法第四章,贝叶斯估计的实现
- 统计学习方法第四章笔记——朴素贝叶斯
- 李航—统计学习方法第四章课后答案
- 《统计学习方法》第四章朴素贝叶斯学习笔记
- 统计学习方法笔记, 第四章,朴素贝叶斯python实现
- 统计学习方法——第四章朴素贝叶斯
- 统计学习方法-第二章
- 统计学习方法第三章
- 统计学习方法 第五章
- 统计学习方法 李航---第1章 统计学习方法概论
- 统计学习方法 李航---第12章 统计学习方法总结
- 统计学习方法 第1章 统计学习方法概论
- 统计学习方法 李航---第1章 统计学习方法概论
- 统计学习方法第二章笔记
- 统计学习方法 第三章 kdTree
- 用dom4j来修改xml文档
- BestCoder Round #92 1001 Skip the Class【HDU6015】【STL】
- Android LitePal让数据库使用so easy(译)
- Android中的单位和尺寸
- python之匿名函数lambda
- 统计学习方法第四章
- webpack入门与解析(一)
- 412. Fizz Buzz(C++)
- 【数据库】编程规范与安全
- jieba 结巴分词 常用说明
- 数据结构学习 栈与队列(三)
- Leetcode_Contains Duplicate II
- hdu 1879 继续畅通工程(Kruskal)
- JavaScript 规范