神经网络的基本结构介绍

本文深入浅出地介绍了神经网络的基础结构,包括输入层、中间层和输出层,以及激活函数的作用。重点讲解了监督学习中的神经网络模型、代价函数和梯度下降法。此外,还提到了BP神经网络,它是对梯度下降法的改进,解决了隐藏层参数求导的问题。
摘要由CSDN通过智能技术生成

一、一个最简单的神经网络

(一)实例引入——利用神经网络预测房价

现在我们拿到一批关于房价和房屋面积的数据,我们想要利用这批数据来预测房价,我们会如何做?
在这里插入图片描述
在传统的统计学方法中,通常的做法是利用线性模型去拟合房价与房屋面积之间的关系,从而得到一个房价的预测模型,但是在现实生活中,房价是不会为负的,因此,我们会把直线弯曲一下,让它最终在0处结束。
这个线性模型就可以看做是一个最简单的神经网络,这个神经网络的输入层,中间层和输出层只有一个神经元,这个神经网络实现了利用房屋面积预测房价的功能。
在这个神经网络中,起到关键作用的即为中间层的神经元,它可以看做线性函数 z ( a ) = w a + b z(a)=wa+b z(a)=wa+b和激活函数 σ ( z ) \sigma(z) σ(z)的组合。
激活函数这个概念经常会在神经网络相关文章中出现,激活函数的作用就是给线性函数加上一个非线性变换,这种非线性使得我们能够学习到输入与输出之间任意复杂的变换关系,而这里我们所使用的激活函数作叫做ReLU 激活函数,它的全称是 Rectified Linear Unit。

(二)神经网络输入层,中间层和输出层的理解

上面我们所讲的是一个单神经元网络结构,以后不管神经网络的规模大小,神经网络都是由这样一个一个单神经元网络堆叠起来的,把这些神经元想象成单独的乐高积木,你就通过搭积木来完成一个更大的神经网络。
我们现在从刚刚的例子出发,想象一下现实生活中,房价和什么因素有关。

  • 我们需要房子能容纳我们家庭的人数,因此不仅仅需要考虑房屋面积,还需要房间的个数。
  • 我们还需要考虑房子附近的教育水平,因此需要考虑附近学校的个数,还有教育质量,这其实就是我们经常讨论的“学区房”。
  • 另外,我们还需要考虑房子周边的地铁和公交站数量,这直接决定我们出行是否方便。

在这里插入图片描述
我们拿到这些数据以后,就能得到一个更大的神经网络,这个网络和输入层还和之前的一样,表示我们的数据特征,只不过因为特征多了,输入层的神经元个数也增多了,每个神经元对应一个特征,输出层就代表房价,这个没有变化。
但是此时中间层在用一个神经元已经有些不合适了,因为此时我们特征变多了,特征的组合代表的含义也不尽相同,用一个神经元去表示这些特征有点太过粗糙,因此中间层的神经元也需要增多,以表示从原始特征中学到的更为细致的特征,比如房屋面积和房间数量能表示容纳家庭人数,学校数量和学校质量表示教育质量。但是这些特征只是帮助我们去理解神经网络学习的直观解释,实际上神经网络学习的什么,我们也不知道(神经网络为什么是个黑盒?)
到此时,我们应该对神经网络的基本结构和大致含义有了一个初步的认知,现在总结一下神经网络各部分的具体含义:
在这里插入图片描述
从这个例子我们可以看出,神经网络是属于监督学习。

二、神经网络中机器学习的三要素

神经网络最大的优点就是,只要给它输入X,就能得到Y,它可以自己计算所有的中间过程,那么神经网络是如何计算的?这就不得不提到神经网络的三要素。
在这里插入图片描述

三、神经网络的模型

(一)神经网络模型直观上的理解

在这里插入图片描述

(二)神经网络模型各元素的含义

1、模型含义

(1)模型整体结构

  • 输入:输入层每个神经元对应一个变量特征,输入层的神经元相当于装有数字的容器
  • 输出:输出层,回归问题为一个神经元,分类问题为多个神经元
  • 参数:网络中所有的参数,即中间层神经元的权重和偏置

神经网络的学习过程即为学习参数的过程
(2)权重
表示激活值加权和中的权重,有点像连接的强弱,可以理解为通过权重的大小和正负来学习特征
(3)偏置
用来控制神经元是否激活,即告诉你加权有多大,才能让神经元的激发变得有意义,例如房价例子中,前面的加权和大于1000,但是仍然不想让神经元被激活,因为该地区的房价均是大于1000的,这时在后面加一个-1000的偏置就可以了,这里的解释仍然是直观的解释,并不是神经网络学习时实际代表的意义。
(4)激活函数
激活函数的作用就是给线性函数加上一个非线性变换,这种非线性使得我们能够学习到输入与输出之间任意复杂的变换关系,不同的激活函数有不同的意义,例如上文提到的ReLU 激活函数,它可以使激活值大于等于0。(激活函数的介绍)
在这里插入图片描述

2、公式含义

(1)单个神经元
σ ( w 1 a 1 + w 2 a 2 + ⋅ ⋅ ⋅ + w n a n + b ) \sigma(w_1a_1+w_2a_2+···+w_na_n+b) σ(w1a1+w2a2++wnan+b)

  • 输入: a n a_n an表示输入值,
  • 权重: w n w_n wn表示权重
  • 偏差: b k b_k bk,和神经元的个数一致,一个神经元有一个偏置值

注意点:每个神经元都与前一层的激活值相连接,利用权重的大小来表示连接的强弱

(2)对于中间层所有的神经元
σ ( [ w 0 , 0   w 0 , 1 ⋯ w 0 , n w 1 , 0   w 1 , 1 ⋯ w 1

  • 8
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值