1. 之前搭建神经网络的方法
- 先初始化输入数据X,创建layer 1并计算激活值a1,创建layer 2并计算激活值a2,这是前向传播代码的显式形式。
2. 另一种简单些的创建神经网络的方法
- 创建layer 1和layer 2与前一种方法相同,但我们不需要手动获取激活值,并把它传递给下一层
- 可以使用顺序函数 Sequential(),将layer 1和layer 2,按顺序串联在一起,并创建一个神经网络。
- 如果要训练这个神经网络,那么需要model.compile() 和 model.fit() 函数,这两个函数以后会讲
- 如果需要对新的例子进行预测,可以使用model.predict() 函数,它可以直接输出对应的激活值a2,不需要手动再一层一层的执行计算。
- 我们将通过layer 1、2、3来尝试对数字进行分类,当使用这种新方式来编码时,可以用sequential() 函数将这三层按顺序串联起来,并创建一个新的神经网络。之后,可以将数据集储存在X、Y矩阵中,并运行model.compile() 编译函数,再运行model,fit() 拟合函数使其在数据集X、Y上进行训练。最后,可以用model.predict() 预测函数来对新例子进行预测。
3. 更简单,更紧凑的创建神经网络的方法
- 通常来说,我们并不会对layer 1、2、3进行显式定义,即明确的定义layer 1、2、3。只会定义这是几个层按顺序串联在一起的模型。更多的,我们只是将这些层直接放入sequential() 顺序函数中。
- 它与前两种方法的不同在于,通过sequential() 顺序函数,直接告诉Tensorflow,为我创建一个神经网络模型,按顺序将这三层串联在一起。其他的代码与之前相同。