朴素贝叶斯中的朴素是指特征条件独立假设, 贝叶斯是指贝叶斯定理, 咱们从贝叶斯定理开始提及吧.html
贝叶斯定理是用来描述两个条件几率之间的关系函数
1). 什么是条件几率? spa
若是有两个事件A和B, 条件几率就是指在事件B发生的条件下, 事件A发生的几率, 记做P(A|B).3d
若P(A)>0, 则知足如下公式htm
若P(B) > 0, 同理.blog
经过条件几率公式咱们能够直接推出几率的乘法公式.事件
2). 几率的乘法公式get
进而经过几率的乘法公式, 能够推出贝叶斯公式.qt
3). 贝叶斯公式数学
贝叶斯公式一样知足条件P(A)>0, P(B)>0, 在该公式中, A和B均表明单个事件, 可是当B表明一个事件组时, 公式又是如何呢?在介绍以前, 引出全概公式
4). 全概公式
当事件组B1, B2, B3, ....Bn是完备事件组(两两互不相容, 其和为全集), 而且当P(Bn) >0时, 对于任意一个事件A, 知足全概公式:
推导过程以下:
那么, 此时的完备事件组B1, B2, B3, ...Bn对于任意事件A的贝叶斯公式可写成:
上式中P(Bi)被称为先验几率, P(Bi|A)被称为后验几率.
5). 先验几率, 后验几率分别指什么呢? (举例说明)
某地区10月份下大暴雨的几率为0.9. 下大暴雨时, 发洪水的几率是0.6; 不下大暴雨时, 发洪水的几率为0.02, 试求该地区已发洪水, 下暴雨的几率?
记A1=下大暴雨, B1=发洪水, A2=不下大暴雨, B2=不发洪水, 由题意知, P(A1) = 0.9, P(B1|A1) = 0.6, P(B1|A2) = 0.02, 根据贝叶斯公式得: P(A1|B1)=0.9*0.6/[0.9*0.6 + (1-0.9)*0.02] = 0.996.
从上述例子中, 先验几率(下大暴雨的几率)很容易从现有条件中得出, 然后验几率(已经发洪水时下大暴雨的几率)须要根据附加信息用贝叶斯公式去计算得出, 下面引出百度百科对于这二者的定义.
先验几率(prior probability)是指根据以往经验和分析获得的几率,如全几率公式,它每每做为"由因求果"问题中的"因"出现的几率
后验几率是指在获得“结果”的信息后从新修正的几率,是“执果寻因”问题中的"果"。先验几率与后验几率有不可分割的联系,后验几率的计算要以先验几率为基础.
事情尚未发生,要求这件事情发生的可能性的大小,是先验几率。事情已经发生,要求这件事情发生的缘由是由某个因素引发的可能性的大小,是后验几率。
将定义与例题相结合就能更好的理解先验几率和后验几率.
6). 若是A也是事件组时, 公式又是如何呢?
假设现有两个事件A1和A2, 公式则可改写为:
要想求知足条件A1和A2时Bi的几率, 关键在于求P(A1, A2|Bi)的几率, 在这以前须要了解事件的独立性:
一般状况下, 条件几率P(A|B)与无条件几率P(A)是不相等的, 若是P(A|B)=P(A), 则说明事件B对事件A的发生没有任何影响, 也就是说事件A与B是相互独立的, 又根据咱们上面的几率乘法公式能够推出P(AB)=P(A|B)P(B)=P(A)P(B).
现假设事件A1和事件A2关于事件B独立, 根据事件的独立性, 则有P[(A1|B)(A2|B)]=P(A1|B)P(A2|B), 又因为只有在事件B这个共同条件下事件A1才会与事件A2独立, 咱们不妨将式子改写为P(A1, A2|B) = P(A1|B)P(A2|B), 从而能够将咱们的贝叶斯公式改写为:
假设事件组Am中的全部事件关于完备事件组Bn中任意一个事件两两相互独立, 进而公式能够推广为:
要想上式成立, 则必需要知足前提条件: 事件组Am中的全部事件关于事件组Bn的任意一个事件两两相互独立, 到这里贝叶斯定理部分就介绍完毕了,
将上面的公式应用到分类问题中, Am表示m个特征, Bn表示n个分类标签, 而要想上式成立, 要知足前提条件: m个特征关于n个分类标签中任意一个两两相互独立, 也就是特征条件独立, 而"朴素"二字表示特征条件独立假设, 即假设特征条件独立(前提条件), 想必这也就是为何"朴素"二字刚好在贝叶斯以前.
朴素贝叶斯分类模型要作的事就是在先验几率的基础上将数据集归为n个标签中后验几率最大的标签(基于最小错误率贝叶斯决策原则).
因为数据集的特征个数m和分类标签总数n是固定不变的, 即贝叶斯定理中分母不变, 因此要求最大值, 只需求出分子中的最大值, 即下式中的最大值
又可利用argmax()函数, 表示为最大值的类别, 好比X1 = argmax(f(x))表示当f(x)中的自变量x=X1时, f(x)取最大值
即求自变量Bi的值, 当Bn = Bi时, 后验几率最大, 上式也称为朴素贝叶斯推导式
经过上式, 影响最终结果的有先验几率和条件几率, 另外知足特征条件独立假设时, 上式才会成立. 即当先验几率, 条件几率和特征条件独立假设均成立时, 根据朴素贝叶斯推导式得出的结果具备真正最小错误率..
1) 先验几率
当先验几率已知时, 能够直接经过公式计算.
当先验几率未知时, 基于最小最大损失准则(让其在最糟糕的状况下, 带来的损失最小)或者N-P(聂曼-皮尔逊)决策准则来进行分类
关于这部分的具体细节可参看 https://wenku.baidu.com/view/85e559104431b90d6d85c704.html
2) 条件几率(举例说明)
现需对某产品评价中"质量好, 价格便宜, 颜值高"这三个词语做出统计, 假设它们之间两两相互独立. 已知某论坛上关于该产品的1000条评价中未购买用户几率为0.2, 未购买用户的评价中"质量好"出现0次, "价格便宜"出现100次, "颜值高"出现150次; 已购买用户的评价中"质量好"出现600次, "价格便宜"出现500次, "颜值高"出现700次, 试问评价中同时出现"质量好, 价格便宜, 颜值高"这三个词语的用户是未购买用户的几率.
首先, 特征条件相互独立, 且先验几率已知, 可直接列举出咱们的公式:
事件B1表示未购买用户, 事件B2表示已购买用户, 事件A1, A2, A3则分别表示"质量好, 价格便宜, 颜值高".
由题知, P(A1|B1)=0, 分子为0, P(B1|A1, A2, A3)也就为0, 若是咱们根据计算结果直接就下定义: 作出"质量好, 价格便宜, 颜值高"这个评价的用户不多是未购买用户, 会有点以偏概全了, 好比现新有一条包含这三个词语的新评价且为未购买用户, 经询问, 该用户在体验朋友(已购买用户)的产品一段时间后, 进而在论坛做此评价. 对于此种状况, 从新计算吗?假设该用户在半个月, 一个月...后才出现, 咱们要等半个月, 一个月..再计算的话, 有点不切合实际.
对于此种状况, 法国数学家拉普拉斯最先提出用加1的方法估计没有出现过的现象的几率, 因此加法平滑也叫作拉普拉斯平滑. 假定训练样本很大时, 每一个份量计数加1形成的估计几率变化能够忽略不计,但能够方便有效的避免零几率问题。(参考自博文: https://www.cnblogs.com/bqtang/p/3693827.html)
应用在咱们的示例中就是, P(A1|B1)=1/203, P(A2|B1)=101/203, P(A3|B1)=151/203, 进而求解便可
3) 特征条件独立假设
假设特征条件独立, 可是实际中每每不是真正独立甚至有时特征之间存在某种联系(好比年龄和星座), 这时就需经过特征选择, 主成分分析等方法尽量让特征之间独立.