使用神经网络
1、神经网络需要大量的信息数据来训练。
2、当你有适当类型的神经网络来解决问题时。每个问题都有自己的难点。数据决定了你解决问题的方式。例如,如果问题是序列生成,递归神经网络更适合,而如果它是一个图像相关的问题,你可能会采取卷积神经网络。
3、硬件要求对于运行深度神经网络模型是至关重要的。
解决神经网络问题
神经网络是一种特殊类型的机器学习(ML)算法。
1.检查神经网络是否可以提升传统算法。
2.做一个调查,哪个神经网络架构最适合即将解决的问题。
3.通过你选择的语言/库来定义神经网络架构。
4.将数据转换为正确的格式,并将其分成批。
5.根据你的需要预处理数据。
6.增加数据以增加规模并制作更好的训练模型。
7.将数据批次送入神经网络。
8.训练和监测训练集和验证数据集的变化。
9.测试你的模型,并保存以备将来使用。
目前最流行的深度学习库是Python提供的API,其次是Lua中,Java和Matlab的。
最流行的库是:
TensorFlow
TensorFlow是一个使用数据流图进行数值计算的开源软件库。图中的节点表示数学运算,而图边表示在它们之间传递的多维数据阵列(又称张量)。灵活的体系结构允许你使用单个API将计算部署到桌面、服务器或移动设备中的一个或多个CPU或GPU。
要了解更多关于计算图的数学构成,请阅读这篇文章。
TensorFlow不仅仅是一个强大的神经网络库。它可以让你在其上构建其他机器学习算法,如决策树或k最近邻。
TensorFlow优点:
1.它有一个直观的结构,因为顾名思义,它有一个“张量流”。你可以很容易地看到图的每一个部分。
2.轻松地在CPU / GPU上进行分布式计算。
3.平台灵活性。你可以在任何地方运行模型,无论是在移动设备,服务器还是PC上。
3.典型的“张量流”
在TensorFlow中运行程序的通常工作流程如下所示:
1.建立一个计算图。这可以是TensorFlow支持的任何数学操作。
2.初始化变量。
3.创建会话。
4.在会话中运行图形。
5.关闭会话。
接下来,让我们写一个小程序来添加两个数字
# import tensorflow
import tensorflow as tf
# build computational graph
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
addition = tf.add(a, b)
# initialize variables
init = tf.initialize_all_variables()
# create session and run the graph
with tf.Session() as sess:
sess.run(init)
print "Addition: %i" % sess.run(addition, feed_dict={a: 2, b: 3})
# close session
sess.close()
在TensorFlow中实现神经网络
神经网络的常见的实现如下:
1.定义要编译的神经网络体系结构。
2.将数据传输到你的模型。
3.将数据首先分成批次,然后进行预处理。
4.然后将其加入神经网络进行训练。
5.显示特定的时间步数的准确度。
6.训练结束后保存模型以供将来使用。
7.在新数据上测试模型并检查其执行情况。
评论列表(0条)