【机器学习】线性回归 多项式线性回归
【机器学习系列】
- KNN算法
KNN算法原理简介及要点
特征归一化的重要性及方式 - 线性回归算法
线性回归与一元线性回归
线性回归模型的损失函数
多元线性回归
多项式线性回归
多项式线性回归
- V1.0
- 多项式回归
- 多项式回归的公式
- 特征代换
- 超越函数作为特征向量维度
V1.0
多项式回归
多项式回归可以看作多元线性回归模型的特殊版本,经过处理后多项式线性回归可以退化为多元线性回归。
多项式回归的公式
多项式回归的公式如下
y
=
w
0
+
w
1
,
1
∗
x
1
+
w
1
,
2
∗
x
1
2
+
.
.
.
+
w
1
,
d
1
∗
x
1
d
1
+
w
2
,
1
∗
x
2
+
.
.
.
+
w
n
,
d
n
∗
x
n
d
n
y=w_0+w_{1,1}*x_1+w_{1,2}*x_1^2+...+w_{1,d_1}*x_1^{d_1}+w_{2,1}*x_2+...+w_{n,d_n}*x_n^{d_n}
y=w0+w1,1∗x1+w1,2∗x12+...+w1,d1∗x1d1+w2,1∗x2+...+wn,dn∗xndn
公式中有
n
n
n元(
x
1
.
.
.
x
n
x_1...x_n
x1...xn),每一元最高幂为
d
n
d_n
dn次方。
多项式模回归模型的求解,即是要求最优的模型参数,使得模型的总体损失,比如使用MSE损失函数,对于训练样本最小。
特征代换
怎样求解含幂的特征维度的的参数呢,例如求解
x
1
2
x_1^2
x12或
x
1
3
x_1^3
x13的的参数呢。
这里无需多虑,我们的输入数据是多维特征向量(假设
N
N
N维)是离散的,即数据(特征向量)是一条一条输入(是指不牵扯到连续性)的。
例如对于
x
1
2
x_1^2
x12,在处理特征向量时,只需要将其使用
x
1
x_1
x1求平方,代入模型公式,再当成普通的特征维度处理即可,将所有的高次幂都使用这种方法处理,即可得到特征代换后的多元线性回归模型的公式。对于该多元线性回归模型求解,就是对多项式回归模型的求解。
这里需要理解的的重点是对于单一的特征维度,因其各次幂可以求出,且各次幂可以带入到多项式回归公式中,作为普通的一个维度,模型中的高次幂都可以这样处理。
所有的特征向量都可以如此处理,那么整个多项式回归模型就退化为了多元线性回归模型,求解该多元线性回归模型就是求解该多项式回归模型。
使用特征代换之后,得到下式,该式即可当做普通的多元线性回归模型处理,求解该模型得到的参数即为对应的多项式模型的参数
y
=
w
0
+
w
1
,
1
∗
x
1
,
1
+
w
1
,
2
∗
x
1
,
2
+
.
.
.
+
w
1
,
d
1
∗
x
1
,
d
1
+
w
2
,
1
∗
x
2
,
1
+
.
.
.
+
w
n
,
d
n
∗
x
n
,
d
n
y=w_0+w_{1,1}*x_{1,1}+w_{1,2}*x_{1,2}+...+w_{1,d_1}*x_{1,d_1}+w_{2,1}*x_{2,1}+...+w_{n,d_n}*x_{n,d_n}
y=w0+w1,1∗x1,1+w1,2∗x1,2+...+w1,d1∗x1,d1+w2,1∗x2,1+...+wn,dn∗xn,dn
其中
x
1
,
1
=
x
1
x_{1,1}=x_1
x1,1=x1
x
1
,
2
=
x
1
2
x_{1,2}=x_1^2
x1,2=x12
x
1
,
d
1
=
x
1
d
1
x_{1,d_1}=x_1^{d_1}
x1,d1=x1d1
x
2
,
1
=
x
2
x_{2,1}=x_2
x2,1=x2
…
x
k
,
d
=
x
k
d
x_{k,d}=x_k^{d}
xk,d=xkd(通式)
…
x
n
,
d
n
=
x
n
d
n
x_{n,d_n}=x_n^{d_n}
xn,dn=xndn
超越函数作为特征向量维度
对于超越函数,如果一个特征向量的某个维度是超越函数,其跟某另一个特征向量相关,那么也可以用特征代换的方法。
比如
sin
(
x
1
)
\sin(x_1)
sin(x1) 是特征向量中的特征维度。那么如果特征向量中有有
x
1
x_1
x1的维度,则可以使用
x
1
x_1
x1来计算
sin
(
x
1
)
\sin(x_1)
sin(x1)一的值,并将其作为普通的特征维度代入,并使用多元线性回归解法求解即可。