CS229 笔记05

生成学习方法

判别学习方法的主要思想是假设属于不同target的样本,服从不同的分布。

例如 \(P(x|y=0) \sim {\scr N}(\mu_1,\sigma_1^2)\) , \(P(x|y=1) \sim {\scr N}(\mu_2,\sigma_2^2)\) 。

  • Gaussian Discriminant Analysis(高斯判别分析)

    在这里还是讨论 \(y\in\{0,1\}\) 的二元分类问题, \(P(y)=\phi^y(1-\phi)^{1-y}\)。

    由于 \(x\) 是一个向量,所以需要用到多元高斯分布。

    假设 \(P(x|y=0) \sim {\scr N}(\vec{\mu_0}, \Sigma)\) , \(P(x|y=0) \sim {\scr N}(\vec{\mu_1}, \Sigma)\) 。

    \[
    \begin{eqnarray*}
    l(\phi\mu_0\mu_1\Sigma)&=&\log\prod_{i=1}^{m}P(x^{(i)},y^{(i)}) \\[1em]
    &=&\log\prod_{i=1}^{m}P(x^{(i)}|y^{(i)})P(y^{(i)}) \\[1em]
    &=&\log\prod_{i=1}^{m}P(y^{(i)})\left[I\{y^{(i)}=1\}P(x^{(i)}|y^{(i)}=1)+I\{y^{(i)}=0\}P(x^{(i)}|y^{(i)}=0)\right] \\[1em]
    &=&\log\prod_{i=1}^{m}\left\{\frac{y\phi}{\sqrt{2\pi|\Sigma|}}\left[(x^{(i)}-\mu_1)^{\rm T}\Sigma^{-1}(x^{(i)}-\mu_1)\right]+\frac{(1-y)(1-\phi)}{\sqrt{2\pi|\Sigma|}}\left[(x^{(i)}-\mu_0)^{\rm T}\Sigma^{-1}(x^{(i)}-\mu_0)\right]\right\} \\[1em]
    \end{eqnarray*}\\
    {\text{...}}\\
    {\text{To be continue}}\\
    {\text{...}}
    \]

    通过改变 \(\phi,\mu_0,\mu_1,\Sigma\) 的值,使得似然函数 \(l(\phi\mu_0\mu_1\Sigma)\) 最大化,此时各参数为:

    \[
    \begin{eqnarray*}
    \phi&=&\frac{\sum_i^my^{(i)}}{m}=\frac{\sum_i^mI\{y^{(i)}=1\}}{m} \\[1em]
    \mu_0&=&\frac{\sum_i^m\left(I\{y^{(i)}=0\}\cdot x^{(i)}\right)}{\sum_i^mI\{y^{(i)}=0\}} \\[1em]
    \mu_1&=&\frac{\sum_i^m\left(I\{y^{(i)}=1\}\cdot x^{(i)}\right)}{\sum_i^mI\{y^{(i)}=1\}} \\[1em]
    \end{eqnarray*}
    \]

    训练完成之后,对于一个新样本,只需要看该样本更符合哪一个模型即可:

    \[
    \begin{eqnarray*}
    h(x)&=&\arg \max_y P(y|x) \\[1em]
    &=&\arg \max_y \frac{P(x|y)P(y)}{P(x)} \\[1em]
    &=&\arg \max_y P(x|y)P(y) \\[1em]
    \end{eqnarray*}
    \]

  • 高斯判别分析与逻辑回归的关系

    若样本的两部分分别来自两个参数不同的高斯分布,则后验分布函数 \(P(y=1|x)\) 就是Logistic函数。

    \[
    \begin{eqnarray*}
    P(y=1|x)&=&\frac{P(x|y=1)P(y=1)}{P(x)}\\[1em]
    &=&\frac{\frac{\phi}{\sqrt{2\pi|\Sigma|}}\left((x-\mu_1)^{\rm T}\Sigma^{-1}(x-\mu_1)\right)}{\frac{\phi}{\sqrt{2\pi|\Sigma|}}\left((x-\mu_1)^{\rm T}\Sigma^{-1}(x-\mu_1)\right)+\frac{1-\phi}{\sqrt{2\pi|\Sigma|}}\left((x-\mu_0)^{\rm T}\Sigma^{-1}(x-\mu_0)\right)}\\[1em]
    &=&\frac{\phi\left((x-\mu_1)^{\rm T}\Sigma^{-1}(x-\mu_1)\right)}{\phi\left((x-\mu_1)^{\rm T}\Sigma^{-1}(x-\mu_1)\right)+(1-\phi)\left((x-\mu_0)^{\rm T}\Sigma^{-1}(x-\mu_0)\right)}\\[1em]
    \end{eqnarray*}\\
    {\text{...}}\\
    {\text{To be continue}}\\
    {\text{...}}
    \]

    不仅如此,若样本的两部分分别来自两个参数不同的同样的指数分布族分布,则后验分布函数 \(P(y=1|x)\) 也是Logistic函数。

    因此“假设样本的两部分都来自高斯分布”比“假设样本的后验分布函数是Logistic函数”有更强的约束性,利用了更多的已知信息,所以相对来说高斯判别分析需要较少的训练样本就能达到较好的效果。

    当决定采用逻辑回归,就意味着选择了一个约束较少的假设,这样就会有更强的泛化能力。与此同时也就意味着需要更多的样本来训练模型。

