机器学习7——线性回归
文章目录
Liner Regression
1. 基本概念
-
线性
两个变量之间的关系是一次函数关系,图像是直线,成正比例(反比例不是),叫做线性。 -
非线性
两个变量之间的关系不是一次函数关系的—,图象不是直线,叫做非线性。 -
回归
人们在测量事物的时候因为客观条件有限,求得的都是测量值,而不是事物真实的值。
为了求得真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值。 -
线性回归
线性回归是回归问题的一种,线性回归假设目标值(y)与特征(x)之间线性相关(满足多元一次方程)。
我们通过构建损失函数,来求解损失函数最小时的参数 w 和 b。
2. 一般表达式
y
=
w
x
+
b
y = wx + b
y=wx+b
w叫做x的系数
b叫做偏置项。
3. 实际用处
- 预测
寻找到数据与数据之间的规律所在,从而就可以模拟出结果,也就是对结果进行预测。
例如:对房价的预测、判断信用评价、电影票房预估等。
4. 损失函数(Loss Function)之均方误差(MSE)
-
MSE(均方误差)
1-英文名
Mean Square Error
又叫:二次损失
2-概念
均方误差,指模型预测值f(x),与样本真实值y。之间的差值的平方的平均值 。
3-公式
M S E = 1 n ∑ i = 1 n ( f ( x i ) − y i ) 2 MSE = \frac{1}{n}\sum_{i=1}^n(f(x_i) - y_i )^2 MSE=n1i=1∑n(f(xi)−yi)2
n: 样本个数
y i y_i yi: 真实值
f ( x i ) f(x_i) f(xi): 预测值 -
核心目标优化式
1-概念
求解最佳参数,需要一个标准来对结果进行衡量,为此我们需要定量化一个目标函数式,使得计算机可以在求解过程中不断地优化。
2-推导
将 y = w x + b y = wx + b y=wx+b代入 M S E = 1 n ∑ i = 1 n ( f ( x i ) − y i ) 2 MSE = \frac{1}{n}\sum_{i=1}^n(f(x_i) - y_i )^2 MSE=n1i=1∑n(f(xi)−yi)2
得
M S E ( w , b ) = 1 n ∑ i = 1 n ( w x i + b − y i ) 2 MSE(w, b) = \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2 MSE(w,b)=n1i=1∑n(wxi+b−yi)2
最终,1/n不影响最小值,省略1/n,便于计算(这个公式很重要)
得,平方损失函数(squared loss)
L ( w , b ) = ∑ i = 1 n ( w x i + b − y i ) 2 L(w, b) = \sum_{i=1}^n(wx_i + b - y_i)^2 L(w,b)=i=1∑n(wxi+b−yi)2
任务是:求解最小化L时w和b的值。

5. 计算 w 和 b
5.1 方法一:最小二乘法(least square method)
核心:我们通过构建损失函数,来求解损失函数最小时的参数 w 和 b。
1-回顾
中学有一种题,给你很多数据(组成表格),要你求解,缺失的部分或进行判断。我们就用到了最小二乘法。公式我们一般都是直接背下来直接用。例如:
直线
y
=
k
x
+
b
y = kx + b
y=kx+b
k
^
\hat{k}
k^
k
^
=
∑
i
=
1
n
x
i
y
i
−
n
x
ˉ
y
ˉ
∑
i
=
1
n
x
i
2
−
n
x
ˉ
2
\hat{k} = \frac{\sum_{i=1}^nx_iy_i - n\bar{x}\bar{y}}{\sum_{i=1}^nx_i^2 - n\bar{x}^2}
k^=∑i=1nxi2−nxˉ2∑i=1nxiyi−nxˉyˉ
b
^
\hat{b}
b^
b
^
=
y
ˉ
−
k
^
x
ˉ
\hat{b} = \bar{y} - \hat{k}\bar{x}
b^=yˉ−k^xˉ

2-线性回归中计算w和b:求偏导
注意
(
注
意
:
∑
i
=
1
n
x
i
=
n
∑
i
=
1
n
x
i
n
=
n
x
ˉ
)
(注意:\sum_{i=1}^nx_i = n\frac{\sum_{i=1}^nx_i }{n}=n\bar{x})
(注意:i=1∑nxi=nn∑i=1nxi=nxˉ)
对 L ( w , b ) L(w,b) L(w,b)求 w w w的偏导。
L ( w , b ) w ′ = ∂ L ∂ w = ∑ i = 1 n [ ( w x i + b − y i ) 2 ] w ′ = 2 ∑ i = 1 n ( w x i + b − y i ) ∗ ( x i w + b − y i ) w ′ = 2 ∑ i = 1 n ( w x i + b − y i ) ∗ x i = 2 [ w ∑ i = 1 n x i 2 + ∑ i = 1 n x i ( b − y i ) ] = 2 [ w ∑ i = 1 n x i 2 − ∑ i = 1 n x i ( y i − b ) ] \begin{aligned} L(w,b)'_w &= \frac{\partial L}{\partial w}\\[6pt] &=\sum_{i=1}^n[(wx_i+b-y_i)^2]'_w\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)*(x_iw+b-y_i)'_w\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)*x_i\\[6pt] &=2[w\sum_{i=1}^nx_i^2+\sum_{i=1}^nx_i(b-y_i)]\\[6pt] &=2[w\sum_{i=1}^nx_i^2-\sum_{i=1}^nx_i(y_i-b)] \end{aligned} \\[6pt] L(w,b)w′=∂w∂L=i=1∑n[(wxi+b−yi)2]w′=2i=1∑n(wxi+b−yi)∗(xiw+b−yi)w′=2i=1∑n(wxi+b−yi)∗xi=2[wi=1∑nxi2+i=1∑nxi(b−yi)]=2[wi=1∑nxi2−i=1∑nxi(yi−b)]
对 L ( w , b ) L(w,b) L(w,b)求b的偏导。
L ( w , b ) b ′ = ∂ L ∂ b = [ ∑ i = 1 n ( w x i + b − y i ) 2 ] b ′ = 2 ∑ i = 1 n ( w x i + b − y i ) ∗ ( ∑ i = 1 n x i w + b − ∑ i = 1 n y i ) b ′ = 2 ∑ i = 1 n ( w x i + b − y i ) = 2 [ n b − ∑ i = 1 n ( y i − w x i ) ] \begin{aligned} L(w,b)'_b &= \frac{\partial L}{\partial b}\\[6pt] &=[\sum_{i=1}^n(wx_i+b-y_i)^2]'_b\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)*(\sum_{i=1}^nx_iw+b-\sum_{i=1}^ny_i)'_b\\[6pt] &=2\sum_{i=1}^n(wx_i+b-y_i)\\[6pt] &=2[nb-\sum_{i=1}^n(y_i-wx_i)] \end{aligned} L(w,b)b′=∂b∂L=[i=1∑n(wxi+b−yi)2]b′=2i=1∑n(wxi+b−yi)∗(i=1∑nxiw+b−i=1∑nyi)b′=2i=1∑n(wxi+b−yi)=2[nb−i=1∑n(yi−wxi)]
令两式为0
b
=
1
n
∑
i
=
1
n
(
y
i
−
w
x
i
)
b
=
y
ˉ
−
w
x
ˉ
\begin{aligned} &b = \frac{1}{n}\sum_{i=1}^n(y_i-wx_i)\\[6pt] &b=\bar{y}-w\bar{x} \end{aligned}
b=n1i=1∑n(yi−wxi)b=yˉ−wxˉ
2
[
w
∑
i
=
1
n
x
i
2
−
∑
i
=
1
n
x
i
(
y
i
−
b
)
]
=
0
w
∑
i
=
1
n
x
i
2
=
∑
i
=
1
n
x
i
(
y
i
−
b
)
w
∑
i
=
1
n
x
i
2
=
∑
i
=
1
n
(
x
i
y
i
−
x
i
b
)
w
∑
i
=
1
n
x
i
2
=
∑
i
=
1
n
(
x
i
y
i
)
−
∑
i
=
1
n
(
x
i
b
)
n
w
∑
i
=
1
n
x
i
2
=
n
∑
i
=
1
n
(
x
i
y
i
)
−
n
b
∑
i
=
1
n
x
i
n
w
∑
i
=
1
n
x
i
2
=
n
∑
i
=
1
n
(
x
i
y
i
)
−
∑
i
=
1
n
(
y
i
−
w
x
i
)
∑
i
=
1
n
x
i
n
w
∑
i
=
1
n
x
i
2
=
n
∑
i
=
1
n
(
x
i
y
i
)
−
(
∑
i
=
1
n
y
i
−
∑
i
=
1
n
w
x
i
)
)
∑
i
=
1
n
x
i
n
w
∑
i
=
1
n
x
i
2
=
n
∑
i
=
1
n
(
x
i
y
i
)
−
∑
i
=
1
n
(
x
i
y
i
)
+
w
∑
i
=
1
n
(
x
i
)
∗
∑
i
=
1
n
x
i
)
n
w
∑
i
=
1
n
x
i
2
=
n
∑
i
=
1
n
(
x
i
y
i
)
−
∑
i
=
1
n
(
x
i
y
i
)
+
w
[
∑
i
=
1
n
x
i
]
2
w
∑
i
=
1
n
x
i
2
=
∑
i
=
1
n
(
x
i
y
i
)
−
1
n
∑
i
=
1
n
(
x
i
y
i
)
+
w
n
[
∑
i
=
1
n
x
i
]
2
w
∑
i
=
1
n
x
i
2
=
∑
i
=
1
n
(
x
i
y
i
)
−
x
ˉ
∑
i
=
1
n
y
i
+
w
n
[
∑
i
=
1
n
x
i
]
2
w
∑
i
=
1
n
x
i
2
=
∑
i
=
1
n
y
i
(
x
i
−
x
ˉ
)
+
w
n
[
∑
i
=
1
n
x
i
]
2
w
=
∑
i
=
1
n
y
i
(
x
i
−
x
ˉ
)
∑
i
=
1
n
x
i
2
−
1
n
[
∑
i
=
1
n
x
i
]
2
\begin{aligned} 2[w\sum_{i=1}^nx_i^2-\sum_{i=1}^nx_i(y_i-b)]=0\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^nx_i(y_i-b)\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i-x_ib)\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(x_ib)\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-nb\sum_{i=1}^nx_i\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(y_i-wx_i)\sum_{i=1}^nx_i\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-(\sum_{i=1}^ny_i-\sum_{i=1}^nwx_i))\sum_{i=1}^nx_i\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(x_iy_i)+w\sum_{i=1}^n(x_i)*\sum_{i=1}^nx_i)\\[6pt] nw\sum_{i=1}^nx_i^2=n\sum_{i=1}^n(x_iy_i)-\sum_{i=1}^n(x_iy_i)+w[\sum_{i=1}^nx_i]^2\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i)-\frac{1}{n}\sum_{i=1}^n(x_iy_i)+\frac{w}{n}[\sum_{i=1}^nx_i]^2\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^n(x_iy_i)-\bar{x}\sum_{i=1}^ny_i+\frac{w}{n}[\sum_{i=1}^nx_i]^2\\[6pt] w\sum_{i=1}^nx_i^2=\sum_{i=1}^ny_i(x_i-\bar{x})+\frac{w}{n}[\sum_{i=1}^nx_i]^2\\[6pt] w=\frac{\sum_{i=1}^ny_i(x_i-\bar{x})}{\sum_{i=1}^nx_i^2-\frac{1}{n}[\sum_{i=1}^nx_i]^2}\\[6pt] \end{aligned}
2[wi=1∑nxi2−i=1∑nxi(yi−b)]=0wi=1∑nxi2=i=1∑nxi(yi−b)wi=1∑nxi2=i=1∑n(xiyi−xib)wi=1∑nxi2=i=1∑n(xiyi)−i=1∑n(xib)nwi=1∑nxi2=ni=1∑n(xiyi)−nbi=1∑nxinwi=1∑nxi2=ni=1∑n(xiyi)−i=1∑n(yi−wxi)i=1∑nxinwi=1∑nxi2=ni=1∑n(xiyi)−(i=1∑nyi−i=1∑nwxi))i=1∑nxinwi=1∑nxi2=ni=1∑n(xiyi)−i=1∑n(xiyi)+wi=1∑n(xi)∗i=1∑nxi)nwi=1∑nxi2=ni=1∑n(xiyi)−i=1∑n(xiyi)+w[i=1∑nxi]2wi=1∑nxi2=i=1∑n(xiyi)−n1i=1∑n(xiyi)+nw[i=1∑nxi]2wi=1∑nxi2=i=1∑n(xiyi)−xˉi=1∑nyi+nw[i=1∑nxi]2wi=1∑nxi2=i=1∑nyi(xi−xˉ)+nw[i=1∑nxi]2w=∑i=1nxi2−n1[∑i=1nxi]2∑i=1nyi(xi−xˉ)
5.2 方法二:梯度下降法(gradient descent)
核心:对自变量进行不断的更新(针对w和b求偏导),使得目标函数不断逼近最小值的过程。
-
梯度的定义
某一函数沿着某点处的方向导数可以以最快速度到达极大值,该方向导数我们定义为该函数的梯度。
在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率。
在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向。 -
梯度的公式
∇
=
d
f
(
θ
)
d
θ
\nabla=\frac{df(\theta)}{d\theta}
∇=dθdf(θ)
θ是自变量
f(θ)是关于θ的函数
▽表示梯度
-
梯度下降
梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向。 -
梯度下降的公式
θ = θ 0 − η ∗ ∇ f ( θ 0 ) \theta=\theta_0-\eta*\nabla f(\theta_0) θ=θ0−η∗∇f(θ0)
η是步长(也作学习率 α \alpha α)
θ是由 θ 0 \theta_0 θ0按照上述式子更新后的值 -
步长
梯度下降迭代过程中每一步沿负方向前进的长度。
步长太大,会导致迭代过快,错过最优解;
步长太小,迭代速度太慢,耗时间太长。

