朴素贝叶斯算法——机器学习

简介

朴素贝叶斯是一种基于概率论的分类算法,基于贝叶斯定理和特征条件独立假设,它是一种生成模型。首先学习特征x和标记y的联合概率分布P(x,y),即共同出现的概率,然后基于此模型,对给定的输入x,求出后验概率最大的输出y,即求条件概率分布 P(y|x)。

计算步骤

1.训练数据集 T = {(x1,y1), (x2,y2),…,(xN,yN)};
2.计算先验概率分布 P (Y = ck),k = 1,2,…,K;
3.计算条件概率分布 P (X = x | Y = ck) = P (X(1) = x(1),…,X(n) = x(n) | Y = ck);
依据条件独立假设:
在这里插入图片描述
4.计算后验概率分布
根据贝叶斯定理:
在这里插入图片描述
将条件概率公式带入得:
在这里插入图片描述
上式为朴素贝叶斯分类的基本公式。于是,朴素贝叶斯分类器可表示为:
在这里插入图片描述
由于分母对所有的 Ck 都是相同的,所以:
在这里插入图片描述

参数估计

极大似然估计

在这里插入图片描述

贝叶斯估计

在这里插入图片描述
贝叶斯估计参数估计——计算先验概率代码:

for i in range(classNum):
	# 1表示label=1的标记,10表示类别个数
    Py[i] = ((np.sum(np.mat(trainLabelArr) == i)) + 1) / (len(trainLabelArr) + 10)
#转换为log对数形式
Py = np.log(Py)

算法特点

优点:
1.对小规模的数据表现很好,适合多分类任务,适合增量式训练;
2.对缺失数据不敏感,算法也比较简单,常用于文本分类。
缺点:
1.由于假设样本相互独立,所以如果样本属性有关联时会影响效果;
2.由于通过先验和数据来决定后验概率从而决定分类,所以分类决策存在一定的错误率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值