Loading...
墨滴

葛佳飞

2021/08/24  阅读:17  主题:默认主题

算法拼图之线性回归——原理篇

如果影响y的k个观测变量 之间存在线性相关时,从上一篇的XXX可以知道,在传统的线性回归下,它将不存在解析解,并且基本梯度法得到的解也是不稳定的。它说明不同的观测变量后面隐藏着共同的影响因素。因子分析法就是找出观测量背后影响因素的方法,而主成分分析法则是找出主要的影响因子。

1. 因子分析法

如果k个观测变量 线性相关, 一般地,假定影响y的因素有k个,分别记为 ,且x对y的影响是线性的,可以将y表示为x的多项式:

如果存在n组相互独立的观测值 ; ; …, 满足:

……

其中, 互不相关,且均是与ε同分布的随机变量。 将以上公式用矩阵表示,可以得到:

其中,

线性回归的目标是找到一组W,使得某个损失函数loss(ε,n)最小。 在线性回归中,我们一般选择最小二乘法来构造损失函数:

线性回归一般指的是n>k+1的情况。当n<k+1时,存在多组W,使得loss(ε,n)=0;当n=k+1时,存在唯一一组W,使得loss(ε,n)=0。

2. 线性回归的求解

线性回归的求解可以通过解析法,也可以用梯度下降法(机器学习)。

2.1. 解析法

在样本给定的情况下, 等价于

对L求B的偏导数可以得到:

,可以得到L的唯一极值(也是最小值)如下:

此为线性回归的解析解。这里隐含了一个条件, 是可逆的,即n>=k且 相互独立。

2.2. 梯度下降法

首先说明一下梯度的概念。 设函数 在点P(x,y)的某一邻域U(P)内有定义,自点P引射线l到点 (x+∆x,y+∆y)且 ∈U(P),定义函数z=f(x,y)在点P沿着方向l的方向导数为:

其中,

它可以理解为函数z=f(x,y)沿某个方向变化的速率。那么函数z=f(x,y)在P点沿着哪个方向变动的速率最快?这个方向就是梯度:

线性回归中梯度下降法求解的基本过程为:
a. 确定学习率β;初始化W,记为 ;定义损失函数目标或迭代次数 β为梯度下降的步长,在梯度下降法中一般称为学习率。学习率越大,梯度下降法收敛越快,但可能导致无法收敛;而学习率越小,梯度下降法收敛越慢。
b. 计算梯度,不失一般性,一般梯度下降法中损失函数与最小二乘法相比将除以2,使得

c. 迭代W,令
d. 计算损失函数
e. 判断。如果损失函数小于目标值或迭代次数达到最大值,则完成梯度下降求解;否则重复步骤b、c和d。

葛佳飞

2021/08/24  阅读:17  主题:默认主题

作者介绍

葛佳飞