课程 | Andrew Ng 深度学习课程笔记3

2017 年 9 月 15 日 黑龙江大学自然语言处理实验室 黄广海团队

第二周:神经网络的编程基础 (Basics of Neural Network programming)


2.1 二分类(Binary Classification)


这周我们将学习神经网络的基础知识,其中需要注意的是,当实现一个神经网络的时候,我们需要知道一些非常重要的技术和技巧。例如有一个包含 m 个样本的训练集,你很可能习惯于用一个 for 循环来遍历训练集中的每个样本,但是当实现一个神经网络的时候,我们通常不直接使用 for 循环来遍历整个训练集,所以在这周的课程中你将学会如何处理训练集。


另外在神经网络的计算中,通常先有一个叫做前向暂停(forward pause)或叫做前向传播(foward propagation)的步骤,接着有一个叫做反向暂停(backward pause) 或叫做反向传播(backward propagation)的步骤。所以这周我也会向你介绍为什么神经网络的训练过程可以分为前向传播和反向传播两个独立的部分。


在课程中我将使用逻辑回归(logistic regression)来传达这些想法,以使大家能够更加容易地理解这些概念。即使你之前了解过逻辑回归,我认为这里还是有些新的、有趣的东西等着你去发现和了解,所以现在开始进入正题。


逻辑回归是一个用于二分类(binary classification)的算法。首先我们从一个问题开始说起,这里有一个二分类问题的例子,假如你有一张图片作为输入,比如这只猫,如果识别这张图片为猫,则输出标签 1 作为结果;如果识别出不是猫,那么输出标签 0 作为结果。现在我们可以用字母 y 来表示输出的结果标签,如下图所示:



我们来看看一张图片在计算机中是如何表示的,为了保存一张图片,需要保存三个矩阵,它们分别对应图片中的红、绿、蓝三种颜色通道,如果你的图片大小为 64x64 像素,那么你就有三个规模为 64x64 的矩阵,分别对应图片中红、绿、蓝三种像素的强度值。为了便于表示,这里我画了三个很小的矩阵,注意它们的规模为 5x4 而不是 64x64,如下图所示:



为了把这些像素值放到一个特征向量中,我们需要把这些像素值提取出来,然后放入一个特征向量 x。为了把这些像素值转换为特征向量,我们需要像下面这样定义一个特征向量 x 来表示这张图片,我们把所有的像素都取出来 例如 255、231 等等,直到取完所有的红色像素,接着最后是 255、134、…、255、134 等等,直到得到一个特征向量,把图片中所有的红、绿、蓝像素值都列出来。如果图片的大小为 64x64 像素,那么向量 x 的总维度,将是64 乘以 64 乘以 3,这是三个像素矩阵中像素的总量。在这个例子中结果为 12,288。现在我们用 n x =12288,来表示输入特征向量 x 的维度,有时候为了简洁,我会直接用小写的 n 来表示输入特征向量的维度。所以在二分类问题中,我们的目标就是习得一个分类器,它以图片的特征向量 x 作为输入,然后预测输出结果 y 为 1 还是 0,也就是预测图片中是否有猫:



接下来我们说明一些在余下课程中,需要用到的一些符号。用一对(x, y)来表示一个单独的样本,x 代表 n x 维的特征向量,y 表示标签(输出结果)只能为 0 或 1。 而训练集将由 m 个训练样本组成 ,其中(x (1) , y (1) )表示第一个样本的输入和输出,(x (2) , y (2) ) 表示第二个样本的输入和输出,直到最后一个样本(x (m) ,y (m) ),然后所有的这些一起表示整个训练集。有时候为了强调这是训练样本的个数,我会写作 M train ,当涉及到测试集的时候,我们会使用 M test 来表示测试集的样本数,所以这是测试集的样本数:



最后为了能把训练集表示得更紧凑一点,我们会定义一个矩阵用大写的 X 表示,它由输入向量 x (1) 、x (2) 等等组成,如下图放在矩阵的列中,所以现在我们把 x (1) 作为第一列放在矩阵中,x (2) 作为第二列, x (m) 放到第 m 列,然后我们就得到了训练集矩阵 X。所以这个矩阵有 m列,m 是训练集的样本数量,然后这个矩阵的高度记为 n x ,注意有时候可能因为其他某些原因,矩阵 X 会由训练样本按照行堆叠起来而不是列,如下图所示:x (1) 的转置直到 x (m) 的转置,但是在实现神经网络的时候,使用左边的这种形式,会让整个实现的过程变得更加简单:



