神经网络是一种受大脑工作原理启发的模式。 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络。

8.1 非线性假设 Non-linear Classification

参考视频 : 8 - 1 - Non-linear Hypotheses (10 min).mkv

线性回归和逻辑回归的缺点: 当输入数据特征过多,计算负荷大。

计算机视觉中,图片的表示是通过像素矩阵表示的。假设一个图片是50×50px,其特征数为2500(灰度图,如果是RGB图则为7500)。如果两两特征组合将达到百万级别(从2500里选两个组合,2500 * 2499 / 2 ≈ 3 * 10^6),逻辑回归将无法适用。

8.2 神经元和大脑

参考视频 : 8 - 2 - Neurons and the Brain (8 min).mkv

8.3 模型表示1

参考视频 : 8 - 3 - Model Representation I (12 min).mkv

为模仿大脑的工作方式,神经网络可以类似的分为:输入的数据特征,中间的数据处理层,最后的输出。

神经网络模型建立在很多神经元之上,每一个都是一个学习模型。这些神经元(也叫激活单元,activation unit)采纳一些特征,并且根据本身的模型提供一个输出。

下图是一个以逻辑回归模型作为自身学习模型的神经元示例。参数 θ 也可以称为权重 weights

神经网络模型是许多逻辑单元按照不同层级组织起来的,每一输出变量都是下一层的输入变量。

逻辑单元:输入向量x(input layer),中间层ai(j)(hidden layer), 输出层h(x)(output layer)。

每一层的输入都可以增加一个偏执单元  bias unit,通常取值为1。

ai(j)  是第 j 层的第 i 个激活结点(activation units)。j 表示是第几层,i 表示从上到下第几个元素。

θ(j)   是将第 j 层映射到 j+1 层的权重矩阵

θ的维度

如果网络在第j层有 Sj 个单元(加上偏执单元),在 j+1 层有 Sj+1 个单元(不算偏执单元),θ(j) 的维度将是  Sj+1 X (Sj+1)。如上面的例子,theta1=3×4,theta2=1×4。

注:很重要,容易搞反。row为下一层单元数,column数为当前层单元数+1。

神经网络中,从上到下的每个原点是feature特征x0, x1, x2...。不是实例。它做的事情其实就是feature映射的过程,一层转换之后,feature可能变多、也可能变少。下一层feature的个数是通过权重矩阵 θ 的 row 来控制。

8.4 模型表示 2

参考视频 : 8 - 4 - Model Representation II (12 min).mkv

我们把这样从左到右(input->activation->output)的算法称为前向传播 FORWARD PROPAGATION

  如果遮住前几层,神经网络就像 logistic regression,只不过我们把 logistic regression 中的输入向量[x1~x3] 变成了中间层的 [a1(2)~a3(2)], 即

a 由 x 决定,并随着梯度下降变化越来越大,效果优于 x 的几次方。

8.5 特征和直观理解 1

参考视频 : 8 - 5 - Examples and Intuitions I (7 min).mkv

用神经网络实现逻辑表达式

单层神经网络可用来表示逻辑运算,比如 AND、OR

1)AND

2)OR

3)取非 ¬

4x1==0 && x2==0

5)XNOR 异或非(和 异或XOR操作相反:值相同为真)

比较复杂,需要结合 AND、NOT AND 和 OR三个运算。

a21 = x1 && x2
a22 = (﹁x1)&&(﹁x2)
a31 =a21 || a21 =(x1 && x2) ||  (﹁x1)&&(﹁x2) = x1 XNOR x2;

8.7 多类分类

参考视频 : 8 - 7 - Multiclass Classification (4 min).mkv

one-vs-all 方法是把二类分类问题到多类分类的一个推广。用神经网络进行多分类:

输入向量 x 有三个维度,两个中间层,输出层有4类。输出为4维向量,向量中对应类型处值为1。

应用:手写识别系统

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 8_Neural Networks Representation 神经网络的表述的更多相关文章

  1. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 9_Neural Networks learning

    神经网络的学习(Neural Networks: Learning) 9.1 代价函数 Cost Function 参考视频: 9 - 1 - Cost Function (7 min).mkv 假设 ...

  2. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测

    Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...

  3. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  4. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维

    Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...

  5. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类

    Lecture 13 聚类 Clustering 13.1 无监督学习简介  Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机

    Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计

    Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...

  8. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议

    Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念

    目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning  无 ...

随机推荐

  1. react : code splitting

    1.webpack config output: { ... chunkFilename: 'js/[name].min.js' ... } optimization: { splitChunks: ...

  2. canvas - 柱子效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  3. JQuery动态隐藏和显示DIV

    <head> <script language="javascript"> function HideWeekMonth() { $("#tt1& ...

  4. Hive——巧用transform处理复杂的字符串问题

    相比于Map-Reduce,Hive对数据的处理相对简单,但是Hive本身提供的函数,对于处理复杂的字符串问题,就显得不是很方便,此时,可以借助transform,引入外界的Python程序对字符串进 ...

  5. As3 Practises : use TheMiner do as3 project swf performance profile , find memory leak!

    The second and most universal way is to launch it from the mm.cfg fileTheMiner.swf must be trusted1: ...

  6. 深入理解java虚拟机-第二章

    第2章 Java内存区域与内存溢出异常 运行数据区域 1.程序计数器(Program Counter Register) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器. 2.J ...

  7. win键盘映射成mac键盘

    在win7系统下安装了mac虚拟机,mac的快捷键与win的键盘不一样,所以ctrl+c,ctrl+v都用不了,于是找方法映射. 搜索到 keyremap4macbook,,进到官网Karabiner ...

  8. matlab 与 modelsim 联调 cic抽取滤波器

    注:本设计的参数为:D=2,R=5,N=3:时钟频率为50mhz,输入信号为有符号8位,根据公式bmax=bin+N*log(2,R*D):可以得到bmax=18: 1,cic抽取滤波器原理 网上资料 ...

  9. Maven根据不同的环境打包不同的配置

    前言: 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置等等. 那么就需要借助maven提 ...

  10. SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表

    SharePoint创建列表并使用程序管理列表         列表是SharePoint开发者输入数据的方式之中的一个.使用Web界面创建一个列表并加入一些数据.过程例如以下: 1. 打开站点. 2 ...