线性模型简要讲解

周志华老师《机器学习》学习笔记

基本形式

在线性模型中,目标变量(或因变量)的预测是解释变量(或自变量)的线性组合。线性模型是一种简单而强大的建模方法,在许多领域都得到了广泛的应用。

一般形式下,线性模型可以表示为:

y = w_0 + w_1 x_1 + w_2 x_2 + \ldots + w_n x_n

其中,y 是目标变量的预测值,x_1, x_2, \ldots, x_n是解释变量的值,w_0, w_1, w_2, \ldots, w_n 是模型的参数(或权重),表示解释变量对目标变量的影响程度。

线性模型的一般形式也可以写成向量形式:

y = \mathbf{w}^T \mathbf{x}

其中,\mathbf{w}是参数向量,\mathbf{x}是特征向量,包含了所有解释变量的值。

线性模型的训练过程就是找到最佳的参数\mathbf{w}的过程,使得模型在训练数据上的预测误差最小化。常见的线性模型包括线性回归、岭回归、Lasso回归等。这些模型在不同的情况下有不同的特点和应用。

线性模型的优点:

  1. 简单直观:线性模型的原理简单易懂,模型参数具有直观的物理或经济学解释,易于理解和解释。

  2. 计算效率高:线性模型的计算效率通常很高,适用于大规模数据集。

  3. 泛化能力强:在适当的正则化情况下,线性模型具有较强的泛化能力,能够很好地适应新数据。

  4. 不容易过拟合:线性模型在适当的正则化下,对于训练数据中的噪声不敏感,不容易过拟合。

  5. 特征重要性:线性模型可以通过参数的大小来衡量特征对目标变量的重要性,有助于特征选择和模型简化。

  6. 可解释性强:由于模型的简单性和参数的直观性,线性模型具有很强的可解释性,可以帮助理解数据之间的关系。

线性回归

在线性回归中,我们试图建立一个线性模型来描述自变量(特征)和因变量(目标变量)之间的关系。其基本形式为:

y = w_0 + w_1 x_1 + w_2 x_2 + \ldots + w_n x_n + \epsilon

其中,y是因变量(目标变量)的预测值,x_1, x_2, \ldots, x_n是自变量(特征),w_0, w_1, w_2, \ldots, w_n是模型的参数(权重),\epsilon 是误差项。

线性回归的目标是找到最优的参数w_0, w_1, w_2, \ldots, w_n,使得模型预测值与实际观测值之间的均方根误差(Root Mean Squared Error,RMSE)最小化。RMSE度量了模型预测值与实际观测值之间的差异,是评估模型拟合优度的常用指标之一。

最小二乘法是求解线性回归模型参数的一种常用方法。它通过最小化实际观测值与模型预测值之间的残差平方和来确定最优参数。最小二乘法的基本思想是使得残差(实际观测值与模型预测值之间的差异)的平方和最小化,从而得到最优的参数估计值。

因此,线性回归中的最小二乘法和均方根误差密切相关:最小二乘法用于求解最优参数,使得均方根误差最小化。

对数线性回归

对数线性回归是线性回归的一种变体,它在因变量(目标变量)上应用对数函数,使得因变量的对数与自变量的线性组合之间存在线性关系。对数线性回归的基本形式如下:

\log(y) = w_0 + w_1 x_1 + w_2 x_2 + \ldots + w_n x_n + \epsilon

其中,y是因变量的预测值,x_1, x_2, \ldots, x_n是自变量(特征),w_0, w_1, w_2, \ldots, w_n 是模型的参数(权重),\epsilon是误差项。

对数线性回归的主要优点之一是,当因变量的取值范围很广时,对数变换可以使得因变量的分布更接近正态分布,有助于提高模型的拟合效果。此外,对数线性回归也可以用于解决因变量和自变量之间存在非线性关系的情况,通过对因变量取对数,可以将非线性关系转化为线性关系来建模。

对数线性回归的参数估计通常使用最小二乘法来进行,即通过最小化实际观测值的对数与模型预测值的对数之间的残差平方和来确定最优参数。

 对数几率回归

对数几率回归(Logistic Regression)虽然带有“回归”一词,但实际上是一种分类算法,用于解决二分类问题。它的基本思想是通过对数几率函数(logit function)将输入特征的线性组合映射到一个介于0和1之间的值,表示样本属于某一类的概率。对数几率函数的表达式如下:

\log \left( \frac{p}{1-p} \right) = w_0 + w_1 x_1 + w_2 x_2 + \ldots + w_n x_n

p是样本属于正类的概率,x_1, x_2, \ldots, x_n是输入特征,w_0, w_1, w_2, \ldots, w_n是模型的参数(权重)。通过对数几率函数的逆运算(即sigmoid函数),可以将对数几率转换为0到1之间的概率值:

\sigma(t) = \frac{1}{1 + e^{-t}}

在训练过程中,对数几率回归使用最大似然估计方法来估计参数,即最大化给定数据集的观测值的概率。对数几率回归通常使用梯度下降等优化算法来求解参数。

对数几率回归的优点包括模型简单、计算效率高、可解释性强等。它适用于许多二分类问题,如信用评分、医学诊断、文本分类等。然而,对数几率回归也有一些局限性,例如只能处理二分类问题、对特征之间的线性关系敏感等。

