3.浅层神经网络 记录与心得

                                                  如有不对之处请批评与赐教

1.神经网络的表示

   一个简单的神经网络结构如下图。

神经网络可以分为输入层,隐藏层和输出层,其中输入层很好理解,就是我们是输入的数据x1,x2,x3等,输出层就是我们输出的结果,而中间这一层为什么叫隐藏层呢?因为我们见不到隐藏层中的东西,在训练过程中我们是不知道隐藏层里面的状况的。

其中,我们还用 来表示神经网络的层数,下标表示该层的第几个神经元,这个例子中隐藏层有四个神经元,输出层有一个神经元。我们一般把输入层的层数记为0,下一层为1,以此来类推,所以这个例子是一个两层的网络。

2.神经网络的输出

对与一个神经元,可以分为以下两个部分,我们通过输入的值x,w,b来算出z值,再通过激活函数,算出a的值。

当然这是一个,实际中会有很多的计算过程,这时候用向量化来加快计算速度就很有必要了,用矩阵计算能加快速度,也是神经网络中经常用的一种手段。在这里不过多赘述。

3.激活函数

我们在之前的记录中,激活函数全用了sigmoid函数,因为想保持概率在0到1之间,实际上,有时候激活函数有更多更好的选择。

tanh函数即双曲正切函,总体上表现优于sigmoid函数。在训练一个算法模型时,如果使用tanh函数代替sigmoid函数中心化数据,使得数据的平均值更接近0而不是0.5。                                                                                                  有时候,修正线性单元的函数(ReLu)和另一个版本的leaky ReLu函数也是激活函数的不错选择。

输出层是一个二分类问题的时候,我们在

我们为什么需要非线性的激活函数呢?

只要非线性的激活函数才能满足我们的需要做出很多操作。如果我们只用线性函数的话,计算过程只是线性组合,神经网络只是把输入线性组合再输出。

我也看过这样一个说法,人类的神经元就是受不同刺激后产出不同的反应的,如果用线性激活函数就显示不出来神经网络的用处了,所以用非线性激活函数,用非线性激活函数来模拟神经元。

所用图片源于吴恩达课程,侵删。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值