分类模型 · 学习笔记一

分类模型

以下内容是我对清风数学建模教程中的分类模型的学习笔记

  1. 对于二分类模型,将介绍逻辑回归(logistic regression)和Fisher线性判别分析两种分类算法;
    这种模型也被称为二元逻辑回归,特点是因变量Y是定类模型,并且只能使用两个数字去表示,即0和1

  2. 对于多分类模型,我们将简单介绍SPSS中的多分类线性判别分析和多分类逻辑回归的操作步骤

分类算法一:逻辑回归

一、直接采用线性概率模型是否可行?

在这里插入图片描述

采用线性概率模型将会产生两个问题:

  1. 内生性问题

    由上述分析可知,显然其扰动项和自变量相关。 u i u_i ui的表达式里显然还有了自变量 x i x_i xi,会造成严重的内生性问题,而内生性就会造成回归系数估计出来不一致并且有偏。

  2. 逻辑问题

    规定的预测值 y ^ \hat{y} y^按理来说只能去0或者1,但是通过线性概率模型估计出来的 y ^ \hat{y} y^则不一定是0或者1,而是有可能出现 y ^ > 1 \hat{y}>1 y^>1 y ^ < 1 \hat{y}<1 y^<1的情况

二、模型的构建

1. 两点分布(伯努利分布)

在这里插入图片描述

