首页 > 代码库 > 机器学习之神经网络模型-下(Neural Networks: Representation)
机器学习之神经网络模型-下(Neural Networks: Representation)
3. Model Representation I
1
神经网络是在模仿大脑中的神经元或者神经网络时发明的。因此,要解释如何表示模型假设,我们不妨先来看单个神经元在大脑中是什么样的。
我们的大脑中充满了如上图所示的这样的神经元,神经元是大脑中的细胞。其中有两点值得我们注意,一是神经元有像这样的细胞主体(Nucleus),二是神经元有一定数量的输入神经和输出神经。这些输入神经叫做树突(Dendrite),可以把它们想象成输入电线,它们接收来自其他神经元的信息。神经元的输出神经叫做轴突(Axon),这些输出神经是用来给其他神经元传递信号或者传送信息的。
简而言之,神经元是一个计算单元,它从输入神经接受一定数目的信息,并做一些计算,然后将结果通过它的轴突传送到其他节点或者大脑中的其他神经元。
下面是一组神经元的示意图:
神经元利用微弱的电流进行沟通。这些弱电流也称作动作电位,其实就是一些微弱的电流。所以如果神经元想要传递一个消息,它就会就通过它的轴突发送一段微弱电流给其他神经元。
2
上图中,黄色的圆圈就代表了一个神经元,X为输入向量,θ 代表神经元的权重(实际上就是我们之前所说的模型参数),hθ (X)代表激励函数(在神经网络术语中,激励函数只是对类似非线性函数g(z)的另一个术语称呼,g(z)等于1除以1加e的-z次方)。
实际上,你可以这样理解,神经元就是权重θ。
当讲输入送进神经元后,经计算(实际上就是XTθ )会有一个输出,这个输出再送入激励函数中,便得到了神经元的真实输出。
注意:当我们绘制一个神经网络时,当我绘制一个神经网络时,通常我只绘制输入节点 x1、x2、x3等等,但有时也可以增加一个额外的节点 x0 ,这个 x0 节点有时也被称作偏置单位或偏置神经元。但因为 x0 总是等于1,所以有时候,我们会画出它,有时我们不会画出,这要看画出它是否对例子有利。
神经网络就是不同的神经元组合在一起。第一层为输入层,最后一层为输出层,而中间的所有层均为隐藏层。
注意:输入单元x1、x2、x3,再说一次,有时也可以画上额外的节点 x0。同时,这里有3个神经元,我在里面写了a1(2) 、 a2(2)和a3(2) ,然后再次说明,我们可以在这里添加一个a0(2) ,这和 x0 一样,代表一个额外的偏度单元,它的值永远是1(注意:a1(2) 、 a2(2) 和 a3(2) 中计算的是g(XTθ)的值,而a0(2)中存放的就是偏置1)。
如果一个网络在第 j 层有 sj 个单元,在 j+1 层有 sj +1 个单元,那么矩阵 θ(j) 即控制第 j 层到第 j+1 层的映射。
矩阵 θ(j) 的维度为 s(j+1) * (sj+1) ,s(j+1)行, (sj+1) 列。
总之,以上我们的这样一张图,展示了是怎样定义一个人工神经网络的。这个神经网络定义了函数h:从输入 x 到输出 y 的映射。我将这些假设的参数
记为大写的 θ,这样一来不同的 θ,对应了不同的假设,所以我们有不同的函数,比如说从 x 到 y 的映射。
以上就是我们怎么从数学上定义神经网络的假设。
4. Model Representation II
5. Examples and Intuitions I
运用神经网络,解决“与”、“或”的分类问题。
6. Examples and Intuitions II
神经网络还可以用于识别手写数字。
它使用的输入是不同的图像或者说就是一些原始的像素点。第一层计算出一些特征,然后下一层再计算出一些稍复杂的特征,然后是更复杂的特征,然后这些特征实际上被最终传递给最后一层逻辑回归分类器上,使其准确地预测出神经网络“看”到的数字。
以下展示了通过神经网络进行多分类的例子。
机器学习之神经网络模型-下(Neural Networks: Representation)