作业目的: 体会条件独立

1、现需要设计一个根据一个人是否是学生$S$(布尔变量)和其体重$W$(连续变量)判断该人的性别$G$(布尔变量)。假设在给定$G$的情况下$S$和$W$独立,且假设概率分布 $p(W|G=female)$和$p(W|G=male)$为高斯分布且二者的方差相等。
(a)可以用朴素贝叶斯分类器实现吗?
(b)如果可以用朴素贝叶斯分类器的话,需要估计从训练数据中估计哪些分布的哪些参数。

(a)、

由条件独立性假设可是,可以用朴素贝叶斯分类,并且有:

$ p(G | S, W) \propto p(S, W | G)\cdot p(G)$

给定$G$的情况下$S$和$W$独立可得,

$p(G | S, W) \propto p(S | G)\cdot p(W | G)\cdot p(G)$

(b)、

$p(G = female | S, W) \propto p(S | G = female)\cdot p(W | G = female)\cdot p(G = female)$

$p(G = male | S, W) \propto p(S | G = male)\cdot p(W | G = male)\cdot p(G = male)$

其中,

$p(G) = Ber(\theta _{1})$ (伯努利分布)

$p(S | G = female) = Ber(\theta _{2}), p(S | G = male) = Ber(\theta _{3})$

$p(W | G = female) = N(\theta _{4}, \theta _{5}), p(W | G = female) = N(\theta _{6}, \theta _{5})$ (均满足正态分布,且具有相同的方差)

$\theta _{1}$到$\theta _{6}$就是需要估计的参数。

2、体会条件独立带来模型参数的减少考虑一个$C$个类别的产生式分类器,其中类条件概率密度为$p(x|y) $,假设类先验$p(y)$为均匀分布。假设$D$维特征均为二值变量,即$x_{j} \epsilon \left \{ 0, 1 \right \}$。假设在给定类别的条件下,各个特征独立(朴素贝叶斯假设),我们可以记$p(X|y=c,\theta ) = \prod_{j=1}^{D}Ber(x_{j}|\theta_{jc})$,模型共需要$DC$个参数。

(a) 考虑一个不同的“全”模型,即所有变量都相关。则条件概率$p(X|y = c)$应该是什么样子?表示$p(X|y = c)$需要多少个参数?
(b) 当样本数目N较小时,条件独立模型和全模型哪个模型的性能会更好?
(c) 当样本数目N较大时,上述两个模型哪个模型的性能更好?

      (a)、

      将$D$维随机变量$X$表示为$(X_{1}, X_{2}, \cdots , X_{D})$

      $p(X|y=c) = p(X_{1}|y=c)\cdot p(X_{2}|X_{1},y=c)\cdot p(X_{3}|X_{1},X_{2},y=c)\cdots p(X_{D}|X_{1},X_{2},\cdots ,X_{D-1},y=c)$

      其中,$p(X_{1}|y=c)$服从伯努利分布,需要1个参数。$p(X_{2}|X_{1},y=c)$需要估计$p(X_{2}|X_{1}=0,y=c)$,$p(X_{2}|X_{1}=1,y=c)$两个伯努利分布,因此需要2个参数。

      同理有$p(X_{3}|X_{1},X_{2},y=c)$需要4个参数,$p(X_{D}|X_{1},X_{2},\cdots ,X_{D-1},y=c)$需要$2^{D-1}$的参数

      为表示$p(X|y=c)$,所需参数个数:$1+2+4+\cdots +2^{D-1} = 2^{D}-1$

      (b)、(c)、

      当样本数目很小时,由于全模型考虑到了更多的样本信息,应该会好一些吧。如果样本数不小时,全概率模型由于需要估计太多参数,难以计算。

      

