可视化结果 回归例子
学习资料:
matplotlib 可视化 ¶
接着上一节课的内容,这一小节,我们将要对我们建立的神经网络模型的输出结果在不同的训练阶段可视化(visualization)。
建筑和训练神经网络的步骤和上次内容一样, 不同的是, 这次我们要有可视化的效果。
我们在这里引入了matplotlib
这个工具包, 用来绘图及数据可视化。
大家可以利用我的视频教程来学习或复习Matplotlib这个工具:Matplotlib 数据可视化神器 Python。
在训练开始前,我们重新画一下我们的目标数据:也就是我们要不断的刷新我们神经网络的输出值prediction_value
# plot the real data
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x_data, y_data)
plt.ion()
plt.show()
现在我们开始真正的训练啦!我们要把神经网络训练1000次,同时呢,每训练50次更新一下图片的显示:
for i in range(1000):
# training
err = train(x_data, y_data)
if i % 50 == 0:
# to visualize the result and improvement
try:
ax.lines.remove(lines[0])
except Exception:
pass
prediction_value = predict(x_data)
# plot the prediction
lines = ax.plot(x_data, prediction_value, 'r-', lw=5)
plt.pause(.5)
此处,ax.lines.remove(lines[0])
的作用是删除我们之前画的红线。这里我们采用try... catch...
结构来避免我们第一次没有被删除的目标。
你大概会得到以下的类似结果:
结果显示我们的神经网络在一点一点的逼近我们的目标函数, 换句话说也就是说 神经网络在逐步的学习样本的原始分布。
当然,只需要简单的修改代码,你就可以看最终的训练结果:
for i in range(1000):
# training
err = train(x_data, y_data)
prediction_value = predict(x_data)
# plot the prediction
lines = ax.plot(x_data, prediction_value, 'r-', lw=5)
在下一节看课程,我们将学习如何利用神经网络来解决简单的分类问题。
降低知识传递的门槛
莫烦很常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛。 免费 奉献我的所学正是受这种态度的影响。 通过 【赞助莫烦】 能让我感到认同,我也更有理由坚持下去。
想当算法工程师拿高薪?转行AI无门道?莫烦也想祝你一臂之力,市面上机构繁杂, 经过莫烦的筛选,七月在线脱颖而出, 莫烦和他们合作,独家提供大额 【培训优惠券】, 让你更有机会接触丰富的教学资源、培训辅导体验, 祝你找/换工作/学习顺利~