【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 8_Neural Networks Representation 神经网络的表述
神经网络是一种受大脑工作原理启发的模式。 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络。
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 神经网络的表述的更多相关文章
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 9_Neural Networks learning
神经网络的学习(Neural Networks: Learning) 9.1 代价函数 Cost Function 参考视频: 9 - 1 - Cost Function (7 min).mkv 假设 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维
Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类
Lecture 13 聚类 Clustering 13.1 无监督学习简介 Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机
Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计
Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议
Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念
目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning 无 ...
随机推荐
- Android Afinal框架学习(一) FinalDb 数据库操作
框架地址:https://github.com/yangfuhai/afinal 对应源码: net.tsz.afinal.annotation.sqlite.* net.tsz.afinal.db. ...
- android代码设置EditText只输入数字、字母
如何设置EditText,使得只能输入数字或者某些字母呢? 一.设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了. et_1.setKeyLis ...
- linux 系统监控某目录下文件及文件夹的变化
inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ~]# uname -r 2.6.32-22 ...
- 剑指Offer面试题:9.打印1到最大的n位数
一 题目:打印1到最大的n位数 题目:输入数字n,按顺序打印从1到最大的n位十进制.比如输入3,则打印出1.2.3一直到最大的3位数即999. 二 不考虑大数解法 // 打印从1到最大的n位数 voi ...
- Net Core ElasticSearch入门
ElasticSearch入门 附.Net Core例子 https://www.cnblogs.com/CoderAyu/p/9564977.html 1.什么是ElasticSearch? Ela ...
- python 使用sk_learn 遇到 问题ValueError: Expected 2D array, got 1D array instead:
这里我找到我的问题是: 使用的是一个新的scikit学习版本,它抛出了一个错误,因为在新版本中,所有东西都必须是一个二维矩阵,甚至是一个列或行. 它甚至说:用数组来重塑你的数据.如果您的数据有一个单独 ...
- 平均分割list
private static List<List<Integer>> splitList(List<Integer> lists,int limit){ int s ...
- 1020. Tree Traversals (25) ——树的遍历
//题目 通过后续遍历 中序遍历 得出一棵树 ,然后按树的层次遍历打印 PS:以前对于这种用指针的题目是比较头痛的,现在做了一些链表操作后,感觉也不难 先通过后续中序建一棵树,然后通过BFS遍历这棵树 ...
- 2、通过HBase API进行开发
一.将HBase的jar包及hbase-site.xml添加到IDE 1.到安装HBase集群的任意一台机器上找到HBase的安装目录,到lib目录下下载HBase需要的jar包,然后再到conf目录 ...
- Nginx 改变错误日志打印级别
Nginx 改变错误日志打印级别 user root;worker_processes 2; worker_rlimit_nofile 10240;error_log logs/nginx_err ...