C2 - week2 - part1 二分类 Binary Classification

Basics of Neural Network programming-part1

1.二分类-Binary Classification

假如你有一张图片作为输入,比如一只猫,如果识别这张图片为猫,则输出1作为结果,否则输出0。抽象为输入x = 一张图片,输出y = 1 / 0,这就是二分类问题。

首先,我们来讨论一下一张图片是如何输入的。

类似于数学中微分后积分的思想,我们求曲线围成面积时可以将其看作无数个小矩形组成,那我们就可以用无数个连续的矩形近似为这块区域(若左图所示)。同理,我们可以将一张图片看作是无数块小色块拼接在一起(如右图)。如果以矩形作为划分的话,近似如下(为了图片美观,细分粒度较大)

在这里插入图片描述

我们可以将一张图片视作一个矩阵,而矩阵中的每一个元素就是一个色块,而每个色块我们可以用一个RBG值来表示(R代表red,B代表blue,G代表green,即通过三基色来混和得到该色块的颜色),每个元素的值具体化(R, B, G),此处我们也可以抽象为三个矩阵如下
在这里插入图片描述

也就是说,如果图片大小为64×64像素,那么输入变量x的维度就是64×64×3(12,288)。现在我们用n_x = 12,288,来表述输入特征向量的维度,为了简洁也会直接写为n。通常,我们会将输入的x,也就是这三个矩阵按照行依次纵向排列,输入的x转化为x = [255, 231, … …, 255, 134, … …]T

符号定义

在此,我们规范说明一下接下来需要用到的一些符号。

  • x:表示一个nx维输入数据,维度为(nx, 1)

  • y:表示输出结果,取值为(0, 1)

  • (x(i), y(i))表示第i组数据,此处默认为训练数据

  • X = [x(1), x(2), …, x(m)]表示所有的训练数据集的输入值,放在一个nx×m的矩阵中,其中m表示样本数量

  • Y = [y(1), y(2), …, y(m)]对应所有训练数据集的输出值,维度为1×m

    用一对(x, y)来表示一个单独的样本,x代表nx维的特征向量,y表示标签(输出结果)只能为0或1。训练集由m个训练样本组成,其中(x(i),y(i))表示训练集中第i个样本的输入和输出。有时为了强调这是训练样本的个数,会写作Mtrain,而用Mtest表示测试机的样本数。

    最后为了能把训练集表示得更紧凑一点,我们会定义一个矩阵X,由输入向量x(1)、x(2)等组成,如左图放置在矩阵之中,第i列就代表第i个训练数据的输入。这个矩阵有m列,m也正是训练集的样本数量,矩阵高度记作nx

在这里插入图片描述

有时候,会因为其他原因,矩阵X由训练样本按行堆叠起来而不是列,如右图所示。但在实现神经网络的时候,使用左图中形式,会让整个过程更加简单。

综上所述,就是如何将训练样本(输入向量X的集合)表示为一个矩阵的方法。

那么输出标签y呢?同样的道理,为了能更加容易实现一个神经网络,我们将标签y放在列中将会使得后续计算更加方便,定义Y = [y(1), y(2), …, y(m)]。


下一节,我们将重点介绍逻辑回归。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值