码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习统计学习

时间:2019-10-11 21:56:34      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:str   生成   mina   硬币   稀疏编码   而不是   引入   复杂   数值   

统计学习

前言:机器学习比较重要的几部分:线性模型、统计学习、深度学习,线性部分包括SVM、压缩感知、稀疏编码,都是控制整个模型的稀疏性去做线性函数,偏 Discriminative 判别模型;统计学习主要通过统计方法对数据建模找到极大似然,偏 Generative 生成方法;深度学习就是 neural model,偏非线性。

机器学习中的统计多是基于对事件的不确定性度量关于,是主观的,而不是客观地基于频次。

EM算法 ( 期望最大算法,Expectation Maximum )

参考:EM-最大期望算法

隐含变量

给定训练数据 \(D={(x^{(1)},y^{(1)}),...,(x^{(N)},y^{(N)})}\),一般想学习到的情况是 \(x^{(i)}\)\(y^{(i)}\) 之间的函数关系,但是在统计学习里想学习到的是 \(P(y^{(i)}|x^{(i)})\),在二分类问题里就是 \(P(0|x^{(i)})\)\(P(1|x^{(i)})=1-P(0|x^{(i)})\)

一般假设数据服从某种分布,根据给定数据估计分布函数的参数求极大似然值\(L(\mu,\sigma)=\prod_{i=1}^N P(x^{(i)}|\mu,\sigma)=\sum_{i=1}^N logP(x^{(i)}|\mu,\sigma)\)

隐含变量和概率分布的关系

变量 \(X\) 每一个维度都相互独立

\[P(X)=P(x_1,x_2,...,x_n)=\prod_{j=1}^n P(x_j)\]

\(X\) 和某隐含变量 \(Z\) 相关

\[P(X)=\sum_ZP(X,Z)边缘概率\\=\sum_ZP(X|Z)P(Z)\]

  • 已知 \(Z\)\(X\) 有某种隐含关系,\(P(X|Z)\) 是可以求出来的
  • \(P(Z)\) 可假设 \(Z\) 服从某种先验分布

举例

掷硬币,\(X=\{0,1\}\),认为掷硬币的结果可能和高度相关,\(Z\) 为掷硬币的高度,抛掷高度、角度等都是假象的可能和结果有关的变量,我们假想这些因素来刻画数据的肌理,就是所谓 Generative Model。

