![TensorFlow机器学习(原书第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/694/44567694/b_44567694.jpg)
上QQ阅读APP看书,第一时间看更新
3.3 多项式模型
线性模型可能是直觉的第一猜测,但在现实世界中问题的相关性很少会如此简单。例如,导弹穿过太空的轨迹相对于地球上的观察者是弯曲的。Wi-Fi的信号强度是平方反比衰减的。花朵在其一生中的高度变化当然也不是线性的。
当数据呈现为平滑的曲线而非直线时,你需要将你的回归模型从线性更改为其他形式。其中一种方式是使用多项式模型。多项式模型是线性模型的泛化。n次多项式表示如下:
![](https://epubservercos.yuewen.com/10538A/23764583701649206/epubprivate/OEBPS/Images/073-03.jpg?sign=1739599465-qBoR0z5srHAX45pTxDWd9nDyBjUUYhnb-0-405e9221b6513407004439bb9ba37476)
注意 当n=1时,多项式简化为一个简单的线性方程。
考虑图3.10的散点图,x轴显示输入,y轴显示输出。可以看出,直线不足以描述所有数据。多项式函数是线性函数更为灵活的泛化。
![](https://epubservercos.yuewen.com/10538A/23764583701649206/epubprivate/OEBPS/Images/073-01.jpg?sign=1739599465-xeqqEH3fcF94nZHNkrY9R0ES6xcuEr5z-0-d1fcc726d0c6e3ee0398f98cc5689e59)
图3.10 类似这样的数据不适合线性模型
让我们用多项式来拟合这种数据。按照清单3.3的内容创建一个名为polynomial.py的文件。
清单3.3 使用多项式模型
![](https://epubservercos.yuewen.com/10538A/23764583701649206/epubprivate/OEBPS/Images/073-02.jpg?sign=1739599465-yRGLFEvInY85OerOjW0vINAi0LiFPxaG-0-5dff31ed2b60dab8989dcb3b4d211716)
代码的最终输出是一个对数据拟合出的5次多项式,如图3.11所示。
![](https://epubservercos.yuewen.com/10538A/23764583701649206/epubprivate/OEBPS/Images/074-01.jpg?sign=1739599465-yFSCknyyXLAn3nL1fex6TmZxG5UbXrTC-0-4f70e89519d9c1b912f4c172751d8d26)
图3.11 最佳拟合曲线与非线性分布数据平滑吻合