机器学习常用算法总结(二)

来源:互联网 发布:成都收银软件系统 编辑:程序博客网 时间:2024/05/19 18:39

接上一篇总结,这次简单总结(朴素贝叶斯)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,而舍去浮点数导致错误。这种情况通过求对数可以避免下溢出的错误。一般的采用自然

对数来进行处理,因为这样几乎不会对结果又任何损失)


原创粉丝点击