《统计学习方法》(第二版)第4章

4 朴素贝叶斯法

生成模型

4.1 学习与分类

  1. 基于特征条件独立假设学习输入输出的联合概率分布

  2. 基于联合概率分布,利用贝叶斯定理求出后验概率最大的输出

条件独立假设

\[
P(X=x|Y=c_k)=\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)
\]

等于说用于分类的特征在类确定的条件下都是条件独立的。

联合概率分布\(P(X,Y)\)

需要学习先验概率分布\(P(Y=c_k)\)和条件概率分布\(P(X=x|Y=c_k)\)

因为\(P(X=x,Y=c_k)=P(Y=c_k)P(X=x|Y=c_k)\)

后验概率最大

将后验概率最大的类作为\(x\)的类输出。
\[
后验概率:P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)}
{\sum_kP(Y=c_k)\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)}
\]

\[
朴素贝叶斯分类器:y=\arg \max_{c_k}P(Y=c_k)\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)
\]

等价于期望风险最小化.

期望风险\(R_{exp}(f) = E[L(Y, f(X))]\)

选择0-1损失函数,经验风险最小化函数
\[
f(x)=\arg \min_{y \in Y} \sum_{k=1}^K L(c_k,y)P(c_k|X=x) \\
=\arg \min_{y \in Y}P(y≠c_k|X=x) \\
=\arg \min_{y \in Y}(1-P(y=c_k|X=x)) \\
=\arg \max_{y \in Y}P(y=c_k|X=x) \\
\]

4.2 参数估计

极大似然估计

\[
P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N}
\]

\[
P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}
\]

可能会出现所要估计的概率值为0的情况,会影响到后验概率的计算,从而使分类产生偏差。

朴素贝叶斯算法

  1. 计算先验概率及条件概率
  2. 对于给定的实例\(x\),计算后验概率
  3. 根据后验概率最大的确定实例\(x\)的类

贝叶斯估计

\[
P_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda}
\]

\[
P_\lambda (X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}
\]

其中\(\lambda>0\),常取\(\lambda=1\),称为拉普拉斯平滑。\(K\)为\(Y\)取值个数,\(S_j\)为\(x\)的特征\(l\)的个数。

朴素贝叶斯法(naive Bayes)的更多相关文章

  1. PGM:贝叶斯网表示之朴素贝叶斯模型naive Bayes

    http://blog.csdn.net/pipisorry/article/details/52469064 独立性质的利用 条件参数化和条件独立性假设被结合在一起,目的是对高维概率分布产生非常紧凑 ...

  2. 【机器学习速成宝典】模型篇05朴素贝叶斯【Naive Bayes】(Python版)

    目录 先验概率与后验概率 条件概率公式.全概率公式.贝叶斯公式 什么是朴素贝叶斯(Naive Bayes) 拉普拉斯平滑(Laplace Smoothing) 应用:遇到连续变量怎么办?(多项式分布, ...

  3. 【机器学习实战】第4章 朴素贝叶斯(Naive Bayes)

    第4章 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本章首先介绍贝叶斯分类算法的基础——贝叶斯定理.最后,我们 ...

  4. 【Spark机器学习速成宝典】模型篇04朴素贝叶斯【Naive Bayes】(Python版)

    目录 朴素贝叶斯原理 朴素贝叶斯代码(Spark Python) 朴素贝叶斯原理 详见博文:http://www.cnblogs.com/itmorn/p/7905975.html 返回目录 朴素贝叶 ...

  5. 朴素贝叶斯(Naive Bayes)

    1.朴素贝叶斯模型 朴素贝叶斯分类器是一种有监督算法,并且是一种生成模型,简单易于实现,且效果也不错,需要注意,朴素贝叶斯是一种线性模型,他是是基于贝叶斯定理的算法,贝叶斯定理的形式如下: \[P(Y ...

  6. 朴素贝叶斯(naive bayes)算法及实现

    处女文献给我最喜欢的算法了 ⊙▽⊙ ---------------------------------------------------我是机智的分割线----------------------- ...

  7. 深入理解朴素贝叶斯(Naive Bayes)

    https://blog.csdn.net/li8zi8fa/article/details/76176597 朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法.朴素贝叶斯原理简 ...

  8. 模式识别之贝叶斯---朴素贝叶斯(naive bayes)算法及实现

    处女文献给我最喜欢的算法了 ⊙▽⊙ ---------------------------------------------------我是机智的分割线----------------------- ...

  9. 【分类算法】朴素贝叶斯(Naive Bayes)

    0 - 算法 给定如下数据集 $$T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},$$ 假设$X$有$J$维特征,且各维特征是独立分布的,$Y$有$K$种取值.则 ...

  10. 朴素贝叶斯分类器Naive Bayes

    优点Naive Bayes classifiers tend to perform especially well in one of the following situations: When t ...

随机推荐

  1. node.js适合游戏后台开发吗?

    网站服务器和游戏服务器是怎么样联系到一起的? 百牛信息技术bainiu.ltd整理发布于博客园 1. 游戏分很多种,咱们先来看看MMORPG. 再怎么简单的RPG服务器都免不了处理多人交互的情形,上百 ...

  2. Ubuntu中右击出现终端

    1 root用户 $sudo apt-get install  nautilus-open-terminal 2重启 3ok

  3. 利用jenkins和docker实现持续交付

    利用jenkins和docker实现持续交付 一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更 ...

  4. bzoj 4472: [Jsoi2015]salesman【树形dp+贪心】

    一个点,设f[u]为要取最大值显然是前最大停留次数-1个儿子的正数f和,排个序贪心即可 判重的话就是看没选的里面是否有和选了的里面f值相同的,有的话就是一.注意在选的时候要把加进f的儿子的g合并上去 ...

  5. Codeforces731E Funny Game

    dp[i][0]表示从i出发,轮到先手走的最优值. dp[i][1]表示从i出发,轮到后手走的最优值. dp[i][0]=max(dp[j][1]+sum[j]) dp[i][1]=min(dp[j] ...

  6. Spring 中的 18 个注解,你会几个?

    阅读本文大概需要 4 分钟. 作者:Java的小本家 @Controller 标识一个该类是 Spring MVC controller 处理器,用来创建处理 http 请求的对象. @RestCon ...

  7. Ubuntu添加新用户,并且赋sudo权限

    https://blog.csdn.net/u012897374/article/details/78827359 sudo adduser username 接下来进入root用户,如果之前就没有普 ...

  8. C#中自定义类数组和结构数组的使用

    如有雷同,不胜荣幸,若转载,请注明 C#中自定义类数组和结构数组的使用 最近在很多项目中发现很多时候给定的数组要实现某个逻辑或处理很是麻烦,一维数组,二维数组,,,等等需要经过n多转换,还不如自己写一 ...

  9. .Net开发人员必备工具下载

    .Net开发人员必备工具下载   本人亲测下载地址: Win8.1破解工具下载: http://pan.baidu.com/s/1eQf2UiQ 可激活版本 Windows Vista Busines ...

  10. jsp include

    1.<%@ include file="a.jsp"%> 路径无法动态赋值,只能写成固定路径: 生成一个jsp页面,整个编译 2.<jsp:include pag ...