吴恩达深度学习-学习笔记p7-p20

一。p7 2.1二分分类

1.举例识别图片中的猫,
首先计算机中存储图片是用三个矩阵存储,红绿蓝三个颜色通道,下图(举例是54)
在这里插入图片描述
如果图片是64
64像素的,就会有三个6464的矩阵,把这些矩阵信息存储在特征向量x里面,如果图片是6464的,那么向量总维度是64643=12288,即特征向量x的维度就是12288,nx=12288,所以在二分分类问题中,我们的目标是训练处一个分类器,它以图片的特征向量x作为输入,预测输出的结果标签y是1(图片有猫)还是0(图片没有猫)
特殊符号:
(x,y)表示一个单独样本,x是nx维的特征向量,y值有01
训练集由m个训练样本构成,(x(1),y(1))表示样本一矩阵高度是nx
(用列向量构造会比行向量更容易)
python可以用x.shape=(nx,m)来输出这个x矩阵
同样结果也按照这个方式存储
在这里插入图片描述
python可以用y.shape=(1,m)来输出这个x矩阵

二,p8 2.2 logistic回归

是一个学习算法,logistic回归的参数是w,b是一个实数,假设你用这个方程算出他们和y之间的关系,如下图在这里插入图片描述
但是这并不是一个非常好的二元分类算法,因为我们希望y是y=1的概率,所以y应该介于0和1之间,但是实际上这是非常难得,所以在logistic回归中,我们让sigmoid函数作用到这个公式上,如下图
在这里插入图片描述
根据图像我们知道z越大时趋近1,z越小时y趋近0
在这里插入图片描述
所以我们想找到更准确的判断需要找到更准确的w和b,我们通常会把w和b这两个参数分开,这里b对应一个拦截器

三。p9 2.3logistic回归损失函数L(或叫误差函数)

为了训练logistic回归模型的参数w以及b,需要定义一个成本函数,误差就是计算出来的预测值y和真实y值之间的差,误差平方看起来似乎是一个合理的选择,但是用这个的话,梯度下降法就不太好用,所以我们在logistic回归中我们定义一个不同的损失函数,它起着与误差平方相似的作用,这些会给我们一个凸的优化问题,就会很容易做优化
下图损失函数公式
在这里插入图片描述
损失函数是在单个样本的表现
在这里插入图片描述
成本函数J是在全体训练样本上的表现,
在这里插入图片描述
在这里插入图片描述

成本函数基于参数的总成本,所以在训练logistic回归模型时,我们要找到合适的参数w和b,就需要让这里的成本函数J尽可能的小
logistic回归可以被看做是一个非常小的神经网络,

四,p10 2.4梯度下降法

问题:如何适用梯度下降法来训练训练集上的参数w和b
下图是梯度下降法
在这里插入图片描述
找到w和b,使得其对应的成本函数值J是最小值,现在可以看到成本函数是一个凸函数,为了找到更好的参数值,我们要做的就是用某初始值初始化w和b,凸函数底下的那个红点,在这里插入图片描述
梯度下降法就是从初始点开始,朝着最陡的下坡方向走一步,在梯度下降一步后,或许在那里停下,因为它正在试图沿着最快下降的方向往下走,或者说尽可能的往下走,这是梯度下降的一次迭代,或者两次三次,就可以收敛到全局最优解
导数,函数在这个点处的斜率,
在这里插入图片描述
以上左边函数图,无论初始化位置是在左边还是右边 ,梯度下降法会朝着全局最小值方向移动,上图解释:函数的斜率是高除以宽,这个点相切于j(w)的一个小三角形,在这里导数是正的,新的w值等于w-学习率*导数,
下面两个公式是实际更新参数时进行的操作
在这里插入图片描述

五。p11 2.5导数

六。p12 2.6导数例子

七。p13 2.7计算图

八。p14 2.8使用计算图求导

九.p15 2.9logistic回归中的梯度下降法

本节讨论怎样计算偏导数来实现logistic回归中单个样本实例的一次梯度下降法。本节使用导数流程图来计算logistic回归中的梯度下降。

计算logistic回归要做的是更新参数w和b,最小化损失函数。

在这里插入图片描述
单个样本实例的一次梯度下降法:从左到右计算出预测值,再计算出损失函数(预测值和实际值相差的程度)。然后从右到左计算出各个参数的梯度(梯度方向:方向导数的最大值),更新参数。在这里插入图片描述
事实上不只是单个样本,而是在m个样本的整个训练集上进行梯度下降。

针对单个样本的叫损失函数,对于整个训练集叫做全局成本函数,它是一个求和。它表明全局成本函数对w1的导数,即各项损失函数对w1导数的平均。每一个样本都有参数w1、w2和b,用上标i来区分不同的样本。

计算出单个样本对参数w1的导数值后,将m个样本的求和后平均,即得到全局样本对参数w1的梯度值,这个值可直接应用到梯度下降算法中。
在这里插入图片描述
补充说明:

1、导数:简单理解为切线斜率,只有一维,一条曲线。

2、偏导数:多元函数沿坐标轴的(特定方向)变化率,二维的就是一个曲面,还有三维、四维……例如:df(x,y)/dx指的是函数在y方向不变,函数值沿着x轴方向的变化率;Df(x,y)/dy指的是函数在x方向不变,函数值沿着y轴方向的变化率。

3、方向导数:各个方向(非特定方向)上的导数。可以使用x、y方向上的偏微分来求出任何方向的斜率(类似于一个平面的所有向量可以用俩个基向量来表示一样)

4、梯度:是一个矢量,梯度的方向是方向导数中取到最大值的方向,梯度的值是方向导数的最大值。

在m个样本上实现一步梯度下降的过程如下:
在这里插入图片描述
图中看到一共使用了2次for循环,一次是将m各样本全部遍历一遍,一次是将单个样本上的n个特征值全部遍历一遍,该例中是2个特征值w1和w2,实际上特征值会很多。而在代码中显式地使用for循环会使算法很低效。同时在深度学习领域,会有越来愈大的数据集,所以令代码中完全不使用for循环可以帮助使用很大的数据集。有一门向量化技术可以帮助摆脱显式地for循环,在深度学习兴起初期,向量化是很棒的,可以用来加速运算。虽然有时未必有效,但是在深度学习中已经变得相当重要,因为我们越来愈多地开始训练相当大的数据集,代码需要变得非常高效。

十.p17 2.11向量化

十一.p18 2.12向量化的更多例子

十二.p19 2.13向量化logistic回归

十三.p20 2.14向量化logistic回归的梯度输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值