《统计学习方法》极简笔记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:朴素贝叶斯公式推导的更多相关文章

  1. 《统计学习方法》极简笔记P5:决策树公式推导

    <统计学习方法>极简笔记P2:感知机数学推导 <统计学习方法>极简笔记P3:k-NN数学推导 <统计学习方法>极简笔记P4:朴素贝叶斯公式推导

  2. 《统计学习方法》极简笔记P2:感知机数学推导

    感知机模型 输入空间是$\chi\subseteq\mathbb{R}^n$,输出空间是$y={+1,-1}$ 感知机定义为:$f(x)=sign(wx+b)$ 感知机学习策略 输入空间任一点$x_0 ...

  3. 统计学习方法笔记 -- KNN

    K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是 ...

  4. 统计学习方法(李航)朴素贝叶斯python实现

    朴素贝叶斯法 首先训练朴素贝叶斯模型,对应算法4.1(1),分别计算先验概率及条件概率,分别存在字典priorP和condP中(初始化函数中定义).其中,计算一个向量各元素频率的操作反复出现,定义为c ...

  5. 我的第一个 Rails 站点:极简优雅的笔记工具-Raysnote

    出于公司开发需求,这个暑假我開始搞Ruby on Rails.在业余时间捣鼓了一个在线笔记应用:http://raysnote.com.这是一个极简而优雅的笔记站点(至少我个人这么觉得的). 笔记支持 ...

  6. 《统计学习方法》笔记九 EM算法及其推广

    本系列笔记内容参考来源为李航<统计学习方法> EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计.迭代由 (1)E步:求期望 (2)M步:求极大 组成,称 ...

  7. 《统计学习方法》笔记三 k近邻法

    本系列笔记内容参考来源为李航<统计学习方法> k近邻是一种基本分类与回归方法,书中只讨论分类情况.输入为实例的特征向量,输出为实例的类别.k值的选择.距离度量及分类决策规则是k近邻法的三个 ...

  8. 统计学习方法与Python实现(三)——朴素贝叶斯法

    统计学习方法与Python实现(三)——朴素贝叶斯法 iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.定义 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设 ...

  9. 统计学习方法笔记--EM算法--三硬币例子补充

    本文,意在说明<统计学习方法>第九章EM算法的三硬币例子,公式(9.5-9.6如何而来) 下面是(公式9.5-9.8)的说明, 本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流 ...

随机推荐

  1. Vue插槽详解

    简介 插槽:简单理解就是组件内部留一个或多个的插槽位置,可供组件传对应的模板代码进去.插槽的出现,让组件变的更加灵活. 一.匿名插槽 // 组件(父) <my-component> < ...

  2. Laravel 中 Session 的使用问题(dd()导致laravel中session取值问题)

    Laravel 中 Session 的使用问题(dd()导致laravel中session取值问题) 一.总结 一句话总结: Laravel 会首先收集需要写入 Session 的所有数据,并在用户的 ...

  3. linux nand flash常用命令

    使用命令前用cat /proc/mtd 查看一下mtdchar字符设备:或者用ls -l /dev/mtd*#cat /proc/mtddev:    size   erasesize  namemt ...

  4. colorMatrix色彩旋转设置

    package com.loaderman.customviewdemo; import android.app.Activity; import android.graphics.Bitmap; i ...

  5. Qt编写自定义控件50-迷你仪表盘

    一.前言 这个控件取名叫迷你仪表盘,是以为该控件可以缩小到很小很小的区域显示,非常适合小面积区域展示仪表数据使用,还可以手动触摸调节进度,是我个人觉得最漂亮小巧的一个控件.初次看到类似的控件是在一个音 ...

  6. CDS视图篇 2

    核心数据服务 (CDS) 公司希望使用 SAPS/4HANA 核心数据服务 (CDS) 视图技术.需要学习 CDS 视 图的概念和结构以及语法 . ● 核心数据服务是用于业务实体的 SAP 战略建模方 ...

  7. elk收集tomcat日志

    1.elk收集tomcat普通日志: 只在logstash节点增加如下文件,重启logstash即可: cat >>/home/logstash-6.3.0/config/tomcat_t ...

  8. iOS面试题超全!

    之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Cat ...

  9. (CVE-2016-5195)脏牛本地提权

    简要分析 该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏, 导致出现写数据到进程地址空间内只读内存 ...

  10. Win 7 环境上,ThingsBoard安装及启动

    一.参考官方网址进行Thingsboard的下载与安装, 官方教程https://thingsboard.io/docs/user-guide/install/windows/#step-2-thin ...