通俗讲解神经网络上

神经网络(Neural Network)的构筑理念是受到生物神经网络功能的运作启发而产生的。人工神经网络通常是通过一个基于数学统计学类型的学习方法得以优化,所以人工神经网络也是数学统计学方法的一种实际应用。

和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉和语音识别,这些问题都是很难被传统基于规则的编程所解决的。

1

神经网络

机器学习领域所说的神经网络指的是一种模仿生物神经网络的结构和功能而建立的数学或计算模型,用于对函数进行估计或近似。

例如,给定一些关于市面上房子的面积及价格的数据,需要根据这些数据建立一个房价预测模型。即输入一个房子的面积,希望通过这个模型输出一个房价的预测值。显然,这是一个线性回归问题,因为一般情况下房价和房子的面积都成正相关。这时,可以将已知数据的关系表现在平面坐标系中:

对数据进行线性拟合,且房价永远不会是负数,得到图中的ReLU函数(Rectified Linear Unit,修正线性单元)

在这个简单的例子中,房子的面积作为输入,房价作为输出,而ReLU函数便充当一个神经元的作用,来产生输出。

然而房价除了受房子的面积影响之外,还会受卧室的数量、房子的位置以及地区的财富水平等因素的影响,这时就需要构建一个更为复杂的神经网络模型。

这就构成了一个神经网络模型基本结构,神经网络会自动生成隐藏层(Hidden Units)来处理输入,生成输出。这个问题中,只要拥有足够的训练数据,就能生成一个较好的神经网络模型,得到较为精确的结果。

简单而言,深度学习便是更为复杂的神经网络。

在这个模型中,先建立了一个成本函数,进而不断采用梯度下降法找到参数 和 的最优解。采用这种算法编写的猫识别器最终的准确率还不够高,要进一步提高识别的准确率,就需要建立起一个多层的神经网络来训练样本。

2

符号约定

如图所示的神经网络中,前面为输入层,中间为隐藏层 ,最后为输出层。中间层被称为隐藏层的原因是因为在训练过程中,将看到输入的样本有哪些,输出的结果是什么,中间层中的神经节点产生的真实值无法被观察到。

所以中间层被称为隐藏层,只是因为你不会在训练集中看到它。

前面的逻辑回归中,用X表示输入,这里用符号a^[0]代替,上标“[ ]”中的数字表示神经网络中的第几层,且符号a代表着激活(Activation),指的是不同层次的神经网络传递给后续层次的值。

3

神经网络的表示

逻辑回归中,直接将两个参数都初始化为零。而在神经网络中,通常将参数 w进行随机初始化,参数 b则初始化为 0 。

除 w,b外的各种参数,如学习率 alpha、神经网络的层数 l,第 l 层包含的节点数 n^[k] 及隐藏层中用的哪种激活函数,都称为超参数(Hyper Parameters),因为它们的值决定了参数 w,b最后的值。

好,上节的内容到这,下节讲解激活函数等相关知识点~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180307B022YW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券