深度学习WED P1-P24

这篇博客介绍了神经网络的构建、训练过程,特别是超参数调整、正则化和优化算法。讲解了如何在数据上训练神经网络,包括构建卷积神经网络和序列模型如RNN、LSTM。此外,详细阐述了Logistic回归的原理,如前向传播、反向传播、损失函数和梯度下降法,并探讨了向量化在提高算法效率中的应用。
摘要由CSDN通过智能技术生成

共183个视频,每天看6个,用时一个月(2.27-3.29)

一、如何建立神经网络以及如何在数据上训练他们——识别

二、严密构建神经网络——超参数调整、正则化、诊断偏差方差、高级优化算法

三、结构化机器学习工程——分割数据集的方式

四、构建卷积神网络CNN

五、序列模型-序列数据比如:自然语言处理,包括循环神经网络RNN、LSTM

m-训练集的规模、训练样本的数量

算法改进影响迭代速度

一、

1.神经网络的编程基础

2.神经网络中正向传播和反向传播的结构、算法结构、高效实现神经网络、编程练习

3.编写单隐层神经网络

4.建立多层深层神经网络

p7 二分分类

神经网络的计算过程分为前向传播和反向传播

logistic回归是一个用于二分分类的算法

符号

(x,y):表示一个单独的样本,x是nx维的特征向量,y的值为0或1

训练集由m个训练样本构成

X矩阵由x1、x2组成,有m列,nx行;Y矩阵由y1、y2组成,有1行,m列;

X.shape是一条Python命令,用来输出矩阵的维度,即(nx,m)和(1,m)

P8 logistic回归

logistic是一个学习算法,用在监督学习问题中输出标签是0或1时,是一个二元分类问题,已知输入的特征向量x可能是一张图,你希望识别出这是不是猫图,你需要一个算法可以给出一个预测值,预测y,当输入特征x满足条件时y就是1。已知Logistic回归的参数是w也是一个nx维向量,b就是一个实数,已知输入x和参数w和参数b,如何计算出预测y?

在logistic回归中,我们的输出变成y=sigmoid函数作用到这个量上

P9 logistic回归损失函数

损失函数(误差函数)用于衡量算法预测单个训练样本输出值y^和y的实际值有多接近:通过改变参数w,b的值最小化损失函数。 

成本函数衡量算法在全体训练样本上的表现 J越小越好:

 

 P10梯度下降法

梯度下降法用于训练学习训练集上的参数w和b,从初始点开始朝最陡的下坡方向走一步,在梯度下降后,也许在那里停下,因为他沿着最快下降的方向向下走(根据该点导数方向),这是梯度下降的一次迭代,经过几次迭代有可能收敛到这个全局最优解, 

 

P11导数  

df(x)/dx,直线情况下,任意点的斜率相等且等于导数

P12 更多导数的例子

曲线情况下导数的含义

P13计算图

一个神经网络的计算都是按照前向或反向传播过程来实现的,首先计算出神经网络的输出,接着进行一个反向传输的操作,后者用来计算出对应的梯度或者导数;

流程图是从左到右的计算

P14使用计算图求导

链式法则:dJ/da=(dJ/dv)*(dv/da) 从右向左求导

dvar表示导数 

   P15 logistic回归中的梯度下降法

怎样计算偏导数实现logistic回归中的梯度下降法,导数流程图计算梯度得到参数可改变的步长

 P16 m个样本的梯度下降

计算每个训练样本的导数并加起来求平均数,得到全局成本函数,应用一步梯度下降获得参数更新,重复以上步骤。计算中的两个缺点,编程中有了两个for循环,深度学习算法中用显式for循环会使算法低效。用向量化摆脱for循环。

P17 向量化

目的是消除代码中显式for循环语句, z=np.dot(w,x)+b计算(w转置*x+b)

P18 向量化的更多例子

np.log(v)会逐个计算log;  np.Abs会计算绝对值; np.maximum(v,0)计算所有元素中和0相比最大值;尽量用内置函数不用for

P19 向量化logistic回归

把m个样本放到X矩阵中,构建:

  P20 向量化logistic回归的梯度输出

向量化同时计算m个训练数据的梯度   

 

实现logistic回归的梯度下降一次迭代: 

若要多次迭代需要for循环,暂时没有方式可以去掉

 21 Python中的广播

广播是一种手段让Python代码执行得更快

计算四种食物中来自碳水化合物、蛋白质和脂肪的热量百分比各占多少,不用for循环实现:

 

 如何让一个3*4的矩阵除以1*4的矩阵

如果你有一个m*n矩阵,然后加上或者减去、乘以或者除以一个1*n矩阵或m*1矩阵,python会把他复制n次变成m*n矩阵,然后再逐元素做加减乘除

更多参考NumPy文档broadcasting

2*3的矩阵+1*3的矩阵:会把1*3的矩阵复制扩展成2*3的矩阵

P22 关于python_numpy向量的说明

消除python和numpy代码bug的技巧:

 

不用秩为1或者形状是(5,)或(n,)的数组:

 P23 Jupyter_ipython笔记本的快速指南

  coursera中的ipython笔记本,运行时断网内核宕机要重启内核。

P24 logistic损失函数的解释

logistic回归函数的表达式

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值