假设三枚硬币 \(A,B,C\),掷出正面的概率分别为 \(\pi,p,q\),想象生成过程比较复杂,掷出 \(A\) ,若结果为 1 ,就掷 \(B\),若结果为 0 ,就掷 \(C\),每次先掷 \(A\),由 \(A\) 的结果决定掷 \(B\) 还是 \(C\),记下 \(B,C\) 的结果,生成 \(Y=(y^{(1)},y^{(2)},...,y^{(N)})\),如何预测 \(y^{(i)}\)

  1. 有参模型,\(\theta=(\pi,p,q)\)

  2. \(P(y|\theta)=\sum_ZP(y,Z|\theta)\),引入一个隐含变量 \(Z\),控制事件 \(y\),表示 \(A\) 硬币的结果,\(Z=1\) 表示掷的硬币 \(B\)\(Z=0\) 表示掷的硬币 \(C\)

    • \(P(y|\theta)=\sum_ZP(y|Z,\theta)P(Z|\theta)\)

    • \(P(Z|\theta)=P(Z|(\pi,p,q))=\pi\),因为 \(P(Z=1|\theta)=\pi\)\(P(Z=0|\theta)=1-\pi\)

    • \(\sum_ZP(y|Z,\theta)=P(y|Z=1,\theta)+P(y|Z=0,\theta)\)

      • \(P(y|Z=1,\theta)=p^y(1-p)^{1-y}\)

        \(P(y|Z=0,\theta)=q^y(1-q)^{1-y}\)

  3. 拆开
    \[z=1\quad P(y|\theta)=\pi p^y(1-p)^{1-y}\\z=0 \quad P(y|\theta)=(1-\pi)q^y(1-q)^{1-y}\\\Rightarrow P(y|\theta)=\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}\]

  4. 似然值为

    \[P(Y|\theta)=\prod_{i=1}^NP(y^{(i)}|\theta)=\\\prod_{i=1}^N\pi p^{y^{(i)}}(1-p)^{1-y^{(i)}}+(1-\pi)q^{y^{(i)}}(1-q)^{1-y^{(i)}}\\=\sum_{i=1}^N log P(y^{(i)}|\theta)\]

  5. \(\pi,p,q\)。只知道 \(y^{(i)}\),如何估计 \(\pi,p,q\)

    • \(P(y|\theta)=\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}\)混合模型\(p^y(1-p)^{1-y}\) 是硬币 \(B\) 掷出来的伯努利分布,\(q^y(1-q)^{1-y}\) 是硬币 \(C\) 结果的伯努利分布。\(\pi\)\(1-\pi\) 就像两个事情的权重,就是两事件的混合模型 (多模态混合,\(\alpha_1P_1,...,\alpha_nP_n\)\(\sum_i\alpha_i=1\))。

    • \(p=\frac{num (B正面)}{N}\)\(q=\frac{num (C正面)}{N}\)\(\pi=\frac{num (B)}{N}\)

    • E.step

      \[\mu=\frac{\pi p^y(1-p)^{1-y}}{\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}}\]

      • 给出掷出结果是硬币 \(B\) 掷出的概率
    • M.step:

      \[\pi = \frac{1}{N}\sum_{j=1}^{N} \mu_j\]

      • 对每一次掷出结果是硬币 \(B\) 掷出的概率求均值,得出整体来说是硬币 \(B\) 掷出的概率

      \[p=\frac{\sum_{j=1}^N \mu_j y^{(j)}}{\sum_{j=1}^N \mu_j}\]

      • \(y^{(j)}=1\) 正面,\(y^{(j)}=0\) 反面

      \[q=\frac{\sum_{j=1}^N (1-\mu_j) y^{(j)}}{\sum_{j=1}^N (1-\mu_j)}\]

      • \(\pi,p,q\) 进行最大化估计
  6. \(\theta_0=(\pi_0,p_0,q_0)\) 互相迭代至 \(\pi,p,q\) 不再变化,结果就是对 \(\pi,p,q\) 最好的估计

琴生不等式

  1. \(f\) 是凸函数,对任意变量 \(x\):

    \[E(f(x))\ge f(E(x))\]

  2. \(f\) 是凹函数,对任意变量 \(x\):

    \[E(f(x))\le f(E(x))\]

技术图片

琴生不等式在EM的应用

求极大似然值

\[L(\theta)=\sum_{i=1}^m logP(x|\theta)=\sum_{i=1}^mlog\sum_zP(x,z|\theta)\]

  • \(z\) 隐含变量

展开

\[\sum_i logP(x^{(i)}|\theta)=\sum_ilog \sum_{z^{(i)}}P(x^{(i)},z^{(i)}|\theta)\\=\sum_ilog\sum_{z^{(i)}}Q_i(z^{(i)})\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}\\ \ge \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}\]

  • \(E(g(x))=\sum_x g(x)P(x)\)
  • \(Q_i(z^{(i)})\) 表示 \(z^{(i)}\) 的概率分布 \(P(z^{(i)})\)
  • \(\sum_{z^{(i)}}Q_i(z^{i})\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{i})}\) 可看成函数 \(g(z^{(i)})=\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{i})}\) 数学期望
  • \(log\) 提出来,因为 \(log\) 是凹函数,根据琴生不等式 \(log(E(x))\ge E(log(x))\)

要提高极大似然值,就优化下界使最大化。函数 \(\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}\) 记作 \(E(f(z^{(i)}))\),要使得该期望最大化,需满足 \(f(z^{(1)})=f(z^{(2)})=...=f(z^{(n)})\),即

\[\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}=c \Leftrightarrow Q_i(z^{(i)}) \varpropto P(x^{(i)},z^{(i)}|\theta)\]

因为 \(\sum_zQ_i(z^{(i)})=1\),则

\[Q_i(z^{(i)}) = \frac{P(x^{(i)},z^{(i)}|\theta)}{\sum_z P(x^{(i)},z^{(i)}|\theta)}=\frac{P(x^{(i)},z^{(i)}|\theta)}{P(x^{(i)}|\theta)}=P(z^{(i)}|x^{(i)},\theta)\]

