机器学习入门——神经网络

问题引入

实际问题中,往往数据的特征数量很大,要使用线性方法,使用一些多项式拟合这样的数据很困难。我们得想办法使用非线性的算法解决这些问题。
机器学习入门——神经网络

神经网络

下面是生物的神经元结构:
机器学习入门——神经网络
每个神经元有很多树突,用于接收外部信息;有一个轴突,用于网外传递信息。

我们可以按照这个模型将逻辑回归抽象成这样:
机器学习入门——神经网络
接收信息,通过处理(计算后)往后传递处理后的信息。注意这里的处理结果:hθ(x)=11+eθTXh_\theta(x)=\dfrac{1}{1+e^{-\theta ^TX}}

注意:

  • 信息来自不同的节点,这些节点只提供xx,而θ\theta的值体现的传递线上。每条线都有一个参数θ\theta(也被叫作权重w),传递后接收的信息应该是xiθix_i\theta_i
  • 每一层都有一个x0x_0,称为偏置单元(bias unit)。和之前一样,x0=1x_0=1

神经网络……结构

  • 神经网络可以有很多层次,其中第一层是我们的输入层,最后一层是输出层,中间的层被称为隐藏层。
  • 除了输出层以外,每一层都有一个偏置单元,会往下一层的每个点连边,点值为1。
  • 除了输入层以外,其它层的每个单元都需要运算。所以这些层也称为计算层。

机器学习入门——神经网络

神经网络……运算

  • 我们将由一个具体神经元计算得出的结果称为**项,其中ai(j)a^{(j)}_i表示第jj层的第ii个**项
  • Θ(i)\Theta^{(i)}为第ii层到第i+1i+1层的参数矩阵,Θjk(i)\Theta^{(i)}_{jk}表示从第ii层的第kk个项到第i+1i+1层的第jj个项的参数
  • 显然,如果第jj层有SjS_j个项,第j+1j+1层有Sj+1S_{j+1}个项,那么Θj\Theta^{j}Sj+1(Sj+1)S_{j+1}*(S_j+1)(第jj层有个偏置单元)
    机器学习入门——神经网络
    向量化这个计算过程:
    机器学习入门——神经网络

相关文章: