【机器学习系列】
V1.0
多元线性回归
多元线性回归使用多维特征向量来推算回归值,推算方法使用以下公式
y
=
w
0
+
w
1
∗
x
1
+
w
2
∗
x
2
+
.
.
.
+
w
n
∗
x
n
y=w_0+w_1*x_1+w_2*x_2+...+w_n*x_n
y=w0+w1∗x1+w2∗x2+...+wn∗xn
其中
x
i
x_i
xi是N维特征向量第
i
i
i 维的数据,
w
i
w_i
wi是特征向量第
i
i
i 维特征的权值,
y
y
y是该特征向量的预测值。
求解多元线性回归模型,即通过N维特征向量及其对应的标签真实值,求解多元线性公式参数,
w
0
.
.
w
n
w_0..w_n
w0..wn的过程。
一元线性回归与多元线性回归
一元线性回归的2个参数
k
k
k和
b
b
b,其中
k
k
k对应一元特征的权值。
多元线性回归有
w
1
w_1
w1-
w
n
w_n
wn这N个权重,分别对应特征向量的N个维度的特征值。
多元线性回归模型的误差衡量
对于单个特征向量,其误差为
y
r
e
a
l
−
y
p
r
e
d
i
c
t
y_{real}-y_{predict}
yreal−ypredict。
总体误差,使用各个特征向量投票决定,这里可以使用MSE(Mean Squared Error)方法(其他总体误差计算方法比如RMES,MAE)。
可以认为最优的模型即是将总体误差最小化时的模型,在使用MSE的情况下,即是要求解使得模型总体损失最小时的参数
w
0
.
.
.
w
n
w_0...w_n
w0...wn。可用如下公式表示
arg min
w
0
.
.
.
w
n
∑
i
=
1
m
(
y
r
e
a
l
−
y
p
r
e
d
i
c
t
)
2
\argmin_{w_0...w_n}\sum_{i=1}^{m}(y_{real}-y_{predict})^2
w0...wnargmini=1∑m(yreal−ypredict)2
将
y
p
r
e
d
i
c
t
y_{predict}
ypredict公式代入,公式中就直接包含了模型的参数
w
0
.
.
.
w
n
w_0...w_n
w0...wn。
arg min
w
0
.
.
.
w
n
∑
i
=
1
m
(
y
r
e
a
l
−
(
w
0
+
w
1
∗
x
1
+
w
2
∗
x
2
+
.
.
.
+
w
n
∗
x
n
)
)
2
\argmin_{w_0...w_n}\sum_{i=1}^{m}(y_{real}-(w_0+w_1*x_1+w_2*x_2+...+w_n*x_n))^2
w0...wnargmini=1∑m(yreal−(w0+w1∗x1+w2∗x2+...+wn∗xn))2
多元线性回归的最优解
多元线性回归的解析解(标准数学解法)
对于给定的N维训练数据及数据标签,线性回归模型的最优解及参数
w
0
.
.
.
w
n
w_0...w_n
w0...wn ,可以通过以下公式得到多元线性回归的最优参数
W
=
(
X
T
X
)
−
1
X
T
Y
W=(X^TX)^{-1}X^TY
W=(XTX)−1XTY
多元线性回归的解析解公式分析
在多元线性回归的解析解公式中,
X
X
X为特征矩阵(
M
∗
N
M*N
M∗N维),
Y
Y
Y为特征向量的标签值(
M
∗
1
M*1
M∗1维)。
X
T
X^T
XT的维度
N
∗
M
N*M
N∗M维
(
X
T
X
X^TX
XTX)的维度为
N
∗
N
N*N
N∗N维
(
X
T
X
)
−
1
(X^TX)^{-1}
(XTX)−1)的维度为
N
∗
N
N*N
N∗N维
(
X
T
X
)
−
1
X
T
(X^TX)^{-1}X^T
(XTX)−1XT的维度为
N
∗
M
N*M
N∗M维
(
X
T
X
)
−
1
X
T
Y
(X^TX)^{-1}X^TY
(XTX)−1XTY的维度为
N
∗
1
N*1
N∗1维
多元线性回归的搜索解法
解析解在特征维度较大时计算较为复杂,计算量大,因此工程上并不经常采用这种方法。
scikit-learn
库中对于线性回归问题,使用的是梯度下降的解法。