《Andrew Ng深度学习》笔记2
神经网络基础
1.图计算
计算时有两种方法:正向传播和反向传播。正向传播是从底层到顶层的计算过程,逐步推出所求公式。反向传播是从顶层到底层,从已知的式子求出因变量的影响关系。
在这里用到的反向传播算法就是为了通过似然函数(成本函数)来确定要计算的参数。
在这里,logistic回归应用了反向传播,主要是为了方便梯度下降算法的计算,来逐次逼近w和b。通过图片看到,反向传播其实就是微积分里的“链式法则”。这块可能要补补微积分才能更深入学习。这里先跳过,反正是明白了logistic回归中的梯度下降应用了反向传播计算。
2.向量化
向量化的目的是加快计算速度。避免for之类的循环,消耗性能。在python中,使用np.function()函数实现向量化。
通过向量方式的形式表达,可以简化计算,比如使用Python中的numpy库,针对这些计算可以简化为1行代码,减少for之类的循环编写,简化计算。说到这里,很有必要深入学学python。
3.Python中numpy的应用
这里只是Python对向量化操作的一个例子,详细是在numpy库中,里面的函数主要是为了矩阵等计算,方便代码开发,加快速度。
Python中向量化的实质是,会把R变为向量化(SMID 并行多数据流),主要是把变量变为广播形式。
在logistic回归中,上图左边是一般的计算流程,右边是经过向量化后的计算流程,很明显减少for循环,只要是用到了numpy库里的函数。
但是在实际中药用好numpy库的向量化,里面有一些坑。在行向量和列向量求和应该是出错的,但是在python的numpy库中会得到一个矩阵。所以在使用时要小心谨慎。
《Andrew Ng深度学习》笔记2的更多相关文章
- 《Andrew Ng深度学习》笔记1
深度学习概论 1.什么是神经网络? 2.用神经网络来监督学习 3.为什么神经网络会火起来? 1.什么是神经网络? 深度学习指的是训练神经网络.通俗的话,就是通过对数据的分析与计算发现自变量与因变量的映 ...
- Andrew Ng - 深度学习工程师 - Part 2. 改善深层神经网络:超参数调试、正则化以及优化(Week 2. 优化算法)
===========第2周 优化算法================ ===2.1 Mini-batch 梯度下降=== epoch: 完整地遍历了一遍整个训练集 ===2.2 理解Mini-bat ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 4. 深层神经网络)
=================第2周 神经网络基础=============== ===4.1 深层神经网络=== Although for any given problem it migh ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 1. 深度学习概论)
=================第1周 循环序列模型=============== ===1.1 欢迎来到深度学习工程师微专业=== 我希望可以培养成千上万的人使用人工智能,去解决真实世界的实际问 ...
- 《Andrew Ng深度学习》笔记4
浅层神经网络 1.激活函数 在神经网络中,激活函数有很多种,常用的有sigmoid()函数,tanh()函数,ReLu函数(修正单元函数),泄露ReLu(泄露修正单元函数).它们的图形如下: sigm ...
- 《Andrew Ng深度学习》笔记3
浅层神经网络 初步了解了神经网络是如何构成的,输入+隐藏层+输出层.一般从输入层计算为层0,在真正计算神经网络的层数时不算输入层.隐藏层实际就是一些算法封装成的黑盒子.在对神经网络训练的时候,就是对神 ...
- 《Andrew Ng深度学习》笔记5
深层神经网络 深层神经网络的组成如图,这里主要是深层神经网络符号的定义. 为什么要用深层神经网络,有什么好处?这里主要是分层的思想.在软件工程中,如果问题遇到困难,一般是通过“加多”一层的方法来解决, ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 3. 浅层神经网络)
=================第3周 浅层神经网络=============== ===3..1 神经网络概览=== ===3.2 神经网络表示=== ===3.3 计算神经网络的输出== ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 2. 神经网络基础)
=================第2周 神经网络基础=============== ===2.1 二分分类=== ===2.2 logistic 回归=== It turns out, whe ...
随机推荐
- 【知识碎片】Asp.Net 篇
51.app.config 连接字符串 <?xml version="1.0" encoding="utf-8"?> <configurati ...
- HTML_基础篇
一.HTML的概述 什么是HTML? html:Hyper Test Markup Language 超文本标记语言(它不是编程语言!) 超文本:功能比普通的文本更加强大. 标记语言:使用一组标签对内 ...
- 让IE10等支持classList2.0
chrome24+, firesfox26+起支持classList2.0,即让它同时添加或删除多个类名, toggle方法支持第2个参数,用于强制添加或删除 var div = document.c ...
- 判断Android系统net和wap接入点的开发实例
判断Android系统net和wap接入点的开发实例 分类标签: Activity 我们使用Android设备连接网络时,如果是wap接入点就需要设置代理,而电信和移动联通的代理并不相同,移动和联 ...
- 在64位SQL Server中创建Oracle的链接服务器 Link Server
有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成这些操作,我们首要的是创建数据库链接. 数据库链接能够让本地的一个s ...
- POJ2187(凸包+旋转卡壳)
这道题目的大意是给出一组二维空间的顶点,计算其中距离最远的两个顶点之间的距离. 先说明凸包的概念和求法. 定义:对于多边形P,若将P中任意的两个点(包含边上)用一条线段连接,线段都落于该多边形中(含边 ...
- 值得一做》关于双标记线段树两三事BZOJ 1798 (NORMAL-)
这是一道双标记线段树的题,很让人很好的预习/学习/复习线段树,我不知道它能让别人学习什么,反正让我对线段树的了解更加深刻. 题目没什么好讲的,程序也没什么好讲的,所以也没有什么题解,但是值得一做 给出 ...
- 分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)
二. 分布式计算(Map/Reduce) 分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按Google Map/Reduce框架所设计的分布式框架.在Hadoop中,分布式文件系统,很大程 ...
- 824. Goat Latin山羊拉丁文
[抄题]: A sentence S is given, composed of words separated by spaces. Each word consists of lowercase ...
- Windows Chocolatey
一.简介 Chocolatey是Windows下包管理工具,可以使用 Chocolatey 来安装应用程序. 二.安装 1)在线安装:参见 主页 官网:https://chocolatey.org ...