注意表达式 F ( x , β ) = F ( x i ′ β ) F(\pmb{x,\beta}) = F(\pmb{x_i'\beta}) F(x,βx,β)=F(xiβxiβ)的含义,其实意思是 F F F是对 x i ′ β x_i'\beta xiβ这个多项式操作的函数,如可以采用多元一次多项式的形式 x i ′ β = β 0 + β 1 x 1 + ⋯ + β n x n x_i'\beta = \beta_0+\beta_1x_1+\dots+\beta_nx_n xiβ=β0+β1x1++βnxn当然还可以有其他的形式,并入在多项式添加二次、三次乃至高次项的元,但是我们统一将这些多项式形式表达为 x i ′ β \pmb{x_i'\beta} xiβxiβ

2. 那么连接函数 F ( x , β ) F(x,\beta) F(x,β)这个值域为[0,1]的函数,形式究竟是什么呢?

现在提供两个函数:

  • 标准正态分布的累计密度函数 Φ ( x ) = ∫ − ∞ x 1 2 π e − t 2 2 d t \Phi(x) = \int_{-\infty}^x\frac{1}{\sqrt{2\pi}}e^{-\frac{t^2}{2}}dt Φ(x)=x2π 1e2t2dt

  • S i g m o i d Sigmoid Sigmoid函数 S ( x ) = e x 1 + e x S(x) = \frac{e^x}{1+e^x} S(x)=1+exex

在这里插入图片描述

那么得到的连接函数的形式如下

3. Logitist回归和probit回归

在这里插入图片描述

强调:由于probit回归没有解析表达式,而logistic回归有解析表达式(是积分的形式),因此logistic回归更为方便
但我们确定了连接函数后,下一个问题就是进行参数估计,对 β \pmb{\beta} ββ向量进行估计

4. 参数估计

对于线性函数我们一般可以采用最小二乘法来对参数进行估计,但是对于非线性模型,我们可以采用最大似然估计法(我理解为条件概率最大)

在这里插入图片描述

对似然函数进行分析,当 l n L ( β ∣ y , x ) lnL(\beta|y,x) lnL(βy,x)最大时,求出 β \beta β的估计值

(1)梯度下降法复习
  1. 梯度下降法的原理:
    对于问题:
    在这里插入图片描述

    我们的思路是:

    • θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1开始
    • 持续改变 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的值,使得代价函数$$
      在这里插入图片描述

    在这里插入图片描述

  2. 梯度下降法的步骤:

    1. 确定损失函数的形式。在案例中,即是最大似然函数(虽然我们要确定他最大而不是最小,这只是一个负号的问题)
    2. 初始化参数(选择合适的初始值,即选择合适的 β 1 , β 2 , … , β n \beta_1,\beta_2,\dots,\beta_n β1,β2,,βn
    3. 推导出递推公式,知道损失函数达到局部最优解。

    具体步骤可以参考这篇文章:https://www.cnblogs.com/bonelee/p/7253508.html
    最后得到的迭代公式是: θ j ( i + 1 ) = θ j ( i ) + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_j^{(i+1)} = \theta_j^{(i)} + \alpha(y^{(i)}-h_{\theta}({x^{(i)}}))x_j^{(i)} θj(i+1)=θj(i)+α(y(i)hθ(x(i)))xj(i)其中 x j ( i ) x_j^{(i)} xj(i)表示第i次迭代第j列的数,与 θ j ( i ) \theta_j^{(i)} θj(i)相对应。而 h θ ( x ( i ) ) h_{\theta}({x^{(i)}}) hθ(x(i))的解释为: h θ ( x ) = 1 1 + e − θ T x h_{\theta}(x) = \frac{1}{1+e^{-\theta^Tx}} hθ(x)=1+eθTx1

5. 分类方法

在这里插入图片描述

因此在论文中的书写流程是

  • 写出选择的连接函数类型(sigmoid函数)

  • y ^ 理解成‘ \hat{y}理解成‘ y^理解成y = 1 发生的概率’ 发生的概率’ 发生的概率,写出其表达式

  • 进行参数估计,估计出合适的 β \beta β

三、 SPSS使用

这两个表格来自于SPSS“方法 = 输入模块”下的结果

1. 模型预测成功率

对于苹果和橙子的二元问题,我们可以可以看到SPSS的预测成功率(假设概率阈值为0.5)
在这里插入图片描述

其中预测为橙子(因变量为0)的成功率为78.3%,预测为苹果(因变量为1)的成功率为73.7%

2. β 0 \beta_0 β0的参数估计

在这里插入图片描述

  1. 根据图中我们可以知道对于 mass,width,height和color_score四元变量而言(也就是所谓的 x i x_i xi),其对应的系数就是图中的B列。
  2. 对于显著性水平而言,如果取 α = 0.05 \alpha = 0.05 α=0.05那么明显宽度和高度是符合的,在 α = 0.1 \alpha = 0.1 α=0.1情况下,颜色是可以通过显著性检验的。但是明显质量是无法通过显著性检验,实验结果还是可以的。
3. 使用模型进行预测

将需要预测的四元数值带入我们的模型中,也就是下面图片中的式子(我们默认 x i ′ β = β 0 + β 1 x 1 + b e t a n x n + ⋯ + β n x n x_i'\beta = \beta_0+\beta_1x_1+beta_nx_n+\dots+\beta_nx_n xiβ=β0+β1x1+betanxn++βnxn
在这里插入图片描述

我们可以查询输出图表中的最后两列来观察预测的概率,也就是 y ^ \hat{y} y^
在这里插入图片描述

四、 问题解析

1. 如果存在分类变量(即定性变量)应该怎么办

创建虚拟变量,然后删除任意一列以排除多重共线性的影响

2. 如何在 x i ′ β x_i'\beta xiβ中添加交互项

在自变量中多添加一列,比如添加mass的平方项。点转换中的计算变量即可。
采用这种方法可以改变我们所关心的两个指标,即正确率和显著性。

但是加入过多的自变量,会造成过拟合的问题,导致虽然正确率很高,但是不够显著
在这里插入图片描述

过拟合所造成的问题是:对于样本数据的预测会非常好,但是对样本外数据的预测可能会很差。如图中由蓝线到绿线就是一个过拟合。原本篮线可以在有一定误差的情况下,完成对数据的分类;现在变成过拟合的绿线,虽然对样本来说分类的正确率100%,但是对于新的数据而言他的效果很差

3. 确定合适的模型

从上面对过拟合的分析可以知道,添加平方项可以改善模型,但也可能过拟合。因此我们应该如何确定合适的模型?我们可以采用如下方法(交叉验证):

在这里插入图片描述

分类算法二:Fisher线性判别分析

一、算法思想

LDA(Linear Discriminant Analysis)是一种经典的线性判别方法,又称为Fishser判别分析。其思想如下:给定训练集样例(即图片中的两类数据‘+’号和‘-’号),希望找出一个超平面能够分隔‘+’号和‘-’号。
那么如何寻找呢?我们需要利用超平面的法向量,设法将样例投影到一维的直线上(这个直线是任意,我们任取一条直线做分析,找到最优直线),使得同类样例的投影点尽可能的接近和密集(观察图中‘+’号的投影都集中在右上方的区域,‘-’号的投影都集中在右下方的区域),异类投影点尽可能地远离(‘+’号和‘-’号两类样本的距离是非常远的)
在这里插入图片描述

可以定义类内距离类间距离来进行分析
超平面定义为 y = w T x y = \pmb{w^Tx} y=wTxwTx,因此但我们完成了 w \pmb{w} ww的参数估计时,就可以将新的样本数 x \pmb{x} xx代入公式 y = w T x y = \pmb{w^Tx} y=wTxwTx进行计算,得到的y如果大于0,则分到‘+’号;小于0,分到‘-’号

二、SPSS操作

1. 操作

  1. 具体操作:分析-分类-判别式
  2. 分组变量就是因变量(即需要判断的变量)
  3. 定于分组变量的取值范围(对于二分类问题,就是0~1)
  4. 勾选统计-系数中的费舍尔和未标准两个选项
  5. 勾选显示-摘要表
  6. 勾选保存-预测组成员与预测概率(预测组成员表示二分类问题中究竟归属于哪个组)

2. 结果分析

在这里插入图片描述

  1. 典型判别函数系数:获得超平面
  2. 分类函数系数:这应该是基于贝叶斯准则的判别方式,其表格返回的是线性多项式的系数,我们带入预测数据就可以得到贝叶斯判别的越策结果。

三、多分类问题

1. Fisher线性判别分析用于多分类模型

在SPSS操作上是非常简单的,只需要修改分组变量(也就是因变量)的范围即可。其原理目前我大概理解上是跟二元的原理相同,就可能是这样,如果三元分类问题,那我们就需要找到三条直线,来使得两两元之间的类内距离很小,类间距离很大。
最后的分类结果:

在这里插入图片描述

同样的,在左图中我们可以查看其预测结果(分类组别)和预测概率,在右图我们可以查看其预测的准确率

2.logistic回复用于解决多分类问题

将连接函数由sigmoid函数推广为softmax函数,引用清风老师的提供的资料https://www.cnblogs.com/bonelee/p/8127411.html

(1) Softmax函数的具体理解:

对于这个函数,我是这样理解的。首先确定训练集 { ( x ( 1 ) , y ( 1 ) ) , … , ( x ( m ) , y ( m ) ) } \{ (x^{(1)},y^{(1)}),\dots,(x^{(m)},y^{(m)}) \} {(x(1),y(1)),,(x(m),y(m))},其中y有k个取值,即 y ( i ) ∈ { 1 , 2 , … , k } y^{(i)} \in \{ 1,2,\dots,k \} y(i){1,2,,k}

我理解上 x ( i ) x^{(i)} x(i)不一定只是一个树,如果有n个自变量,那他就是n维的

对于给定的输入 x x x,我们可以针对每一个类别 j j j估算出其概率值 p = ( y = j ∣ x ) p = (y = j|x) p=(y=jx),因此,对于每一个类别,都应该存在一个连接函数去估算概率,都存在一次参数估计求得最优的参数。我们假设函数如下: h θ ( x ( i ) ) = [ p ( y ( i ) = 1 ∣ x ( i ) ; θ ) p ( y ( i ) = 2 ∣ x ( i ) ; θ ) ⋮ p ( y ( i ) = k ∣ x ( i ) ; θ ) ] = 1 ∑ j = 1 k e θ j T x ( i ) [ e θ 1 T x ( i ) e θ 2 T x ( i ) ⋮ e θ k T x ( i ) ] h_{\theta}(x^{(i)}) = \begin{bmatrix} p(y^{(i)}=1|x^{(i)};\theta)\\ p(y^{(i)}=2|x^{(i)};\theta)\\ \vdots\\ p(y^{(i)}=k|x^{(i)};\theta)\\ \end{bmatrix} = \frac{1}{\sum_{j=1}^{k}e^{\theta_j^Tx^{(i)}}} \begin{bmatrix} e^{\theta_1^Tx^{(i)}}\\ e^{\theta_2^Tx^{(i)}}\\ \vdots\\ e^{\theta_k^Tx^{(i)}} \end{bmatrix} hθ(x(i))= p(y(i)=1∣x(i);θ)p(y(i)=2∣x(i);θ)p(y(i)=kx(i);θ) =j=1keθjTx(i)1 eθ1Tx(i)eθ2Tx(i)eθkTx(i)

其中 θ j \theta_j θj就是我们需要估计的参数,他是一个向量。多少维需要看我们有多少个因变量
这个表达式我们有对向量进行加粗,是向量的量是: x ( i ) , θ 2 T x^{(i)},\theta_2^T x(i),θ2T。如果 x ( i ) x^{(i)} x(i)是n维向量,他们组成的多项式可以是: θ 1 x 1 ( i ) + θ 2 x 2 ( i ) + ⋯ + θ n x n ( i ) \theta_1x_1^{(i)}+\theta_2x_2^{(i)}+\dots+\theta_nx_n^{(i)} θ1x1(i)+θ2x2(i)++θnxn(i)其中, i i i取值范围为 1 , 2 , … , k 1,2,\dots,k 1,2,,k

(2)SPSS软件的操作
  1. 点击保存-勾选估计相应概率和预测类别
  2. 点击统计,上面会有许多统计量的分析,比如拟合优度等等。这项可选可不选
(3)对于多元逻辑回归同样可能存在过拟合的问题。解决方法与前文的二元逻辑回归提到的方法相同,就是交叉验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值