作业目的: 体会条件独立

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. FFMPEG结构体分析:AVFormatContext

    注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContext ...

  2. iOS评分功能、APP中打开其他应用程序

    1.评分功能 iOS中评分支持功能开发非常简单. NSString *str = [NSString stringWithFormat: @"itms-apps://itunes.apple ...

  3. C++语言之类class

    在现实世界中,经常有属于同一类的对象.例如,你的自行车只是世界上很多自行车中的一辆.在面向对象软件中,也有很多共享相同特征的不同的对象:矩形.雇用记录.视频剪辑等.可以利用这些对象的相同特征为它们建立 ...

  4. 安卓学习笔记一 Activity延迟转跳实现欢迎界面

    新人学习安卓,为了刚好的学习,现做如下笔记..同时希望自己的经验可以帮助新人们学习入门. 几乎每个app都有个欢迎界面,我们可以使用Activity转跳来实现. 首先建立一个MainActivity ...

  5. linux下创建且挂载光盘镜像

    在linux下可以很方便的将多个文件,或多个文件夹下的内容打包进光盘镜像中,我们可以用: mkisofs -r -v -o xxx.iso /root /home 命令将/root以及/home目录下 ...

  6. 二维码js生成库

    jr-qrcode 把字符串生成二维码,并以Base64 URL形式输出. 支持白色二维码,即反色二维码. 兼容性 插件使用了H5的canvas特性进行二维码绘制,最后输出base64 url,因此本 ...

  7. 怎么分别javascript写在<head>里还是<body>里面?

    怎么分别javascript写在<head>里还是<body>里面? 具体哪些语句写在<body>里,哪些语句写在<head>里 满意答案 BeginN ...

  8. Day9 操作系统介绍

    操作系统简介(转自林海峰老师博客介绍)

  9. java学习面试精华

    1.线程状态转移 (1)线程生命周期中的5种状态 新建(New).就绪(Runnable).运行(Running).阻塞(Bolocked)和死亡(Dead) 新建(New):程序使用new关键字创建 ...

  10. vue项目通过webpack打包生成的dist文件放到express环境里运行(vue+webpack+express)

    1.首先需要的原料肯定是vue打包生成的dist文件 在vue项目目录下运行:npm run build,等待运行结束,会在项目目录下生成一个dist文件夹,里面会生成一些文件(如下图示) 小的项目文 ...