吴恩达《神经网络与深度学习》课程笔记归纳(二)-- 神经网络基础之逻辑回归

参考的原博地址:https://blog.csdn.net/red_stone1/article/details/77851177

上节课我们主要对深度学习(Deep Learning)的概念做了简要的概述。我们先从房价预测的例子出发,建立了标准的神经网络(Neural Network)模型结构。然后从监督式学习入手,介绍了Standard NN,CNN和RNN三种不同的神经网络模型。接着介绍了两种不同类型的数据集:Structured Data和Unstructured Data。最后,我们解释了近些年来深度学习性能优于传统机器学习的原因,归结为三个因素:Data,Computation和Algorithms。本节课,我们将开始介绍神经网络的基础:逻辑回归(Logistic Regression)。通过对逻辑回归模型结构的分析,为我们后面学习神经网络模型打下基础。

1. 二分类

我们知道逻辑回归模型一般用来解决二分类(Binary Classification)问题。二分类就是输出y只有{0,1}两个离散值(也有{-1,1}的情况)。我们以一个图像识别问题为例,判断图片中是否有猫存在,0代表noncat,1代表cat。主要是通过这个例子简要介绍神经网络模型中一些标准化的、有效率的处理方法和notations。

这里写图片描述

2. 逻辑回归

è¿éåå¾çæè¿°

从Sigmoid函数曲线可以看出,当z值很大时,函数值趋向于1;当z值很小时,函数值趋向于0。且当z=0时,函数值为0.5。还有一点值得注意的是,Sigmoid函数的一阶导数可以用其自身表示:

这样,通过Sigmoid函数,就能够将逻辑回归的输出限定在[0,1]之间了。

3. 逻辑回归的代价(成本)函数

cost function:代价(成本)函数,是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。

loss function:损失(误差)函数,是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的哦,用L表示

逻辑回归中,w和b都是未知参数,需要反复训练优化得到。因此,我们需要定义一个cost function,包含了参数w和b。通过优化cost function,当cost function取值最小时,得到对应的w和b。

4. 梯度下降法

我们已经掌握了Cost function的表达式,接下来将使用梯度下降(Gradient Descent)算法来计算出合适的w和b值,从而最小化m个训练样本的Cost function,即J(w,b)。

由于J(w,b)是convex function,梯度下降算法是先随机选择一组参数w和b值,然后每次迭代的过程中分别沿着w和b的梯度(偏导数)的反方向前进一小步,不断修正w和b。每次迭代更新w和b后,都能让J(w,b)更接近全局最小值。梯度下降的过程如下图所示。

è¿éåå¾çæè¿°

(w:= 表示更新w         步进长度:步长) 

梯度下降算法能够保证每次迭代w和b都能向着J(w,b)全局最小化的方向进行。其数学原理主要是运用泰勒一阶展开来证明的,可以参考我的另一篇博客中的Gradient Descent有提到如何推导:台湾大学林轩田机器学习基石课程学习笔记10 – Logistic Regression

5. 导数

这一部分的内容非常简单,Andrew主要是给对微积分、求导数不太清楚的同学介绍的。梯度或者导数一定程度上可以看成是斜率。关于求导数的方法这里就不再赘述了。

6. 更多导数的例子

Andrew给出了更加复杂的求导数的例子,略。

7. 计算流程图(正向传播)

整个神经网络的训练过程实际上包含了两个过程:正向传播(Forward Propagation)和反向传播(Back Propagation)。正向传播是从输入到输出,由神经网络计算得到预测输出的过程;反向传播是从输出到输入,对参数w和b计算梯度的过程。下面,我们用计算图(Computation graph)的形式来理解这两个过程。

举个简单的例子,假如Cost function为J(a,b,c)=3(a+bc),包含a,b,c三个变量。我们用u表示bc,v表示a+u,则J=3v。它的计算图可以写成如下图所示:

这里写图片描述

令a=5,b=3,c=2,则u=bc=6,v=a+u=11,J=3v=33。计算图中,这种从左到右,从输入到输出的过程就对应着神经网络或者逻辑回归中输入与权重经过运算计算得到Cost function的正向过程。

8. 流程图求导数(反向传播)

è¿éåå¾çæè¿°

9. 逻辑回归中的梯度下降法

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

10. m个样本的梯度下降

11. 总结

本节课的内容比较简单,主要介绍了神经网络的基础——逻辑回归。首先,我们介绍了二分类问题,以图片为例,将多维输入x转化为feature vector,输出y只有{0,1}两个离散值。接着,我们介绍了逻辑回归及其对应的Cost function形式。然后,我们介绍了梯度下降算法,并使用计算流程图的方式来讲述神经网络的正向传播和反向传播两个过程。最后,我们在逻辑回归中使用梯度下降算法,总结出最优化参数w和b的算法流程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值