深度学习基本开发流程学习笔记
如图所示
1:准备数据就是生成左下方图,即100个数据点以Y=2X为基准分布在二维空间。
2:搭建模型就是正向传播和反向传播的过程
3:迭代训练就是重复多次正向传播和反向传播,一直到LOSS值很小。
4:使用模型就是把训练好模型的参数W和B重新加载来解决现实问题,如图中就是生成右下方的图。说白了就是测试模型是不是学到了Y=2X的数据分布规则。
其实给出的线性回归代码已经将这四步讲得很明确了,具体可以看注释,这里尤其要说明下这句代码:
train_Y = 2 * train_X + np.random.randn(100) * 0.3
我搞不明白为什么要加入噪声即np.random.randn(100) * 0.3,为什么呢?视频中说为了模拟更加真实的数据,为了防止过拟合,我不明白是什么意思?
带着这个问题,咨询老师,老师说有在真实的场景中,数据不可能是Y=2X,而是围绕这条线波动,比如股票的价格,而模型就是学到这种波动规则,这我就明白了。
如何验证是否学到这种规则:
plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label=‘Fitted line’)而这句代码其实就是显示模型是否学到了波动的规则。