接上一篇总结,这次简单总结(朴素贝叶斯)Naive Bayes
在学习NB之前要先明白两个概念:先验概率分布,条件概率分布
X是定义在输入空间的随机变量,Y是定义在输出空间的随机变量。P(X,Y)是X,Y的联合概率分布。
朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)。具体的,学习学习先验概率以及条件概率。
先验概率:
条件概率分布:
于是学习到联合概率分布:
朴素贝叶斯法对条件概率分布做了条件独立性假设,由于这是一个较强的假设,朴素贝叶斯也由此得名。具体的,条件独立性假设是:
朴素贝叶斯法分类时候,对给定的输入x,通过学习到的模型计算后验概率分布P(Y=ck|X=x),将后验概率最大的类作为x的类输出。根据贝叶斯定理,
贝叶斯定理
后验概率计算如下:
带入上面的式子则可以得到
于是可以得到朴素贝叶斯分类器表示为
由于上个式子在ck条件下,分母都是相同的,所以分类有可以等价的表示为
在这里解释,朴素贝叶斯法将实例分到后验概率最大的类中,这等价于期望风险最小化。
在朴素贝叶斯法中,学习模型意味着估计P(Y=ck)P(Xj=xj|Y=ck). 可以用极大似然估计法估计相应的概率。
先验概率的极大似然估计是:
其中N代表训练集的数据个数
条件概率的极大似然估计是:
其中x(j)i是第i个样本的第j个特征值;ajl是第j个特征值的可能取的第L个值,I为指示函数
所以分类器的学习过程可以总结为下:
(1) 计算先验概率以及条件概率
(2) 对于给定的实例,计算后验概率的分子然后确定实例x的分类
朴素贝叶斯法的优缺点:
优点:在数据较少的情况下仍然有效,可以处理多类别的问题
缺点:对于输入数据的准备方式较为敏感。简单的特征独立假设,牺牲了一些准确性
利用朴素贝叶斯分类器进行分类的时候,用极大似然估计某个概率的时候有可能会出现0的情况,为了降低这种影响,可以使用贝叶斯估计,在这里就不详细讨论了。
(注意到,在编程的时候,很多小数相乘的时候,有可能会四舍五入得到0,而舍去浮点数导致错误。这种情况通过求对数可以避免下溢出的错误。一般的采用自然
对数来进行处理,因为这样几乎不会对结果又任何损失)