[机器学习&数据挖掘]朴素贝叶斯数学原理
1、准备:
(1)先验概率:根据以往经验和分析得到的概率,也就是通常的概率,在全概率公式中表现是“由因求果”的果
(2)后验概率:指在得到“结果”的信息后重新修正的概率,通常为条件概率(但条件概率不全是后验概率),在贝叶斯公式中表现为“执果求因”的因
例如:加工一批零件,甲加工60%,乙加工40%,甲有0.1的概率加工出次品,乙有0.15的概率加工出次品,求一个零件是不是次品的概率即为先验概率,已经得知一个零件是次品,求此零件是甲或乙加工的概率是后验概率
(3)全概率公式:设E为随机试验,B1,B2,....Bn为E的互不相容的随机事件,且P(Bi)>0(i=1,2....n), B1 U B2 U....U Bn = S,若A是E的事件,则有
P(A) = P(B1)P(A|B1)+P(B2)P(A|B2)+.....+P(Bn)P(A|Bn)
(4)贝叶斯公式:设E为随机试验,B1,B2,....Bn为E的互不相容的随机事件,且P(Bi)>0(i=1,2....n), B1 U B2 U....U Bn = S,E的事件A满足P(A)>0,则有
P(Bi|A) = P(Bi)P(A|Bi)/(P(B1)P(A|B1)+P(B2)P(A|B2)+.....+P(Bn)P(A|Bn))
(5)条件概率公式:P(A|B) = P(AB)/P(B)
(6)极大似然估计:极大似然估计在机器学习中想当于经验风险最小化,(离散分布)一般流程:确定似然函数(样本的联合概率分布),这个函数是关于所要估计的参数的函数,然后对其取对数,然后求导,在令导数等于0的情况下,求得参数的值,此值便是参数的极大似然估计
注:经验风险:在度量一个模型的好坏,引入了损失函数,常见的损失函数有:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等,同时风险函数(期望风险)是对损失函数的期望,期望风险是关于联合分布的理论期望,但是理论的联合分布是无法求得的,只能利用样本来估计期望,因此引入经验风险,经验风险就是样本的平均损失,根据大数定理在样本趋于无穷大的时候,这个时候经验风险会无限趋近与期望风险
2、朴素贝叶斯算法
(1)思路:朴素贝叶斯算法的朴素在于对与特征之间看作相互独立的意思例如:输入向量(X1, X2,....,Xn)的各个元素是相互独立的,因此计算概率P(X1=x1,X2=x2,....Xn=xn)=P(X1=x1)P(X2=x2)......P(Xn=xn),其次基于贝叶斯定理,对于给定的训练数据集,首先基于特征条件独立假设学习联合概率分布,然后基于此模型,对于给定的输入向量,利用贝叶斯公式求出后验概率最大的输出分类标签
(2)详细:以判断输入向量x的类别的计算过程来具体说下朴素贝叶斯计算过程
<1>要计算输入向量x的类别,即是求在x的条件下的y的概率,当y取某值最大概率,则此值便为x的分类,则概率为P(Y=ck|X=x)
<2>利用条件概率公式推导贝叶斯公式(此步非必要,本人在记贝叶斯公式时习惯这么记)
由条件概率公式得P(Y=ck|X=x) = P(Y=ck,X=x)/P(X=x) = P(X=x | Y=ck)P(Y=ck)/P(X=x)
由全概率公式可得(替换P(X=x)):
<3>由于朴素贝叶斯的“朴素”,特征向量之间是相互独立的,因此可得如下公式:

<4>将<3>中的公式带入<2>中的贝叶斯公式可得:

<5>看上式的分母,对于给定的输入向量X,以及Y的所有取值,全部都用了,详细的讲即为无论是计算在向量x条件下的任意一个Y值 ck,k=1,2....K,向量和c1.....ck都用到了,因此影响P(Y=ck|X=x)大小只有分子起作用,因此可得

注:argmax指的是取概率最大的ck
<6>其实到<5>朴素贝叶斯的整个过程已经完毕,但是其中的P(Y=ck)和P(X(j)=x(j)|Y=ck)的求解方法并没有说,二者得求解是根据极大似 然估计法来得其概率,即得如下公式:


其中的I(..)是指示函数,当然这些概率在实际中可以很块求得,可以看如下得一个题,看完之后就知道这两个概率是怎么求了,公式推导 过程不赘述(具体过程我也不太清楚,不过看作类似二项分布得极大似然求值)
3、题-----一看就把上边得串起来了(直接贴图)


