机器学习笔记——4 广义线性模型的基本思想和各个常用的回归特例(附logistic模型的python实现)

本文深入探讨了广义线性模型(GLM)的基本概念,包括“广义”和“线性”的含义,以及为何需要GLM。文章详细阐述了典则联系函数和响应函数的作用,并介绍了如何通过典则响应函数选择来适应不同的分布需求。通过实例,文章展示了如何在二项分布假设下应用logistic回归进行数据分类,并提供了python实现的梯度上升算法,实验证明该方法能有效达到较高的预测准确率。
摘要由CSDN通过智能技术生成

广义线性模型(Generalized Liner Model)的基本思想和各个常用的回归特例(附logistic模型的python实现)


为什么需要广义线性模型?“广义”和“线性”的含义是什么?

首先我们需要解释线性的重要性。线性之所以如此重要,其本质原因在于两方面:

  1. 线性形式相对是简单的,而且我们擅长处理线性问题,无论是在工程实现上还是在数学分析上。在线性的世界里,无论是对象本身的描述还是变换的描述,我们都有很好的工具和语言去运用和表述它们,诸如直线、超平面、向量、矩阵和行列式等等,对于线性的优化问题,也已有系统的理论和可行的求解算法。
  2. 很多非线性问题,可以通过转化为线性问题进行求解。在这里不得不提起人类智慧的伟大结晶之一——微积分。微积分可以说是利用线性形式处理非线性问题的经典范例。这里我们需要扯开谈一下微积分。
    我们经常谈微积分的基本思想“以直代曲,极限求和”,前者是微分的思想,后者是积分的思想。在微分中,实际上我们关注的是找一个线性变换,将各个独立的自变量增量进行变换,用以近似因变量的增量。这个线性变换是一个确定的变换,它由非线性函数 f f f 在某点 x 0 x_0 x0处确定,需要满足一定的条件。微分和导数是围绕这个线性变换来定义的,导数指的是这个线性变换对应的矩阵,而微分指的是变换后的因变量近似量。而所谓积分,即是将因变量的各个微分求和,这里体现的是极限的思想。

在广义线性模型中,线性体现在,我们的参数 θ \theta θ和各个属性 x i x_i xi之间的结合是线性的形式,即 θ T x \theta^T x θTx,直观地看,我们是在找一个方向 θ \theta θ x x x进行投影(严格上应该是做内积)。在广义线性模型的各个特例中,这一线性的结合形式是始终不变的。

现在我们讨论“广义”的含义。在简单线性模型中,我们假设标签值 y y y服从 N ( u , σ 2 ) N(u,\sigma^2) N(u,σ2)。从而自然假设输出的形式为 h θ ( x ) = θ T x h_\theta(x) = \theta^T x hθ(x)=θTx。这一输出形式带来的问题是,输出的范围不受限制,例如上篇我们讲分类问题的时候,对于取1概率p的输出估计值显然需要落在 [ 0 , 1 ] [0,1] [0,1]之间。因此广义的含义在于,输出的形式限制可以打开,为
h θ ( x ) = g ( θ T x ) h_\theta(x) = g(\theta^T x) hθ(x)=g(θTx)这样通过适当选取映射 g ( ) g() g()就能达到范围限制。这里我们称映射 g ( ) g() g()为响应函数,称映射 g − 1 ( ) g^{-1}() g1()为联系函数。可以看到,简单线性模型选用的响应函数为恒等函数。

典则联系函数和典则响应函数(canonical link function)

响应函数的选择可以有多种,比如在上一篇的二分类问题中,对范围在 [ 0 , 1 ] [0,1] [0,1]的概率p,我们可以选择logistic函数和标准正态的分布函数。本小节讨论一种特殊的响应函数,称为典则响应函数。其来源的基本思想是,我们希望响应函数是从标签值的分布中自然导出来的,因此我们需要对预先假设的分布的密度函数进行变形,使得我们可以 θ T x \theta^Tx θTx来估计某个无范围限制的参数。
显然,密度函数的值必须大于0,因此自然的变换为

  • 先进行log变换,在进行exp变换。

这样我们就可以提炼出 e x p ( f ( η ) ) exp(f(\eta)) exp(f(η))中的参数 η \eta η,参数 η \eta η必须是充分的,即我们给出它的估计后,这个分布就可以被完全确定下来了。显然 η \eta η的范围在 R R R中均是有意义的,因为密度函数值始终大于0。此时就可以直接假设 η = θ T x \eta = \theta^Tx η=θTx,假设未进行变换前的参数是 ϕ \phi ϕ,那么根据 η \eta η的选取,总有 η = g − 1 ( ϕ ) \eta = g^{-1}(\phi) η=g1(ϕ),从而可以反解出 ϕ = g ( η ) \phi = g(\eta) ϕ=g(η)。从而得到
ϕ = g ( η ) = g ( θ T x ) \phi = g(\eta) = g(\theta^Tx) ϕ=g(η)=g(θTx)因此这实际上就等价与我们选用了上式的 g ( ) g() g()作为响应函数,这样选取得到的 g ( ) g() g()称为典则响应函数,其逆函数 g − 1 ( ) g^{-1}() g1()称为典则联系函数。

广义线性模型的系统化定义

  1. 指数型分布簇
    密度函数可以改写为如下形式的分布,属于指数型分布簇:
    p ( y ; η ) = b ( y ) e x p ( η ′ T ( y ) − a ( η ) ) p(y;\eta) = b(y)exp(\eta^{'}T(y)-a(\eta)) p(y;

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值