线性回归之最小二乘法简述

监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。
在统计学中,线性回归方程是利用最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。(这反过来又应当由多个相关的因变量预测的多元线性回归区别,而不是一个单一的标量变量。)
在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。这些模型被叫做线性模型。最常用的线性回归建模是给定X值的y的条件均值是X的仿射函数。不太一般的情况,线性回归模型可以是一个中位数或一些其他的给定X的条件下y的条件分布的分位数作为X的线性函数表示。像所有形式的回归分析一样,线性回归也把焦点放在给定X值的y的条件概率分布,而不是X和y的联合概率分布(多元分析领域)。

摘引自百度百科:https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E6%96%B9%E7%A8%8B/7198720

最小二乘法

假定我们有N个训练样本x,及每一个样本对应的真实结果变量Y,基于统计学回归的思想,我们期望通过统计的方法在,利用已有的数据集来确实Y与x之间的某种关系,使得我们可以利用这种关系来预测一个未知结果变量Y'的新样本x',同时使得Y’接近或等于真实的结果变量。
上面所说的关系,最简单的形式便是是线性关系,即线性模型。
线性回归模型经常用最小二乘逼近来拟合,但他们也可能用别的方法来拟合,比如用最小化“拟合缺陷”在一些其他规范里(比如最小绝对误差回归),或者在回归中最小化最小二乘损失函数的乘法。相反,最小二乘逼近可以用来拟合那些非线性的模型。因此,尽管最小二乘法和线性模型是紧密相连的,但他们是不能划等号的。
最小二乘的理论式如下:
Y ( w , x ) = w 0 + w 1 ∗ x 1 + w 2 ∗ x 2 + . . . + w i ∗ x i = ∑ x ⃗ i ∗ w ⃗ i T = X ⃗ ∗ W ⃗ T Y(w, x) = w_{0} + w_{1} * x_{1} + w_{2} * x_{2} + ... + w_{i} * x_{i} \\ = \sum \vec{x}_{i} * \vec{w}^{T}_{i} \\ = \vec{X} * \vec{W}^{T} \\ Y(w,x)=w0+w1x1+w2x2+...+wixi=x iw iT=X W T
为什么要把x向量作为除数,而w向量作为被乘数呢?因为对数机器学习而言,我们通常会有用来训练的样本集合,每一个样本x是由多个维度的属性i组合成的,每一个xi的属性值都是已知的,因此所有这些样本就构成了表达式中的常量矩阵,而w向量反倒是我们所要试图求解的对象。

但如何从这些多的候选参数向量中选出最优的呢?直接通过前面的公式来寻找虽然直接但不快速,是不是可以间接找到最优解呢?这就引入了损失函数的概念。

很显然,通过方程计算某一个样本的因变量(即结果变量Y’),与真实值Y是有偏差的,而这个偏差的大小对于不同的样本又是不一样的,是随机的,那么自然而然地,最简单的方法我们可以通过求平均值求得平均的因变量Y。
Y ′ ^ = ( Y 1 ′ + Y 2 ′ + . . + Y n ′ ) / n \hat{Y'} = (Y'_{1} + Y'_{2} + .. + Y'_{n}) / n Y^=(Y1+Y2+..+Yn)/n
但这样的结果是不准确的,结果波动很大。

