CS229 笔记04

Logistic Regression

  • Newton's Method

    根据之前的讨论,在Logistic Regression中的一些符号有:

    \[
    \begin{eqnarray*}
    P(y=1|x;\Theta)&=&h_\Theta(x)=\frac{1}{1+e^{-\Theta^{{\rm T}}x}} \\[1em]
    P(y|x;\Theta)&=&[h_\Theta(x)]^y[1-h_\Theta(x)]^{1-y} \\[1em]
    l(\Theta)&=&\log{L(\Theta)} \\[1em]
    &=&\sum_i^m{\log{P(y^{(i)}|x^{(i)};\Theta)}} \\[1em]
    &=&\sum_i^m{y^{(i)}\log{[h_\Theta(x^{(i)})]}+(1-y^{(i)})\log{[1-h_\Theta(x^{(i)})]}} \\[1em]
    \end{eqnarray*}
    \]

    与之前讨论的不同点在于参数 \(\Theta\) 的迭代方式,在这里使用牛顿方法。为得到 \(l(\Theta)\) 的最大值,只需要计算使得 \(l^{'}(\Theta)={\bf 0}\) 成立 \(\Theta\) 。

    当 \(\Theta\) 是一个标量时可以用以下方法计算:

    \[
    \Theta^{t+1}=\Theta^{t}-\frac{h_\Theta^{'}(x)}{h_\Theta^{''}(x)}
    \]

    当 \(\Theta\) 是一个向量时(设 \(\Theta \in {\Bbb R}^{n+1}\))可以用以下方法计算(引用了第三篇笔记中的结论):

    \[
    \begin{eqnarray*}
    \Theta^{t+1}&=&\Theta^{t}-H^{-1}\nabla_\Theta l(\Theta) \\[1em]
    \nabla_\Theta l(\Theta)&=&\sum_i^m{\frac{2y^{(i)}-1}{1+e^{\Theta^{{\rm T}}x^{(i)}}}x^{(i)}} \\[1em]
    [H]_{pq}&\xlongequal{def}&\frac{\partial^2 l(\Theta)}{\partial \theta_p \partial \theta_q} \\[1em]
    &=&\frac{\partial}{\partial \theta_q}\frac{\partial l(\Theta)}{\partial \theta_p} \\[1em]
    &=&\frac{\partial}{\partial \theta_q}\sum_i^m{\frac{2y^{(i)}-1}{1+e^{\Theta^{{\rm T}}x^{(i)}}}x^{(i)}_p} \\[1em]
    &=&\sum_i^m\frac{e^{\Theta^{{\rm T}}x^{(i)}}(1-2y^{(i)})}{\left(1+e^{\Theta^{{\rm T}}x^{(i)}}\right)^2}x^{(i)}_px^{(i)}_q \\[1em]
    \therefore H&=&\sum_i^m\frac{e^{\Theta^{{\rm T}}x^{(i)}}(1-2y^{(i)})}{\left(1+e^{\Theta^{{\rm T}}x^{(i)}}\right)^2}x^{(i)}(x^{(i)})^{{\rm T}} \\[1em]
    \end{eqnarray*}
    \]

Exponential Family

  • Exponential Family

    \[
    P(y;\eta)=b(y)\exp{\left[\eta^{{\rm T}}T(y)-a(\eta)\right]}
    \]

    \(\eta\) :Natural Parameter(自然参数)

    \(T\) :Sufficient Statistic(充分统计量),通常 \(T(y)=y\)

  • Bernoulli Distribution(伯努利分布)

    \[
    \begin{eqnarray*}
    P(y;\phi)&=&\phi^y(1-\phi)^{1-y} \\[1em]
    &=&\exp\left\{\log\left[\phi^y(1-\phi)^{1-y}\right]\right\} \\[1em]
    &=&\exp\left[y\log\phi+(1-y)\log(1-\phi)\right] \\[1em]
    &=&\exp\left\{y[\log\phi-\log(1-\phi)]+\log(1-\phi)\right\} \\[1em]
    &=&\exp\left[\log\left(\frac{\phi}{1-\phi}\right) \cdot y+\log(1-\phi)\right] \\[1em]
    \end{eqnarray*}
    \]

    其中:

    \[
    \begin{eqnarray*}
    \eta&=&\log\left(\frac{\phi}{1-\phi}\right) \\[1em]
    T(y)&=&y \\[1em]
    a(\eta)&=&-\log(1-\phi)\\[1em]
    b(y)&=&1
    \end{eqnarray*}
    \]

    经过变换可得:

    \[
    \begin{eqnarray*}
    \phi&=&\frac{1}{1+e^{-\eta}} \\[1em]
    a(\eta)&=&-\log(1-\phi) \\[1em]
    &=&-\log(1-\frac{1}{1+e^{-\eta}}) \\[1em]
    &=&\log(1+e^\eta) \\[1em]
    T(y)&=&y\\[1em]
    b(y)&=&1
    \end{eqnarray*}
    \]

    可得到Logistic Function(或称Sigmoid Function)

  • Gaussian Distribution(高斯分布)

    假设 $y \sim {\scr N}(\mu, 1) $

    \[
    \begin{eqnarray*}
    P(y)&=&\frac{1}{\sqrt2\pi}\exp\left[-\frac{1}{2}(y-\mu)^2\right] \\[1em]
    &=&\frac{1}{\sqrt2\pi}\exp\left(-\frac{1}{2}y^2+\mu y-\frac{1}{2}\mu^2\right) \\[1em]
    &=&\frac{1}{\sqrt2\pi}\exp\left(-\frac{1}{2}y^2\right)\exp\left(\mu y-\frac{1}{2}\mu^2\right) \\[1em]
    \end{eqnarray*}
    \]

    其中:

    \[
    \begin{eqnarray*}
    b(y)&=&\frac{1}{\sqrt2\pi}\exp\left(-\frac{1}{2}y^2\right) \\[1em]
    \eta&=&\mu \\[1em]
    T(y)&=&y\\[1em]
    a(\eta)&=&-\frac{1}{2}\mu^2 \\[1em]
    &=&-\frac{1}{2}\eta^2 \\[1em]
    \end{eqnarray*}
    \]

  • Poisson Distribution(泊松分布)

    假设 $y \sim \pi(\mu, 1) $

    \[
    \begin{eqnarray*}
    P(y)&=&\frac{e^{-\lambda}\lambda^y}{y!} \\[1em]
    &=&\frac{1}{y!}e^{-\lambda}e^{\log\lambda^y} \\[1em]
    &=&\frac{1}{y!}\exp(y\log\lambda-\lambda) \\[1em]
    \end{eqnarray*}
    \]

    其中:

    \[
    \begin{eqnarray*}
    b(y)&=&\frac{1}{y!}\\[1em]
    T(y)&=&y\\[1em]
    \eta&=&\log\lambda\\[1em]
    a(\eta)&=&-\lambda\\[1em]
    &=&-e^\eta
    \end{eqnarray*}
    \]

  • Multinomial Distribution(多项分布)

    当 \(y\) 服从多项分布时, \(y \in \{1,2,\cdots,k\}\) 。

    多项分布的参数有 \(\phi_1,\phi_2,\cdots,\phi_k\) ,因为 \(\sum_i^k{\phi_i}=1\) ,所以 \(\phi_k\) 可以省略。

    多项分布是少数的 \(T(y) \neq y\) 的分布。 \(T(y) \in {\Bbb R}^{k-1}\) ,其被定义为:

    \[
    T(1)=\begin{bmatrix}1\\0\\\vdots\\0\end{bmatrix},T(2)=\begin{bmatrix}0\\1\\\vdots\\0\end{bmatrix},\cdots,T(k-1)=\begin{bmatrix}0\\0\\\vdots\\1\end{bmatrix},T(k)=\begin{bmatrix}0\\0\\\vdots\\0\end{bmatrix}
    \]

    再定义一个符号: \(I\{true\}=1,I\{false\}=0\) 。

    \(T(y)_i\) 表示 \(T(y)\) 向量中的第 \(i\) 个分量。

    概率密度函数为:\(P(y=i)=\phi_i\) ,即:

    \[
    \begin{eqnarray*}
    P(y)&=&\phi_1^{I\{y=1\}}\phi_2^{I\{y=2\}}\cdots\phi_k^{I\{y=k\}} \\[1em]
    &=&\phi_1^{T(y)_1}\phi_2^{T(y)_2}\cdots\phi_k^{1-\sum_{i=1}^{k-1}T(y)_i} \\[1em]
    &=&\exp\left\{\log\left[\phi_1^{T(y)_1}\phi_2^{T(y)_2}\cdots\phi_k^{1-\sum_{i=1}^{k-1}T(y)_i}\right]\right\} \\[1em]
    &=&\exp\left[T(y)_1\log\phi_1+T(y)_2\log\phi_2+\cdots+\left(1-\sum_{i=1}^{k-1}T(y)_i\right)\log\phi_k\right] \\[1em]
    &=&\exp\left[\sum_{i=1}^{k-1}T(y)_i\log\phi_i+\log\phi_k-\sum_{i=1}^{k-1}T(y)_i\log\phi_k\right] \\[1em]
    &=&\exp\left[\sum_{i=1}^{k-1}T(y)_i(\log\phi_i-\log\phi_k)+\log\phi_k\right] \\[1em]
    &=&\exp\left[\sum_{i=1}^{k-1}T(y)_i\log\frac{\phi_i}{\phi_k}+\log\phi_k\right] \\[1em]
    &=&\exp\left[\eta^{\rm T}T(y)+\log\phi_k\right] \\[1em]
    \end{eqnarray*}
    \]

    其中:

    \[
    \eta=\begin{bmatrix}\log\frac{\phi_1}{\phi_k}\\\log\frac{\phi_2}{\phi_k}\\\vdots\\\log\frac{\phi_{k-1}}{\phi_k}\end{bmatrix}
    \]

    因为\(T(y)_i\) 当中只有一项为1,其它为0,所以 \(\sum_{i=1}^{k-1}T(y)_i\log\frac{\phi_i}{\phi_k}\) 当中只会剩下一项 \(T(y)_i\log\frac{\phi_i}{\phi_k}\) ,使用 \(\eta^{\rm T}T(y)\) 正好能表示那一项。

    下面使用 \(\eta\) 来表示 \(\phi_k\) :

    \[
    \begin{eqnarray*}
    \eta_i&=&\log\frac{\phi_i}{\phi_k} \\[1em]
    \exp(\eta_i)&=&\frac{\phi_i}{\phi_k} \\[1em]
    \sum_{i=1}^{k-1}\exp(\eta_i)&=&\sum_{i=1}^{k-1}\frac{\phi_i}{\phi_k} \\[1em]
    \sum_{i=1}^{k-1}\exp(\eta_i)&=&\frac{1-\phi_k}{\phi_k} \\[1em]
    \phi_k&=&\frac{1}{1+\sum_{i=1}^{k-1}\exp(\eta_i)} \\[1em]
    \phi_i&=&\phi_k\exp(\eta_i) \\[1em]
    &=&\frac{\exp(\eta_i)}{1+\sum_{i=1}^{k-1}\exp(\eta_i)} \\[1em]
    \end{eqnarray*}
    \]

    所以:

    \[
    \begin{eqnarray*}
    b(y)&=&1\\[1em]
    \eta&=&\begin{bmatrix}\log\frac{\phi_1}{\phi_k}\\\log\frac{\phi_2}{\phi_k}\\\vdots\\\log\frac{\phi_{k-1}}{\phi_k}\end{bmatrix}\\[1em]
    a(\eta)&=&-\log\phi_k \\[1em]
    &=&-\log\left(\frac{1}{1+\sum_{i=1}^{k-1}\exp(\eta_i)}\right) \\[1em]
    &=&\log\left(1+\sum_{i=1}^{k-1}\exp(\eta_i)\right) \\[1em]
    \end{eqnarray*}
    \]

Generalized Linear Models

当决定使用指数分布族来解决问题后,就会推导出一个广义的线性模型。

使用指数分布族需要有以下假设:

  1. \(y\) 服从指数分布族中的某种分布,即 \(y|x;\Theta \sim ExpFamily(\eta)\)
  2. 给定一些样本 \(x\) ,目标是估计对应的 \(y\) ,\(y\) 可以用充分统计量 \(T(y)\) 来表示,所以问题就变成了估计 \(T(y)\) 的期望,即 \(h(x)=E[T(y)|x]\) 。
  3. 指数分布族中的参数 \(\eta\) 与输入的特征(也就是输入的样本) \(x\) 之间的关系是线性关系,即 \(\eta=\Theta^{\rm T}x\) 。

以下是一些常见分布(在之前被证明了属于指数分布族的)的估计函数的推导过程:

  • Bernoulli Distribution(伯努利分布) -> Logistic Regression(逻辑回归)

    假设 \(y|x;\Theta \sim ExpFamily(\eta)\) 中的伯努利分布,即:

    \[
    \begin{eqnarray*}
    h_\Theta(x)&=&E[T(y)|x;\Theta] \\[1em]
    &=&P(y=1|x;\Theta) \\[1em]
    &=&\phi \\[1em]
    &=&\frac{1}{1+e^{-\eta}} \\[1em]
    &=&\frac{1}{1+e^{-\Theta^{\rm T}x}} \\[1em]
    \end{eqnarray*}
    \]

  • Gaussian Distribution(高斯分布) -> Least Square (最小二乘)

    假设 \(y|x;\Theta \sim ExpFamily(\eta)\) 中的高斯分布,即:

    \[
    \begin{eqnarray*}
    h_\Theta(x)&=&E[T(y)|x;\Theta] \\[1em]
    &=&\mu \\[1em]
    &=&\eta \\[1em]
    &=&\Theta^{\rm T}x
    \end{eqnarray*}
    \]

  • Multinomial Distribution(多项分布) -> Softmax Regression

    假设 \(y|x;\Theta \sim ExpFamily(\eta)\) 中的多项分布,由于多项分布的参数 \(\eta\) 是一个向量,所以 \(\Theta\) 将会是一个矩阵, \(\Theta \in {\Bbb R}^{(n+1)\times(k-1)}\) ,即 \(\Theta_i \in {\Bbb R}^{(n+1)}\) ,则估计函数为:

    \[
    \begin{eqnarray*}
    h_\Theta(x)&=&E[T(y)|x;\Theta] \\[1em]
    &=&\begin{bmatrix}\phi_1\\\phi_2\\\vdots\\\phi_{k-1}\end{bmatrix} \\[1em]
    &=&\begin{bmatrix}\frac{\exp(\eta_1)}{1+\sum_{i=1}^{k-1}\exp(\eta_i)}\\\frac{\exp(\eta_2)}{1+\sum_{i=1}^{k-1}\exp(\eta_i)}\\\vdots\\\frac{\exp(\eta_{k-1})}{1+\sum_{i=1}^{k-1}\exp(\eta_i)}\end{bmatrix} \\[1em]
    &=&\begin{bmatrix}\frac{\exp(\Theta_1^{\rm T}x)}{1+\sum_{i=1}^{k-1}\exp(\Theta_i^{\rm T}x)}\\\frac{\exp(\Theta_2^{\rm T}x)}{1+\sum_{i=1}^{k-1}\exp(\Theta_i^{\rm T}x)}\\\vdots\\\frac{\exp(\Theta_{k-1}^{\rm T}x)}{1+\sum_{i=1}^{k-1}\exp(\Theta_i^{\rm T}x)}\end{bmatrix} \\[1em]
    \end{eqnarray*}
    \]

CS229 笔记04的更多相关文章

  1. JS自学笔记04

    JS自学笔记04 arguments[索引] 实参的值 1.对象 1)创建对象 ①调用系统的构造函数创建对象 var obj=new Object(); //添加属性.对象.名字=值; obj.nam ...

  2. JAVA自学笔记04

    JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+ ...

  3. 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)

    机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes) 关键字:朴素贝叶斯.python.源码解析作者:米仓山下时间:2018-10-2 ...

  4. CS229 笔记08

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

  5. CS229 笔记07

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

  6. CS229 笔记06

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

  7. CS229 笔记05

    CS229 笔记05 生成学习方法 判别学习方法的主要思想是假设属于不同target的样本,服从不同的分布. 例如 \(P(x|y=0) \sim {\scr N}(\mu_1,\sigma_1^2) ...

  8. CS229 笔记03

    CS229 笔记03 局部加权线性回归 Non-Parametric Learning Algorithm (非参数学习方法) Number of parameters grows with the ...

  9. CS229 笔记02

    CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ ​ $ {\bf {\t ...

随机推荐

  1. Git 命令简单罗列

    源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 整 ...

  2. Kali信息收集-搜索引擎

    1.google hacking intext:搜索正文内容 intitile:网页标题中的内容 inurl:url中的关键字 site:目标站点下 filetype:文件类型 cache:缓存 li ...

  3. PHP学习 函数 function

    参数默认值function drink($kind ='tea'){echo 'would you please a cup'.$kind.'<br>';} drink();drink(' ...

  4. PAT甲题题解-1078. Hashing (25)-hash散列

    二次方探测解决冲突一开始理解错了,难怪一直WA.先寻找key%TSize的index处,如果冲突,那么依此寻找(key+j*j)%TSize的位置,j=1~TSize-1如果都没有空位,则输出'-' ...

  5. 《Linux内核分析》 第一节 计算机是如何工作的

    第一节 计算机是如何工作的 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-100002900 ...

  6. 框架-Spring

    项目中都用到了Spring.Mybatis.SpringMVC框架,首先来谈一谈Spring框架,Spring框架以IOC.AOP作为主要思想. IOC----控制反转 IOC的全称为Inversio ...

  7. 为什么java的main方法必须是静态的

    今天看类型信息时发现一个问题,不能再main方法中打印this关键字的信息,这时想起了之前的知识,不能再静态方法中调用this.理由很简单,this表示“这个对象”,也就是声明一个类的对象,然而静态方 ...

  8. github建仓库注意

    在导入新的项目工程时,github建仓库时不要选择readme文件初始化仓库

  9. vagrant 入门

    0.说明 本门所有的操作都是基于mac.windows可做相应调整,大体流程是一样的. 1.什么是vagrant 通俗来讲vagrant是一个通过命令行,来管理虚拟机的工具,vagrant本身并没有提 ...

  10. WebAPI框架里设置异常返回格式统一

    直接上代码 /// <summary> /// 消息代理处理,用来捕获这些特殊的异常信息 /// </summary> public class CustomErrorMess ...