机器学习——回归分析(总结复习版)

【金山文档 | WPS云文档】 机器学习回归分析
https://kdocs.cn/l/cdh84symuVEI

很多图没显示,懒的弄了,文章内容挺多的,参考学习了6-8篇文档,整理到word里,很多没来得及留下出处,主要是以学习为主,分享学习内容,请多包涵

回归分析

◆回归分析是一种预测模型,用于研究自变量和因变量之间的关系

◆核心思想:当自变量发生变化时,分析因变量的变化值,并且对自变量的要求是彼此独立。

回归分析分为:

单变量线性回归:

针对只有一个自变量的情况,通过最小二乘法求解最佳拟合直线,使得预测值与真 实值的误差平方和最小。

多变量线性回归:

针对多个自变量的情况,通过最小二乘法求解最佳拟合平面或超平面,使得预测值 与真实值的误差平方和最小。

非线性回归:

当自变量和因变量之间的关系不是线性的时,采用非线性回归模型,例如指数回归、 幂函数回归等。

泊松回归:

适用于因变量是计数数据,且服从泊松分布的情况。泊松回归以自变量为因素,建 立因变量的期望与自变量的关系,并用极大似然估计法来估计参数。

常用的回归评价指标

均方误差(MSE)、

均方根误差(RMSE)、

平均绝对误差(MAE)等。

同时,可以采用交叉验证和正则化等方法来对模型进行优化和泛化。

线性回归

在使用线性回归进行数据分析时,要求自变量是连续的,换句话说,线性回归是使用直线(也称之为回归线)来建立因变量与一个或者多个自变量之间的联系。

我们将y作为因变量,x作为自变量,得到方程:

当我们只用一个x来预测y,就是一元线性回归,也就是在找一个直线来拟合数据。

统计会将理论与实际间的差别表示出来,也就是“误差”。

损失函数

残差说白了就是真实值和预测值间的差值(也可以理解为差距、距离),用公式表示是:

于某个广告投入xi,我们有对应的实际销售量yi,和预测出来的销售量yi(通过将xi代入公式y=β0+β1x计算得到),计算ei=yi−yi的值,再将其平方(为了消除负号),对于我们数据中的每个点如此计算一遍,再将所有的 ei2相加,就能量化出拟合的直线和实际之间的误差。

用公式表示就是:

残差平方和,即SSE(Sum of Squares for Error),在机器学习中它是回归问题中最常用的损失函数。这个函数的值越小,说明直线越能拟合我们的数据。

主要特征

①自变量和因变量之间的关系是线性的。

②多重共线性,自相关和异方差对多元线性回归的影响均较大。

③线性回归对异常值非常地敏感,异常值的存在会影响预测的结果。

④当同时处理的自变量较多时,需要使用逐步回归的方式来逐步确定显著性变量,而无需人工干预

核心思想

逐个引入自变量至模型中,并执行F检验,t检验等来对变量进行筛选,当新的变量被引入且模型的结果不能得到优化时,对该变量的操作即是消除,直至模型的结果相对稳定为止。

逐步回归的目的:

选择重要的自变量,使用最少的变量来实现具有最大化预测能力的模型

在选择变量的同时,逐步回归也是降维技术的一种,其主要方法包括前进法和后退法

◆前进法:首先选择最显著的变量,之后逐渐增加次显著变量

◆后退法:首先选择所有的变量,并且逐渐剔除不显著的变量,即无关紧要的变量。

逻辑回归

逻辑(Logistic)回归是数据分析当中较为常用的机器学习算法

◆算法输出是概率估算值,使用Sigmoid函数将该概率估算值映射到[0,1]区间内,便可以完成样本的类别划分。

◆逻辑回归算法对样本的数据量有一定的要求。当样本数据量较小时,概率估计存在的误差较大。

逻辑回归(Logistic Regression)是一种用于解决分类问题的线性回归算法。尽管它名为"回归",但实质上是一种分类算法,用于预测二元或多元离散的类别标签。

问题描述和转化

一个二分类问题给的条件:

分类标签Y {0,1},特征自变量X{x1,x2,……,xn}

如何根据我们现在手头上有的特征X来判别它应该是属于哪个类别(0还是1)

问题的求解转化为:

我们如何找一个模型,即一个关于X的函数来得出分类结果(0或1)

输入:

初步思路:

找一个线性模型来由X预测Y

Sigmoid函数(逻辑函数)

判断标准

回归的结果输入到sigmoid函数当中

输出结果:

[0, 1]区间中的一个概率值,默认为0.5为阈

通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正 例),另外的一个类别会标记为0(反例)。(方便损失计算)

结果解释重要 

假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别。

逻辑回归的阈值是可以进行改变的

对数似然损失

其中y为真实值,hθ(x)为预测值

−log(P), P 值越大,结果越小,所以我们可以对着这个损失的式子去分析

优化

同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率。

逻辑回归api介绍

