神经网络学习
非线性假设
在之前的学习中,我们已经学习过线性回归和逻辑回归的机器学习算法,这两种算法在应用过程中,处理的数据仅仅只有一个或者两个特征,而在现实生活中,我们所要面临的问题往往更加复杂。例如,在房价预测的案例中,现实生活中不仅要考虑房子的大小,还可能跟房子周边的环境,房子的地段,房子的设计,装修等多种因素有关。面临此种情况,仍然使用线性回归预测房价显然不是一个明智的选择。为了处理较大规模的特征,提出了神经网络(Neuron network)学习,它是一种类似于如下图所示的人类大脑的认知处理方式,即神经元。
正如上图所示,神经元可以看做是一个运算单位,它包含多通道的输入结构用来接收信息,做一定的信息处理之后,将其通过轴突输入到下一个节点。
神经元网络(Neural network)
-
单个神经元(Single Neural )
在机器学习中,简单的神经元系统如下图所示,其中代表输入通道,再通过的计算,输出结果。通常,在输入通道中要加入,认为是偏置单元(bias unit),一般情况下设为1。
如以上所示,我们称之为带有sigmoid
函数的人工神经元(Sigmoid activation function) -
神经元网络(Neural network)
以上,介绍了单个的神经元,而多个神经元构成的集合称之为神经网络。如下图所示,多个神经元构成了神经网络,其中,代表的是输入层(input layer),表示隐藏层(hidden layer),第三层表示输出层(output layer),表示偏置单元,通常设为1。实际上,中间的隐藏层可能不止一层,输入层和输出层在训练集中是可以看到的,而隐藏层是看不到的。 -
神经网络的工作方式
为解释神经网络工作方式,对特定标记做出以下解释
第层第个神经元从第层到第层的权重矩阵(matrix weight)
上图所示的神经网络工作方式可以用如下的计算表示:
如上公式所示,通过第一层和参数矩阵,可以计算得到第二层的值,最后再通过第二层和参数向量,计算出最终的结果,这是一个层层推进的迭代过程,我们称这个计算过程为前向传播。
- 神经网络的计算
如下图所示,假设切掉输入层,只保留输出层,如计算公式所示:
整个问题将退化为逻辑回归问题。实际上,如前向传播的原理一样,我们将第层的输出作为第层的输入,而层的输入不再是简单的线性输入,而是作为一个输入的函数来处理的,是一个非线性过程。