ML学习笔记第四周(二):神经网络

1 模型表达I

1.1 大脑中的神经元

神经元是一个计算单元,它从输入神经(Dendrite/树突)接受一定数目的信息,并做一些计算,然后将结果通过它的轴突(Axon)传送到其他节点或者大脑中的其他神经元
ML学习笔记第四周(二):神经网络
如果神经元想要传递一个消息,它就会就通过它的轴突发送一段微弱电流给其他神经元。接下来这个神经元接收这条消息,做一些计算,它有可能会反过来将自己的消息传给其他神经元,这就是所有人类思考的模型: 我们的神经元把自己的收到的消息进行计算,并向其他神经元传递消息。顺便说一下,这也是 我们的感觉和肌肉运转的原理。
ML学习笔记第四周(二):神经网络

1.2 神经模型:逻辑单元

人工神经网络中,我们将神经元模拟成一个逻辑单元,x0x1x2x3x_0、x_1、x_2、x_3称为输入节点(其中x0=1x_0=1称为偏置单元,是否画出会取决于其对例子是否有利),xx是特征向量,θ\theta是参数向量(在神经网络中被称为权重),以下所示神经元就是一个作为激励函数的人工神经元(黄色小圈圈),hθ(x)=11+eθTxh\theta(x)=\frac{1}{1+e^{-\theta^Tx}}.
ML学习笔记第四周(二):神经网络
神经网络其实就是,这些不同的神经元组合在一起的集合。第一层Layer1称为输入层(Input layer),输入我们的特征项x1x2x3x_1、x_2、x_3;最后一层Layer3称为输出层(Output layer),输出我们假设的最终计算结果hθ(x)h_{\theta}(x);中间层Layer2称为隐藏层(Hidden layer)。

1.3 逻辑单元详解

术语 具体含义
ai(j)a^{(j)}_i jj层的第ii个神经元/激励
激励(activation) 由一个具体神经元读入、计算并输出的值
Θ(j)\Theta^{(j)} 控制着从第jj层到第j+1j+1层的作用的一个权重矩阵

ML学习笔记第四周(二):神经网络
如果第jj层有sjs_j个单元,第j+1j+1层有sj+1s_{j+1}个的单元,那么Θ(j)\Theta^{(j)}的维数将会是sj+1(sj+1)s_{j+1}*(s_j+1)

2 模型表达II

2.1 前向传播:向量化

Forward propogation: Vectorized implementation

ML学习笔记第四周(二):神经网络
简单来说,这一层的每一个**单元,都需要由上一层的每一个**单元乘以一个系数再求和,包裹一个**函数(此处为sigmoidsigmoid函数)得到,然后为这一层增加一个偏置单元,继续进行下一层的计算。这种由输入层,逐渐向后计算,计算到输出层的方式,称为前向传播(Forward propagation)。

2.2 神经网络的原理

ML学习笔记第四周(二):神经网络
只看后两层,非常类似于之前的线性回归,a1(2)a2(2)a3(2)a^{(2)}_1、a^{(2)}_2、a^{(2)}_3是特征,Θ1(2)Θ2(2)Θ3(2)\Theta^{(2)}_1、\Theta^{(2)}_2、\Theta^{(2)}_3是参数(因为是矩阵所以用Θ\Theta)。而复杂特征a1(2)a2(2)a3(2)a^{(2)}_1、a^{(2)}_2、a^{(2)}_3,则是由简单特征x1x2x3x_1、x_2、x_3与参数Θ1(1)Θ2(1)Θ3(1)\Theta^{(1)}_1、\Theta^{(1)}_2、\Theta^{(1)}_3得到。

如果在Θ\Theta中选择不同的参数,有时可以学习到一些很有趣和复杂的特征,就可以得到一个更好的假设(比使用原始输入x1x2x3x_1、x_2、x_3时得到的假设更好),或者我们也可以选择多项式项x1x2x3x_1x_2x_3等作为输入项,但这个算法可以灵活地快速学习任意的特征项 把这些a1a2a3a_1、a_2、a_3输入这个 最后的单元

2.3 神经网络架构

ML学习笔记第四周(二):神经网络