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

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)取非 ¬

4)x1==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环境

    链接 create-react-app react-webpack-generators react-cli

  2. linux rm删除含有特殊符号目录或者文件

    想要删除time$1.class,用rm time$1.class是不行的,可以用 rm time"$"1.class 删掉   假设Linux系统中有一个文件名叫“-polo”. ...

  3. python 绘图---2D、3D散点图、折线图、曲面图

    python中绘制2D曲线图需要使用到Matplotlib,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,通过 Matplo ...

  4. 9.链表中倒数第k个结点[FindReverseKthLinkedListNode]

    [题目] 输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针.链表结点定义如下:  C++ Code  12345   struct ListNode {     int ...

  5. 神奇的TextField(2)

    var text_content:TextField=new TextField(); text_content.autoSize="left"; // text_content. ...

  6. C++常量const

    常量折叠概念 常量折叠表面上的效果和宏替换是一样的,只是“效果上是一样的”,而两者真正的区别在于,宏是字符常量,在预编译宏替换完成后,该宏名字会消失,所有对宏的引用已经全部被替换为它所对应的值,编译器 ...

  7. verilog中task的用法

    任务就是一段封装在“task-endtask”之间的程序.任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的.调用某个任务时可能需要 ...

  8. 使用.NET Remoting开发分布式应用——基于租约的生存期

    一.概述 知名类型的SingleCall对象可以在客户程序的方法调用之后被垃圾收集器清理掉,因为它没有保持状态,属于无状态的.而客户激活的类型的对象和知名类型的SingleTon对象都属于生存期长的对 ...

  9. Ubantu下安装FTP服务器

    在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Ubuntu中vsftpd安装与配置增加用户的 ...

  10. distinct与order by

    不知为啥,当我得查询中出现distinct时,order by 中必须包含要查询的列,否则报错. SELECT DISTINCT a.DetailId, a.OrderId, a.ProductId, ...