您的位置:首页 > 其它

吴恩达深度学习课程笔记 2.1二分分类

2017-09-13 16:16 465 查看
吴恩达深度学习课程笔记

2.1二分分类



在实际用代码构建神经网络时,会有一些值得注意的地方。

例如:当我们有 m 个训练数据时,我们可能会想用 for 循环去遍历这些数据,但是在用 python 构建神经网络的时候,我们并不需要用到 for 循环去遍历数据集。还有是神经网络分为前向传播计算和反向传播计算。

二分类问题的例子,如下图所示:



我们输入一张图片作为X,比如上图中的小猫图;经过计算,我们得到一个输出Y,这个输出是一个离散的值,比如输出 1 ,就认为图片是小猫,输出 0 ,就认为图片中不是小猫。这就是一个简单的二分类问题。

下面我们来看一下一张图片是怎么在计算机中表示的。



计算机表示一张图片是用三个独立的矩阵,分别对应图片的Red、Green、Blue三个颜色通道。如上图,我们输入一张64X64像素的图片,就会有三个64X64的矩阵来分别表示图片中的三个颜色通道,每个矩阵值就是表示图片中的每个像素的值。

(在这里 Andrew Ng 用这个5X4的小矩阵来代表64X64的矩阵)



下面我们要把这些像素值都放到一个特征向量里面作为X,如上图所示。

我们把R、G、B的所有像素值都按照顺序排成一列当做我们的X,这时候X的维度就是64X64X3了,也就是三个矩阵的元素数量。

这时候,我们用 n 来表示输入的特征向量X的维度,在这个例子里面 n 就是64X64X3了。

解决二分类问题,就是要训练一个分类器,就是我们输入一个X特征向量,经过计算输出一个Y标签。训练分类器就会有我们的数据集,数据集中数据的个数我们用 m 表示。数据集可能又会分为训练集(m_train)和测试集(m_test)。



我们定义训练集或测试集为X,在X里面就是堆叠着排列上述所说的(表示每张图片的X特征向量),按照上图所示是按列堆叠每张图片的特征向量,这样的话就是用m列,n行;也就是说我们定义的这个X是m列,n行的矩阵。实际应用中,我们可能会定义成m行,n列的矩阵。



定义标签Y的时候,按照列堆叠就定义成1行,m列的矩阵了。如上图所示。

下节将会讲到用Logistic Regression逻辑回归来解决二分类问题。

不足之处还望各位指正,多谢。

文中图片均来源于网易云课堂吴恩达的深度学习课程视频。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