机器学习 朴素贝叶斯分类垃圾邮件

目录

一、前言

二、朴素贝叶斯原理

1.贝叶斯公式:

2.判别模型和生成模型

3.朴素贝叶斯分类器

 4.拉普拉斯修正

5.防溢出策略

6.测试朴素贝叶斯分类器 

6.1构建词向量

6.2 朴素贝叶斯分类训练函数

6.3分类函数

6.4测试函数

三、朴素贝叶斯分类垃圾邮件

1.数据集

 2.代码展示

 3.运行结果


一、前言

对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱、”之类的话,其实这就是一种分类操作。

既然是贝叶斯分类算法,那么分类的数学描述又是什么呢?

从数学角度来说,分类问题可做如下定义:已知集合,确定映射规则y = f(),使得任意[公式]有且仅有一个[公式],使得[公式]成立。

 

其中C叫做类别集合,其中每一个元素是一个类别,而I叫做项集合(特征集合),其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f。

二、朴素贝叶斯原理

1.贝叶斯公式:

换个表达形式就会明朗很多,如下: 

2.判别模型和生成模型

 判别模型:由数据直接学习决策函数Y=f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。典型的判别模型包括k近邻,感知级,决策树,支持向量机等。

生成模型:由数据学习联合概率密度分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。基本思想是首先建立样本的联合概率概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行分类,就像上面说的那样。注意了哦,这里是先求出P(X,Y)才得到P(Y|X)的,然后这个过程还得先求出P(X)。P(X)就是你的训练数据的概率分布。

3.朴素贝叶斯分类器

朴素贝叶斯分类器(Naïve Bayes Classifier)采用了“属性条件独立性假设”,即每个属性独立地对分类结果发生影响。
为方便公式标记,不妨记 P ( C = c | X =x) P ( c |x) ,基于属性条件独立性假设,贝叶斯公式可重写为

 其中d为属性数目,xix 在第i个属性上的取值。

朴素贝叶斯分类器的训练器的训练过程就是基于训练集 D 估计类先验概率 P ( c ),并为每个属性估计条件概率 。 令 表示训练集D 中第 c 类样本组合的集合,则类先验概率:

 

                                             

 4.拉普拉斯修正

若某个属性值在训练集中没有与某个类同时出现过,则训练后的模型会出现 over-fitting 现象。比如“敲声 = 清脆”测试例,训练 集中没有该样例,因此连乘式计算的概率值为 0 ,无论其他属性上 明显像好瓜
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值