-
针对本题(线性回归)的梯度下降
1-公式
w ← w − α ∂ L ∂ w b ← b − α ∂ L ∂ b w\leftarrow w-\alpha\frac{\partial L}{\partial w}\\[6pt] b\leftarrow b-\alpha\frac{\partial L}{\partial b}\\[6pt] w←w−α∂w∂Lb←b−α∂b∂L
α \alpha α是学习率,是一个梯度下降需要的超参数,如 0.01、0.001。
2-学习率/步长
学习率设定策略
6. 过拟合
-
概念
模型在测试集上的表现不如训练集,即为过拟合。 -
原因
1)模型过于复杂
2)训练数据太少或比较极端
3)样本的特征太多
4)过拟合的原因存在于三个层面:模型、数据量、特征。出现其中一个,就会过拟合。 -
解决方法
1)使用正则化项,也就是给loss function加上一个参数项。
2)扩充数据集,收集更多数据。
3)减少特征数量 。 -
具体方法
1)L1正则化(Lasso回归)
2)L2正则化(Rideg/岭回归)
3)L1+L2正则化(弹性网络/ElasticNet回归) -
惩罚项
L1正则化和L2正则化都可以看做是损失函数的惩罚项。
所谓惩罚项是指对损失函数中的一些参数进行限制,让参数在某一范围内进行取值。
L1正则化的模型叫做LASSO回归,L2正则化的模型叫做岭回归。 -
范数
定义:
范数是衡量某个向量空间(或矩阵)中的每个向量的长度或大小。
范数的一般定义:
对实数p>=1,n个向量, ∣ ∣ x ∣ ∣ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p ||x||_p=(\sum_{i=1}^n|x_i|^p)^\frac{1}{p} ∣∣x∣∣p=(∑i=1n∣xi∣p)p1
L0范数
用来度量向量中非零元素的个数。
L1范数 ∣ ∣ x ∣ ∣ 1 ||x||_1 ∣∣x∣∣1
当p=1时,是L1范数,其表示某个向量中所有元素绝对值的和。
L2范数 ∣ ∣ x ∣ ∣ 2 ||x||_2 ∣∣x∣∣2
当p=2时,是L2范数, 表示某个向量中所有元素平方和再开根, 也就是欧几里得距离公式。
6.1 L1正则化(Lasso回归)
-
Lasso回归公式
在损失函数后,加L1范数
L ( w , b ) = 1 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ ∣ ∣ w ∣ ∣ 1 = 1 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ ∑ j = 1 k ∣ w j ∣ \begin{aligned} L(w, b) &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda||w||_1\\[6pt] &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^k|w_j|\\[6pt] \end{aligned} L(w,b)=n1i=1∑n(wxi+b−yi)2+λ∣∣w∣∣1=n1i=1∑n(wxi+b−yi)2+λj=1∑k∣wj∣
为了便于计算
L ( w , b ) = 1 2 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ ∑ j = 1 k ∣ w j ∣ \begin{aligned} L(w, b) &= \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^k|w_j|\\[6pt] \end{aligned} L(w,b)=2n1i=1∑n(wxi+b−yi)2+λj=1∑k∣wj∣
w w w为特征变量
n为样本个数
k为特征数 -
参数的计算
不可用最小二乘法
惩罚项是有绝对值得的,由高中知识就知道,绝对值在0处不可导。
因为存在不可导点:最小二乘法,梯度下降法,牛顿法与拟牛顿法对它统统失效了。
其他的方法
Lasso回归求解
只算一步梯度
L
(
w
,
b
)
=
1
2
n
∑
i
=
1
n
(
w
x
i
+
b
−
y
i
)
2
+
λ
∑
j
=
1
k
∣
w
j
∣
L(w, b) = \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^k|w_j|
L(w,b)=2n1i=1∑n(wxi+b−yi)2+λj=1∑k∣wj∣
↓
\downarrow
↓
L
(
w
)
=
1
2
M
S
E
(
w
)
+
λ
∑
j
=
1
k
∣
w
j
∣
L(w) = \frac{1}{2}MSE(w)+\lambda\sum_{j=1}^k|w_j|
L(w)=21MSE(w)+λj=1∑k∣wj∣
↓
求
梯
度
\downarrow求梯度
↓求梯度
L
(
w
)
w
′
=
∇
w
M
S
E
(
w
)
+
λ
∗
{
s
i
g
n
(
w
1
)
s
i
g
n
(
w
2
)
.
.
.
s
i
g
n
(
w
k
)
\begin{aligned} L(w) '_w&= \nabla _w MSE(w)+\lambda* \begin{cases} sign(w_1) \\ sign(w_2) \\ ...\\ sign(w_k) \\ \end{cases} \end{aligned}
L(w)w′=∇wMSE(w)+λ∗⎩⎪⎪⎪⎨⎪⎪⎪⎧sign(w1)sign(w2)...sign(wk)
↓
符
号
函
数
s
i
g
n
\downarrow符号函数sign
↓符号函数sign
s
i
g
n
(
x
)
=
{
1
x
>
0
0
x
=
0
−
1
x
<
0
sign(x) = \begin{cases} 1&x>0\\ 0&x=0\\ -1&x<0\\ \end{cases}
sign(x)=⎩⎪⎨⎪⎧10−1x>0x=0x<0
- Lasso回归的性质
1)容易获得稀疏解
2)可以减少特征值
3)可以降维
4)存在不可导点
5)L1范数符合拉普拉斯分布,是不完全可微的。
6)表现在图像上会有很多角出现。
7)会造成最优值出现在坐标轴上,因此就会导致某一维的权重为0 。
8)产生稀疏权重矩阵,进而防止过拟合。
9)可以使得一些特征的系数变小,甚至还使一些绝对值较小的系数直接变为0。
10)
6.2 L2正则化(Rideg/岭(脊)回归)
-
岭回归公式
在损失函数后,加L2范数的平方
L ( w , b ) = 1 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ ∣ ∣ w ∣ ∣ 2 2 = 1 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ ∑ j = 1 k w j 2 \begin{aligned} L(w, b) &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda||w||_2^2\\[6pt] &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+\lambda\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)=n1i=1∑n(wxi+b−yi)2+λ∣∣w∣∣22=n1i=1∑n(wxi+b−yi)2+λj=1∑kwj2
为了便于计算
L ( w , b ) = 1 2 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ 2 ∑ j = 1 k w j 2 \begin{aligned} L(w, b) &= \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\frac{\lambda}{2}\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)=2n1i=1∑n(wxi+b−yi)2+2λj=1∑kwj2
w w w为特征变量
n为样本个数
k为特征数 -
参数的计算
最小二乘法
L ( w , b ) = 1 2 n ∑ i = 1 n ( w x i + b − y i ) 2 + λ 2 ∑ j = 1 k w j 2 L(w, b) = \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+\frac{\lambda}{2}\sum_{j=1}^kw_j^2 L(w,b)=2n1i=1∑n(wxi+b−yi)2+2λj=1∑kwj2
↓ \downarrow ↓
转 为 向 量 , 便 于 计 算 ( 省 略 偏 置 项 b ) 转为向量,便于计算(省略偏置项b) 转为向量,便于计算(省略偏置项b)
↓ \downarrow ↓
L = 1 2 ( X W − Y ) 2 + λ 2 W 2 L=\frac{1}{2}(XW-Y)^2+\frac{\lambda}{2}W^2 L=21(XW−Y)2+2λW2
↓ 求 导 \downarrow 求导 ↓求导
L w ′ = X T ∗ ( X W − Y ) + λ W = X T X W − X T Y + λ W = ( X T X + λ I ) W − X T Y \begin{aligned} L'_w&=X^T*(XW-Y)+\lambda W\\[6pt] &=X^TXW-X^TY+\lambda W\\[6pt] &=(X^TX+\lambda I)W-X^TY \end{aligned} Lw′=XT∗(XW−Y)+λW=XTXW−XTY+λW=(XTX+λI)W−XTY
↓ 导 数 取 0 \downarrow 导数取0 ↓导数取0
L w ′ = 0 ( X T X + λ I ) W = X T Y W = ( X T X + λ I ) − 1 X T Y \begin{aligned} L'_w&=0\\[6pt] (X^TX+\lambda I)W&=X^TY\\[6pt] W&=(X^TX+\lambda I)^{-1}X^TY \end{aligned} Lw′(XTX+λI)WW=0=XTY=(XTX+λI)−1XTY
各个向量解释
X : n × k 矩 阵 Y : n × 1 矩 阵 W : k × 1 矩 阵 I : k × k 矩 阵 n 为 样 本 个 数 k 为 特 征 数 矩 阵 乘 法 满 足 : 列 = 行 X: n\times k矩阵\\[6pt] Y: n\times 1矩阵\\[6pt] W: k\times 1矩阵\\[6pt] I: k\times k矩阵\\[6pt] n为样本个数\\[6pt] k为特征数\\[6pt] 矩阵乘法满足:列=行 X:n×k矩阵Y:n×1矩阵W:k×1矩阵I:k×k矩阵n为样本个数k为特征数矩阵乘法满足:列=行 -
结论
W = ( X T X + λ I ) − 1 X T Y W=(X^TX+\lambda I)^{-1}X^TY W=(XTX+λI)−1XTY -
岭回归的性质
1)岭回归的公式仍然是一个凸函数。
2)L2范数符合高斯分布,是完全可微的。
3)图像上的棱角被圆滑了很多。
4)L2正则化不容易得到稀疏矩阵
5)
6.3 L1+L2正则化(弹性网络/ElasticNet回归)
-
概念
1)弹性网络是结合了岭回归和Lasso回归,由两者加权平均所得。
2)在我们发现用Lasso回归太过(太多特征被稀疏为0)。
3)岭回归也正则化的不够(回归系数衰减太慢)的时候。
4)可以考虑使用ElasticNet回归来综合。
5)它使用L1来训练并且L2优先作为正则化矩阵。 -
ElasticNet回归公式
损失函数加上L1和L2的加权
L ( w , b ) = 1 n ∑ i = 1 n ( w x i + b − y i ) 2 + r λ ∑ j = 1 k ∣ w j ∣ + ( 1 − r ) λ ∑ j = 1 k w j 2 \begin{aligned} L(w, b) &= \frac{1}{n}\sum_{i=1}^n(wx_i + b - y_i)^2+r\lambda\sum_{j=1}^k|w_j|+(1-r)\lambda\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)=n1i=1∑n(wxi+b−yi)2+rλj=1∑k∣wj∣+(1−r)λj=1∑kwj2
为了便于计算
L ( w , b ) = 1 2 n ∑ i = 1 n ( w x i + b − y i ) 2 + r λ ∑ j = 1 k ∣ w j ∣ + 1 − r 2 λ ∑ j = 1 k w j 2 \begin{aligned} L(w, b) &= \frac{1}{2n}\sum_{i=1}^n(wx_i + b - y_i)^2+r\lambda\sum_{j=1}^k|w_j|+\frac{1-r}{2}\lambda\sum_{j=1}^kw_j^2\\[6pt] \end{aligned} L(w,b)=2n1i=1∑n(wxi+b−yi)2+rλj=1∑k∣wj∣+21−rλj=1∑kwj2
w w w为特征变量
n为样本个数
k为特征数
r表示L1所占的比例
↓
简
化
,
省
略
偏
置
项
\downarrow 简化,省略偏置项
↓简化,省略偏置项
↓
\downarrow
↓
L
(
w
)
=
1
2
n
∣
∣
x
w
−
y
∣
∣
2
2
+
r
λ
∣
∣
w
∣
∣
1
+
1
−
r
2
λ
∣
∣
w
∣
∣
2
2
L(w)=\frac{1}{2n}||xw-y||_2^2+r\lambda||w||_1+\frac{1-r}{2}\lambda||w||_2^2
L(w)=2n1∣∣xw−y∣∣22+rλ∣∣w∣∣1+21−rλ∣∣w∣∣22
-
参数的计算
待定 -
ElasticNet回归的性质
1)当 r r r接近0时,ElasticNet表现接近lasso。 -
综合三种回归
首选Ridge,其次ElasticNet,最后考虑Lasso
7. 欠拟合
-
概念
1)若在训练集表现差,在测试集表现同样会很差,这可能是欠拟合导致。
2)欠拟合是指模型拟合程度不高,数据距离拟合曲线较远。
3)或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。 -
解决方法
1)增加多项式特征阶数。
2)减小正则项的超参系数值。
3)局部加权线性回归
7.1 局部加权线性回归
-
英文
Locally weighted linear regression -
概念
1)在该算法中,我们给待预测点附近的每一个点赋予一定的权重。
2)在这个子集上基于最小均方误差来进行普通的回归。
3)与KNN类似,这种算法每次预测均需要事先选取出对应的数据子集。 -
高斯核
1-使用原因
局部线性加权使用核(类似支持向量机中的核)来对附近的点赋予更高的权重。
2-高斯核公式
w ( i , i ) = e x p ( ( x i − x ) 2 − 2 k 2 ) w(i,i)=exp(\frac{(x_i-x)^2}{-2k^2}) w(i,i)=exp(−2k2(xi−x)2)
3-不同k值,高斯核对应的样本覆盖范围