EM 算法公式表述

迭代至收敛 {

? (E-step) ,for each \(i\),set

\(Q_i(z^{(i)}):=P(z^{(i)}|x^{(i)},\theta)\)

(M-step) ,set

$ \theta:= arg ?max_{\theta}\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}$
}

  • EM 算法常用于估计参数隐变量
  • EM 算法通过引入隐含变量,使用 MLE (极大似然估计) 进行迭代求解参数。
  • E-step 通过已有数据和现有模型估计隐含参数
  • M-step 假设隐含参数已知的情况下,最大化似然函数从而获取新的参数值

高斯混合模型 ( Gaussian Mixed Model, GMM)

高斯分布 ( 正态分布 ) 函数:\(X \sim N(\mu,\sigma^2)\)

高斯混合模型就是多个高斯分布函数的线性组合,通常用于处理同一集合数据分布类型不同的情况。

高斯混合模型能够平滑地近似任意形状的密度分布。

二维混合模型

假设第一个高斯分布参数为 \(\mu_1,\sigma_1\),第二个高斯分布参数为 \(\mu_2,\sigma_2\),混合两个高斯分布的模型满足

\[P(x|\theta)P(x|\mu_1,\mu_2,\delta_1,\delta_2,\pi)\\=\pi N(\mu_1,\delta_1)+(1-\pi)N(\mu_2,\delta_2)\]

给定数据为 \(D=\{x^{(1)},x^{(2)},...,x^{(N)}\}\)

参数的极大似然值

\[L(\theta)=arg \ maxP(D|\theta)\\=arg \ max \prod_{i=0}^N P(x^{(i)}|\theta)\\=arg \ max \sum_{i=1}^N log P(x^{(i)}|\theta) \]

如何求 \(P(x^{(i)}|\theta)\)

\[P(x|\theta)=\sum_zP(x,z|\theta)\\=\sum_z P(x|z,\theta)P(z|\theta)\ (由联合概率变为条件概率和其先验分布)\\ =\sum P(x|z=0,\theta)P(z=0|\theta)+P(x|z=1,\theta)P(z=1|\theta)\\=\pi N(\mu_1,\delta_1)+(1-\pi)N(\mu_2,\delta_2)\]

对观察数据 \(x^{(j)}\) 推测属于哪个高斯分布函数,概率为

\[w^{(j)}=\frac{\pi \cdot P(x^{(j)}|\mu_1,\delta_1)}{\pi \cdot P(x^{(j)}|\mu_1,\delta_1)+(1-\pi) \cdot P(x^{(j)}|\mu_2,\delta_2)}\]

  • 这步是 \(E-step\),估计参数

\[\pi=\frac{\sum_{j=1}^N w^{(j)}}{N}\\\mu_1=\frac{\sum_{j=1}^N w^{(j)}x^{(j)}}{\sum_{j=1}^Nw^{(j)}}\\\mu_2=\frac{\sum_{j=1}^N (1-w^{(j)})x^{(j)}}{\sum_{j=1}^N(1-w^{(j)})}\\\delta_1^2=\frac{w^{(j)}(x^{(j)}-\mu_1)^2}{\sum_{j=1}^Nw^{(j)}}\\\delta_2^2=\frac{(1-w^{(j)})(x^{(j)}-\mu_2)^2}{\sum_{j=1}^N(1-w^{(j)})}\]

  • 这是 \(M-step\),代入参数估计值

多维混合模型

\[p(x)=\sum_{k=1}^K\pi_kN(x|\mu_k,\delta_k)\]

  • \(N(x|\mu_k,\delta_k)\) 称为混合模型中第 \(k\) 个分量
  • \(\pi_k\) 是混合系数,是每个分量的权重,是每个分量被选中的概率
  • \(\sum_{k=1}^K\pi_k=1\ (0 \le \pi_k \le 1)\)

隐马尔可夫模型

高维下的高斯模型

主题模型

Dirichlet 分布

机器学习统计学习

标签:str   生成   mina   硬币   稀疏编码   而不是   引入   复杂   数值   

原文地址:https://www.cnblogs.com/ColleenHe/p/11657115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!