换个角度,既然我们已经有了预测结果、真实结果,那我们不是可以通过均方差公式来求得所有的误差总和吗?即有
θ = ∑ ( y i ′ − y i ) 2 \theta = \sum{(y'_{i} - y_{i}})^{2} θ=(yiyi)2
我们想要求得一个最接近真实值的预测结果,那就可以转换为求误差和的最小值,这就是最小二乘法,所谓“二乘”就是平方的意思,再稍微展开一下就得到了
L ( θ ) = ∑ ( y i − x i ∗ w ) 2 L(\theta) = \sum{(y_{i} - x_i * w)^{2}} L(θ)=(yixiw)2
这个方程是二阶的,那我们可以通过求极值的方法,对上式求导,找到一组值wi,使得误差总和最小,也即求得一个最佳的线性模型,使得预测结果最接近真实值。

若求w向量,我们知道会有多个不同的结果,所以这里使用W矩阵来表示所有的这些结果向量,用X矩阵表示所有的训练样本集合,则可以通过矩阵乘法对上面的等式对W求偏导并令结果为0:
矩 阵 的 平 方 等 于 转 置 阵 与 其 的 乘 积 L ( θ ) = ( Y − X ∗ W ) 2 = ( Y − X ∗ W ) T ∗ ( Y − X ∗ W ) = ( Y T − W T ∗ X T ) ∗ ( Y − X ∗ W ) = Y T ∗ Y − W T ∗ X T ∗ Y − Y T ∗ X ∗ W + W T ∗ X T ∗ X ∗ W 其 中 根 据 对 称 阵 的 性 质 , W T ∗ X T ∗ Y = Y T ∗ X ∗ W , 进 而 全 并 后 的 结 果 为 L ( θ ) = Y T ∗ Y − 2 ∗ Y T ∗ X ∗ W + W T ∗ X T ∗ X ∗ W 求 偏 导 α α W L ( θ ) = α α W ∗ X T ∗ Y + α W T ∗ X T α W ∗ X ∗ W + α W T ∗ X T α W ∗ X ∗ W = − 2 ∗ X T ∗ Y + 2 ∗ X T ∗ X ∗ W = 0 如 果 矩 阵 X T ∗ X 非 奇 异 则 W ⃗ 有 唯 一 解 , 即 有 ( X T ∗ X ) ∗ W ⃗ = ( X ) T ∗ Y W ⃗ = ( X T ∗ X ) − 1 ∗ X T ∗ Y 矩阵的平方等于转置阵与其的乘积\\ L(\theta) = (Y - X * W)^2\\ = (Y - X * W)^T * (Y - X * W) \\ = (Y^T - W^T * X^T) * (Y - X * W) \\ = Y^T * Y - W^T * X^T * Y - Y^T * X * W + W^T * X^T * X * W \\ 其中根据对称阵的性质,W^T * X^T * Y = Y^T * X * W,进而全并后的结果为 \\ L(\theta) = Y^T * Y - 2 * Y ^T * X * W + W^T * X^T * X * W \\ 求偏导 \\ \frac{\alpha}{\alpha_{W}}L(\theta)= \frac{\alpha}{\alpha_{W}} * X^T * Y + \frac{\alpha_{W^T * X^T}}{\alpha_{W}} * X * W + \frac{\alpha_{W^T * X^T}}{\alpha_{W}} * X * W \\ = -2 * X^T * Y + 2 * X^T * X * W = 0 \\ 如果矩阵X^{T} * X非奇异则\vec{W}有唯一解,即有 \\ (X^{T} * X) * \vec{W} = (X)^{T} * Y \\ \vec{W} =(X^{T} * X)^{-1} * X^{T} * Y \\ L(θ)=(YXW)2=(YXW)T(YXW)=(YTWTXT)(YXW)=YTYWTXTYYTXW+WTXTXWWTXTY=YTXWL(θ)=YTY2YTXW+WTXTXWαWαL(θ)=αWαXTY+αWαWTXTXW+αWαWTXTXW=2XTY+2XTXW=0XTXW (XTX)W =(X)TYW =(XTX)1XTY

如果想要求得W,则必须保证X是列满秩的,关于秩的概念见下节。

一元方程例子

我们通过房屋面积大小预测房价时,他们的关系是一个一次函数,
f ( x ) = a x + b f(x) = ax + b f(x)=ax+b
那么我们利用最小二乘法求导有:
α α a f ( x ) = 2 ∑ ( a x i + b − Y i ) x i = 0 α α b f ( x ) = 2 ∑ ( a x i + b − Y i ) = 0 \frac{\alpha}{\alpha_{a}}f(x) = 2 \sum{(ax_{i} + b - Y_{i}})x_{i} = 0 \\ \frac{\alpha}{\alpha_{b}}f(x) = 2 \sum{(ax_{i} + b - Y_{i}}) = 0 αaαf(x)=2(axi+bYi)xi=0αbαf(x)=2(axi+bYi)=0
通过将所有的样本集体代入,求解上面的方程组可得到最终的a b

当然f(x)也可以是二阶的或更高阶,求解过程一样,只是最终得到的拟合模型不再是直线,而是曲线或面了。

变量矩阵更新

最小二乘法的求解过程并不依赖训练数据,每一次计算都是独立的,因此通常我们会随机生成一个变量矩阵W,在每一轮求得一个新的变量矩阵后,需要同时把新的W矩阵与之前的W矩阵进行状态叠加,以达到修正W矩阵,减少下一轮的训练误差,一个完整的ALS训练过程就是这样一直不停地计算W同时更新W,直到某一次的训练误差小于给定值或是达到一次的迭代次数。
W矩阵的更新方法通过公式表示如下:
W = W − α ∗ W A L S , 其 中 W 指 历 史 W 矩 阵 , W A L S 是 当 前 训 练 轮 次 生 成 的 W 新 的 W 矩 阵 W = W - \alpha * W_{ALS},其中W指历史W矩阵,W_{ALS}是当前训练轮次生成的W新的W矩阵 W=WαWALSWWWALSWW

秩的概念

一个矩阵的,等于其经过初等变换后,得到的非相关行向量或列向量的最小个数或最大阶数,即取行数或列数的最小值所构成的一个方阵
一个矩阵,可以被表示成一个方程组,例如对于一个3阶方阵,可以表示成如下的一组等式:
a 11 ∗ x + a 12 ∗ y + a 13 ∗ z = 0   ( 1 ) a 21 ∗ x + a 22 ∗ y + a 23 ∗ z = 0   ( 2 ) a 31 ∗ x + a 32 ∗ y + a 33 ∗ z = 0   ( 3 ) a_{11} * x + a_{12} * y + a_{13} * z = 0 \ (1) \\ a_{21} * x + a_{22} * y + a_{23} * z = 0 \ (2) \\ a_{31} * x + a_{32} * y + a_{33} * z = 0 \ (3) a11x+a12y+a13z=0 (1)a21x+a22y+a23z=0 (2)a31x+a32y+a33z=0 (3)
表达的意思是我们有三个未知变量x, y, z,同时有一个常量矩阵A(a),那么如何才能唯一计算出这三个变量的值呢?
一般地说法,对于这样一个含有三个未知变量的方程组,若我们想要求出它的解,则必须至少有三个可用的等式,才能求出,但这种说法是不准确的。
三个可用的等式,不能是任意的,是有限制条件的,即这三个等式(1)、(2)、(3)不能通过加减变换使得任意一个等式被消去,否则我们无法确定一个唯一解,但可以有无穷多个解。下面以一个实际的例子来直观表述:
2 ∗ x + 3 ∗ y + 4 ∗ z = 0   ( 1 ) 3 ∗ x + 4 ∗ y + 5 ∗ z = 0   ( 2 ) x + y + z = 0   ( 3 ) 2 * x + 3 * y + 4 * z = 0 \ (1) \\ 3 * x + 4 * y + 5 * z = 0 \ (2) \\ x + y + z = 0 \ (3) 2x+3y+4z=0 (1)3x+4y+5z=0 (2)x+y+z=0 (3)
通过简单的变换最终可得到两个等式:
x + y + z = 0 y + 2 ∗ z = 0 x + y + z = 0 \\ y + 2 * z = 0 x+y+z=0y+2z=0
像如上的方程组,我们是不能找到一个唯一解来表示x, y, z这三个变量的,但可以有无穷多个解,比如有
x = − 1 , y = 2 , z = − 1 x = 0 , y = 0 , z = 0 x = 1 , y = − 2 , z = 1 . . . x = -1, y = 2, z = -1 \\ x = 0, y = 0, z = 0 \\ x = 1, y = -2, z = 1 \\ ... x=1,y=2,z=1x=0,y=0,z=0x=1,y=2,z=1...
转换成线性代数的说法,当常量矩阵A(a)的行向量存在线性关系时,我们可以通过初等变换,最终得到一个简化后的矩阵,其中有关系的行向量被消去,余下的行向量不再有线性关系,此时该矩阵的,就是非零向量的个数。

满秩

对于一个方阵,在经过任意次的初等变换后,都不能消去其中的任意一行时,则称此方阵为满秩矩阵,而对于其它的矩阵我们可以称之为列满秩行满秩矩阵。

推荐博主,大牛讲解,简单又生动,受益良多:https://blog.csdn.net/ccnt_2012/article/details/81127117

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 线性回归模型是用来预测自变量和因变量之间线性关系的模型。最小二乘法是用来求解线性回归模型中参数的一种方法。 具体来说,首先我们需要准备好训练数据,包括自变量和因变量。然后我们假设线性回归模型的参数是未知的,并假设模型是这样的形式: $$y=\beta_0+\beta_1x_1+\beta_2x_2+\dots+\beta_nx_n$$ 其中 $y$ 是因变量,$x_1, x_2,\dots,x_n$ 是自变量,$\beta_0, \beta_1,\dots,\beta_n$ 是参数。 接下来,我们通过最小二乘法来求解这些参数。最小二乘法的基本思想是让模型的预测值与真实值之间的差的平方和最小。也就是说,我们希望对于每一个观测数据 $(x_i, y_i)$,都有: $$(y_i-(\beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\dots+\beta_nx_{in}))^2$$ 尽可能的小。 于是,我们就可以求解最小二乘法的正解了: $$\beta=(X^TX)^{-1}X^TY$$ 其中 $X$ 是自变量的矩阵,$Y$ 是因变量的向量,$\beta$ 是参数的向量。 在这里,$(X^TX)^{-1}$ 表示 $X^TX$ 的逆 ### 回答2: 最小二乘法是一种常用的线性回归参数求解方法。简述如下: 首先,我们根据问题的具体情况建立线性回归模型,假设模型有n个自变量x1,x2,...,xn和一个因变量y,模型形式为y = β0 + β1x1 + β2x2 + ... + βnxn + ε。 然后,收集一定数量的样本数据,得到n个自变量的取值x1,x2,...,xn和对应的因变量的取值y。 接下来,我们需要求解模型的参数β0,β1,...,βn。通过最小二乘法,需要最小化残差平方和,即找到一组参数使得各个样本点的残差平方和最小。 根据最小二乘法的原理,我们可以利用样本数据计算出各个参数的估计值。具体步骤如下: 1. 构建设计矩阵X和响应向量y。将样本数据中的自变量x1,x2,...,xn和因变量y按照矩阵的形式整理起来,得到设计矩阵X和响应向量y。 2. 计算参数估计值。根据最小二乘法,参数估计值可以通过求解线性方程组来得到。利用矩阵运算,可以得到参数估计向量β。 3. 计算残差。利用参数估计值,可以计算出每个样本点的预测值ŷ。然后,通过计算实际值y与预测值ŷ的残差,得到残差向量ε。 4. 计算残差平方和。根据残差向量ε,可以计算出残差平方和。残差平方和越小,表示模型对样本数据的拟合程度越好。 5. 评估模型。通过分析残差平方和以及参数估计值的统计性质,可以对模型的拟合情况进行评估。如果模型拟合不好,可以进一步进行模型调整或改进。 最终,通过以上步骤,我们可以得到线性回归模型中的参数估计值。这些参数估计值可以用于预测新的自变量取值对应的因变量取值,以及分析不同自变量对因变量的影响。 ### 回答3: 最小二乘法是一种常用的线性回归模型参数求解方法。其基本思想是通过最小化残差平方和来确定模型中的系数。 具体步骤如下: 1. 数据准备:收集一组包括自变量和因变量的观测数据。对数据进行检查、清洗和预处理,确保数据的有效性和可靠性。 2. 模型设定:建立线性回归模型,假设自变量和因变量之间具有线性关系。模型形式为:Y = β0 + β1*X1 + β2*X2 + ... + βn*Xn + ε,其中Y为因变量,X1到Xn为自变量,β0到βn为待求的系数,ε为误差项。 3. 计算残差:利用观测数据和模型,计算每个观测值的残差(实际值与模型预测值之间的差异)。 4. 构建残差平方和函数:将每个残差进行平方,求和得到残差平方和,即损失函数。使损失函数最小化是最小二乘法的核心目标。 5. 求解参数:对损失函数进行求导,令导数为0,求得使损失函数最小化的参数估计值。根据求导结果,可以得到参数的闭式解,即直接计算出参数的具体数值。 6. 模型检验:通过对已求得的参数进行拟合,计算拟合值与实际值之间的差异,进行各种统计检验和模型的良好性验证。 需要注意的是,最小二乘法对数据存在一些假设,例如:线性关系、误差项服从正态分布、误差项的方差相等等。在使用最小二乘法进行参数求解之前,需要对数据和模型进行充分的检验和验证。同样地,为了得到可靠的结果,需要考虑变量选择、多重共线性等问题,并进行适当的调整和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值