朴素贝叶斯分类器设计用于预测值在每个类中相互独立的情况,但即使独立性假设无效,它在实践中也能很好地工作。它分两步对数据进行分类:
训练步骤:使用训练数据,该方法估计概率分布的参数,假设预测器是有条件独立的给定类。
预测步骤:对于任何看不见的测试数据,该方法计算属于每个类的样本的后验概率。然后,该方法根据最大后验概率对测试数据进行分类。
类条件独立性假设大大简化了训练步骤,因为您可以单独估计每个预测器的一维类条件密度。虽然预测器之间的类条件独立性通常不成立,但研究表明,这种乐观假设在实践中效果良好。这一假设预测器的类条件独立性允许朴素贝叶斯分类器估计准确分类所需的参数,同时使用比许多其他分类器更少的训练数据。这使得它对于包含许多预测器的数据集特别有效。
朴素贝叶斯分类的训练步骤是基于估计的P(X|Y),预测者的概率或概率密度X
给定类Y
.朴素贝叶斯分类模型ClassificationNaiveBayes
培训职能fitcnb
提供对正态(高斯金宝app)、核、多项式和多元、多项式预测器条件分布的支持。要指定预测器的分布,请使用DistributionNames
的名称-值对参数fitcnb
.您可以通过提供与分布名称相对应的字符向量或字符串标量为所有预测器指定一种类型的分布,或者通过提供长度为预测器指定不同的分布D字符向量的字符串数组或单元格数组,其中D是预测器的数量(即列的数量X).
的“正常”
分布(指定使用“正常”
)适用于在每类中具有正态分布的预测值。对于使用正态分布建模的每个预测值,朴素贝叶斯分类器通过计算每个类中训练数据的平均值和标准偏差来估计每个类的单独正态分布。
的“内核”
分布(指定使用“内核”
)适用于具有连续分布的预测值。它不需要一个强有力的假设,例如正态分布,并且您可以在预测值的分布可能出现偏差或具有多个峰值或模式的情况下使用它。与正态分布相比,它需要更多的计算时间和内存。对于使用核分布建模的每个预测器,朴素贝叶斯分类器将根据该类的训练数据为每个类计算单独的核密度估计。默认情况下,内核是普通内核,分类器为每个类和预测器自动选择宽度。软件支持为每个预测器指定不同的内核,并为每个预测器或类指定不同的宽度。金宝app
多元、多项分布(指定使用“mvmn”
)适用于其观察是绝对的预测器。使用多元多项式预测器构造朴素贝叶斯分类器描述如下。为了说明这些步骤,考虑一个例子,其中观测值被标记为0、1或2,并预测了进行样本时的天气。
记录在整个预测者的观察中所代表的不同类别。例如,不同的类别(或预测水平)可能包括晴天、下雨、下雪和多云。
按反应类别将观察结果分开。例如,将标记为0的观测值与标记为1和2的观测值分开,将标记为1的观测值与标记为2的观测值分开。
对于每个响应类别,使用类别相对频率和观察总数拟合多项式模型。例如,对于标记为0的观察,估计的晴天概率为 =(标签为0的阳光观测数量)/(标签为0的观测数量),其他类别和响应标签的情况类似。
一类条件多项式随机变量由一个多元多项式随机变量组成。
下面是使用多元多项式的朴素贝叶斯分类器的其他一些性质。
对于你用多元多项式分布模型的每个预测器,朴素贝叶斯分类器:
为每个预测器记录一套单独的不同预测器水平
为每个类别的一组预测水平计算一组单独的概率。
该软件支持将连续预测值建模金宝app为多元多项式。在这种情况下,预测值水平是测量值的不同出现。这可能导致一个预测器具有多个预测器级别。将这些预测值离散化是一种很好的做法。
如果一个观察是一组从固定数量的独立试验中获得的不同类别(由所有预测器表示)的成功,然后指定预测器包含多项分布。有关详细信息,请参见多项式分布.
多项分布(指定使用“DistributionNames”和“mn”
)是适当的,当给定类,每个观察是一个多项式随机变量。也就是观察,或者行,j预测数据的X代表D类别,x法学博士为类别成功的数量(即预测器)d在里面
独立的试验。下面介绍训练朴素贝叶斯分类器的步骤。
对于每个类,拟合一个多项式分布的预测器给定的类:
对所有观测值的加权类别计数进行聚合。此外,软件还实现了加法平滑[1].
估算D使用汇总的类别计数在每个类别中的类别概率。这些类别概率构成了多项分布的概率参数。
让一个新的观察有一个总数米.然后朴素贝叶斯分类器:
将每个多项分布的总计数参数设置为米
对于每一类,用估计的多项分布估计类的后验概率
将观察结果预测为对应于最高后验概率的类
考虑所谓的令牌袋模型,其中有一个包包含许多不同类型和比例的令牌。每个预测器代表了袋子里不同类型的标记,一个观察是n从袋子中独立提取(即,替换)代币,数据是计数向量,其中元素d次数是token吗d出现。
机器学习应用程序是构建电子邮件垃圾分类器,其中每个预测器代表一个单词、字符或短语(即,标记),一个观察是一封电子邮件,数据是电子邮件中标记的计数。一个预测器可能会计算感叹号的数量,另一个预测器可能会计算单词“money”出现的次数,还有一个预测器可能会计算收信人的名字出现的次数。这是一个朴素的贝叶斯模型,假设令牌的总数(或文档的总长度)与响应类无关。
使用多项式观测值的朴素贝叶斯分类器的其他属性包括:
分类基于类别的相对频率。如果nj= 0观测值j,则无法对该观察进行分类。
这些预测因子不是条件独立的,因为它们的总和必须是nj.
朴素贝叶斯在什么时候不合适nj提供关于类的信息。也就是说,这个分类器需要这样做nj独立于类。
如果指定预测器为条件多项式,则软件将此规范应用于所有预测器。换句话说,您不能包括“锰”
在单元格数组中指定“DistributionNames”
.
如果一个预测是绝对的,即在响应类中是多项式的,然后指定它是多元多项式。有关详细信息,请参见多元多项式分布.
[1] Manning, c.d., P. Raghavan, M. Schütze。信息检索概论,纽约:剑桥大学出版社,2008年。