机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc

机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc

ID:56922947

大小:174.00 KB

页数:11页

时间:2020-07-24

机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc_第1页
机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc_第2页
机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc_第3页
机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc_第4页
机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc_第5页
资源描述:

《机器学习-朴素贝叶斯学习-原理分析与C语言代码实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据挖掘课程大作业题目:机器学习-朴素贝叶斯班级:信管2014-2班指导教师:汪传建日期:2017年11月21日机器学习-朴素贝叶斯学习原理分析与C语言代码实现一,任务介绍本文介绍朴素贝叶斯学习的基本原理以及其算法实现的C语言代码。朴素贝叶斯学习也叫朴素贝叶斯分类器,它是根据贝叶斯法则进行学习的一种算法。贝叶斯法则是条件概率相互计算的法则,即在已知P(A

2、B)的情况下怎么计算P(B

3、A)。P(A

4、B)是条件概率,表示在条件B成立的条件下条件A发生的概率,贝叶斯法则的表达式如下:即在条件A成立的条件下条件B发生的概率,等于条件B成立的条件下条件A发生的概率,乘以条件B

5、发生的概率,再除以条件A发生的概率。朴素贝叶斯学习器(分类器)就是需要计算在某个样例条件下,计算每个目标属性项发生的概率,然后选出概率最大的目标属性。举例说明,假设现在我们在已知某一天气候的情况下(用weather表示),需要确定是否打网球(用yes和no表示)。朴素贝叶斯分类器就是要计算在已知weather的条件下,打网球的概率P(yes

6、weather)和P(no

7、weather),如果前者大于后者,就去打网球,否则就不去打网球。二,朴素贝叶斯学习器的原理说明根据前面的介绍,朴素贝叶斯学习器就是需要计算在已知气候的情况下,分别计算出打网球的概率和不打网球得概率,

8、然后选择概率大者作为最终的学习(分类)结果。在这里,气候weather用四个属性表示,分别是Outlook(天气)、Temperature(温度)、Humidity(湿度)和Wind(风强度)。先用贝叶斯公式表示为:称vMAP为在给定实例的属性值(weather的各属性值)下,得到的最可能的目标值,也就是条件概率最大的值。其中V={yes,no},也就是说vMAP为目标属性集V中各取值(yes或no)的概率最大的。朴素贝叶斯学习器即使根据上面的公式推导而来。现在我们根据贝叶斯法则重写上面的公式:要作一些相应的假定,即给定目标值时,各属性值之间的相互条件独立。我们把w

9、eather用{Outlook,Temperature,Humidity,Wind}表示,把式3重写为:根据假定,给定目标值时,某气候下的概率就等于给定该目标值时各属性的概率的乘积:P(Outlook,Temperature,Humidity,Wind

10、vj)=P(Outlook

11、vj)*P(Temperature

12、Vj)*P(Humidity

13、vj)*P(Wind

14、vj)……………………………5把式5带入式4中就得到我们要求的朴素贝叶斯的表达式:三,示例为了能更进一步了解朴素贝叶斯学习的原理,我们用一个示例来加以说明。该示例用表1中的数据作为训练样例,然后根据表达

15、式6对测试样例进行朴素贝叶斯分类,测试样例如下:weather={Outlook=sunny,Temperature=cool,Humidity=high,Winds=strong};DayOutlookTemperatureHumidityWindPlayTennisDlSunnyHotHighWeakNoD2SunnyHotHighStrongNoD3OvercastHotHighWeakYesD4RainMildHighWeakYesD5RainCoolNormalWeakYesD6RainCoolNormalStrongNoD7OvercastCoolNor

16、malStrongYesD8SunnyMildHighWeakNoD9SunnyCoolNormalWeakYesDl0RainMildNormalWeakYesDl1SunnyMildNormalStrongYesDl2OvercastMildHighStrongYesDl3OvercastHotNormalWeakYesDl4RainMildHighStrongNo表1:朴素贝叶斯学习起使用的训练样例我们先计算P(Vj)的值,Vj有两个值,yes和no:P(yes)=9/14=0.643,P(no)=5/14=0.357。然后分别计算在目标属性为yes和no时,

17、测试样例的各个属性的条件概率。注意,我们在计算各个属性的条件概率时,采用了m-估计的方法计算。比如在计算P(sunny

18、yes)(目标属性为yes,Outlook的属性值为Sunny的概率)时,按普通的计算方法:P(sunny

19、yes)=nc/n=2/9,nc=2是在训练样例中目标属性为yes的条件下Outlook=sunny的样例数,n=9是训练样例中目标属性值为yes的样例数;但是按m_估计的方法,计算出的概率是:P(sunny

20、yes)=(nc+m*p)/(n+m)=(2+14*0.33)/(9+14),nc=2和n=9代表的意思和上一样,m=14代表训练

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。