美文网首页神经网络
神经网络学习

神经网络学习

作者: 此间不留白 | 来源:发表于2019-02-03 21:17 被阅读15次

    非线性假设

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



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

    神经元网络(Neural network)

    • 单个神经元(Single Neural )
      在机器学习中,简单的神经元系统如下图所示,其中x_1,x_2,x_3代表输入通道,再通过h_\theta(x)的计算,输出结果。通常,在输入通道中要加入x_0,认为是偏置单元(bias unit),一般情况下设为1。


      如以上所示,我们称之为带有sigmoid函数的人工神经元(Sigmoid activation function)
    • 神经元网络(Neural network)
      以上,介绍了单个的神经元,而多个神经元构成的集合称之为神经网络。如下图所示,多个神经元构成了神经网络,其中,x_1,x_2,x_3代表的是输入层(input layer),a_1,a_3,a_3表示隐藏层(hidden layer),第三层表示输出层(output layer),x_0,a_0表示偏置单元,通常设为1。实际上,中间的隐藏层可能不止一层,输入层和输出层在训练集中是可以看到的,而隐藏层是看不到的。

    • 神经网络的工作方式
      为解释神经网络工作方式,对特定标记做出以下解释
      a_i^{(j)} =j层第i个神经元

      \theta_j =从第j层到第j+1层的权重矩阵(matrix weight)

    上图所示的神经网络工作方式可以用如下的计算表示:
    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)},计算出最终的结果,这是一个层层推进的迭代过程,我们称这个计算过程为前向传播。

    • 神经网络的计算
      如下图所示,假设切掉输入层,只保留输出层,如计算公式所示:
      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)})

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

    相关文章

      网友评论

        本文标题:神经网络学习

        本文链接:https://www.haomeiwen.com/subject/lmndsqtx.html