吴恩达Deeplearning.ai专项课程笔记(一)-- 神经网络基础
来源:互联网 发布:4g网络优化工程师课程 编辑:程序博客网 时间:2024/06/05 00:21
吴恩达深度学习专项课程Deeplearning.ai共开设五门课,目前已经学了大半,想起来忘了整理课程笔记,这几天抽空补上。
1.基础概念
神经网络 :输入一些数据,经过隐藏层,最终得到输出,圆形节点为神经元。
神经网络样例 :(标准神经网络/卷积神经网络/循环神经网络)
- 结构化数据与非结构化数据 :结构化数据通常指数据库数据(每个特征都有清晰定义),非结构化数据如音频、原始音频、图像、文本等。
2.Logistic回归(二分类)
- 特征向量构建
exm.图像特征向量的提取,把每个像素上的RGB数值(假设共nx 个)提取出来排列入一个向量中,就得到一个nx 维的特征向量;
- 深度学习符号约束
1.样本:
对(x,y) 表示一个单独样本,其中x 为nx 维特征向量,y∈ {0 ,1 } (二分分类)。
2.训练集:
对于训练集中的单个样本,用圆括号加上标进行标注,如:(x(1),y(1)) ,(x(2),y(2)) ,…(x(m),y(m)) 其中m表示训练集样本个数,即:m =Mtrain 。
3.矩阵符号约束:
训练集矩阵X的约定形式,将样本横向排列,写成矩阵X的列,因此矩阵维度为(nx,m) ,输出矩阵Y的约定形式,将样本对应标签依旧横向排列,写成矩阵Y的列,因此输出矩阵维度为(1,m) 。
- logistic回归
对于单个样本x ,其正确标签值为y ,通过logistic 回归得到的预测值记为y^ =P(y=1|x) (读作y hat或y帽),对应参数分别为ω ,b 。其中ω 维数同x ,为一个nx 维向量,b 为实数。
给定样本x(i) ,logistic 回归公式为:
y^(i)=σ(ωTx(i)+b),z(i)=ωTx(i)+b
激发函数sigmoid函数控制y^ 的值在0与1之间,函数公式为σ(x)=11+e−x ,函数图像如下图所示。
损失函数(也叫误差函数),用于衡量预测值与实际值间的接近程度,其定义方法有多种,如L2范数平方均值等,在Logistic 回归中,定义损失函数L为:
L(y^,y)=−(ylog(y^)+(1−y)log(1−y^))
损失函数L 基于单个样本定义,衡量模型在单个训练样本上的表现,针对整个训练集,采用成本函数J (cost function )衡量基于参数的总成本。
1m∑mi=1L(y^(i),y(i))=−1m∑mi=1[y(i)log(y^(i))+(1−y(i))log(1−y^(i))]
目标:找到合适的参数ω,b ,使成本函数值降到最低。
梯度下降
目标:学习使成本函数尽可能小的参数ω,b
方法:首先初始化ω,b ,然后进行沿最陡的下坡方向下降,直至抵达最低点(收敛到全局最优解或接近全局最优解)
公式:ω=ω−αdJ(ω)dω ,α 为学习率,也称为每次下降的步长,而梯度可以理解为函数曲线/曲面的方向。1.单个样本的梯度下降
由于单个样本而言,损失函数为:
l(y^(i),y(i))=−(y(i)log(y^(i))+(1−y(i))log(1−y^(i)))
其中:z(i)=ωTx(i)+b ,y^(i)=σ(z(i))
dldz=−(y(i)1σ(z)σ(z)(1−σ(z))+(1−y)11−y^(i)σ(z)(σ(z)−1))
化简结果为:σ(z)−y(i)
→dldω=dldzdzdω=(σ(z)−y(i))x(i)
→dldb=dldzdzdb=σ(z)−y(i)=dldz
2.m个样本的梯度下降
对成本函数L(ω,b)=1m∑mi=1l(y^(i),y(i)) :
→dLdω=1m∑mi=1(σ(z)−y(i))x(i)
→dLdb=1m∑mi=1(σ(z)−y(i))
3.向量化
在实际编程过程中,由于在训练大数据集时,采用显式for循环导致程序运行时间复杂度过高。采用向量化的方法将消除显式for循环,加快代码运行速度。
1、举例
调用numpy包,实现逻辑回归的乘法部分:
对向量v中每个元素做指数运算:
对向量v中每个元素做对数运算:
将向量v中每个元素变为绝对值:
求v中每个元素和0相比的最大值:
对向量v中所有元素求和:
2、
初始化:
参数
参数
训练集矩阵:X,大小为
训练集样本标签: Y,大小为
预测:
定义矩阵Z,大小为
预测值: A ,大小同Y,为
梯度下降:
由单样本梯度下降推导结果
有:
则→
- 吴恩达Deeplearning.ai专项课程笔记(一)-- 神经网络基础
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-2)-- 神经网络基础
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(4-1)-- 卷积神经网络基础
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-2)-- 神经网络基础(转载)
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(4-1)-- 卷积神经网络基础
- Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-2)-- 神经网络基础
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-4)-- 深层神经网络(转载)
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-3)-- 浅层神经网络
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-4)-- 深层神经网络
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-3)-- 浅层神经网络(转载)
- 吴恩达deeplearning.ai课程系列笔记05(上)
- 吴恩达deeplearning.ai课程系列笔记05(下)
- 吴恩达deeplearning.ai课程系列笔记01
- 吴恩达deeplearning.ai课程系列笔记02
- 吴恩达deeplearning.ai课程系列笔记03
- 吴恩达deeplearning.ai课程系列笔记04
- 吴恩达deeplearning.ai课程系列笔记06
- 吴恩达deeplearning.ai课程系列笔记07
- android闪屏界面
- H5 3D动画
- Android studio如何添加 HttClient
- LeetCode 347. Top K Frequent Elements
- 跨语言序列化-protobuf/thrift/avro性能测试
- 吴恩达Deeplearning.ai专项课程笔记(一)-- 神经网络基础
- Could not initialize class sun.awt.X11GraphicsEnvironment
- 测试用例覆盖类型
- 次短路
- 设计模式学习(二)之观察者模式
- DecimalFormat的用法和各符号的意义
- Java 序列化与反序列化
- Vcpkg 编译记录
- 《c语言程序设计》例4-1 4-2