河北建设工程招标投标协会网站谷歌香港google搜索引擎入口
【机器学习系列】
- 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)一的值,并将其作为普通的特征维度代入,并使用多元线性回归解法求解即可。