精华内容
下载资源
问答
  • 对数线性模型有:最大熵模型和逻辑斯谛回归。 特征和指示特征 对数线性模型的一般形式 [概率图模型原理与技术] 某小皮 对数线性模型的不同形式 因子图 将因子转换到对数空间,成为对数线性模型...

    http://blog.csdn.net/pipisorry/article/details/52788947

    对数线性模型log linear model

    对数线性模型有:最大熵模型和逻辑斯谛回归。

    特征和指示特征

    对数线性模型的一般形式

    [概率图模型原理与技术]

    某小皮

     

     

    对数线性模型的不同形式

    因子图

    将因子转换到对数空间,成为对数线性模型。

    [PGM:无向图模型:马尔可夫网 :对数线性模型]

     

     

    最大熵模型

     

    [最大熵模型The Maximum Entropy:模型] [最大熵模型:学习]

     

     

    逻辑斯谛回归Logistic Regression

    多类分类的LR模型生成的推导:(两类分类更简单,直接类比嘛)

    lz:这里ak是对数表示的,而给定类条件概率密度p(x|ck)如高斯分布时,ak是通常是线性表示的,所以才叫对数线性模型吧。

    因为ak通常可以使用线性表示,所以多类LR模型使用判别式直接定义成:

    lz: 就是把一般形式中的feature特征fi(Di)定义为ak了。

    LR模型的导出

    lz也不知道LR模型怎么来的,不过lz总结了几种都可以解释的方面:

    1 回归模型+logistic函数直接得到

    2 最大熵模型的特例,即直接将特征f(x, y)设为X=x(即在所有X=x的值上搞一个权重w)。

    3 广义线性模型导出[对数线性模型之一(逻辑回归), 广义线性模型学习总结]

    4 生成式模型+高斯形式的类条件概率分布得到

    from: http://blog.csdn.net/pipisorry/article/details/52788947

    ref:

     

    展开全文
  • 对数线性模型与线性链条件随机场 对数线性模型 我们从书本上知道线性链条件随机场就是对数线性模型,逻辑回归也是对数线性模型对数线性模型的一般形式如下所示: \[ p(y|x;w)=\dfrac{\exp\sum_{j=1}^Jw_jF_j(x, y)}...

    对数线性模型与线性链条件随机场

    对数线性模型

    我们从书本上知道线性链条件随机场就是对数线性模型,逻辑回归也是对数线性模型。对数线性模型的一般形式如下所示:
    \[ p(y|x;w)=\dfrac{\exp\sum_{j=1}^Jw_jF_j(x, y)}{Z(x, w)} \]
    其中\(x,y\)分别是输入和标签,都是序列。\(F_j(x,y)\) 是特征函数,\(w_j\)为可学习参数,是一个实数,控制着特征函数的影响程度,特征函数都是需要提前定义好的。\(Z(x,w)\) 是归一化因子,其计算如下所示:
    \[ Z(x,w) = \sum_{y'\in Y}\exp\sum_{j=1}^Jw_jF_j(x,y') \]

    模型的预测即给出使得\(p(y|x;w)\)最大的对应\(y\),更加数学化的表达为:
    \[ \hat{y} = \arg\max_yp(y|x;w)=\arg\max_y\sum_{j=1}^Jw_jF_j(x,y) \]

    特征函数

    像分词这种结构化预测任务,仅仅考虑当前位置本身往往是不够的,相邻标签的影响也需要考虑进去,因此必须设计有效的特征函数。为了同时考虑到变长序列和相邻位置的信息,\(F_j(x,y)\)被定义为如下
    \[ F_j(x,y) = \sum_{i=1}^nf_j(y_{i-1},y_i,x,i) \]
    \(f_j\)是low-level的特征函数,上面这个公式解释了为什么CRF可以利用整个序列的信息,而HMM不能够。为了更好的处理边界,一般会令\(y_0=\mbox{START},y_{n+1}=\mbox{STOP}\)

    线性链条件随机场的解码

    解码即预测序列的标记结果,上文提及
    \[ \begin{split} \hat{y}&=\arg\max_yp(y|x;w)\\ &= \arg\max_y\dfrac{1}{Z(x,w)}\exp\sum_{j=1}^Jw_jF_j(x,y)\\ &=\arg\max_y\sum_{j=1}^Jw_jF_j(x,y)\\ &=\arg\max_y\sum_{j=1}^Jw_j\sum_{i=1}^nf_j(y_{i-1},y_i,x,i)\\ &=\arg\max_y\sum_{i=1}^n\sum_{j=1}^Jw_jf_j(y_{i-1},y_i,x,i)\\ &=\arg\max_y\sum_{i=1}^ng_i(y_{i-1},y_i) \end{split} \]

    我们令\(U(k,v)\)为位置\(1\)到位置\(k\)的最优序列的得分,其中第\(k\)个位置的标记为\(v\),根据定义我们有
    \[ \begin{split} U(k,v) &= \max_{y_1,\dots,y_{k-1}}\sum_{i=1}^{k-1} g_i(y_{i-1},y_i)+g_k(y_{k-1},v)\\ &= \max_u [U(k-1,u) + g_k(u,v)] \end{split} \]
    在计算得到最优序列的分数后,可以按如下方式,回溯解码出对应的标记
    \[ \hat{y}_{k-1}=\arg\max_u[U(k-1,u) + g_k(u,\hat{y}_k)] \]
    整个解码过程其实就是动态规划的具体应用,时间复杂度为\(O(m^2nJ+m^2n)\)

    前向后向算法

    \[\hat{y}=\arg\max_y\sum_{i=1}^ng_i(y_{i-1},y_i)\]可以知道
    \[ Z(x,w) = \sum_y\exp\sum_{i=1}^ng_i(y_{i-1},y_i) \]
    我们令
    \[ \begin{split} \alpha(k,v) &= \sum_{y_1, \cdots, y_{k-1}}\exp[\sum_{i=1}^{k-1}g_i(y_{i-1},y_i)+g_k(y_{k-1},v)]\\ &= \sum_{y_1, \cdots, y_{k-1}}\exp[\sum_{i=1}^{k-1}g_i(y_{i-1},y_i)]\exp [g_k(y_{k-1},v)] \end{split} \]
    所以有
    \[ \alpha(k+1,v) = \sum_u\alpha (k,u)\exp [g_{k+1}(u,v)] \]
    上面是从前向推,同样我们可以后向推,得到
    \[ \beta (u,k) = \sum_v[\exp g_{k+1}(u,v)]\beta (v, k+1) \]
    这样,我们有
    \[ Z(x,w) = \sum_u\alpha(k,u)\beta(u,k) \]
    同样
    \[ p(y_k=u|x;w) = \dfrac{\alpha(k,u)\beta(u,k)}{Z(x,w)}=\dfrac{\alpha(k,u)\beta(u,k)}{\sum_u\alpha(k,u)\beta(u,k)} \]
    \[ p(y_k=u,y_{k+1}=v|x;w) = \dfrac{\alpha(k,u)\exp (g_{k+1}(u,v))\beta(v,k+1)}{Z(x,w)} \]

    线性链条件随机场的参数学习

    线性链的条件随机场的参数学习使用梯度下降就可以了,优化目标是使得\(p(y|x;w)\)最大。具体的推导如下:
    \[ \begin{split} \dfrac{\partial \log p(y|x;w)}{\partial w_j} &= \dfrac{\partial }{\partial w_j}\log \left(\dfrac{\exp\sum_{j=1}^Jw_jF_j(x,y)}{Z(x,w)}\right)\\ &= \dfrac{\partial }{\partial w_j}\sum_{j=1}^Jw_jF_j(x,y)-\log Z(x,w)\\ &= F_j(x,y) - \dfrac{\partial }{\partial w_j}\log Z(x,w)\\ &= F_j(x,y) - \dfrac{1}{Z(x,w)}\dfrac{\partial }{\partial w_j}Z(x,w) \end{split} \]
    \[ \begin{split} \dfrac{\partial }{\partial w_j}Z(x,w) &= \dfrac{\partial }{\partial w_j}\sum_{y'}[\exp\sum_j^Jw_jF_j(x,y')]\\ &= \sum_{y'}\dfrac{\partial }{\partial w_j}[\exp\sum_j^Jw_jF_j(x,y')]\\ &= \sum_{y'}[\exp\sum_j^Jw_jF_j(x,y')]\dfrac{\partial }{\partial w_j}[\sum_j^Jw_jF_j(x,y')]\\ &= \sum_{y'}[\exp\sum_j^Jw_jF_j(x,y')]F_j(x,y') \end{split} \]
    所以有
    \[ \begin{split} \dfrac{\partial \log p(y|x;w)}{\partial w_j} &= F_j(x,y) - \dfrac{1}{Z(x,w)}\sum_{y'}[\exp\sum_j^Jw_jF_j(x,y')]F_j(x,y')\\ &= F_j(x,y) -\sum_{y'}F_j(x,y')\dfrac{\exp\sum_j^Jw_jF_j(x,y')}{Z(x,w)}\\ &= F_j(x,y) -\sum_{y'}F_j(x,y')p(y'|x;w)\\ &= F_j(x,y) - E_{y'\sim p(y'|x;w)}F_j(x,y') \end{split} \]
    我们现在分析下\(E_{y'\sim p(y'|x;w)}F_j(x,y')\)该怎么求:
    \[ \begin{split} E_{y'\sim p(y'|x;w)}F_j(x,y') &= \sum_{i=1}^nE_{y_{i-1},y_i}[f_j(y_{i-1},y_i,x,i)]\\ &= \sum_{i=1}^n\sum_{y_{i-1}}\sum_{y_i}p(y_{i-1},y_i|x;w)f_j(y_{i-1},y_i,x,i)\\ &=\sum_{i=1}^n\sum_{y_{i-1}}\sum_{y_i}f_j(y_{i-1},y_i,x,i)\dfrac{\alpha(i-1,y_{i-1})[\exp g_i(y_{i-1},y_i)]\beta (y_i, i)}{Z(x,w)} \end{split} \]

    其计算的时间复杂度为\(O(nm^2)\)

    CRF 与 HMM 的区别

    1. HMM是生成模型,CRF是判别模型
    2. HMM是概率有向图,CRF是概率无向图
    3. HMM求解过程可能是局部最优,CRF可以全局最优
    4. CRF概率归一化较合理,HMM则会导致label bias 问题

    CRF 与 HMM 的优缺点比较

    1. 与HMM比较。CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样)
    2. 与MEMM比较。由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。
    3. 与ME比较。CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。

    转载于:https://www.cnblogs.com/crackpotisback/p/9909480.html

    展开全文
  • 从线性到非线性模型-对数线性模型

    千次阅读 2018-08-25 17:41:30
    4、Fisher线性判别和线性感知机 5、三层神经网络 6、支持向量机 二、Logistic回归和SoftMax回归,最大熵模型 一、Logistic回归 分类问题可以看作是在回归函数上的一个分类。...

    从线性到非线性模型

    1、线性回归,岭回归,Lasso回归,局部加权线性回归
    2、logistic回归,softmax回归,最大熵模型
    3、广义线性模型
    4、Fisher线性判别和线性感知机
    5、三层神经网络
    6、支持向量机

    code: https://github.com/myazi/myLearn

    二、Logistic回归和SoftMax回归,最大熵模型

    一、Logistic回归

    分类问题可以看作是在回归函数上的一个分类。一般情况下定义二值函数,然而二值函数不易优化,一般采用sigmoid函数平滑拟合(当然也可以看作是一种软划分,概率划分):从函数图像我们能看出,该函数有很好的特性,适合二分类问题。至于为何选择Sigmoid函数,后面可以从广义线性模型推导出Sigmoid函数。

    逻辑回归可以看作是在线性回归的基础上构建的分类模型,理解的角度有多种,最直接的理解是考虑逻辑回归是将线性回归值离散化。即一个二分类问题如下:(二值函数)

    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split}…

    sigmoid函数

    g(z)=11+ez,g(z)=g(z)(1g(z)) g(z)=\frac{1}{1+e^{-z}},g^{‘}(z)=g(z)(1-g(z))

    二分类问题属于一种硬划分,即是与否的划分,而sigmoid函数则将这种硬划分软化,以一定的概率属于某一类(且属于两类的加和为1)。Sigmoid函数将线性回归值映射到 [0,1][0,1]区间,从函数图像我们能看出,该函数有很好的特性,适合二分类问题。 因此逻辑回归模型如下:

    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split}…
    这里对于目标函数的构建不再是最小化函数值与真实值的平方误差了,按分类原则来讲最直接的损失因该是0-1损失,即分类正确没有损失,分类错误损失计数加1。但是0-1损失难以优化,存在弊端。结合sigmoid函数将硬划分转化为概率划分的特点,采用概率$h_{\theta}(x^{(i)}) $的对数损失(概率解释-N次伯努利分布加最大似然估计),其目标函数如下:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …

    同样采用梯度下降的方法有:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    又:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    所以有:
    θj=θjα(y(i)hθ(x(i)))x \theta_{j}=\theta_{j}-\alpha \left(y^{(i)}-h_{\theta}(x^{(i)})\right)x

    概率解释

    逻辑回归的概率解释同线性回归模型一致,只是假设不再是服从高斯分布,而是p(yx;θ)p\left ( y|x;\theta \right )服从0-1分布,由于 ,假设随机变量y服从伯努利分布是合理的 。即:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    所以最大化似然估计有:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …

    logistic采用对数损失原因

    采用对数损失的原因有二:

    ​ 1)从概率解释来看,多次伯努利分布是指数的形式。由于最大似然估计导出的结果是概率连乘,而概率(sigmoid函数)恒小于1,为了防止计算下溢,取对数将连乘转换成连加的形式,而且目标函数和对数函数具备单调性,取对数不会影响目标函数的优化值。

    ​ 2)从对数损失目标函数来看,取对数之后在求导过程会大大简化计算量。

    二、SoftMax回归

    Softmax回归可以看作是Logistic回归在多分类上的一个推广。考虑二分类的另一种表示形式:

    [k1,1k1][k1k2] \left [ k_{1},1-k_{1} \right ]\rightarrow \begin{bmatrix} k_{1}\\ k_{2} \end{bmatrix}
    当logistic回归采用二维表示的话,那么其损失函数如下:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    其中,在逻辑回归中两类分别为k1k_{1}1k11-k_{1},二在softmax中采用k1k_{1},k2k_{2}两个随机变量组成二维向量表示,当然隐含约束k1+k2=1k_{1}+k_{2}=1.为了更好的表示多分类问题,将y{1,2,..K}y\in \left \{ 1,2,..K \right \}(不一定理解为y的取值为k,更应该理解为y可以取k类)多分类问题进行如下表示。
    T(k)=[00.1.0] T(k)=\begin{bmatrix} 0\\ 0\\ .\\ 1\\ .\\ 0 \end{bmatrix}
    其中向量的第k位为1,其他位为0,也就是当y=ky=k 时将其映射成向量时对应第k位为1。采用多维表示之后,那么对于每一维就变成了一个单独的二分类问题了,所以softmax函数形式如下:
    hθ(x(i))=1k=1Kexp(θkTx(i))[exp(θkTx(i))exp(θkTx(i)).exp(θkTx(i))] h_{\theta}(x^{(i)})=\frac{1}{\sum_{ k=1}^{K}exp\left ( \theta _{k}^{T}x^{(i)} \right )}\begin{bmatrix} exp\left ( \theta _{k}^{T}x^{(i)} \right )\\ exp\left ( \theta _{k}^{T}x^{(i)} \right )\\ .\\ exp\left ( \theta _{k}^{T}x^{(i)} \right ) \end{bmatrix}
    其中函数值是一个KK维的向量,同样采用对数损失(多项式分布和最大似然估计),目标函数形式是logistic回归的多维形式。
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    其中yiky^{ik}表示第ii个样本的标签向量化后第k维的取值0或者1.可以看出Softmax的损失是对每一类计算其概率的对数损失,而logistic回归是计算两类的回归,其本质是一样。Logistic回归和Softmax回归都是基于线性回归的分类模型,两者无本质区别,都是从二项分布和多项式分布结合最大对数似然估计。只是Logistic回归常用于二分类,而Softmax回归常用于多分类。而且Logistic回归在考虑多分类时只考虑n-1类。

    概率解释

    ​ 二分类与多分类可以看作是N次伯努利分布的二项分布到多项分布的一个推广,概率解释同Logistic回归一致。详细解释放到广义线性模型中。

    二分类转多分类思想

    对于多分类问题,同样可以借鉴二分类学习方法,在二分类学习基础上采用一些策略以实现多分类,基本思路是“拆解法”,假设N个类别C1,C2,.Ci.,CnC_{1},C_{2},.C_{i}.,C_{n},经典的拆分算法有“一对一”,“一对多”,“多对多”,

    一对一的基本思想是从所有类别中选出两类来实现一个两分类学习器,即学习出CN2=N(N1)/2C_{N}^{2}=N(N-1)/2个二分类器,然后对新样本进行预测时,对这 CN2C_{N}^{2}个分类器进行投票最终决定属于那一类。

    一对多的基本思想是把所有类别进行二分类,即属于CiC_{i}类和非CiC_{i}两类,这样我们就需要N个分类器,然后对新样本进行预测时,与每一个分类器比较,最终决定属于哪一类。这其实就是Softmax的思想,也是SVM多分类的思想。

    //多对多的基本思想是

    三、最大熵模型

    ​ 很奇怪,为什么会把最大熵模型放到这,原因很简单,它和Logistic回归和SoftMax回归实在是惊人的相似,同属于对数线性模型。

    熵的概念

    这里写图片描述

    信息熵:熵是一种对随机变量不确定性的度量,不确定性越大,熵越大。若随机变量退化成定值,熵为0。均匀分布是“最不确定”的分布 。

    假设离散随机变量X的概率分布为P(X)P(X),则其熵为:
    H(X)=xP(x)logP(x) H(X)=-\sum_{x}P(x)logP(x)
    其中熵满足不等式0H(P)logX0\leq H(P) \leq log|X|

    联合熵:对于多个随机变量的不确定性可以用联合熵度量

    假设离散随机变量X,YX,Y的联合概率分布为P(X,Y)P(X,Y),则其熵为:
    H(X,Y)=xyP(x,y)logP(x,y) H(X,Y)=-\sum_{x}\sum_{y}P(x,y)logP(x,y)
    条件熵:在给定条件下描述随机变量的不确定性

    假设离散随机变量X,YX,Y,在给定YY的条件下XX的不确定性为条件熵H(X|Y),也就等于H(X,Y)H(Y)H(X,Y)-H(Y)
    H(XY)=x,yP(x,y)log(P(xy)) H(X|Y)=-\sum_{x,y}P(x,y)log(P(x|y))
    互信息:衡量两个随机变量相关性的大小I(X,Y)=H(X)+H(Y)H(X,Y)I(X,Y)=H(X)+H(Y)-H(X,Y)
    I(X,Y)=x,yP(x,y)logP(x,y)P(x)P(y) I(X,Y)=-\sum_{x,y}P(x,y)log\frac{P(x,y)}{P(x)P(y)}
    相对熵(KL散度):衡量对于同一个随机变量两个概率分布p(x),q(x)p(x),q(x)的差异性
    D(pq)=xp(x)logp(x)q(x)=Ep(x)logp(x)q(x) D(p||q)=\sum_{x}p(x)log\frac{p(x)}{q(x)}=E_{p(x)}log\frac{p(x)}{q(x)}
    有互信息和相对熵的定义有下式:
    I(X,Y)=D(P(X,Y)P(X)P(Y)) I(X,Y)=D(P(X,Y)||P(X)P(Y))
    关于熵的介绍就到此,不细究,虽然上面的这些定义在机器学习中都会遇到,不过后面涉及到的主要还是熵和条件熵。

    最大熵模型

    最大熵原理是概率模型学习中的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型分布中(满足所有条件下),熵最大的模型是最好的模型。熵最大即为最均匀的分布,从某种角度讲 均匀分布总是符合我们理解的损失风险最小,也就是“不要不所有的鸡蛋放到一个篮子里,均匀的放置”。

    给定训练集T={(x1,y1),(x2,y2)..(xm,ym)}T=\{ (x_{1},y_{1}),(x_{2},y_{2})..(x_{m},y_{m})\},假设XχRnX \in \chi \subseteq R^{n}表示输入,yϕy\in \phi表示输出,分类模型是一个以条件概率分布P(YX)P(Y|X)输出YY,也就是说在满足条件的所有可能集中,条件熵P(YX)P(Y|X)最大的模型即为最好的模型。其中条件为隐藏在数据的期望。

    一般来讲,最大熵模型常用于处理离散化数据集,定义随机变量X,YX,Y的特征模板,从数据中统计他们的期望作为最大熵模型的条件

    特征函数:
    f(x,y)={1xy0 f(x,y)=\left\{\begin{matrix} 1,x,y满足某一事实\\ 0,否则 \end{matrix}\right.
    约束条件:对于任意的特征函数ff,我们可以统计其在数据中的经验分布P~(x,y)\widetilde{P}(x,y)的期望
    Ep~(f)=x,yP~(x,y)f(x,y) E_{\widetilde{p}}(f)=\sum_{x,y}\widetilde{P}(x,y)f(x,y)
    特征函数ff关于模型P(YX)P(Y|X)和先验P~(X)\widetilde{P}(X)的期望
    Ep(f)=x,yP~(x)P(yx)f(x,y) E_{p}(f)=\sum_{x,y}\widetilde{P}(x)P(y|x)f(x,y)
    所以,满足约束条件的模型集合为:
    Ω{PPEp(fi)=Ep~(fi),i=1..n} \Omega \equiv \{ P\in \boldsymbol{P}| E_{p}(f_{i})=E_{\widetilde{p}}(f_{i}),i=1..n\}
    因此最大熵模型的形式化表示如下:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split}…
    由拉格让日乘子法,引入拉格让日乘子,定义拉格让日函数:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    根据拉格朗日乘子法,L(P)L(P,w)L(P) \geq L(P,w),当且仅当满足拉格朗日乘子法的所有必要条件等式成立,原问题也就是一个最小化最大问题
    minPCmaxwL(P,w) \min_{P \in C}\max_{w}L(P,w)
    对偶问题是:
    maxwminPCL(P,w) \max_{w} \min_{P \in C}L(P,w)
    求解对偶问题,第一步最小化内部minPCL(P,w)\min_{P \in C}L(P,w)minPCL(P,w)\min_{P \in C}L(P,w)是我们需要求解的模型,也是关于ww的函数。将模型的最优解记为PwP_{w}
    Pw=argmaxPCL(P,w)=Pw(yx) P_{w}=arg\max_{P \in C}L(P,w)=P_{w}(y|x)
    那么外层最大化目标函数为:
    maxwΦ(w)Φ(w)=minpCL(P,w)=L(Pw,w) \max_{w}\Phi(w)\\ \Phi(w)=\min_{p \in C}L(P,w)=L(P_{w},w)
    为了求解Pw(yx)P_{w}(y|x),根据KKT条件对P(yx)P(y|x)求偏导:
    KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
    求解得:
    P(yx)=exp(iwifi(x,y)+w01)=(expiwifi(x,y))exp(1w0) P(y|x)=exp\left( \sum_{i} w_{i}f_{i}(x,y) +w_{0}-1 \right)=\frac{ \left(exp \sum_{i} w_{i}f_{i}(x,y)\right)}{exp(1-w_{0})}
    这里,虽然我们不知道w0w_{0},但是由于yP(yx)=1\sum_{y}P(y|x)=1,所以分母一定是对yy的所有可能的归一化因子
    Pw(yx)=1zw(x)(expiwifi(x,y))zw(x)=yexp(iwifi(x,y)) P_{w}(y|x)=\frac{1}{z_{w}(x)} \left(exp \sum_{i} w_{i}f_{i}(x,y)\right)\\ z_{w}(x)=\sum_{y}exp(\sum_{i}w_{i}f_{i}(x,y))
    到此,内部最小化求解得到了Pw(yx)P_{w}(y|x),回到外部目标maxwΦ(w)\max_{w}\Phi(w),将Pw(yx)P_{w}(y|x)代回拉格朗日函数有:
    Φ(w)=x,yP~(x)Pw(yx)logPw(yx)+i=1nwi(x,yP~(x,y)f(x,y)x,yP~(x)Pw(yx)f(x,y))=x,yP~(x,y)i=1nwifi(x,y)+x,yP~(x)Pw(yx)(logPw(yx)i=1nwifi(x,y))=x,yP~(x,y)i=1nwifi(x,y)+x,yP~(x)Pw(yx)logZw(x)=x,yP~(x,y)i=1nwifi(x,y)+xP~(x)logZw(x)yPw(yx)=x,yP~(x,y)i=1nwifi(x,y)+xP~(x)logZw(x) \begin{aligned} \Phi(w) &=\sum_{x,y}\widetilde{P}(x)P_w(y|x)logP_w(y|x) + \sum^n_{i=1}w_i\left (\sum_{x,y}\widetilde{P}(x ,y)f(x,y) -\sum_{x,y}\widetilde{P}(x)P_w(y|x)f(x,y) \right )\\ &= \sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_{x,y}\widetilde{P}(x)P_w(y|x)\left (logP_w(y|x) - \sum_{i=1}^nw_if_i(x,y) \right) \\ &=\sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_{x,y}\widetilde{P}(x)P_w(y|x)logZ_w(x)\\ &=\sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_x\widetilde{P}(x)logZ_w(x)\sum_yP_w(y|x)\\ &=\sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_x\widetilde{P}(x)logZ_w(x)\\ \end{aligned}
    因此,maxwΦ(w)\max_{w} \Phi(w)的最优解为:
    w=argmaxwΦ(w) w^* = arg \max_w \Phi(w)
    代回Pw(yx)P_{w}(y|x),我们可以得到最终的分类模型,同样我们发现最大熵模型也是一个对数线性模型。

    概率解释:

    已知训练集的经验概率分布P~(x,y)\widetilde{P}(x,y),条件概率分布P(yx)P(y|x)的对数似然函数为:
    LP~(Pw)=logx,yP(yx)P~(x,y)=x,yP~(x,y)logP(yx) L_{\widetilde{P}}(P_w) = log\prod_{x,y}P(y|x)^{\widetilde{P}(x,y)} = \sum_{x,y}\widetilde{P}(x,y)logP(y|x)
    其中,我们发现对数似然函数与条件熵的形式一致,最大熵模型目标函数前面有负号(这与最大化对数似然函数完全相反),同时最大熵模型中有约束条件。也正是因为约束条件,我们将原问题转化为对偶问题后发现,在满足约束条件的对偶函数的极大化等价于最大化对数似然函数。

    当条件概率P(yx)P(y|x)满足约束条件,在对偶问题求解过程中我们有:
    Pw(yx)=1zw(x)(expiwifi(x,y))zw(x)=yexp(iwifi(x,y)) P_{w}(y|x)=\frac{1}{z_{w}(x)} \left(exp \sum_{i} w_{i}f_{i}(x,y)\right)\\ z_{w}(x)=\sum_{y}exp(\sum_{i}w_{i}f_{i}(x,y))
    代入到对数似然函数,同样有:
    LP~(Pw)=x,yP~(x,y)logP(yx)=x,yP~(x,y)(i=1nwifi(x,y)logZw(x))=x,yP~(x,y)i=1nwifi(x,y)x,yP~(x,y)logZw(x)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x) \begin{aligned} L_{\widetilde{P}}(P_w) &= \sum_{x,y}\widetilde{P}(x,y)logP(y|x)\\ &= \sum_{x,y}\widetilde{P}(x,y)\left ( \sum_{i=1}^n w_if_i(x,y) -logZ_w(x)\right )\\ &= \sum_{x,y}\widetilde{P}(x,y)\sum_{i=1}^n w_if_i(x,y) - \sum_{x,y}\widetilde{P}(x,y)logZ_w(x)\\ &= \sum_{x,y}\widetilde{P}(x,y)\sum_{i=1}^n w_if_i(x,y) - \sum_{x}\widetilde{P}(x)logZ_w(x)\\ \end{aligned}
    最后,我们再来看对偶函数表达式,我们发现,第一项其实是X,YX,Y的联合熵H(X,Y)H(X,Y),第二项是X的信息熵H(X)H(X),回看熵的示意图,我们发现,我们最大化的目标还是条件熵H(YX)H(Y|X)

    这里写图片描述

    下面再来对比下Logistic回归,SoftMax回归,最大熵模型

    1)同属于对数线性模型

    2)Logistic回归和SoftMax回归都基于条件概率P(yx)P(y|x)满足一个伯努利分布,N重伯努利分布,而最大熵模型以期望为准,没有该假设

    3)由于都采用线性模型,三者都假设特征之间是独立的

    最大熵模型的优化问题

    最大熵模型从拉格朗日乘子法最大化对偶函数,还是从最大化对数似然函数,其目标函数如下:
    LP~(Pw)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x) L_{\widetilde{P}}(P_w)= \sum_{x,y}\widetilde{P}(x,y)\sum_{i=1}^n w_if_i(x,y) - \sum_{x}\widetilde{P}(x)logZ_w(x)\\
    常用的梯度优化算法都可以,另外对于最大熵模型也有专门的算法有GIS IIS 算法 。

    展开全文
  • 对数线性模型看到上面的交叉单元格,以及单元格内的频数数据,你是否很快就会联想到可以使用卡方检验来分析分类变量A分类变量B的相关关系?上面这个表只有一个行变量一个列变量,因此使用卡方检验非常方便快捷,...

    对数线性模型

    看到上面的交叉单元格,以及单元格内的频数数据,你是否很快就会联想到可以使用卡方检验来分析分类变量A和分类变量B的相关关系?上面这个表只有一个行变量和一个列变量,因此使用卡方检验非常方便快捷,但是当涉及的分类变量很多,例如研究4个以上分类变量之间的相关关系时,卡方检验就不够用了,因为它不可以同时对多个分类变量之间的相关关系给出一个综合评价,也不可以在控制其它变量作用的同时对变量的效应做出估计,而对数线性模型可以解决卡方检验不能解决的这些问题,它可以一次性给出多个分类变量之间的两两相关关系。

    前面提到对数线性模型与混合线性模型有相同的地方,都是围绕分类变量展开的,因此首先回顾混合线性模型,可以参考下面的表格,混合线性模型表格中的数据不是频数数据,而是连续型数据,可以理解成某项血液指标:

    在混合线性模型中,将每个单元格内血液指标y的变异看作是病症类型(A)变量,治疗效果(B)变量、病症类型(A)和治疗效果(B)交互作用、随机误差共同影响的总和。如果将每个单元格中的数据换成频数,例如,总共调查了180名患者,这些患者的人数(频数)分布情况如下:

    如果要研究病症类型与治疗效果是否相关,也就是研究病症类型是否影响到治疗效率,如果两者无关,可以发现一般类型和特殊类型的治疗效果人数比例是基本相同的,反映到对数线性模型中,就是研究交互作用项是否等于零。从对数线性模型可以看出,对数线性模型除了能够解决分类变量(因素)之间是否相关的问题,还能够分析分类变量对频数的独立影响,也就是分类变量对频数的主效应。

    对数线性模型VS方差分析模型

    前面介绍对数线性模型的分析逻辑是以方差分析模型(一般线性模型)为基础,由此可见它们的作用是类似的,都能够分析每个变量的主效应及变量之间的交互效应。对数线性模型与方差分析模型的差异为:方差分析模型的因变量是连续性变量,对数据的分布要求为正态性和方差齐性;对数线性模型主要研究多个分类变量之间的独立性和相关性,对数线性模型一般不分因变量和自变量,只分析各分类变量对交叉单元格内频数的影响,通常频数服从多项式分布。

    对数线性模型VS逻辑回归模型

    通过前面的介绍,大家可以发现很多对数线性模型能够分析的问题其实用逻辑回归模型也能够进行分析。对数线性模型主要研究多个分类变量之间的独立性与相关性,而逻辑回归模型的因变量也是分类变量,如果自变量也是分类变量,那么就和对数线性模型的效果相同了。

    差别在于,一般对数线性模型通常将频数数据做自然对数变换(ln),而逻辑回归对频数的处理是做常用对数变换(lg);此外,对数线性模型不用区分因变量和自变量,而逻辑回归则需要明确因变量和自变量。因此对数线性模型与逻辑回归两种方法之间存在着非常密切的联系,两者的分析结果是等价的。对数线性模型的应用不如逻辑回归普遍,主要原因是如果考虑的分类变量太多,对数线性模型过于复杂。

    SPSS的对数线性模块

    SPSS的对数线性菜单总共提供了三个子菜单:常规、分对数和选择模型;这三个子菜单的分析过程都应用对数线性模型的基本原理,但在拟和方法和结果输出上有不同。常规菜单在分析中只考虑变量之间是否相关,不考虑它们之间的因果关系,不过分析者可以在最后的结果解释中加入经验解释。

    分对数菜单;有些情况,分析者已经明白变量之间的因果关系,此时继续用常规模型就无法利用因果信息,这样就会增添很多结果解释的工作量。这种情况适合使用分对数菜单。

    选择模型菜单;在建立模型之前,分析者往往会收集很多变量信息,但是那些变量之间相关,那些变量不相关,那些变量应该纳入模型,那些变量应该剔除,除了根据经验进行选择以外,很难取舍。选择模型菜单能够对变量进行筛选,帮助分析者筛选出有用的变量,这样就能使原本复杂的模型简化,排除一些变量的影响。

    总结一下

    以上这些内容的介绍,我们通过方差分析模型引出对数线性模型。大家可以根据这个规律理解清楚对数线性模型的分析逻辑。在SPSS中,根据数据情况的不同,应该选择合适的菜单进行分析,接下来,我们会分别制作文章,详解介绍。

    展开全文
  • 机器学习篇——对数线性模型

    千次阅读 2018-04-14 15:36:29
    对数线性模型包括逻辑回归、最大熵模型和条件随机场等 1、模型 条件概率分布(对数线性模型、概率模型)、判别模型 逻辑回归: 概率分布可由广义线性模型推导得到 多分类时,分子部分为:第k类exp(-wk*x+b),...
  • 常见的广义线性模型有:probit模型、poisson模型、对数线性模型等等。对数线性模型里有:logistic regression、Maxinum entropy。本篇是对逻辑回归理论应用的学习总结、以及广义线性模型导出逻辑回归的过程,下一...
  • 对数线性模型

    2019-09-11 23:55:52
    http://blog.csdn.net/pipisorry/article/details/52788947 特征和指示特征 对数线性模型log linear model 对数线性模型有:最大熵模型和逻辑斯谛回归。 [概率图模型原理与技术] [PGM:无向图...
  • 本文介绍对数线性分类模型,在线性模型的基础上通过复合函数(sigmoid,softmax,entropy )将其映射到概率区间,使用对数损失构建目标函数。首先以概率的方式...
  • 在方差分量模型中,把既含有固定效应,又含有随机效应的模型,称为混合线性模型【信息来源:百度】一般线性模型中仅包含固定效应噪声两项影响因素,也就是不会考虑随机因素对模型的影响。数据集:R的MASS包中oast...
  • MIT自然语言处理第五讲:最大熵和对数线性模型(第一部分) 自然语言处理:最大熵和对数线性模型 Natural Language Processing: Maximum Entropy and Log-linear Models  作者:Regina Barzilay...
  • 1. 符号 整篇文章里,使用下划线表示向量,例如$ \underline\omega\in \mathbb{R}^d 是由是由是由 \omega_1,\omega_2,\...2.对数线性模型     给定两个集合X\mathcal{X}XY\mathcal{Y}Y,假设Y\mathcal{Y...
  • 用R语言进行数据分析:常规广义线性模型线性模型对于常规的多重模型(multiple model)拟合,最基本的函数是lm()。 下面是调用它的方式的一种改进版:>fitted.model例如> fm2 将会拟合 y 对 x1 x2 的多重...
  • 原文链接:拓端数据科技 / Welcome to tecdat​tecdat.cn广义线性模型(GLM) 是通过连接函数,把自变量线性组合因变量的概率分布连起来,该概率分布可以是高斯分布、二项分布、多项式分布、泊松分布、伽马分布、...
  • 跟着博主的脚步,每天进步一点点本文介绍对数线性分类模型,在线性模型的基础上通过复合函数(sigmoid,softmax,entropy )将其映射到概率...
  • 原文链接:http://tecdat.cn/?p=18700​tecdat.cn前言本文说明了R语言中实现分布滞后线性线性模型(DLMDLNM)的建模。首先,本文描述了除时间序列数据之外的DLM / DLNM的一般化方法,在Gasparrini [2014]中有...
  • 原标题:R语言中GLM(广义线性模型),非线性异方差可视化分析 原文链接:http://tecdat.cn/?p=13839上周在 非人寿保险课程中,我们了解了广义线性模型的理论,强调了两个重要组成部分链接函数(这实际上是在预测模型...
  • 点击上方“AI有道”,选择“星标”公众号重磅干货,第一时间送达本文介绍对数线性分类模型,在线性模型的基础上通过复合函数(sigmoid,softmax,entropy )将其映射到概率区间,使用对数损失构建目标函数。...
  • 对数据作对数变换常常起到降低数据波动性减少不对称性的作用。。这一变换也能有效消除异方差性library(MASS)library(openxlsx)data= read.xlsx("data104.xlsx",sheet = 1) #导入数据attach(data)opplot...
  • 原文链接:R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)​tecdat.cn随着lme4包装的进步,使用广义线性混合模型(GLMM)和线性混合模型(LMM)变得越来越容易。由于我们发现自己在工作中...
  • 1.混合线性模型简介混合线性模型,又名多层线性模型(Hierarchical linear model)。它比较适合处理嵌套设计(nested)的实验调查研究数据。此外,它还特别适合处理带有被试内变量的实验调查数据,因为该模型不需要...
  • 原文链接:http://tecdat.cn/?p=13944​tecdat.cn我们已经很自然地认为,不仅可以用一些协变量来解释单个索赔...在这里仅考虑一个协变量,例如汽车的寿命,以及两个不同的模型:一个Gamma模型和一个对数正态模型。>...
  • 为了说明,考虑以下数据集,其中包含5个观察值x = c(1,2,3,4,5)y = c(1,2,4,2,6)base = data.frame(x,y)然后考虑具有不同分布的几个模型,以及一个链接regNId =glm(y~x,family=gaussian(link="identity"),data=base)...
  • 自然语言处理:最大熵和对数线性模型Natural Language Processing: Maximum Entropy and Log-linear Models作者:Regina Barzilay(MIT,EECS Department, October 1, 2004)译者:我爱自然语言处理(www.52nlp.cn,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 574
精华内容 229
关键字:

对数线性模型和线性对数模型