【含课程pdf 测验答案】吴恩达-机器学习公开课 学习笔记 Week5 Neural Networks: Learning

本文主要是介绍【含课程pdf 测验答案】吴恩达-机器学习公开课 学习笔记 Week5 Neural Networks: Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

吴恩达-机器学习公开课 学习笔记 Week5 Neural Networks: Learning

  • 5 Neural Networks: Learning 课程内容
    • 5-1 Cost Function and Backpropagation
      • Cost Function
      • Backpropagation Algorithm
      • Backpropagation Intuition
    • 5-2 Backpropagation in Practice
      • Implementation Note: Unrolling Parameters
      • Gradient Checking
      • Random Initialization
      • Putting It Together
    • 5-3 Application of Neural Networks
      • Autonomous Driving
    • 测验 Neural Networks: Learning
  • 课程链接
  • 课件

5 Neural Networks: Learning 课程内容

此文为Week5 中Neural Networks: Learning的部分。

5-1 Cost Function and Backpropagation

Cost Function

在这里插入图片描述

  • L : 这个神经网络结构的总层数
  • sl : 第L层的单元的数量,也就是神经元的数量。

两种分类问题:二元分类 & 多元分类 在这里插入图片描述
我们在神经网络里使用的代价函数 应该是逻辑回归里使用的代价函数的一般化形式。
在这里插入图片描述
注意:
- ∑mK简单地将输出层中每个单元计算的逻辑回归成本相加
- ∑L−1slsl+1简单地将整个网络中的每个Θs 的平方相加
- ∑L−1slsl+1中的 i 指的不是训练样本 i

Backpropagation Algorithm

在这里插入图片描述
为了计算导数项,我们将采用一种叫做反向传播(Backpropagation)的算法。

-----------------------------------------------------------------------------------【补充部分】-----------------------------------------------------------------------------------
链式规则:
在这里插入图片描述
-----------------------------------------------------------------------------------【补充部分】-----------------------------------------------------------------------------------
在这里插入图片描述
实现反向传播算法:
在这里插入图片描述

Backpropagation Intuition

当只有一个样本(xi, yi)且不考虑正则化:
在这里插入图片描述
δ(l)j 是a(l)j的误差,就是对代价函数针对中间变量的偏微分,衡量了我们要如果改变网络的权值。
在这里插入图片描述

5-2 Backpropagation in Practice

Implementation Note: Unrolling Parameters

在这里插入图片描述
矩阵形式的优点在于当你的系数以矩阵形式存储时,计算前向传播和反向传播会更方便。当你使用某种向量化的实现时,使用矩阵形式会更简单。
在这里插入图片描述

Gradient Checking

后向传播有很多细节会导致一些BUG,如果你用梯度下降来计算,表面上关于theta的函数J在减小,但是你可能最后得到的结果实际上有很大的误差。

梯度检验能确保我们的反向传播如预期工作。

在这里插入图片描述
右边的叫做单侧查分估计,左边的叫做双侧查分估计 后者的精确度更高,当然,一般我们用后者。

一般的情况:
在这里插入图片描述
在这里插入图片描述

  • 首先,使用反向传播来计算DVec
  • 然后,用gradApprox实现梯度检验
  • 确定DVec和gradApprox给出接近结果
  • 最后,在用反向传播代码训练前,关掉梯度检验

一旦你验证了你的反向传播算法是正确的,你就不需要再次计算gradApprox。计算gradApprox的代码可能很慢。

Random Initialization

当你使用梯度下降算法,或者其他高级的优化算法,我们需要设置初始值。
当初始值全部是零时,神经网络实际上进入很有意思的情况,不仅有两个隐层,还有很多很多层。所有你的隐层的结果都一样,十分冗余。我们看到的问题叫做对称现象

所以我们需要随机初始化。我们进行初始化的操作目的就是打破对称
在这里插入图片描述
以上使用的 ε 与梯度检查中的无关。

Putting It Together

当我们在训练一个神经网络时,我们要做的第一件事就是搭建网络的大体框架,意思是神经元之间的连接模式在这里插入图片描述
一旦你确定了特征集x对应的输入单元数目,也就确定了特征x{i}的维度。如果你正在进行多类别分类,那么输出层的单元数目将会由你分类问题中所要区分的类别个数确定。
而对于隐藏单元的个数单元的个数以及隐藏层的数目,我们有一个默认的规则那就是使用单个隐藏层。如果你使用不止一个隐藏层的话,同样我们也有一个默认规则,那就是每一个隐藏层通常都应有相同的单元数
一般来说隐藏单元越多越好。

实现神经网络的训练过程:

  1. 构建一个神经网络,随机初始化权值(通常初始化为接近于0的值)
  2. 执行前向传播算法,对任意输入 x(i) 计算出对应的 hθ(x(i))
  3. 通过代码计zhix算代价函数 J(Θ)
  4. 执行反向传播算法,计算偏导数 ∂ ∂ Θ ( l ) j k \frac{∂}{∂Θ^(l)^~jk~} Θ(l) jk J(Θ)
    在这里插入图片描述
  5. 使用梯度检验用反向传播得到的偏导项 ∂ ∂ Θ ( l ) j k \frac{∂}{∂Θ^(l)^~jk~} Θ(l) jk J(Θ) 和用数值计算得到的估计值,确保两者比较接近。然后去掉梯度检验代码。
  6. 使用一个最优化算法(梯度下降、BFGS 共轭梯度…)和反向传播算法结合,计算偏导。

**对于神经网络,代价函数J(Θ)是个非凸函数。**尽管我们不能保证这些优化算法一定会得到全局最优值,但通常能够得到一个很小的局部最小值。
在这里插入图片描述

5-3 Application of Neural Networks

Autonomous Driving

一个有趣而且有重要历史意义的 利用神经网络进行自动驾驶的神经网络学习的例子。 那就是让汽车学会自己开车。

测验 Neural Networks: Learning

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

课程链接

https://www.coursera.org/learn/machine-learning/home/week/5

课件

课件链接

这篇关于【含课程pdf 测验答案】吴恩达-机器学习公开课 学习笔记 Week5 Neural Networks: Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/309871

相关文章

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Python实现PDF与多种图片格式之间互转(PNG, JPG, BMP, EMF, SVG)

《Python实现PDF与多种图片格式之间互转(PNG,JPG,BMP,EMF,SVG)》PDF和图片是我们日常生活和工作中常用的文件格式,有时候,我们可能需要将PDF和图片进行格式互转来满足... 目录一、介绍二、安装python库三、Python实现多种图片格式转PDF1、单张图片转换为PDF2、多张图

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

java导出pdf文件的详细实现方法

《java导出pdf文件的详细实现方法》:本文主要介绍java导出pdf文件的详细实现方法,包括制作模板、获取中文字体文件、实现后端服务以及前端发起请求并生成下载链接,需要的朋友可以参考下... 目录使用注意点包含内容1、制作pdf模板2、获取pdf导出中文需要的文件3、实现4、前端发起请求并生成下载链接使

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图