[机器学习&数据挖掘]朴素贝叶斯数学原理的更多相关文章
- Python机器学习算法 — 朴素贝叶斯算法(Naive Bayes)
朴素贝叶斯算法 -- 简介 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法.最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Baye ...
- 100天搞定机器学习|Day15 朴素贝叶斯
Day15,开始学习朴素贝叶斯,先了解一下贝爷,以示敬意. 托马斯·贝叶斯 (Thomas Bayes),英国神学家.数学家.数理统计学家和哲学家,1702年出生于英国伦敦,做过神甫:1742年成为英 ...
- 机器学习之朴素贝叶斯&贝叶斯网络
贝叶斯决决策论 在所有相关概率都理想的情况下,贝叶斯决策论考虑基于这些概率和误判损失来选择最优标记,基本思想如下: (1)已知先验概率和类条件概率密度(似然) (2)利用贝叶斯转化为后验概 ...
- 机器学习:朴素贝叶斯--python
今天介绍机器学习中一种基于概率的常见的分类方法,朴素贝叶斯,之前介绍的KNN, decision tree 等方法是一种 hard decision,因为这些分类器的输出只有0 或者 1,朴素贝叶斯方 ...
- 吴裕雄--天生自然python机器学习:朴素贝叶斯算法
分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同 时给出这个猜测的概率估计值. 概率论是许多机器学习算法的基础 在计算 特征值取某个值的概率时涉及了一些概率知识,在那里我们先 ...
- 朴素贝叶斯算法原理及Spark MLlib实例(Scala/Java/Python)
朴素贝叶斯 算法介绍: 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法. 朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,在没有其它可用信息下,我 ...
- 【机器学习实战】第4章 朴素贝叶斯(Naive Bayes)
第4章 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本章首先介绍贝叶斯分类算法的基础——贝叶斯定理.最后,我们 ...
- Machine Learning in Action(3) 朴素贝叶斯算法
贝叶斯决策一直很有争议,今年是贝叶斯250周年,历经沉浮,今天它的应用又开始逐渐活跃,有兴趣的可以看看斯坦福Brad Efron大师对其的反思,两篇文章:“Bayes'Theorem in the 2 ...
- scikit-learn 朴素贝叶斯类库使用小结
之前在朴素贝叶斯算法原理小结这篇文章中,对朴素贝叶斯分类算法的原理做了一个总结.这里我们就从实战的角度来看朴素贝叶斯类库.重点讲述scikit-learn 朴素贝叶斯类库的使用要点和参数选择. 1. ...
随机推荐
- docker 学习笔记(2)--doucker file命令
FROM base ---- imageRUN ---- 执行命令ADD ---- 添加文件COPY ---- 拷贝文件CMD ...
- 升级framework4.0后form认证票据失效的问题
好久没来了,密码都差点忘了,顺便记录下今天配置环境碰到的小问题 网站使用的form authentication做SSO登录,登录域名使用的framework20配置环境 一个栏目升级为4.0环境后, ...
- BugPhobia沟通篇章:Solr模式配置与数据导入调研
0x01 :Scrum Meeting特别说明 特别说明,考虑到编译原理课程考核的时间安排,每天开发时间急剧缩短以至于难以维系正常的Scrum Meeting,因此,将2015/12/13 00:00 ...
- Java的4种保留4位小数的方法(转)
上网查到的4种方法 其实刚学java……谁知道java里面的这么多方法啊……java里面重要的包本来就不少啊 ……跟我学粤语的小徒弟问我的东东…… 写两种方式……直接在main函数里面写的.还有就是利 ...
- js 中引用类型 的深拷贝 和 浅拷贝的区别
一.曾经在读JQ源码的时候,对深拷贝算是有了一点的理解.我们在项目中是不是经常会遇到这样的问题呢? 后台返回一个数组对象(引用类型).次数在页面渲染中需要对部分数据进行处理 比如:银行卡6234509 ...
- 用node编写cli工具
cli是command-line interface的缩写,即命令行工具,常用的vue-cli, create-react-app, express-generator 等都是cli工具. 本文以自己 ...
- Graph Database & 图形数据库
Graph Database 图形数据库 https://en.wikipedia.org/wiki/Graph_database cayley https://github.com/cayleygr ...
- delphi 登陆窗口的问题 [问题点数:30分,结帖人tianhuo_soft]
http://bbs.csdn.net/topics/200053917 有两个窗口formLogin是登陆窗口,formMain是主窗口我想让formMain显示出来,并且formLogin窗口关闭 ...
- JSONP使用及注意事项小结
什么是JSONP 三句话总结: 概念:JSONP(JSON with Padding)是JSON的一种"使用模式". 目的:用于解决主流浏览器的跨域数据访问的问题. 原理:利用 & ...
- swagger error: Conflicting schemaIds: Duplicate schemaIds detected for types A and B
使用Web API并使用swashbuckle生成swagger文档,我在两个不同的命名空间中定义了两个具有相同名称的不同类.当我在浏览器中打开swagger页面时,它说: Conflicting s ...