返回介绍

可视化结果 回归例子

发布于 2025-05-02 13:36:25 字数 1908 浏览 0 评论 0 收藏

作者: C.Cui 编辑: Morvan

接着上一节课的内容,这一小节,我们将要对我们建立的神经网络模型的输出结果在不同的训练阶段可视化(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)

在下一节看课程,我们将学习如何利用神经网络来解决简单的分类问题。

如果你觉得这篇文章或视频对你的学习很有帮助,请你也分享它,让它能再次帮助到更多的需要学习的人。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。