读书笔记---Naive Bayes
读书笔记—Naive Bayes
依然是《统计学习方法》的读书笔记。
朴素贝叶斯是一种基于贝叶斯定理和特征之间条件独立(这是一个较强的条件)假设的分类模型。与KNN不同,它仅用于特征为标称型数据的分类(如果硬是要把连续型数据转换成离散作为特征。。也可以吧),是一个基于统计的概率模型。
1.模型描述
朴素贝叶斯有一个特征之间条件独立的假设,虽然这是一个较强的条件,但是在许多情况下都还是适用的。朴素贝叶斯的cost function用的是数据类别的后验概率,这个后验概率我们可以通过贝叶斯定理得到:
P(Y|\vec{X}) = \frac{P(\vec{X}|Y)P(Y)}{P(\vec{X})}
由于加了特征条件独立的假设, P(X⃗ |Y)P(\vec{X}| Y)就可以简单地拆成 P(X⃗ |Y)=P(x1|Y)P(x2|Y)...P(xn|Y)P(\vec{X}| Y) = P(x_1| Y)P(x_2| Y)...P(x_n| Y)。而后面这一串连乘可以从训练数据中统计得到(平率估计概率)。而在这个后验概率公式中,其分母是一个归一化项而已,因此我们仅需要考虑分子即可。
这个模型一定程度上可以说是模型数据生成的过程(不过通过特征条件独立假设大大简化了生成的过程),因此被称之为生成模型(generative model)。
为了应用这个模型,我们要从训练集中得到的信息(即训练过程)是 P(X⃗ |Y)P(\vec{X}| Y)、 P(Y)P(Y),换句话说就是学到 X⃗ \vec{X}和 YY的联合概率分布P(X⃗ ,Y)P(\vec{X}, Y)。我们得到这些信息的做法就是通过统计训练集中出现每个特征 xix_i和 yy的出现频率,在模型实现时,要统计并维护一个S×KS \times K的似然值矩阵(每个特征s在类别k中出现的频率)和一个 K×1K \times 1的先验值向量(每个类别k出现的频率)。
因此,得到了cost function,也就是后验概率分布后(这是一个离散分布),我们从直觉的角度想就是要最大化这个后验概率分布,即:
f(Y) = argmax_Y P(Y| \vec{X}) \sim argmax_Y P(\vec{X}|Y)P(Y)
这样我们就估计出了特征为 X⃗ \vec{X}的测试数据最可能属于的类别了。
从形式上看直接从似然函数 P(X⃗ |Y)P(\vec{X}| Y)估计 YY也是可以的,即统计出每个Y生成各个特征的概率(会形成一个矩阵),那么生成这个目标数据的似然函数即为P(X⃗ |Y)=∏Ki=1P(xi|Y)P(\vec{X}| Y) = \prod_{i=1}^{K} P(x_i| Y),然后 YY的取值范围里选的能使P(X⃗ |Y)P({\vec{X}| Y})最大那个 YY即可,但可以看出,这样的做法丢失了P(Y)P(Y)的信息,相比后验概率更不靠谱。
2.模型优化
(1)计算优化
在实际应用中,我们统计得到概率P(X⃗ |Y)P(\vec{X}| Y)和P(Y)P(Y)后,不是直接将其相乘得到后验分布,而是计算
logP(Y| \vec{X}) = logP(\vec{X}| Y) + logP(Y) = \sum_{i=1}^{K} logP(x_i| Y) + logP(Y)
使用log值有一下两个优点:
1) log是单调增函数,不会改变原函数的单调性。当概率过小的时候,使用log值可以防止由于小数太小造成的计算机数据下溢问题(太接近0,被截断)。
2) 使用log将乘法转换成加法,可以提高计算机运行效率。
(2)数据平滑
当我们用极大似然估计得到概率值时,若出现了0概率,不论计算log还是直接计算后验概率,都会出现问题。比如log(0)log(0)就不能求;而后验计算时,若其中一项是0,那么由于后验是将所有概率相乘,也就变成0了,而事实是该似然值只是出现概率很低。所以需要对0概率进行平滑。
平滑的本质是在数据中加入一些伪计数(pseudo count),使统计时那些为0的项变成一个相对较小的非0项,但又保证整体概率分布基本不变。最常见的是在每个统计项上加入一个常数值,比如对于似然值:
P_{\lambda}(X_{i} = a_{il}| Y=C_k) = \frac{\sum_{j=1}^{N} I(X_i^{(j)}=a_{il}, Y^{(j)} = C_k) + \lambda}{\sum_{j=1}^{N} I(Y^{(j)} = C_k) + S_i\lambda}
其中 λ\lambda是平滑系数; k=1,2,...,Kk=1,2,...,K代表类别; j=1,2,...,Nj=1,2,...,N代表训练集中的数据点; l=1,2,...,Sil=1,2,...,S_i代表特征i的可能取值; Xi=ailX_i = a_{il}表示测试集数据中的特征i取值为l; ∑Ni=1I(X(j)i=ajl|Yi=Ck)\sum_{i=1}^{N} I(X_i^{(j)}=a_{jl}| Y_i = C_k)是统计训练集中类别 Y=CkY=C_k,特征 XX为aila_{il}的数据的出现次数; SiS_i是测试数据中特征j取值的个数。上式用 l=1,2,...,Sil=1,2,...,S_i遍历所有特征,得到这个特征 XiX_i关于取值的分布,因此对于每个特征都有这样的一个分布,而我们此时要做的是在所有特征值上的平滑,当 λ=1\lambda=1时,被称之为拉普拉斯平滑。
另外,对于先验 P(Y)P(Y),也有类似的平滑:
P_\lambda(Y=C_k) = \frac {\sum_{j=1}^{N} I(Y^{(j)}=C_k) + \lambda}{N+K\lambda}
读书笔记---Naive Bayes相关推荐
- 机器学习笔记 3 ——Naive Bayes
文章目录 1. naive Bayes 2. GaussianNB 高斯朴素贝叶斯 2.1 数据集预处理 2.2 构建 NaiveBayes 模型 2.3 训练与预测 3. scikit - lear ...
- Naive Bayes笔记
1.贝叶斯定理 表示事件B发生的情况下,事件A发生的概率.其基本求解公式: 对于很容易直接推导出,但对于更加关心的,则很难直接推导.但是借助贝叶斯公式就很容易求解: 2.算法描述 下面用一个例子来描述 ...
- 《算法图解》读书笔记
这是一本很入门的算法书,介绍的东西还算简单明了,大体补充了一些自己没理解的东西. 粗略地看了一下,感觉还是"纸上得来终觉浅,绝知此事要躬行!" <<算法图解>&g ...
- Chapter 4 Naive Bayes and Sentiment Classification
Chapter 4 Naive Bayes and Sentiment Classification Speech and Language Processing ed3 读书笔记 Text cate ...
- Ian Goodfellow《Deep Learning》读书笔记
Ian Goodfellow<Deep Learning>读书笔记 感觉大学快毕业了才开始做一些有用的事情,就当是个小学生吧,由于毕业设计和复试的需要,开始着手一些人工智能方面的内容,毕业 ...
- zz[读书笔记]《Interpretable Machine Learning》
[读书笔记]<Interpretable Machine Learning> Jul 19, 2019 看到这本书,特意翻了下微博妖僧老冯_之前的一条微博,这样写道:"在机器学习 ...
- 朴素贝叶斯模型(naive bayes)
朴素贝叶斯模型(naive bayes) 注:本博客为周志华老师<机器学习>的读书笔记,但同时也参考了李航老师的<统计学习>方法,以及其他资料(见参考文献),虽有自己的理解,但 ...
- 《Deep Learning With Python second edition》英文版读书笔记:第十一章DL for text: NLP、Transformer、Seq2Seq
文章目录 第十一章:Deep learning for text 11.1 Natural language processing: The bird's eye view 11.2 Preparin ...
- 最大熵模型:读书笔记
胡江堂,北京大学软件学院 1. 物理学的熵 2. 信息论的熵 3. 熵和主观概率(一个简单注释 4. 熵的性质 4.1. 当所有概率相等时,熵取得最大值 4.2. 小概率事件发生时携带的信息量比大概率 ...
最新文章
- 设置VSCode自动保存
- Seata 新特性,APM 支持 SkyWalking
- *[hackerrank]Girlfriend Necklace
- [css] rem是如何实现自适应布局的?
- java怎么写事件listener_java 事件监听器ActionListener
- C|C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别
- esp8266设置sta失败_ESP8266使用教程之初识
- Hibernate学习(1):查询demo
- 英特尔加入 GPU 战局,终用上 6nm 工艺?
- Unique Binary Search Trees,Unique Binary Search Trees2 生成二叉排序树
- python什么字体好看_10 款最佳编程字体
- csdn怎么添加好友
- vue 动态添加组件
- 怎样在Edge浏览器中开启IE兼容模式
- 彷徨 | HDFS核心设计思想图
- 全网最新-扶风视频解析计费系统,2022优化免授权版(赠接口轮询插件)
- 跨境电商运营系统平台及Fecify推荐
- Linux文件权限:特殊权限、权限属性、权限掩码
- EXCEL添加一个目录并超链接到每张sheet
- 分享几个值得信赖的网站
热门文章
- 《Effective C++》学习笔记(持续更新)
- 今日小程序推荐:汇率即时查-打通微信直接搜一搜
- SAP 小币种金额的转换函数和处理
- 再谈中国的收入不平等问题
- matlab getprmdflt,DFLT40A-7中文资料
- oracle 11g 新特性之动态绑定变量窥视(一)
- 怎么查看一段时间的计算机ip,如何查看电脑中使用过的历史IP地址
- 【运筹学】对偶理论 : 影子价格 ( 对偶问题的经济解释 )
- 佟鑫 PHP,【盖佟鑫】姓名测试打分,起名字测试打分盖佟鑫,盖佟鑫名字打分测试,盖佟鑫测名字打分,【盖佟鑫】名字测分,姓名测试网...
- PSI 项目经理 PMP 计算题公式人话版解释