神经网络

神经网络学习

2019-02-03  本文已影响15人  此间不留白

非线性假设

在之前的学习中,我们已经学习过线性回归和逻辑回归的机器学习算法,这两种算法在应用过程中,处理的数据仅仅只有一个或者两个特征,而在现实生活中,我们所要面临的问题往往更加复杂。例如,在房价预测的案例中,现实生活中不仅要考虑房子的大小,还可能跟房子周边的环境,房子的地段,房子的设计,装修等多种因素有关。面临此种情况,仍然使用线性回归预测房价显然不是一个明智的选择。为了处理较大规模的特征,提出了神经网络(Neuron network)学习,它是一种类似于如下图所示的人类大脑的认知处理方式,即神经元。



正如上图所示,神经元可以看做是一个运算单位,它包含多通道的输入结构用来接收信息,做一定的信息处理之后,将其通过轴突输入到下一个节点。

神经元网络(Neural network)

上图所示的神经网络工作方式可以用如下的计算表示:
a_1^{(2)} = g(\theta_{10}^{(1)}x_0+\theta_{11}^{(1)}x_1+\theta_{12}^{(1)}x_2+\theta_{13}^{(1)}x_3)

a_2^{(2)} = g(\theta_{20}^{(1)}x_0+\theta_{21}^{(1)}x_1+\theta_{22}^{(1)}x_2+\theta_{23}^{(1)}x_3)

a_3^{(2)} = g(\theta_{30}^{(1)}x_0+\theta_{31}^{(1)}x_1+\theta_{32}^{(1)}x_2+\theta_{33}^{(1)}x_3)

h_\theta(x) = a_1^{(3)} = g(\theta_{10}^{(2)}a_0^{(2)}+\theta_{(11)}^{(2)}a_1^{(2)}+\theta_{12}^{(2)}a_2^{(2)}+\theta_{13}^{(2)}a_3^{(2)})

如上公式所示,通过第一层和参数矩阵\theta,可以计算得到第二层a^{(2)}的值,最后再通过第二层a^{(2)}和参数向量\theta^{(2)},计算出最终的结果,这是一个层层推进的迭代过程,我们称这个计算过程为前向传播。

整个问题将退化为逻辑回归问题。实际上,如前向传播的原理一样,我们将第j层的输出作为第j+1层的输入,而j+1层的输入不再是简单的线性输入,而是作为一个输入的函数来处理的,是一个非线性过程。

上一篇下一篇

猜你喜欢

热点阅读