朴素贝叶斯

首先定义符号:

训练样本为 \(\left(x^{(1)},y^{(1)}\right),\left(x^{(2)},y^{(2)}\right),\cdots,\left(x^{(m)},y^{(m)}\right)\) , \(x^{(i)}\in\{0,1\}^n\) , \(y^{(i)}\in\{0,1\}\) 。

  • 假设

    朴素贝叶斯方法一个很重要的特点是,它有一个很强的假设:

    假设给定 \(y\) 之后, \(x_j\) 之间是彼此条件独立的,即:

    \[
    P(x_1,x_2,\cdots,x_n|y)=P(x_i|y)P(x_2|y) \cdots P(x_n|y)
    \]

  • 参数及其训练推导

    朴素贝叶斯算法中有如下参数:

    \[
    \begin{eqnarray*}
    \phi_{j|y=0}&=&P(x_j|y=0)\\[1em]
    \phi_{j|y=1}&=&P(x_j|y=1)\\[1em]
    \phi_{y=1}&=&P(y=1)\\[1em]
    \phi_{y=0}&=&1-P(y=1)\\[1em]
    \end{eqnarray*}
    \]

    似然函数:

    \[
    \begin{eqnarray*}
    l(\phi_{y=0}\phi_{y=1}\phi_{j|y=0}\phi_{j|y=1}\cdots)&=&\log\prod_i^mP(x^{(i)},y^{(i)})\\[1em]
    &=&\log\prod_i^m\left[P(x^{(i)}|y^{(i)}=0)P(y^{(i)}=0)+P(x^{(i)}|y^{(i)}=1)P(y^{(i)}=1)\right]\\[1em]
    &=&\log\prod_i^m\left[\prod_j^nP(x^{(i)}_j|y^{(i)}=0)P(y^{(i)}=0)+\prod_j^nP(x^{(i)}_j|y^{(i)}=1)P(y^{(i)}=1)\right]\\[1em]
    &=&\log\prod_i^m\left[\prod_j^n\phi_{j|y=0}\phi_{y=0}+\prod_j^n\phi_{j|y=1}\phi_{y=1}\right]\\[1em]
    \end{eqnarray*}\\
    {\text{...}}\\
    {\text{To be continue}}\\
    {\text{...}}
    \]

    最大化似然函数,求得:

    \[
    \begin{eqnarray*}
    \phi_{j|y=0}&=&\frac{\sum_i^mI\{x^{(i)}_j=1,y^{(i)}=0\}}{\sum_i^mI\{y^{(i)}=0\}}\\[1em]
    \phi_{j|y=1}&=&\frac{\sum_i^mI\{x^{(i)}_j=1,y^{(i)}=1\}}{\sum_i^mI\{y^{(i)}=1\}}\\[1em]
    \phi_{y=0}&=&\frac{\sum_i^mI\{y^{(i)}=0\}}{m}\\[1em]
    \phi_{y=1}&=&\frac{\sum_i^mI\{y^{(i)}=1\}}{m}\\[1em]
    \end{eqnarray*}
    \]

  • 预测

    预测函数为:

    \[
    \begin{eqnarray*}
    h(x)&=&\arg \max_y P(y|x)\\[1em]
    &=&\arg \max_y \frac{P(x|y)P(y)}{P(x)}\\[1em]
    &=&\arg \max_y P(x|y)P(y)\\[1em]
    &=&\arg \max_y \prod_j^nP(x_j|y)P(y)\\[1em]
    &=&\arg \max_y \prod_j^n\phi_{j|y}\phi_y\\[1em]
    \end{eqnarray*}
    \]

  • Laplace Smoothing

    当遇到一些在训练集未出现过的样本时,以上的算法会失效,所以可以考虑在估计参数时增加一些噪声。

