机器学习之神经网络模型-下(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
神经网络还可以用于识别手写数字。
它使用的输入是不同的图像或者说就是一些原始的像素点。第一层计算出一些特征,然后下一层再计算出一些稍复杂的特征,然后是更复杂的特征,然后这些特征实际上被最终传递给最后一层逻辑回归分类器上,使其准确地预测出神经网络“看”到的数字。
以下展示了通过神经网络进行多分类的例子。
最新文章
- Solr4.0 如何配置使用UUID自动生成id值
- Chrome firefox ie等浏览器空格&;nbsp;宽度不一样怎么办
- Mysql 修改列的顺序
- CSS之perspective
- nodejs学习笔记-1
- javascript数组排序---2冒泡
- L4,an exciting trip
- 剑指offer 重建二叉树
- Ajax封装函数笔记
- jQuery UI 日期选择器(Datepicker)
- JavaScript (一、ECMAScript )
- FFmpeg中overlay滤镜用法-水印及画中画
- 文件IO模型
- Django常见问题集
- caffe_ssd学习-用自己的数据做训练
- FFMPEG Qt视频播放器
- 【Tableau】电商广告投放的地域分析
- 浏览器滚动条及其影响 calc()
- DataGridView:根据条件改变单元格的颜色
- [洛谷P3380]【模板】二逼平衡树(树套树)
热门文章
- sql语句查询经纬度范围
- c++学习笔记之变量
- 读《JavaScript语言精粹》的一些感言
- Implementation Documentation[转]
- Android -- Layout布局文件里的android:layout_height等属性为什么会不起作用?
- 嵌套回调异步与$.Deferred异步
- myBatis自动生成相关代码文件配置(Maven)
- 一个Linq
- python 数据结构-集合set
- Installing Ruby 1.9.3 on Ubuntu 12.04 Precise Pengolin (without RVM)