《统计学习方法》极简笔记P4:朴素贝叶斯公式推导
《统计学习方法》极简笔记P4:朴素贝叶斯公式推导
朴素贝叶斯基本方法
通过训练数据集
T={(x_1,y_1),(x_2,y_2),(x_N,y_N)...,(x_1,y_1)}
学习联合概率分布P(X,Y),即学习先验概率分布
P(Y=c_k)
条件概率分布$P(X=x|Y=c_k)$
$k=1,2,...,K$
假设条件独立
$P(X=x|Y=c_k)=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k)$
然后根据学习到的模型计算后验概率分布,根据贝叶斯定理
$$P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_{k}P(X=x|Y=c_k)P(Y=c_k)}$$
条件概率带入,得
$$P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_{j}P(X_i^{(j)}=x^{(j)}|Y=c_k)}{\sum_{k}P(Y=c_k)\prod_{j}P(X_i^{(j)}=x^{(j)}|Y=c_k)}$$
于是,朴素贝叶斯分类器可表示为
$$y=argmax\frac{P(Y=c_k)\prod_{j}P(X_i^{(j)}=x^{(j)}|Y=c_k)}{\sum_{k}P(Y=c_k)\prod_{j}P(X_i^{(j)}=x^{(j)}|Y=c_k)}$$
又,分母对所有$c_k$都相同,so
$$y=argmaxP(Y=c_k)\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_k)$$
假设采用0-1损失函数,期望风险函数为
$R_{exp}(f)=E[L(Y,f(X))]$
同样的,条件期望
$R_{exp}(f)=E_X\sum_{k=1}^{K}[L(c_k,f(X))]P(c_k|X)$
期望风险最小,只需对X=x逐个极小化
$f(x)=argmin\sum_{k=1}^{K}[L(c_k,y)]P(c_k|X)\=argmin\sum_{k=1}^{K}P(y\neq{c_k}|X=x)\=argmin\sum_{k=1}^{K}(1-P(y={c_k}|X=x))\=argmaxP(y=c_k|X=x)$
这即为朴素贝叶斯采用的原理
朴素贝叶斯算法
输入:
训练数据$T={(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}$
$x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(l)})$,$x_i^{(l)}$为第i个样本的第j个特征,$a_{jl}$是第j个特征可能取得第$l$个值,j=1,2,...,n,$l=1,2,...,S_j$,$y_i\in{c_1,c_2,...,c_K}$
输出:实例$x$的分类
(1)计算先验概率及条件概率,此处取极大似然估计
$$P(Y=c_k)=\frac{\sum^{N}_{i=1}I(y_i=c_k)}{N}$$
$$P(X^{(j)}|Y=c_k)=\frac{\sum^{N}{i=1}I(x_i^{(j)}|y_i=c_k)}{\sum{i=1}^{N}I(y_i=c_k)}$$
(2)对于给定的实例,$x=(x^{(1)},x^{(2)},...,x^{(n)})^T$,计算
$$P(Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)$$
(3)确定实例$x$的类
$$y=arg maxP(Y=c_k)\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k)$$
贝叶斯估计
极大似然估计存在的问题是会出现概率为0的情况,解决之道是贝叶斯估计
$$P(Y=c_k)=\frac{\sum^{N}_{i=1}I(y_i=c_k)+\lambda}{N+K\lambda}$$
$$P(X^{(j)}|Y=c_k)=\frac{\sum^{N}{i=1}I(x_i^{(j)}|y_i=c_k)+\lambda}{\sum{i=1}^{N}I(y_i=c_k)+S_j\lambda}$$
《统计学习方法》极简笔记P4:朴素贝叶斯公式推导的更多相关文章
- 《统计学习方法》极简笔记P5:决策树公式推导
<统计学习方法>极简笔记P2:感知机数学推导 <统计学习方法>极简笔记P3:k-NN数学推导 <统计学习方法>极简笔记P4:朴素贝叶斯公式推导
- 《统计学习方法》极简笔记P2:感知机数学推导
感知机模型 输入空间是$\chi\subseteq\mathbb{R}^n$,输出空间是$y={+1,-1}$ 感知机定义为:$f(x)=sign(wx+b)$ 感知机学习策略 输入空间任一点$x_0 ...
- 统计学习方法笔记 -- KNN
K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是 ...
- 统计学习方法(李航)朴素贝叶斯python实现
朴素贝叶斯法 首先训练朴素贝叶斯模型,对应算法4.1(1),分别计算先验概率及条件概率,分别存在字典priorP和condP中(初始化函数中定义).其中,计算一个向量各元素频率的操作反复出现,定义为c ...
- 我的第一个 Rails 站点:极简优雅的笔记工具-Raysnote
出于公司开发需求,这个暑假我開始搞Ruby on Rails.在业余时间捣鼓了一个在线笔记应用:http://raysnote.com.这是一个极简而优雅的笔记站点(至少我个人这么觉得的). 笔记支持 ...
- 《统计学习方法》笔记九 EM算法及其推广
本系列笔记内容参考来源为李航<统计学习方法> EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计.迭代由 (1)E步:求期望 (2)M步:求极大 组成,称 ...
- 《统计学习方法》笔记三 k近邻法
本系列笔记内容参考来源为李航<统计学习方法> k近邻是一种基本分类与回归方法,书中只讨论分类情况.输入为实例的特征向量,输出为实例的类别.k值的选择.距离度量及分类决策规则是k近邻法的三个 ...
- 统计学习方法与Python实现(三)——朴素贝叶斯法
统计学习方法与Python实现(三)——朴素贝叶斯法 iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.定义 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设 ...
- 统计学习方法笔记--EM算法--三硬币例子补充
本文,意在说明<统计学习方法>第九章EM算法的三硬币例子,公式(9.5-9.6如何而来) 下面是(公式9.5-9.8)的说明, 本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流 ...
随机推荐
- JAVA基础知识|synchronized和lock
一.synchronized 是jvm的一个关键字,使用过程均由jvm控制 有三种使用方式: 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰代码块,同方法 修饰静态方法,作用 ...
- 深度解读Facebook刚开源的beringei时序数据库——数据压缩delta of delta+充分利用内存以提高性能
转自:https://yq.aliyun.com/topic/58?spm=5176.100239.blogcont69354.9.MLtp4T 摘要: Facebook最近开源了beringei时序 ...
- HttpClient学习(二)—— MinimalHttpClient源码解析
依赖关系 方法 class MinimalHttpClient extends CloseableHttpClient { //连接管理器 private final HttpClientConnec ...
- Hibernate 生成策略和缓存策略
主键生成策略 一.主键分类 1. 自然主键 主键本身就是表中的一个字段,实体中一个具体的属性,对象本身唯一的特性 比如:创建一个学生表:姓名.年龄.身份证号(自然主键) 2. 代理主键 主键本身不是表 ...
- 感知机模型到DNN模型
参考资料 感知机模型:https://www.cnblogs.com/pinard/p/6042320.html DNN:https://www.cnblogs.com/pinard/p/641866 ...
- 如果你处理的是字节,那么 Go 语言可能是一个不错的选择。 如果你处理的是数据,那么 Go 语言可能不是一个好的选择。
用Go语言编程的利与弊 AI前线小组 译 InfoQ 今天
- 7个最好的Java机器学习开发库
摘要:现如今,拥有深度学习和机器学习领域的技术是科技界的趋势之一,并且企业则希望雇佣一些拥有良好的机器学习知识背景的程序开发工程师.本文将介绍一些目前流行的.强大的基于Java的机器学习库,希望给大家 ...
- leetcode 127. Word Ladder、126. Word Ladder II
127. Word Ladder 这道题使用bfs来解决,每次将满足要求的变换单词加入队列中. wordSet用来记录当前词典中的单词,做一个单词变换生成一个新单词,都需要判断这个单词是否在词典中,不 ...
- Ionic4.x 中的 UI 组件(UI Components) 日期组件
1.日期组件的基本使用 官方文档:https://ionicframework.com/docs/api/datetime 模板中: <ion-datetime display-format=& ...
- nginx指定允许的IP访问
接下来我们将tomcat.i4t.com 也就是10.4.82.140进行配置权限 #只允许10.4.82.142访问 cat /usr/local/nginx/conf/nginx.conf use ...