首页 > 编程笔记

神经网络标识与其类型

我们已经知道神经网络其实是多个逻辑回归的叠加。一个复杂的神经网络包括很多层,对于这样庞大的系统我们可能无从下手,其实只要把握一下两个关键点即可:

第一个是隐藏层,隐藏层主要控制神经网络的计算复杂度以及计算的精度,我们可以通过调节隐藏层来控制算法的速度和准确度;第二个是输出层,输出层决定了神经网络的功能类型,例如某个神经网络是要做回归还是分类?如果做分类的话,是做二分类还是多分类?这些都是输出层决定的。

1. 神经网络的标识

一般我们将隐藏层和输出层计入神经网络的总层数,但是输入层不计入总层数。所以图 1 所示的神经网络是3层神经网络,包括 2 个隐藏层和 1 个输出层。

3层神经网络
图1:3层神经网络


构建神经网络时,需要指定以下超参数:

1) 学习速率

学习速率。神经网络中的学习速率对应多个节点的多个参数。

2) 层数

层数。如果层数比较多,那么这个神经网络就是所谓的深度学习神经网络了。不过,并不是越深的神经网络效果就越好,因为过多的层数可能会导致梯度消失。而现在学者也在深入研究如何加速深度神经网络的学习速度。

3) 节点个数

每层节点的个数。设置每层神经节点的个数。

4) 节点激活函数

设置节点的激活函数。一般在隐藏层设置为 ReLU 激活函数,因为该函数比 Sigmoid 函数和 tanh 函数的学习效果更好。而在输出层则需要根据最后需要的结果来选择函数,这些函数会在后续进行详细讲解。

2. 回归型神经网络

在进行回归预测的神经网络中,最后的输出层需要设置为线性(line)的,即不需要设置任何激活函数,如图 2 所示。


进行回归预测的神经网络
图2:进行回归预测的神经网络

3. 分类型神经网络

1) 二分类的神经网络

在进行二分类预测的神经网络中,最后的输出层可以设置为 Sigmoid(sig)函数,如图 1 所示。

二分类神经网络
图3:二分类神经网络

2) 多分类的神经网络

在机器学习的项目中,我们经常遇到的是多分类问题。对于多分类问题,可以将最后的输出层设置为 Softmax(sm)函数,如图 2 所示。

多分类神经网络
图4:多分类神经网络

优秀文章