机器学习笔记:贝叶斯算法(一)
来源:互联网 发布:华傲数据借壳天源迪科 编辑:程序博客网 时间:2024/05/22 23:02
有关贝叶斯定理和贝叶斯公式的推导过程,在阮一峰大神的博客里的《贝叶斯推断及其互联网应用(一):定理简介》写得非常全面,简洁明了。
下面是我的个人笔记总结:
贝叶斯定理
基于假设的先验概率,给定假设下观察到的不同数据的概率,提供了一种计算后验概率的方法。
先验概率:由以往的数据分析得到的概率。
后验概率:得到信息之后再重新加以修正的概率。
在人工智能领域是非常有代表性的不确定性知识表示和推理方法。
条件概率
贝叶斯公式
朴素贝叶斯算法-原理
基本思想
对于给定的待分类项
算法定义
- 设
X{a1,a2,a3,...,an} 为一个待分类项,每个ai 为X的一个特征属性,特征属性之间互相独立。 - 设
C{y1,y2,y3,...,yn} 为一个类别集合。 - 计算
P(y1|X),P(y2|X),P(y3|X),...,P(yn|X) P(yk|X)=max{P(y1|X),P(y2|X),P(y3|X),...,P(yn|X)},则X∈yk
求P(yk|X) 的步骤
- 找到一个已知分类的待分类项集合,这个集合叫训练样本集。
- 得到各个类别下,各个特征属性的条件概率,即
P(a1|y1),P(a2|y1),P(a3|y1),...,P(an|y1),P(a1|y2),P(a2|y2),P(a3|y2),...,P(an|y2),P(a1|y3),P(a2|y3),P(a3|y3),...,P(an|y3),⋮,⋮,⋮,...,⋮,P(a1|yn),P(a2|yn),P(a3|yn),...,P(an|yn), - 在贝叶斯公式中分母相当于在样本数据中
X 的概率,所以对任何一个待分类项来说P(X) 是常数,固定的。求后验概率P(yi)|X 只需要考虑分子即可。因为个特征属性独立,所以有:P(X|yi)P(yi)=P(a1|yi)P(a2|yi)P(a3|yi)...P(an|yi)P(yi)=P(yi)∏j=1nP(aj|yi)
所以:P(X|yi)=∏k=1nP(ak|yi)
处理流程
简单实例
数据样本:
待分类数据:
X=(age<=30,income=medium,student=yes,credit_rating=fair)
第一阶段:准备阶段
根据具体情况确定特征属性,并且对特征属性进行适当划分。然后就是对一部分待分类项进行人工划分,以确定训练样本。这一阶段输入的是所有待分类项,输出的是特征属性和训练样本。所以:
**数据样本属性:**age、income 、student 、 credit_rating
**类别属性:**buys_computer
第二阶段:分类器训练阶段
计算每个类别在训练样本中出现的频率,以及每个特征属性划分对每个类别的条件概率。输入时特征属性和训练样本,输出是分类器。
计算每个类别的先验概率:
计算每个特征属性对于每个类别的条件概率:
P(age<=”30”|buys_computer=”yes”)=2/9=0.222
P(income=”medium”|buys_computer=”yes”)=4/9=0.444
P(student=”yes”|buys_computer=”yes”)=6/9=0.667
P(credit_rating=”fair”|buys_computer=”yes”)=6/9=0.667
P(age<=”30”|buys_computer=”no”)=3/5=0.600
P(income=”medium”|buys_computer=”no”)=4/9=0.400
P(student=”yes”|buys_computer=”no”)=1/5=0.200
P(credit_rating=”fair”|buys_computer=”no”)=2/5=0.400
计算条件概率
第三阶段:应用阶段
计算对于每个
到此,对于待分类的样本X,朴素贝叶斯分类预测buys_computer=”yes”
总结:
朴素贝叶斯算法的优点:
1. 算法逻辑简单,易于实现
2. 分类过程中时空开销小
3. 算法稳定,对于不同的数据特点其分类性能差别不大,健壮性比较好。
- 机器学习笔记:贝叶斯算法(一)
- 机器学习算法一
- 机器学习笔记 监督学习算法小结(一)
- 《机器学习实战》学习笔记<一>k近邻算法
- 【机器学习算法】流形学习笔记一:Isomap
- 机器学习算法笔记
- 机器学习算法笔记
- 机器学习算法笔记
- 机器学习笔记一
- 机器学习笔记一
- 机器学习 笔记一
- 机器学习笔记一
- 机器学习笔记一
- 机器学习笔记(一)——线性回归算法
- 机器学习笔记:ID3算法建立决策树(一)
- 机器学习实战 笔记一:kNN分类算法
- 机器学习笔记--K-近邻算法(一)
- 机器学习笔记(一)k近邻算法(k-Nearest Neighbor)
- 聊聊并发(一)——深入分析Volatile的实现原理
- 澳大利亚人口普查遭DDoS攻击,IBM失职受批
- do {...} while (0) 在宏定义中的作用
- 各数据库的JDBC连接串
- HashMap实现原理分析
- 机器学习笔记:贝叶斯算法(一)
- C#学习笔记------1、C#的基本知识
- BST插入、删除、求高和层次遍历的实现
- 【汇总】东南大学风景园林学2012-2016年考研报录比
- 854计算机基础——《计算机组成原理》考点汇总(一)计算机系统概论
- Android-Fragment总结
- 一个列表的模块统一
- 第五周项目三-括号的匹配
- iOS开发 — OSChina上部署项目