zoukankan      html  css  js  c++  java
  • 广义线性模型

    从线性回归,logistic回归,softmax回归,最大熵的概率解释来看,我们会发现线性回归是基于高斯分布+最大似然估计的结果,logistic回归是伯努利分布+对数最大似然估计的结果,softmax回归是多项分布+对数最大似然估计的结果,最大熵是基于期望+对数似然估计的结果。前三者可以从广义线性模型角度来看。

    广义线性模型

    广义线性模型建立在三个定义的基础上,分别为:
    定义线性预测算子

    [η = θ^T x ]

    定义y的估计值

    [h(x,θ)=E(y|x,θ) ]

    定义 y 的估值概率分布属于某种指数分布族:

    [Pr(y|x,θ)=b(y) exp(η^T T(y)−a(η)) ]

    接下来详细解释各个定义

    指数分布家族

    指数分布家族是指可以表示为指数形式的概率分布,指数分布的形式如下:

    [p(y;η)=b(y) exp(η^T T(y)−a(η)) ]

    其中:

    1. (η)被称为自然参数(natural parameters)
    2. T(y)称为充分统计量,通常$T(y) = y $
    3. (a(η))称为对数分割函数(log partition function);
    4. (e^{-a(η)})本质上是一个归一化常数,确保(p(y;η))概率和为1。

    (T(y))被固定时,(a(η))(b(y))就定义了一个以(η)为参数的一个指数分布。我们变化(η)就得到这个分布的不同分布。
    为什么要把$ y (的条件分布定义为这么奇怪的指数分布族?这是因为,在这样的定义下,我们可以证明: )p(y|η)$ 的期望值满足:

    [E(y|η)=frac{d}{dη}a(η) ]

    (p(y|η))的方差满足:

    [Var(y|η)=frac{d^2}{dη^2}a(η) ]

    如此简洁的期望和方差意味着:一旦待估计的(y)的概率分布写成了某种确定的指数分布族的形式(也就是给定了具体的 (a,b,T)),那么我们可以直接套用公式 $h(x,θ)=E(y|x,θ)=frac{d}{dη}a(η) $ 构建回归模型。

    实际上大多数的概率分布都属于指数分布家族,比如
    1)伯努利分布 0-1问题
    2)二项分布,多项分布 多取值 多次试验
    3)泊松分布 计数过程
    4)伽马分布与指数分布
    5)(eta)分布
    6)Dirichlet分布
    7)高斯分布
    现在我们将高斯分布和伯努利分布用指数分布家族的形式表示:
    Bernoulli分布的指数分布族形式:

    [p(y=1;phi)=phi;p(y=0;phi)=1-phi \ Longrightarrow \ p(y;phi)=phi ^ y (1-phi) ^ {1-y} \ = exp(y log phi + (1-y)log(1-phi)) \ = exp((log(frac{phi}{1-phi}))y+log(1-phi)) ]

    即:在如下参数下 广义线性模型是 Bernoulli 分布

    [η=log(phi/(1-phi)) Longrightarrow phi=1/(1+e^{-η}) \ T(y) = y \ a(η)=-log(1-phi)=log(1+e^η) \ b(y)=1 ]

    Gaussian 分布的指数分布族形式:
    在线性回归中,(sigma)对于模型参数( heta)的选择没有影响,为了推导方便我们将其设为1:

    [p(y;mu)=frac{1}{sqrt{2 pi}} exp(-frac{1}{2} (y-mu)^2) \ = frac{1}{sqrt{2 pi}} exp(-frac{1}{2} y^2) cdot exp(mu y-frac{1}{2} mu ^ 2) ]

    得到对应的参数:

    [η=mu \ T(y) = y \ a(η)= mu^2/2 = η^2/2 \ b(y)=frac{1}{sqrt{2 pi}} exp(-frac{1}{2} y^2) ]

    用广义线性模型进行建模

    想用 广义线性模型对一般问题进行建模首先需要明确几个 假设:

    1.(y|x; heta ∼ ExponentialFamily(η))的条件概率属于指数分布族
    2.给定x 广义线性模型的目标是 求解 T(y)|x , 不过由于 很多情况下(T(y)=y)所以我们的目标变成了(y|x) , 也即 我们希望拟合函数为(h(x)=E[y|x])
    (NOTE: 这个条件在 线性回归 和 逻辑回归中都满足, 例如 逻辑回归中(h_ heta(x)=p(y=1|x; heta)))
    3.自然参数(η)(x)是线性关系 : (η= heta^T x) ((η)为向量时,(η_i= heta_i^T x) )

    有了如上假设 就可以进行建模和求解了:
    广义线性模型 推导出 线性回归:
    step1: (p(y|x;theta) ∼ N(mu, heta))

    step2: 由假设2(h(x)=E[y|x])得到:

    [h(x)=E[y|x] \ =mu \ =η \ = heta^T x ]

    广义线性模型 推导出 逻辑回归:
    step1: (p(y|x;theta) ∼ Bernoulli(phi))

    step2: 由假设2(h(x)=E[y|x])得到:

    [h(x)=E[y|x] \ =phi \ =frac{1}{1+e^{-η}} \ =frac{1}{1+e^{- heta^T x}} \ ]

  • 相关阅读:
    机器学习笔记
    python学习笔记-day8
    python学习笔记-day7
    python学习笔记-day6
    python学习笔记-day5
    python习题
    単語
    bat批处理----copy和xcopy区别
    C#
    VB
  • 原文地址:https://www.cnblogs.com/hellojamest/p/11146967.html
Copyright © 2011-2022 走看看