机器学习回归问题 - 高维多项式拟合1
引言
通过高维多项式,可以拟合任意维度超平面上分布的数据,精度随多项式阶次升高而升高。
如果指导数据分布的具体形式,可以使用自定义的函数进行拟合,通常会有更好的效果。
有一组数据分布如图
不难看出这是一个马鞍面,所以我们以二元二次的拟合函数来进行演示。
原理介绍
首先写出拟合函数的表达形式
f p r e d i c t = F ( x , y ) = c 00 + c 10 x + c 01 y + c 20 x 2 + c 11 x y + c 02 y 2 . f_{predict} = F(x,y) =c_{00}+c_{10}x+c_{01}y+c_{20}x^2+c_{11}xy+c_{02}y^2 . fpredict=F(x,y)=c00+c10x+c01y+c20x2+c11xy+c02y2.
不难看出上面的式子一共有 6 个未知参数。一般来说,对于 m m m维 n n n次的多项式函数,最多含有 C m n n C_{mn}^n Cmnn个参数。
为了方便描述拟合函数与原数值值间的差异,我们使用均方差函数作为损失函数,损失函数越小,说明拟合函数越准确。
l o s s = 1 k ∑ i = 1 k ( f i − F ( x i , y i ) ) 2 loss = \frac{1}{k} \sum_{i=1}^{k}(f_{i}-F(x_i,y_i))^2 loss=k1i