您的位置:首页 > 大数据 > 人工智能

机器学习002 deeplearning.ai 深度学习课程 Neural Networks and Deep Learning 第二周总结

2020-03-02 00:22 906 查看

神经网络基础

学习目标

  1. 建立逻辑回归模型,构建为一个浅层神经网络
  2. 实现机器学习算法的主要步骤,包括做出预测,倒数计算和梯度下降
  3. 实现高效率矢量化计算模型
  4. 了解如何使用反向传播思想计算逻辑回归导数
  5. 熟悉Python和Numpy库
  6. 使用iPython Notebooks 完成作业
  7. 实现多样本矢量化操作

 

主要内容

二元分类

在计算机中图片储存为三个图层(RGB)。使用逻辑回归去对一个图片是否是一张猫的图片进行分类,首先我们将RGB三个图层的矩阵展开为一个特征向量。如果RGB三个图层的矩阵大小均为64X64,那么展开的特征向量为一个长度为64X64X3=12288的特征向量。输入特征x的维度表示为。

常用符号

 

每一列一个样本会使得运行代码更容易些

 

 

逻辑回归

给出一个样本x,我们想要的输出是这个样本使得输出y为1的概率。在此我们使用参数W和b,W的维度和x相同而b是一个常数。我们用Z来表示WTx + b。在逻辑回归中我们使用sigmoid作为激活函数。

Sigmoid的公式为:

 

当z很大时,sigma接近1,而当z很小时,sigma接近0。

因此在逻辑回归中,我们的目标就是学习参数W和b使得sigmoid的输出可以很好地表示输出y为1的概率。

逻辑回归代价函数

损失函数loss function(误差函数error function)定义

 

如果使用平方误差来作为损失函数,会导致在进行梯度下降时,损失函数不收敛,因此平方误差在此不用。

在逻辑回归中一般使用如下损失函数

 

当y = 1时,损失函数转化为:

 

我们希望y_hat更大。

当y = 0时,损失函数转化为:

 

我们希望1-yhat更大,也就是希望y_hat更小。

损失函数是针对单个样本误差,对于所有样本的平均误差,我们定义J作为参数W和b的代价函数cost function。也就是说代价函数是衡量参数在整个训练集上的表现。

 

梯度下降

我们定义的代价函数是一个收敛函数。因此无论如何定义参数的初始值,最终都会收敛到一个值或比较靠近的一个范围内。

不停重复更新参数的过程(暂时忽略b)

Alpha是学习速率。dW可以认为是代价函数在当前参数点的斜率。

 

计算图

假设我们要计算关于三个参数的函数:J(a,b,c)=3(a+bc)

我们首先计算u = bc,然后计算v = a+u,最后计算J=3v。可以画出如下计算图:

计算dJ/dv=?=3

计算dJ/da=3=dJ/dv dv/da 链式法则dv/da=1,dJ/dv=3

逻辑回归梯度下降

首先计算da

之后计算dz

 

之后计算dw1,dw2和db

 

转载于:https://www.cnblogs.com/Libra-Beta/p/7397794.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
LYG2016 发布了0 篇原创文章 · 获赞 0 · 访问量 14 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