sklearn.linear_model.LogisticRegression(solver='liblinear', penalty=‘l2’, C = 1.0)

solver可选参数:{liblinear, sag, saga,newton-cg, lbfgs},

·默认: ‘liblinear’;用于优化问题的算法。

·对于小数据集来说,“liblinear”是个不错的选择,而“sag”和’saga’对于   大型数据集会更快。

·对于多类问题,只有newton-cg、sag、'saga和lbfgs可以处理多项损失;    “liblinear”仅限于“one-versus-rest”分类。

penalty:正则化的种类

C:正则化力度

默认将类别数量少的当做正例

LogisticRegression方法相当于 SGDClassifier(loss=“log”, penalty=" "),SGDClassifier实现了一个普通的随机梯度下降学习。而使用LogisticRegression(实现了SAG)

特点:

1. 简单而高效:逻辑回归计算成本低,并且易于实现。

2. 可解释性强:逻辑回归能够提供模型参数的解释和各个特征对结果的影响程度。

3. 鲁棒性好:逻辑回归对于异常值和噪声的影响较小。

4. 可扩展性强:逻辑回归可以通过引入正则化项等方法来处理过拟合问题。

需要注意的是,逻辑回归假设数据服从伯努利分布或二项分布,因此适用于二元分类问题。对于多元分类问题,可以借助一对多(One-vs-All)或一对一(One-vs-One)的策略进行拓展。

多项式回归

在回归分析中,有时会遇到线性回归的较差的直线拟合效果,如果发现散点图中的数据点是多项式曲线,则可以考虑使用多项式回归进行分析。多项式回归通过引入高次项来拟合数据的非线性关系

◆多项式回归的使用可以减少模型的误差,但是如果处理不当,很容易导致模型过拟合,回归分析完成后,需要对结果进行分析,并对结果进行可视化以查看拟合程度。

多项式回归(Polynomial Regression)是一种通过拟合多项式函数来解决回归问题的机器学习算法。与线性回归不同,多项式回归可以拟合出更复杂的曲线关系,从而更好地适应非线性的数据分布。

在多项式回归中,我们通过将输入特征的多项式项添加到线性模型中,来扩展线性模型的表达能力。其数学形式为:

y = w0 + w1*x + w2*x^2 + ... + wn*x^n

其中,y 是待预测的因变量,x 是自变量,w0、w1、...、wn 是模型的参数,n 是多项式的阶数。

多项式回归的关键在于选择适当的多项式阶数。当阶数为1时,多项式回归等价于线性回归;当阶数大于1时,多项式回归能够拟合出曲线关系,并更好地描述数据间的非线性关系。

步骤

1. 准备数据:收集并准备包含自变量和因变量的数据集。

2. 特征转换:将自变量进行特征转换,添加多项式项,并进行标准化处理。

3. 模型训练:使用训练数据拟合多项式回归模型,估计模型参数。

4. 模型评估:使用测试数据评估模型的性能,可以借助均方误差(Mean Squared Error)等指标进行评估。

5. 模型预测:利用训练好的多项式回归模型进行预测。

在选择多项式的阶数时需要权衡模型的复杂度和泛化能力,可以通过交叉验证等方法选择合适的阶数。

适用于以下场景:

数据中的非线性关系显著,如某些时间序列预测、经济数据分析等。

需要通过模型捕捉复杂的模式和趋势。

有足够的数据支持模型训练,避免过拟合风险。

多项式回归的优缺点

优点

捕捉非线性关系:多项式回归能够很好地捕捉数据中的非线性关系,通过引入多项式特征,使模型能够拟合更加复杂的模式。

扩展性:在现有线性回归模型的基础上,只需引入多项式特征,就能扩展为多项式回归,具有较好的灵活性和扩展性。

易于理解:相比其他复杂的非线性模型(如神经网络),多项式回归具有较好的可解释性,模型参数和特征之间的关系更易于理解和解释。

缺点

容易过拟合:多项式回归在引入高阶多项式特征时,容易导致模型过拟合。尤其是在样本量较少的情况下,高阶多项式可能会过度拟合训练数据,无法很好地泛化到新数据。

特征间的共线性问题:当特征之间存在较高的相关性时,多项式回归模型可能会受到共线性问题的影响,导致模型参数估计不稳定。

计算复杂度高:随着多项式阶数的增加,模型的计算复杂度会显著增加,尤其是在处理大规模数据集时,训练和预测的计算时间和资源消耗较大。

正则化方法

为了解决过拟合问题,可以在多项式回归中引入正则化方法。

常见的正则化方法有岭回归(L2正则化)和Lasso回归(L1正则化)。

岭回归

◆岭回归广泛用于共线性数据分析,它是有偏估计的回归方法,在最小二乘估计方法的基础上进行了改进,通过舍弃最小二乘法的无偏性,使回归系数更加稳定和稳健。

岭回归(Ridge Regression)是一种用于解决线性回归中的过拟合问题的技术,其主要思想为通过引入正则化项来限制模型参数的大小,从而降低模型的复杂度

