稍等我需要研究一下新版科创怎么发帖
引言
通过高维多项式,可以拟合任意维度超平面上分布的数据,精度随多项式阶次升高而升高。
如果指导数据分布的具体形式,可以使用自定义的函数进行拟合,通常会有更好的效果。
有一组数据分布如图
不难看出这是一个马鞍面,所以我们以二元二次的拟合函数来进行演示。
原理介绍
首先写出拟合函数的表达形式
$$fpredict=F(x,y)=c00+c10x+c01y+c20x2+c11xy+c02y2.$$
$$f_{predict} = F(x,y)=c_{00}+c_{10}x+c_{01}y+c_{20}x^2+c_{11}xy+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 . $$
不难看出上面的式子一共有 6 个未知参数。一般来说,对于mmm维nnn次的多项式函数,最多含有$CnmnC_{mn}^nCmnn$个参数。
为了方便描述拟合函数与原数值值间的差异,我们使用均方差函数作为损失函数,损失函数越小,说明拟合函数越准确。
$$loss=1k∑ki=1(fi−F(xi,yi))2loss = \frac{1}{k} \sum_{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 $$
因为$c_{ab}$属于$f=F(x,y)$内的参数,所以:
$$ loss=L(c_{00},c_{10},c_{01},c_{20},c_{11},c_{02}) $$
至此, 多项式回归问题 转化为了 求损失函数的极小值问题。
可以使用梯度下降法或粒子群算法等一系列最优化求极值的方法进行求解。具体的原理可以看其他博主写的文章。
[修改于 4年3个月前 - 2020/09/08 23:13:03]
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。