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

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. TI IPNC Web网页之GoDB开发环境

    介绍 下面介绍DM8127/DM385 IPNC RDK中网页制作相关的东东. 具体来说,各位获得这个RDK包时有以下文件: IPNC_RDK_DM812x_DM385_Version3.5.0.ta ...

  2. 采用Spring管理Bean和依赖注入

    1. 实例化spring容器和从容器获取Bean对象 实例化Spring容器常用的两种方式: 方法一: 在类路径下寻找配置文件来实例化容器 [推荐使用] ApplicationContext ctx ...

  3. Arcgis Android API开发之离线地图

    最近一直在倒腾Arcgis Android API等相关的东西,想把自己的做的图放到地图上去,也就是离线地图,穷人一般是没有钱的,一个月好几十的流量是开不起的,所以就左捉摸,右思考,看着API里面有离 ...

  4. 转:C++模板特化的概念

    http://blog.csdn.net/yesterday_record/article/details/7304025 很久没有看C++,在看STL源码剖析时,看到一个function templ ...

  5. 人生苦短之我用Python篇(线程/进程、threading模块:全局解释器锁gil/信号量/Event、)

    线程: 有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.是一串指令的集合.线程是程序中一个单一的顺序控制流程.进程内一个相对独立的.可调度的执行单元,是 ...

  6. 演示使用Metasploit入侵Windows

    我使用Kali Linux的IP地址是192.168.0.112:在同一局域网内有一台运行Windows XP(192.168.0.108)的测试电脑. 本文演示怎么使用Metasploit入侵win ...

  7. ZOJ-Big string(服气思维)

    个人心得:我在分治上看到的,但是感觉跟分治没关系,一眼想到斐波那契数可以找到此时n的字符串,但是无法精确到字母,题解的思路 真是令人佩服,以BA为基准,然后只要此时的长度大于7那么必然可以减去最大的斐 ...

  8. UI多线程调用:线程间操作无效: 从不是创建控件"Form1"的线程访问它.

    有两种方式解决 1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;2.使用Invoke等委托函数. 问题原因是.net2.0以后拒绝多 ...

  9. UVA10674 Tangents

    题意 PDF 分析 就是圆的切线的模板. 注意精度问题,排序的时候也不能直接写,被卡了好几次. 时间复杂度\(O(T)\) 代码 #include<iostream> #include&l ...

  10. 最全的Javascript编码规范(推荐)

    1.嵌入规则 Javascript程序应该尽量放在.js的文件中,需要调用的时候在页面中以<script src="filename.js">的形式包含进来.Javas ...