4-结论
1)构建了一个只含有对角元素的权重矩阵ω。
2)并且点x与xi越近,w(i,i)将会越大。
3)用户指定的参数k,决定了对附近的点赋予多大的权重。 -
公式推导
由ridge回归,推导的结论
W = ( X T X + λ I ) − 1 X T Y W=(X^TX+\lambda I)^{-1}X^TY W=(XTX+λI)−1XTY
↓ 省 去 L 2 正 则 项 ↓ \downarrow省去L2正则项\downarrow ↓省去L2正则项↓
W = ( X T X ) − 1 X T Y W=(X^TX)^{-1}X^TY W=(XTX)−1XTY
↓ W 用 θ 来 代 替 ↓ \downarrow W用\theta来代替\downarrow ↓W用θ来代替↓
θ = ( X T X ) − 1 X T Y \theta=(X^TX)^{-1}X^TY θ=(XTX)−1XTY
↓ 引 入 权 重 矩 阵 w : n × n 对 角 矩 阵 ↓ \downarrow 引入权重矩阵w:n \times n对角矩阵\downarrow ↓引入权重矩阵w:n×n对角矩阵↓
结 论 : θ = ( X T w X ) − 1 X T w Y 结论:\theta=(X^TwX)^{-1}X^TwY 结论:θ=(XTwX)−1XTwY -
例子

更多推荐
所有评论(0)