【机器学习】多项式回归原理介绍

在上一节中咱们介绍了线性回归的原理,而后分别用python和sklearn实现了不一样变量个数的线性回归的几个例子。线性回归模型形式简单,有很好的可解释性,可是它只适用于X和y之间存在线性关系的数据集。对于非线性关系的数据集,线性回归不能很好的工做。所以本文介绍线性回归模型的扩展——「多项式回归」,咱们能够用它来拟合非线性关系的数据集。python

假设咱们有一个单变量数据集,以下图。 机器学习

为了观察它们之间的关系,咱们用 matplotlib 画出散点图。
从图中看,它们有点像在一条直线上,但仔细看更像是在一个抛物线上。

首先咱们假设它们知足线性关系,使用线性回归模型获得的结果以下图中黄线所示。 post

看起来彷佛还能够,可是来看看偏差,太大了。
下面咱们试试用抛物线拟合它们。

线性回归能够经过从系数构造多项式的特征来扩展。为了使推导过程更具备表明性,咱们先以一个双变量的为例,而后再看咱们上面的单变量的例子。学习

双变量线性回归模型形以下面式子: 3d

经过结合二阶多项式的特征,添加二次方项,将它从平面转换为抛物面:
用z替换x:
因此,咱们的式子能够写成:
这样就变为线性回归模型。

同理,咱们的数据集是单变量的,转换后的式子为: cdn

计算结果如图。
线性回归获得的模型为:
多项式回归获得的模型为:
两个模型以下图所示。
能够看出多项式回归模型的效果(绿线)要明显好于线性回归模型(黄线)。

更高阶的同理。blog

相关文章
相关标签/搜索