最近在看李航的统计学习方法P11时发现一个多项式函数拟合问题觉得公式的推导有问题,于是看了一些资料发现这里的推倒是有错误的,用python编程验证后发现按书上的求导结果拟合后的函数图像完全不对,下面给出正确的推导结果和对应的python实现与拟合效果。
(第一次写了一版这篇博客,公式自己敲的,但是从别人那里贴的代码,后面感觉那个代码思路没问题,但就是进行了很多次重复计算,数据量大的时候效率低,而且很多地方对python的语言特性利用不足,写的有点类似C语言风格,比较晦涩。于是乎,把代码重写了一次,准备把文章撤下来重新贴自己的代码,这时候发现没有保存,前面用Tex敲的一堆公式就没了,心中顿时万马奔腾。。。。好在今天考试考完,强行克服拖延症把这篇文章重写一遍并附上重写的代码。)
下面开始正文
问题描述
假定给定一个训练数据集:
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
其中,
x
i
∈
R
是输入
x
的观测值,
y
i
∈
R
是相应的输出y的观测值,
i
=
1
,
2
,
⋯
,
N
,多项式函数拟合的任务是假设给定数据由
M
次多项式函数生成,选择最有可能产生这些数据的
M
次多项式函数,即在
M
次多项式函数中选择一个对已知数据以及未知数据都有很好预测能力的函数。
设
M
次多项式为
f
M
(
x
,
w
)
=
w
0
+
w
1
x
+
w
2
x
2
+
⋯
+
w
M
x
M
=
∑
j
=
0
M
w
j
x
j
式中
x
式单变量输入,