概率与统计推断第二讲homework的更多相关文章

  1. 概率与统计推断第一讲homework

    1. 假设在考试的多项选择中,考生知道正确答案的概率为$p$,猜测答案的概率为$1-p$,并且假设考生知道正确答案答对题的概率为1,猜中正确答案的概率为$\frac{1}{m}$,其中$m$为多选项的 ...

  2. 【题解】歌唱王国(概率生成函数+KMP)+伦讲的求方差

    [题解]歌唱王国(概率生成函数+KMP)+伦讲的求方差 生成函数的本质是什么呀!为什么和It-st一样神 设\(f_i\)表示填了\(i\)个时候停下来的概率,\(g_i\)是填了\(i\)个的时候不 ...

  3. POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

    第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...

  4. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

    原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  5. 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的

    [军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的   之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们, ...

  6. 《ArcGIS Engine+C#实例开发教程》第二讲 菜单的添加及其实现

    原文:<ArcGIS Engine+C#实例开发教程>第二讲 菜单的添加及其实现 摘要:在上一讲中,我们实现了应用程序基本框架,其中有个小错误,在此先跟大家说明下.在“属性”选项卡中,我们 ...

  7. 基于微信公众平台的开发(清华大学第二讲)_Alien的笔记

    基于微信公众平台的开发(清华大学第二讲)_Alien的笔记 基于微信公众平台的开发(清华大学第二讲)

  8. 32位汇编第二讲,编写窗口程序,加载资源,响应消息,以及调用C库函数

    32位汇编第二讲,编写窗口程序,加载资源,响应消息,以及调用C库函数 (如果想看所有代码,请下载课堂资料,里面有所有代码,这里会讲解怎么生成一个窗口程序) 一丶32位汇编编写Windows窗口程序 首 ...

  9. 常见注入手法第二讲,APC注入

    常见注入手法第二讲,APC注入 转载注明出处 首先,我们要了解下什么是APC APC 是一个简称,具体名字叫做异步过程调用,我们看下MSDN中的解释,异步过程调用,属于是同步对象中的函数,所以去同步对 ...

随机推荐

  1. PS图层混合算法之二(线性加深,线性减淡,变亮,变暗)

    线性加深模式: 查看每个通道的颜色信息,通过降低"亮度"使底色的颜色变暗来反映绘图色,和白色混合没变化. Linear Burn 线形加深 C=A+B-1 如果上下层的像素值之和小 ...

  2. Struts源码之OgnlValueStack

    public class OgnlValueStack implements Serializable, ValueStack, ClearableValueStack, MemberAccessVa ...

  3. Slop One 算法

    Slope One 算法是由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based 推荐算法. Slope One 算法试图同时满足这样的的 5 个目标: 易于实现和维护: ...

  4. C# 操作Excel数据透视表

    一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...

  5. CSS 文章链接

    文本溢出显示为省略号 Ellipsis for text overflow in table cell?

  6. left join 原理分析

    left join 原理分析 [转贴 2006-11-15 16:19:50]     字号:大 中 小 案例分析 user表:  id   | name --------- 1   | libk   ...

  7. JavaScript中将对象数组中的某个属性值,批量替换成另一个数值

    原文链接 https://segmentfault.com/q/1010000010352622 希望将下列数组中的sh替换成沪,sz替换成深 var stooges = [ {label:1,val ...

  8. VirtualBox 自动挂载共享文件夹

    在文件 /etc/rc.local 中(用root用户)追加如下命令 mount -t vboxsf sharing /mnt/share 重启后就大功告成了,网上大部分说的修改etc下面的fstab ...

  9. 《Servlet与JSP核心编程》读书笔记

    这本书实际是我进入JavaWeb开发的入门书籍,而且是日常碰到一些技术问题需要确认时的参考书,前一段时间在解决一个他人的问题时,我突然发现我的第一遍阅读对这本书的内容的理解还不够透彻,所以又开始N多年 ...

  10. 用户注册登录系统 V2.0

    # 准备空列表 users = [] # 准备当前在线用户 online_user = {} while True: # 打印系统提示 print("欢迎使用 用户注册登录系统V2.0&qu ...