四、多元线性回归

简介: 四、多元线性回归

1、多元线性回归的表示


从之前介绍过的房价预测问题说起,加入当前我们得到每一条训练样本中的特征不止一个,如下图所示:

84b88cbb41ff4cd8991a6793df5aaaf7.png

则我们可以针对上述所有特征进行更加准确的回归预测。下面定义一系列符号进行说明: xj(i)表示第i个训练样本中的第j的特征的值;  x(i)表示第i个训练样本的所有输入特征; m表示训练样本的数量; n表示特征的数量。从而可以定义出多元回归的 hypothesis function 为


hθ(x)=θ0+θ1x1+θ2x2+...+θnxn


若抽象为矩阵相乘的形式,则可以表示成下述形式:

image.png



2、多变量梯度下降



上述1中已经给出了 h y p o t h e s i s   f u c n t i o n hypothesis\ fucntion hypothesis fucntion,而我们需要估计的参数为: θ 0 ,   θ 1 ,   . . . , θ n \theta_0,\ \theta_1, \ ..., \theta_n θ0, θ1, ...,θn,代价函数为:


image.png

之后使用梯度下降方法重复下述过程:


Repeat{θj:=θjαθjJ(θ0,θ1,...,θn)}


将上式展开之后如下所示:


Repeatuntilconvergence{θ0:=θ0αm1i=1m(h(xi)yi)x0θ1:=θ1αm1i=1m(h(xi)yi)x1θ2:=θ2αm1i=1m(h(xi)yi)x2

θn:=θnαm1i=1m(h(xi)yi)xn}



3、特征缩放


当梯度下降算法中输入的各个特征值的取值范围在一个相似的维度时,算法可以更快地进行收敛。因为当各个特征值取值范围差距越大时,以两个特征为例,则将取值范围差距大的训练集的等高线图将变得更加狭长,而这种狭长的等高线图将花费更多的时间来达到收敛状态。022b073b639943ed8d4dc1fb4aa238e3.png


3.1 除以范围内最大值


这种特种缩放的方式是将训练集中每一条训练样本的每一个特征的值均除以这个特征在所有训练集中的(最大值–最小值),从而将每一个特征的值缩放到[-1,+1]的范围之内。上图采用的就是除以最大值进行缩放的方式。


xi:=sixi


其中, s i s_i si可以使用当前特征所有数据的(最大值–最小值)或者当前特征所有数据的标准差


3.2 均值归一化


在3.1方法的基础之上,首先将各个特征的值减去对应于当前特征的所有训练样本的平均值,之后在用求得的差除以(最大值–最小值)进行归一化处理。


xi:=si(xiμi)



3.3 特征和多项式回归


当用直线无法准确衡量出数据的特征时,可以选择采用二次\三次\ 1 2 \frac{1}{2} 21次函数来进行数据的拟合,采用这些函数进行拟合被称为多项式回归。当采用多项式回归时,特征缩放显得尤为重要,因为假设当原始数据的范围为[1,1000],则平方之后的数据范围就是[1,1000000],而三次方之后的数据范围就是[1, 1 0 9 10^9 109],差距越来越大。




4、学习率 α


学习率选择的大小关乎梯度下降算法的收敛性好坏,当 α 选择过大时,梯度下降算法可能出现不收敛的情况;当 α 选择过小时,梯度下降算法收敛的速度会较慢,需要较多的迭代次数才能得到最优解。

为了选择出合适的 α ,可以绘制代价函数随迭代次数变化的图像如下图所示:


b5ee3d7631e24165aba882c132a40efc.png

一种通常采用的终止迭代的方式是:当梯度下降单次缩减的目标函数值大小小于10^{-3} ,则认为算法已经收敛到了局部最优解,终止迭代。



5、正规方程


不同于梯度下降算法,正规方程方法使用解析法来求解参数(集合)。这种方法的本质就是对于代价函数  J(θ)中的所有 θ 都求偏导数,之后让所有偏导数都等于0,之后通过求解方程组求解到最优的参数 θ 的值。最优参数 θ 的值可以通过下式给出:


θ=(XTX)1XTy


其中, X表示特征数据, y表示结果数据,如下例子所示:


2ce76622799e461cae3a1f84a4eaab36.png

同时,在使用正规方式时,不需要进行特征缩放操作。梯度下降法和正规方程法的区别如下所示:当特征数量超过10000时,采用梯度下降法更划算。


e0ec7dca7e8e40c991ca384fde05f9c3.png


在某些情况下,特征矩阵的转置和特征矩阵的向量积  XTX可能不可逆,如存在冗余特征,使得某两个或者多个特征向量之间线性相关;或者存在过多的特征,如特征数量超过训练集中的训练样本数量。处理这种问题可以找出线性相关的特征向量之后保留其中一个,或者删除多于的变量,或者将特征向量进行正规化。








相关文章
|
6月前
|
机器学习/深度学习
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析(下)
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
|
5月前
|
机器学习/深度学习 数据可视化 Python
Logistic回归(一)
这篇内容是一个关于逻辑回归的教程概览
|
5月前
|
机器学习/深度学习 算法
Logistic回归(二)
Logistic回归,又称对数几率回归,是用于分类问题的监督学习算法。它基于对数几率(log-odds),通过对数转换几率来确保预测值在0到1之间,适合于二分类任务。模型通过Sigmoid函数(S型曲线)将线性预测转化为概率。逻辑回归损失函数常采用交叉熵,衡量模型预测概率分布与真实标签分布的差异。熵和相对熵(KL散度)是评估分布相似性的度量,低熵表示分布更集中,低交叉熵表示模型预测与真实情况更接近。
|
6月前
|
机器学习/深度学习 算法 调度
多元线性回归梯度下降法
梯度下降法是一种通用的优化算法,尤其适用于机器学习中找到最优解。与解析解法不同,它不局限于特定情况,能在数据规模较大时依然有效。该方法通过迭代逐步接近最优解,每次迭代利用损失函数的梯度信息调整参数。学习率是控制参数更新幅度的关键因素,太大会导致发散,太小则收敛慢。全量梯度下降每次使用所有样本更新,收敛稳定但速度慢;随机梯度下降每次仅用一个样本,速度快但可能产生较大波动;小批量梯度下降取两者之间,以一定的样本批量进行更新,兼顾速度和稳定性。
76 1
|
6月前
R方和线性回归拟合优度
R方和线性回归拟合优度
|
6月前
使用R语言进行多项式回归、非线性回归模型曲线拟合
使用R语言进行多项式回归、非线性回归模型曲线拟合
|
机器学习/深度学习 数据采集
多项式回归
机器学习中的多项式回归是一种用于解决回归问题的非线性模型。与线性回归不同,
105 2
|
6月前
|
机器学习/深度学习 算法
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析(上)
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
|
6月前
R语言多项式线性模型:最大似然估计二次曲线
R语言多项式线性模型:最大似然估计二次曲线
|
6月前
|
数据采集
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值