多项式拟合在机器学习中有着重要的应用,下面我们通过一个案例来说明如何进行多项式曲线拟合以及拟合中会遇到的问题。内容主要包含了:
- 问题定义
- 拟合
- 正则化
- 总结
需要使用到的Python库有:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Ridge
from sklearn.preprocessing import PolynomialFeatures
%matplotlib inline
问题定义
首先假设我们的训练集由
的
次观测得到,为
,
均匀分布于区间[0,1]。对应的观测集为
,实际的目标函数为
。其中训练集是已知的,我们的目的是通过训练集和观测集拟合出预测函数,让它尽可能的接近目标函数,所以生成观测集的方式是通过训练集加上随机噪声输入到目标函数得到。因为在现实问题中获取到的训练数据也是夹杂了各种噪声,所以这样的拟合对于实验更有意义。
先来看一个
的曲线图:
代码如下: