前面的文章中主要就线性回归进行了模拟,这篇文章重点讨论一下学习和训练过程中训练数据的问题。
前文中y=3*x + 1的训练数据,直接使用的数据是完全符合的数据,没有任何误差,散点信息如下所示:
绘图代码信息如下
xdata = np.linspace(0,1,100)
ydata = 2 * xdata + 1
plt.scatter(xdata,ydata,color='b')
噪声影响
上述的数据是完美的数据,没有任何干扰情况下的数据,但是往往实际训练模型中很难保证所有数据都是如此。即使是线性回归这么简单的模型也一般不会出现上述类型的实际数据。
就像声音的波形会受到噪声的干扰,最终所得到的叠加的波形一般是输入的数据,在这篇文章中我们也会模拟常见的影响,对数据加上噪声的影响。噪声影响的方式有很多种,比如随机分布与高斯分布。
随机分布
简单来说,对生成的因变量数据加上一个纵向随机小范围的偏移量,主要保证如下的特点:
- 随机性
- 小范围的偏移
- 整体线性不会有变化