算法工程师修仙之路:吴恩达深度学习(三)

12 篇文章 0 订阅

神经网络和深度学习

神经网络基础


二分分类

  • 在神经网络的计算中,通常先有一个叫做前向传播的步骤,接着有一个叫做反向传播的步骤。

  • 逻辑回归是一个用于二分类(binary classification)的算法。

    • 这里有一个二分类问题的例子,假如你有一张图片作为输入,如果识别这张图片为猫,则输出标签1作为结果;如果识别出不是猫,那么输出标签0作为结果。
    • 现在我们可以用字母 y y y 来表示输出的结果标签,如下图所示:
      在这里插入图片描述
  • 为了保存一张图片,需要保存三个矩阵,它们分别对应图片中的红、绿、蓝三种颜色通道,如果你的图片大小为 64x64 像素,那么你就有三个规模为 64x64 的矩阵,分别对应图片中红、绿、蓝三种像素的强度值。

  • 为了便于表示,这里我画了三个很小的矩阵,注意它们的规模为 5x4 而不是 64x64,如下图所示:
    在这里插入图片描述

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

    • x x x:表示一个 n x n_x nx 维数据,为输入数据,维度为 ( n x , 1 ) (n_x, 1) (nx,1)
    • y y y:表示输出结果,取值为 ( 0 , 1 ) (0, 1) (0,1)
    • ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i)):表示第 i i i 组数据,可能是训练数据,也可能是测试数据,此处默认为训练数据;
    • X = [ x ( 1 ) , x ( 2 ) , . . . , x ( m ) ] X=[x^{(1)}, x^{(2)}, . . . , x^{(m)}] X=[x(1),x(2),...,x(m)]:表示所有的训练数据集的输入值,放在一个 n x ∗ m n_x*m nxm 的矩阵中,其中 m m m 表示样本数目;
    • Y = [ y ( 1 ) , y ( 2 ) , . . . , y ( m ) ] Y=[y^{(1)}, y^{(2)}, . . . , y^{(m)}] Y=[y(1),y(2),...,y(m)]:对应表示所有训练数据集的输出值,维度为1×m。
    • 用一对 ( x , y ) (x, y) (x,y) 来表示一个单独的样本, x x x 代表 n x n_x nx 维的特征向量, y y y 表示标签(输出结果)只能为0或1。
    • 训练集将由 m m m 个训练样本组成,其中 ( x ( 1 ) , y ( 1 ) ) (x^{(1)}, y^{(1)}) (x(1),y(1)) 表示第一个样本的输入和输出, ( x ( 2 ) , y ( 2 ) ) (x^{(2)}, y^{(2)}) (x(2),y(2))表示第二个样本的输入和输出,直到最后一个样本 ( x ( m ) , y ( m ) ) (x^{(m)}, y^{(m)}) (x(m),y(m)),然后所有的这些一起表示整个训练集。
    • 有时候为了强调这是训练样本的个数,会写作 M t r a i n M_{train} Mtrain,当涉及到测试集的时候,我们会使用 M t e s t M_{test} Mtest 来表示测试集的样本数。
  • X X X 是一个规模为 n x ∗ m n_x*m nxm 的矩阵,当你用 Python 实现的时候,你会看到 X.shape,用于显示矩阵的规模,即 X.shape 等于 ( n x , m ) (n_x, m) (nx,m),这就是如何将训练样本(输入向量 X X X 的集合)表示为一个矩阵。

  • Y Y Y 等于 y ( 1 ) , y ( 2 ) . . . y ( m ) y^{(1)}, y^{(2)}...y^{(m)} y(1),y(2)...y(m),所以在这里是一个规模为1乘以 1 ∗ m 1*m 1m 的矩阵,同样地使用 Python 将其表示为 Y.shape 等于 ( 1 , m ) (1, m) (1,m),表示这是一个规模为1乘以 m m m的矩阵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值