深度学习入门笔记系列 ( 四 )

简介: 训练神经网络分为 3 个步骤 :定义神经网络的结构和前向传播的输出结果、定义损失函数以及选择反向传播优化的算法、生成会话(tf.Session) 并在训练数据上反复运行反向传播优化算法,现以直线拟合和回归拟合两个简单案例来熟悉以上 3 个步骤 。

基于 tensorflow 的回归代码实现

本系列将分为 8 篇 。今天是第四篇 。总是理论有些枯燥 ,今天来动手基于 TF 框架实现两个简单的案例 ,以小搏大熟悉一下整个过程 。整体来说 ,训练神经网络分为 3 个步骤 :

  1. 定义神经网络的结构和前向传播的输出结果
  2. 定义损失函数以及选择反向传播优化的算法
  3. 生成会话(tf.Session) 并在训练数据上反复运行反向传播优化算法

现以直线拟合和回归拟合两个简单案例来熟悉以上 3 个步骤 。

1.直线的拟合

比如我们现在要用 y = k x + b (其中 k ,b为参数)通过多次的训练来拟合直线 y = 5 x + 1 。
根据上述 3 个步骤 ,首先构造线性模型 y = k * x + b ,我们目的就是通过训练 ,使得参数 k ,b 去逼近真实值 5 ,1 。之后定义损失函数 ,这里我们用的是二次代价函数 ;选用梯度下降法进行优化 。最后在会话(tf.Session)中进行反复的优化 。具体代码和注释如下 :

image

运行结果如下 ,经过 100 轮的训练优化 ,参数的训练值已经很逼近真实值了 。

image

2.线性回归

回归问题和分类问题不太一样 ,分类是得到结果为 label ,表示类别 ,比如二分类问题等 ,是离散的 ,有限个类别 。回归则是连续的 ,具体看下面例子 。

本例中 ,我们用 y = x*x +noise 随机生成200个散点 ,用神经网络训练 ,拟合出较为理想的回归结果 。

同上述 3 个步骤 ,第一步是定义网络结构和基本信息 ,这部分代码造了一个 10 个节点的中间层 ,之后直接连接一个节点的输出 。输入散点则是利用 numpy 在区间(-0.5,0.5)间生成 200 个散点 ,并在输出中添加了 noise 信息 。具体如下。

image

这里选用的代价函数为二次代价函数 ,优化算法也是梯度下降法 。之后执行对应的训练 ,并将结果以绘图形式输出 。代码如下 :

image

运行该代码 ,得到的结果如下 。

image

本篇两个案例都比较简单 ,主要目的在于用两个简单实例熟悉神将网络训练的基本步骤 。

原文发布时间为:2018-08-01
本文作者:小詹同学
本文来自云栖社区合作伙伴“小詹学Python”,了解相关信息可以关注“小詹学Python

相关文章
|
6月前
|
机器学习/深度学习 PyTorch TensorFlow
[深度学习入门]Numpy基础(上)
[深度学习入门]Numpy基础(上)
|
7月前
|
机器学习/深度学习 自然语言处理 算法框架/工具
如何入门深度学习
如何入门深度学习
62 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
从零开始学习深度学习:入门指南与实践建议
本文将引导读者进入深度学习领域的大门,从基础概念到实际应用,为初学者提供全面的学习指南和实践建议。通过系统化的学习路径规划和案例实践,帮助读者快速掌握深度学习的核心知识和技能,迈出在人工智能领域的第一步。
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习入门:Python 与神经网络
深度学习是机器学习的一个分支,它涉及使用多层神经网络来处理和学习数据。在 Python 中,有许多流行的深度学习库和框架可以帮助我们轻松地构建和训练神经网络模型。在本文中,我们将介绍深度学习的基本概念,并使用 Python 中的 TensorFlow 和 Keras 库来构建一个简单的神经网络模型。
|
3月前
|
机器学习/深度学习 分布式计算 搜索推荐
深度学习入门:一篇概述深度学习的文章
深度学习入门:一篇概述深度学习的文章
|
5月前
|
机器学习/深度学习
小白入门机器学习深度学习实战教程
小白入门机器学习深度学习实战教程
35 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习从入门到出门(1)——概念与发展概况
深度学习从入门到出门(1)——概念与发展概况
|
6月前
|
机器学习/深度学习 人工智能 TensorFlow
【人工智能】深度学习框架值TF入门-模型保存与加载
保存完整的模型有很多应用场景,比如在浏览器中使用TensorFlow.js加载运行,比如在移动设备上使用TensorFlow Lite加载运行。
38 0
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
[深度学习入门]Numpy基础(下)
[深度学习入门]Numpy基础(下)
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
【数据分析入门】人工智能、数据分析和深度学习是什么关系?如何快速入门 Python Pandas?
【数据分析入门】人工智能、数据分析和深度学习是什么关系?如何快速入门 Python Pandas?