现在来简单温习一下 X 是一个规模为 n x 乘以 m 的矩阵,当你用 Python 实现的时候,你会看到 x.shape,这是一条 Python 命令,用于显示矩阵的规模x.shape 等于(n x ,m),表示X 是一个规模为 nx 乘以 m 的矩阵。所以综上所述,这就是如何将训练样本(输入向量 x 的集合)表示为一个矩阵。


那么输出标签 y 呢?同样的道理,为了能更加容易地实现一个神经网络,将 y 标签放在列中将会使得后续计算非常方便,所以我们定义大写的 Y 等于 y(1) 、y(2) ,直到 y (m) ,所以 Y 在这里是一个规模为 1 乘以 m 的矩阵,同样地使用Python 将表示为 Y.shape 等于(1,m),表示这是一个规模为 1 乘以 m 的矩阵:



当你在后面的课程中实现神经网络的时候,你会发现,一个好的符号约定能够将不同训练样本的数据很好地组织起来。而我所说的数据不仅包括 x 或者 y 还包括之后你会看到的其他的量。将不同的训练样本的数据提取出来,然后就像刚刚我们对 x 和 y 所做的那样,将他们堆叠在矩阵的列中,形成我们之后会在逻辑回归和神经网络上要用到的符号表示。如果有时候你忘了这些符号的意思,比如什么是 m,或者什么是 n,或者忘了其他一些东西,我们也会在课程的网站上放上符号说明,然后你可以快速地查阅每个具体的符号代表什么意思,好了,我们接着到下一个视频,在下个视频中,我们将以逻辑回归作为开始。




         欢迎关注公众号学习交流~          


登录查看更多
3

相关内容

【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
75+阅读 · 2020年2月3日
MATLAB玩转深度学习?新书「MATLAB Deep Learning」162页pdf
专知会员服务
98+阅读 · 2020年1月13日
【课程】纽约大学 DS-GA 1003 Machine Learning
专知会员服务
44+阅读 · 2019年10月29日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
54+阅读 · 2019年10月29日
一文搞懂反向传播
机器学习与推荐算法
16+阅读 · 2020年3月12日
这份深度学习课程笔记获吴恩达点赞
全球人工智能
4+阅读 · 2018年3月13日
Coursera吴恩达《卷积神经网络》课程笔记(3)-- 目标检测
机器学习研究会
4+阅读 · 2018年2月5日
吴恩达深度学习系列课程
平均机器
4+阅读 · 2018年2月1日
吴恩达计算机视觉:12堂课学习心得
AI前线
87+阅读 · 2017年12月1日
课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础
机器学习研究会
4+阅读 · 2017年10月18日
On Feature Normalization and Data Augmentation
Arxiv
14+阅读 · 2020年2月25日
Arxiv
12+阅读 · 2019年3月14日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Conditional BERT Contextual Augmentation
Arxiv
8+阅读 · 2018年12月17日
Mobile big data analysis with machine learning
Arxiv
6+阅读 · 2018年8月2日
Arxiv
5+阅读 · 2018年4月22日
VIP会员
相关资讯
一文搞懂反向传播
机器学习与推荐算法
16+阅读 · 2020年3月12日
这份深度学习课程笔记获吴恩达点赞
全球人工智能
4+阅读 · 2018年3月13日
Coursera吴恩达《卷积神经网络》课程笔记(3)-- 目标检测
机器学习研究会
4+阅读 · 2018年2月5日
吴恩达深度学习系列课程
平均机器
4+阅读 · 2018年2月1日
吴恩达计算机视觉:12堂课学习心得
AI前线
87+阅读 · 2017年12月1日
课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础
机器学习研究会
4+阅读 · 2017年10月18日
相关论文
On Feature Normalization and Data Augmentation
Arxiv
14+阅读 · 2020年2月25日
Arxiv
12+阅读 · 2019年3月14日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Conditional BERT Contextual Augmentation
Arxiv
8+阅读 · 2018年12月17日
Mobile big data analysis with machine learning
Arxiv
6+阅读 · 2018年8月2日
Arxiv
5+阅读 · 2018年4月22日
Top
微信扫码咨询专知VIP会员