《人工智能和机器学习--PPT09-朴素贝叶斯.pdf》由会员分享,可在线阅读,更多相关《人工智能和机器学习--PPT09-朴素贝叶斯.pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、朴素贝叶斯王秋月中国人民大学信息学院单个事件概率单个事件概率:()()概率基本知识()概率基本知识单个事件概率单个事件概率:(), ()单个事件概率单个事件概率:(), ()联合事件概率:联合事件概率:(,)(,)概率基本知识(|)概率基本知识单个事件概率单个事件概率:(), ()联合事件概率:联合事件概率:(,)条件概率:条件概率:(|)(|)概率基本知识单个事件概率单个事件概率:(), ()联合事件概率:联合事件概率:(,)条件概率:条件概率:(|), (|)概率基本知识单个事件概率单个事件概率:(), ()联合事件概率:联合事件概率:(,)条件概率:条件概率:(|), (|)条件和联合概
2、率的关系:条件和联合概率的关系:(,) = (|)()= (|)()条件和联合概率的关系:条件和联合概率的关系:(,) = (|)()= (|)()贝叶斯公式推导贝叶斯公式推导条件和联合概率的关系:条件和联合概率的关系:(,) = (|)()= (|)()贝叶斯公式推导条件和联合概率的关系:条件和联合概率的关系:(,) = (|)()= (|)()贝叶斯定理贝叶斯定理贝叶斯定理训练朴素贝叶斯给定特征向量(),计算其属于每个类别 (C) 的概率训练朴素贝叶斯:朴素假设给定特征向量(),计算其属于每个类别 (C) 的概率很难计算所有特征的联合概率训练朴素贝叶斯:朴素假设给定特征向量(),计算其属于
3、每个类别 (C) 的概率解决方案:假设假设给定类别,所有给定类别,所有特征相互独立特征相互独立训练朴素贝叶斯:朴素假设给定特征向量(),计算其属于每个类别 (C) 的概率解决方案:假设假设给定类别,所有给定类别,所有特征相互独立特征相互独立这就是“朴素”的假设训练朴素贝叶斯给定特征向量(),计算其属于每个类别 (C) 的概率按照最大后验概率规则,把X分入概率最大的类别对数技巧很多概率值连乘,容易造成浮点计算下界溢出对数技巧很多概率值连乘,容易造成浮点计算下界溢出取对数把乘法转化成加法DayOutlookTemperatureHumidityWindPlayTennisD1SunnyHotHig
4、hWeakNoD2SunnyHotHighStrongNoD3OvercastHotHighWeakYesD4RainMildHighWeakYesD5RainCoolNormalWeakYesD6RainCoolNormalStrongNoD7OvercastCoolNormalStrongYesD8SunnyMildHighWeakNoD9SunnyCoolNormalWeakYesD10RainMildNormalWeakYesD11SunnyMildNormalStrongYesD12OvercastMildHighStrongYesD13OvercastHotNormalWeakYe
5、sD14RainMildHighStrongNo案例:预测打网球P(Play=Yes) = 9/14P(Play=No) =5/14案例:预测打网球P(Play=Yes) = 9/14P(Play=No) =5/14OutlookPlay=YesPlay=NoSunny2/93/5Overcast4/90/5Rain3/92/5TemperaturePlay=YesPlay=NoHot2/92/5Mild4/92/5Cool3/91/5HumidityPlay=YesPlay=NoHigh3/94/5Normal6/91/5WindPlay=YesPlay=NoStrong3/93/5Weak
6、6/92/5使用训练数据构建概率查找表使用训练数据构建概率查找表案例:预测打网球预测下面情境下是否打网球:预测下面情境下是否打网球:x=(Outlook=Sunny, Temperature=Cool, Humidity=High, Wind=Strong)案例:预测打网球FeaturePlay=YesPlay=NoOutlook=Sunny2/93/5Temperature=Cool3/91/5Humidity=High3/94/5Wind=Strong3/93/5Overall Label9/145/14案例:预测打网球预测下面输入的输出:预测下面输入的输出:x=(Outlook=Sunn
7、y,Temperature=Cool, Humidity=High, Wind=Strong)FeaturePlay=YesPlay=NoOutlook=Sunny2/93/5Temperature=Cool3/91/5Humidity=High3/94/5Wind=Strong3/93/5Overall Label9/145/14Probability0.00530.0206案例:预测打网球预测下面输入的输出:预测下面输入的输出:x=(Outlook=Sunny, Temperature=Cool, Humidity=High, Wind=Strong)FeaturePlay=YesPlay
8、=NoOutlook=Sunny2/93/5Temperature=Cool3/91/5Humidity=High3/94/5Wind=Strong3/93/5Overall Label9/145/14Probability0.00530.0206案例:预测打网球预测下面输入的输出:预测下面输入的输出:x=(Outlook=Sunny, Temperature=Cool, Humidity=High, Wind=Strong)拉普拉斯平滑技术问题:问题:有些类别里没有的特征将会导致这些条件概率值为00拉普拉斯平滑技术问题:问题:有些类别里没有的特征将会导致这些条件概率值为00解决方案:解决方案
9、:在这些条件概率的分子和分母上各加1朴素贝叶斯模型朴素贝叶斯模型数据类型数据类型贝努利模型贝努利模型二值二值 (T/F)多项式模型多项式模型离散值离散值 (如,计数如,计数)高斯模型高斯模型连续值连续值朴素贝叶斯模型的类型不同朴素贝叶斯模型的区别,主要在于它们对概率分布(i|C)所做的不同假设。问题问题模型特征包含不同的数据类型(连续的和类别的)结合不同特征类型问题问题模型特征包含不同的数据类型(连续的和类别的)结合不同特征类型解决解决方案方案 1:将连续特征离散化成类别变量,然后应用多项式模型问题问题模型特征包含不同的数据类型(连续的和类别的)问题问题模型特征包含不同的数据类型(连续的和类别
10、的)结合不同特征类型解决解决方案方案 1:将连续特征离散化成类别变量,然后应用多项式模型方案方案 2:用高斯模型拟合连续特征,用多项式模型拟合分类变量,然后再结合成一个“元模型”(后面章节会讲到)问题问题模型特征包含不同的数据类型(连续的和类别的)导入包含朴素贝叶斯分类方法的类:导入包含朴素贝叶斯分类方法的类:from sklearn.naive_bayes import BernoulliNB创建该类的一个对象:创建该类的一个对象:BNB = BernoulliNB(alpha=1.0)拟合训练数据,并预测:拟合训练数据,并预测:BNB = BNB.fit(X_train, y_train)
11、 y_predict = BNB.predict(X_test)朴素贝叶斯的语法导入包含朴素贝叶斯分类方法的类:导入包含朴素贝叶斯分类方法的类:from sklearn.naive_bayes import BernoulliNB创建该类的一个对象:创建该类的一个对象:BNB = BernoulliNB(alpha=1.0)拟合训练数据,并预测:拟合训练数据,并预测:BNB = BNB.fit(X_train, y_train) y_predict = BNB.predict(X_test)拉普拉斯平滑参数拉普拉斯平滑参数朴素贝叶斯的语法http:/scikit-learn.org/stabl
12、e/modules/generated/sklearn.naive_bayes.BernoulliNB.html导入包含朴素贝叶斯分类方法的类:导入包含朴素贝叶斯分类方法的类:from sklearn.naive_bayes import BernoulliNB创建该类的一个对象:创建该类的一个对象:BNB = BernoulliNB(alpha=1.0)拟合训练数据,并预测:拟合训练数据,并预测:BNB = BNB.fit(X_train, y_train) y_predict = BNB.predict(X_test)拉普拉斯平滑参数拉普拉斯平滑参数朴素贝叶斯的语法其他朴素贝叶斯模型其他朴素贝叶斯模型:MultinomialNB, GaussianNB.Jupyter演示第9章-朴素贝叶斯.ipynb