在线性回归中,我们可以使用最小二乘法估计模型参数。然而,当自变量之间存在多重共线性(Multicollinearity)时,即自变量之间存在高度相关性时,最小二乘法的估计会变得不稳定,容易受到噪声的干扰,导致过拟合问题。

损失函数

岭回归通过在损失函数中加入参数的平方和惩罚项,来限制模型参数的大小,从而防止过拟合。其损失函数如下:

其中,ruanmuda是正则化参数,用于控制惩罚项的权重。

岭回归通过在损失函数中引入L2正则化项,对模型参数进行惩罚,使得模型参数更加平滑、稳定,从而降低过拟合风险。其数学形式为:

min ||y - Xw||2 + alpha * ||w||2

其中,y 是因变量,X 是自变量的设计矩阵,w 是待求解的模型参数,alpha 是正则化系数,||w||^2 表示 w 的平方和。

需要注意的是,正则化系数 alpha 控制了正则化项对模型参数的影响程度,因此需要根据实际情况进行选择和调整。当 alpha=0 时,岭回归退化成普通的最小二乘法;当 alpha 值较大时,对模型参数的惩罚力度增大,会导致模型更加趋向于简单、稳定。

优点

1. 能够有效处理自变量之间存在多重共线性的情况,减少过拟合问题。

2. 可以通过交叉验证等方法来确定正则化系数的最佳取值。

3. 能够保留所有自变量,不需要进行特征选择。

缺点

如不易处理非线性关系、对异常值敏感等

LASSO回归

LASSO回归的特征与岭回归的特征相似,在拟合模型的同时进行变量筛选和复杂性调整。

◆变量筛选:将变量逐步放入模型中,以获得自变量的更好组合。

◆复杂度调整:通过参数调整来控制模型的复杂度,例如减少自变量的数量,以避免过拟合。

LASSO回归还擅长处理多重共线性以及具有一定噪声和冗余的数据,并且可以支持对连续因变量,二元、多元离散变量的数据分析。

LASSO回归(Least Absolute Shrinkage and Selection Operator Regression)是一种用于线性回归的正则化方法,与岭回归类似。LASSO回归通过在损失函数中引入L1正则化项,对模型参数进行惩罚,从而实现特征选择和模型稀疏性。

与岭回归相比,LASSO回归的优势之一在于它能够将某些模型参数压缩到零,从而实现自动的特征选择。这是因为L1正则化项具有稀疏化的特性它倾向于使得一部分模型参数为零,从而将相关特征排除在模型之外。

损失函数:

Lasso回归通过在损失函数中加入参数的绝对值和惩罚项,来进行特征选择和防止过拟合。

LASSO回归的数学形式为:

min (1/2n) * ||y - Xw||^2 + alpha * ||w||

其中,y 是因变量,X 是自变量的设计矩阵,w 是待求解的模型参数,alpha 是正则化系数,||w|| 表示 w 的L1范数。

与岭回归类似,LASSO回归也可以通过调整正则化系数 alpha 的取值来控制特征选择的程度。当 alpha=0 时,LASSO回归退化成普通的最小二乘法;当 alpha 值较大时,对模型参数的惩罚力度增加,会导致更多的模型参数被压缩到零,从而实现了特征选择。

优点

1. 能够自动进行特征选择,剔除对目标变量影响较小的特征,提高模型的解释能力和泛化能力。

2. 可以通过交叉验证等方法来确定正则化系数的最佳取值。

3. 产生稀疏模型,减少模型复杂度,避免过拟合问题。

缺点

对相关特征的选择有时不稳定、不易处理相关特征

常见误区与注意事项

误区一:过度拟合多项式阶数

在使用多项式回归时,可能会倾向于增加多项式的阶数,以期获得更好的拟合效果。然而,过高的多项式阶数往往会导致模型过拟合,即在训练数据上表现很好,但在新数据上的表现很差。为避免过拟合,应根据实际情况选择适当的多项式阶数,并使用交叉验证等方法评估模型的泛化能力。

误区二:忽视数据预处理

数据预处理在多项式回归中同样重要。在建模之前,应对数据进行充分的清洗和处理,包括处理缺失值、异常值和特征缩放等。这可以帮助提高模型的训练效果和预测准确性。例如,特征缩放可以防止在多项式特征生成时出现数值不稳定的问题。

注意事项:选择合适的模型评估方法

均方误差(MSE): 衡量模型预测值与实际值之间的平均平方误差。MSE 越小,模型性能越好。

决定系数(R²): 衡量模型对数据的解释能力。R² 取值范围为 0 到 1,R² 越接近 1,模型性能越好。

交叉验证: 将数据集划分为若干子集,依次使用一个子集作为验证集,其余子集作为训练集,计算每次验证的性能指标,并取平均值。常见的交叉验证方法有 k 折交叉验证和留一法交叉验证等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值