线性判别分析

线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的监督学习算法,用于降维和分类。它的主要思想是将高维数据投影到低维空间中,同时保留最大类别间的差异性和最小类别内的差异性,从而实现数据的分类和降维。

具体来说,LDA的工作流程如下:

  1. 计算类别均值向量:对每个类别的样本计算均值向量。

  2. 计算类内散度矩阵:计算每个类别内部样本的协方差矩阵,然后将这些协方差矩阵求和,得到类内散度矩阵。

  3. 计算类间散度矩阵:计算所有类别均值向量的协方差矩阵,称为类间散度矩阵。

  4. 求解特征值和特征向量:计算类内散度矩阵的逆矩阵与类间散度矩阵的乘积的特征值和特征向量。

  5. 选择特征向量:选择最大的 k 个特征值对应的特征向量,构成投影矩阵。

  6. 投影数据:将原始数据投影到选定的特征向量构成的低维空间中。

  7. 分类:使用投影后的数据进行分类,常用的方法是最近邻分类器。

LDA与PCA(主成分分析)相比,PCA只考虑样本间的方差信息,而LDA同时考虑了样本的类别信息,因此在许多情况下,LDA能够获得更好的分类性能。

 多分类学习

在机器学习中,多分类学习是指解决具有多个类别的分类问题。与二分类问题不同,多分类问题需要将样本分到多个类别中的某一个,而不仅仅是判断是否属于某一类。

三种最经典的多分类拆分策略:

  1. 一对一(One-vs-One,OvO):对于有 K 个类别的问题,OvO 策略将其拆分为 K*(K-1)/2 个二分类子问题。每个子问题使用训练集中属于两个类别的样本进行训练,然后在测试时采用投票的方式确定最终的预测类别。

  2. 一对其余(One-vs-Rest,OvR):对于有 K 个类别的问题,OvR 策略将其拆分为 K 个二分类子问题。每个子问题将其中一个类别作为正例,将其他所有类别作为负例,然后在测试时选择最高置信度的分类器的输出作为最终的预测结果。

  3. 多对多(Many-vs-Many,MvM):MvM 策略将多分类问题拆分为多个子问题,每个子问题涉及多个类别。每个子问题训练一个分类器来区分这些类别,并在测试时根据分类器的预测结果进行投票来确定最终的类别。

纠错输出码(Error Correcting Output Codes,简称ECOC)是一种用于多分类问题的技术。它通过将原始的多分类问题转化为多个二分类子问题来解决。ECOC的基本思想是为每个类别分配一个二进制码字(码字长度通常大于2),然后将这些码字编码为一组编码矩阵。

具体来说,ECOC包括以下步骤:

  1. 编码类别:将原始的多分类问题中的每个类别映射到一个二进制码字。通常使用哈密顿距离最大化或最小化来选择码字,以便于类别之间的区分。

  2. 构建编码矩阵:将所有类别的二进制码字组合成一个编码矩阵。矩阵的行对应于类别,列对应于每个二分类子问题。

  3. 训练分类器:为每个二分类子问题训练一个分类器,例如支持向量机(SVM)或逻辑回归(Logistic Regression),用于将输入样本分配到两个类别中的一个。

  4. 解码:在测试时,使用每个分类器对输入样本进行分类。然后,根据编码矩阵和每个分类器的输出来确定最终的类别。

ECOC的优点包括能够处理多类别问题、能够纠正分类器的错误以及能够提供对分类器输出的置信度估计。然而,构建编码矩阵和选择合适的二进制码字是ECOC的关键挑战之一。

类别不平衡

在机器学习中,类别不平衡(Class Imbalance)指的是在训练数据中,不同类别的样本数量差别很大的情况。具体来说,一个类别的样本数量远远大于另一个类别的样本数量,导致模型在训练和预测过程中对于少数类别的识别能力不足,容易出现预测偏差。

类别不平衡问题可能会对模型的性能产生负面影响,主要体现在以下几个方面:

  1. 训练偏差:由于少数类样本数量较少,模型可能会倾向于更多地预测为多数类别,导致对少数类别的预测准确率降低。

  2. 预测偏差:在测试阶段,模型可能会偏向于预测为多数类别,导致对少数类别的识别率降低。

为了解决类别不平衡问题,可以采取以下策略:

  1. 过采样(Oversampling):增加少数类别的样本数量,使得不同类别的样本数量接近,从而缓解类别不平衡问题。

  2. 欠采样(Undersampling):减少多数类别的样本数量,使得不同类别的样本数量接近,同样可以缓解类别不平衡问题。

  3. 生成人工样本(Synthetic Minority Over-sampling Technique,SMOTE):在少数类别的样本之间插入新的合成样本,使得不同类别的样本数量更加平衡。

  4. 改变分类器的阈值(Threshold Moving):通过调整分类器的预测阈值,使得对于少数类别的识别更加敏感。

  5. 使用不平衡学习算法(Imbalanced Learning):使用专门针对类别不平衡问题的机器学习算法,如Cost-sensitive learning、Ensemble Learning等。

  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值