[DM]分类-贝叶斯分类

一、贝叶斯定理

我们高中学过条件概率,

[DM]分类-贝叶斯分类

后验概率[DM]分类-贝叶斯分类表示在事件B发生的情况下事件A发生的概率

通常,事件A在事件B发生的条件下的概率,与事件B在事件A的条件下的概率是不一样的;然而这两者有确定的关系,贝叶斯法则就是这种关系的陈述。

贝叶斯定理表达式:

 [DM]分类-贝叶斯分类

举一个用贝叶斯公式求后验概率的简单例子,大家可能会很熟悉:

某射击训练中,射手甲的命中率是0.6,P(甲)=0.6,射手乙的命中率是0.5,P(乙)=0.5。现在甲、乙同时朝同一靶子射一枪,靶子被击中,求甲射中的概率

靶子被击中P(中)有三种可能:

甲✔乙✘

甲✔乙✔

甲✘乙✔

代入贝叶斯公式我们很容易求出来:

[DM]分类-贝叶斯分类     


 二、朴素贝叶斯

朴素贝叶斯算法在解决数据挖掘分类问题中,用概率的形式表示数据的分类情况。属于监督学习的生成模型,实现简单,没有迭代,并有坚实的数学理论作为支撑。在大量样本下有较好的表现。

“朴素”是naïve一词的译意,表示在进行先验概率计算时暗含的一个假设:事件互相条件独立。

朴素贝叶斯问题表示如下:

我们提出假设,在ωi发生的情况下,事件相互独立。     

所以原问题转化为条件独立问题

条件独立在贝叶斯网络中有三种形式

1 head-to-head

指在c未知的条件下,ab是独立的。

例如我不知到我是否感冒的情况下,头疼和身子没劲两事件并没有直接关系,相对独立

 

2 tail-to-tail

已知的情况下,a独立。

如下如,7*7的网格内部有3中基本颜色,红(R)、黄(Y)、蓝(B),三种颜色重叠的部分发生了颜色变化。

从整个网格的数据来看,R不独立。

那么在黄色区域内部,R独立。

 

3 head-to-tail

经常看到报道说男人比女人更容易得肺癌,单单从实际数据上看也确实如此。但稍微结合常识考虑一下,在男人(a)和得肺癌(b)两事件中间,还有一个十分重要的事件,吸烟(c)。男人爱抽烟,抽烟爱得肺癌。男人(a),吸烟(c),得肺癌(b)三事件就组成了一个基于head-to-tail形状的案例。所以身为男人与得肺癌两事件相对独立

 


三、拉普拉斯平滑

如果某类数据性状不常出现,我们得到的数据中可能就不包含该类性状的数据。那么在计算朴素贝叶斯时,因为

[DM]分类-贝叶斯分类

各种概率乘在一起,一项为0整体也就为0。这对于数据分析很不利。所以我们对概率的表现形式做一点修改。拉普拉斯平滑公式如下:            

[DM]分类-贝叶斯分类

公式分子分母为事件发生次数,分子+1,分母+该事件中性状的种类

例如,在中国男足vs韩国男足的前5场的比分是0:5,中国队并没有出现“赢”的性状,那预测第六场中国队胜出的概率为:                          

[DM]分类-贝叶斯分类

分母的2为输、赢两种性状

 


四、例子

1.拼写检查

我们在对单词lunch进行搜索时,如果不小心打成luncj或luncb,系统有时也能检测出我们可能想输入lunch,并搜索单词lunch直接给我们网页推荐。

[DM]分类-贝叶斯分类

用户输入了一个单词。这时分成两种情况:拼写正确,拼写不正确。我们把拼写正确的情况记做c(代表correct),拼写错误的情况记做w(代表wrong)。

所谓"拼写检查",就是在发生w的情况下,试图推断出c从概率论的角度看,就是已知w,然后在若干个备选方案中,找出可能性最大的那个c,也就是求下面这个式子的最大值。                     

根据贝叶斯定理:          

对于所有的备选的来说,对应的都是同一个w,所以它们的P(w)是相同的,因此我们求的其实是的最大值。

P(c)的含义是:某个正确的词的出现“频率”,它可以用“频率”代替。如果我们有一个足够的文本库,那么这个文本库中每个单词的出现频率,就相当于它的发生频率。某个词的出现频率越高,P(c)就越大。

的含义是:在试图拼写c的情况下,出现拼写错误w的概率。这需要统计数据的支持,但是为了简化问题,我们假设两个单词在字形上越接近,就越有可能拼错,就越大。

举例来说,相差一个字母的拼法,就比相差两个字母的拼法,发生概率更高。你想拼写单词hello,那么错误拼成hallo(相差一个字母)的可能性,就比拼成haallo高(相差两个字母)。

所以,我们只要找到与输入单词在字形上最相近的那些词,再在其中挑出出现频率最高的一个,就能实现的最大值


基于上述分析,我们对拼写检查进行一个简单的模拟:

建立一个小规模的文本库。我们输入luncj,计算目标单词出现概率、字母数量、字母不同、字母排列等指标,求解[DM]分类-贝叶斯分类的最大值。

可以看到matlab输出结果为[12;21;14;3;8],对应单词为lunch。

[DM]分类-贝叶斯分类

 

2.不出门概率

下图为某人以往14天在不同天气状况下是否打网球的信息表格

[DM]分类-贝叶斯分类

今天天气如下:

[DM]分类-贝叶斯分类

朴素贝叶斯求不出门的概率:

[DM]分类-贝叶斯分类


上一篇:sqlserver常用资源消耗sql


下一篇:设计模式C++学习笔记之五(Factory Method工厂方法模式)