CS229 笔记05的更多相关文章

  1. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  2. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

  3. JS自学笔记05

    JS自学笔记05 1.例题 产生随机的16进制颜色 function getColor(){ var str="#"; var arr=["0","1 ...

  4. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  5. 机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归

    机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归 关键字:Logistic回归.python.源码解析.测试作者:米仓山下时间:2018- ...

  6. CS229 笔记08

    CS229 笔记08 Kernel 回顾之前的优化问题 原始问题为: \[ \min_{w,b} \frac{1}{2}||w||^2\\[1.5em] {\text{s.t.}}y^{(i)}\le ...

  7. CS229 笔记07

    CS229 笔记07 Optimal Margin Classifier 回顾SVM \[ \begin{eqnarray*} h_{w,b}&=&g(w^{\rm T}x+b)\\[ ...

  8. CS229 笔记06

    CS229 笔记06 朴素贝叶斯 事件模型 事件模型与普通的朴素贝叶斯算法不同的是,在事件模型中,假设文本词典一共有 \(k\) 个词,训练集一共有 \(m\) 封邮件,第 \(i\) 封邮件的词的个 ...

  9. CS229 笔记04

    CS229 笔记04 Logistic Regression Newton's Method 根据之前的讨论,在Logistic Regression中的一些符号有: \[ \begin{eqnarr ...

随机推荐

  1. Python机器学习/LinearRegression(线性回归模型)(附源码)

    LinearRegression(线性回归) 2019-02-20  20:25:47 1.线性回归简介 线性回归定义: 百科中解释 我个人的理解就是:线性回归算法就是一个使用线性函数作为模型框架($ ...

  2. [T-ARA][결혼 하지마][不要结婚]

    歌词来源:http://music.163.com/#/song?id=27808773 作曲 : 二段横踢 [作曲 : 二段横踢] 作词 : 二段横踢 [作词 : 二段横踢] Hey anybody ...

  3. 日本厚劳省对IT技术人员展开确保海外人才调查

    新浪美股讯 5月13日消息,共同社报道,日本厚生劳动省将开始对在国内工作的外国籍系统工程师(SE)及程序员的劳动条件进行实际状况调查.为避免在与海外的人才获取竞争中败北,希望掌握接纳企业的需求等推动企 ...

  4. PAT甲题题解-1101. Quick Sort (25)-大水题

    快速排序有一个特点,就是在排序过程中,我们会从序列找一个pivot,它前面的都小于它,它后面的都大于它.题目给你n个数的序列,让你找出适合这个序列的pivot有多少个并且输出来. 大水题,正循环和倒着 ...

  5. 第二阶段冲刺——five

    个人任务: 王金萱:合并程序(统计团队博客). 季方:合并并排除运行团队博客时出现的错误. 马佳慧:优化登录.注册信息的填写判断. 司宇航:完成打印名单的功能. 站立会议: 任务看板和燃尽图:

  6. Beta版本冲刺(五)

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  7. Manjaro Linux 没有声音

    在Multimedia中的PulseAudio Volume Control中的设置可以解决

  8. Jenkins之自动构建

    修改job的配置: Build periodically:不管版本是否修改,都会执行: Poll SCM:只有当版本有修改才会执行.

  9. java数组倒序查找值

    java语言里面没有arr[:-2]这种方式取值 只能通过  arr[arr.length-1-x]的方式取值倒数的 x(标示具体的某个值)

  10. 去除百度搜索结果中的广告的 js 代码

    在百度页面下控制台里执行如下代码, 然后关掉控制台 setInterval(() => { try{ Array.from( document.querySelectorAll('#conten ...