文章目录
1.从0.5开始入门
-
本blog仅作为夏令营过程中学习出现的问题和任务进行记录和学习留档,针对苹果书内的知识点不作详细记录(例如完全复制公式,思维导图等形式)。
-
本文根据夏令营进度,从3.1开始。
-
网络上有众多的学习资料,如果你恰好点了进来,对机器学习、深度学习或者仅对Datawhale感兴趣,可以点击下面的链接来详细了解。
- **李宏毅深度学习教程LeeDL-Tutorial(苹果书)**开源地址:https://github.com/datawhalechina/leedl-tutorial
- 李宏毅《机器学习/深度学习》2021课程B站视频:https://www.bilibili.com/video/BV1JA411c7VT?p=1&vd_source=7f728b80e21aaffa0f2781c650cbe2ce
- 本人参与的**Datawhale AI夏令营(第五期)**地址(虽然不能报名,但仍可以进入学习说明和Task文件进行自学):https://linklearner.com/activity/16
- 本人自己之前接触过的一篇实践性学习框架Approaching (Almost) Any Machine Learning Problem(简称AAAMLP):
- 原文github地址(作者Abhishek Thakur):https://github.com/abhishekkrthakur/approachingalmost
- 中译版出处:https://ytzfhqs.github.io/AAAMLP-CN/
2.鞍点(&3.1)
鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。
而当在某点的一阶导为0时,该点称为驻点。
2.1重点部分–判断临界值种类的方法
判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的Hessian(海森)矩阵为不定矩阵。
- 半正定矩阵: 所有特征值为非负,或主子式全部非负。
- 半负定矩阵:所有特征值为非正,或主子式负正相间。
- 不定矩阵:特征值有正有负,或主子式不满足上面的两种情况。
何为正定矩阵:【线性代数笔记】正定矩阵及其性质_正定矩阵怎样变换不改变其正定性-CSDN博客
2.2重点部分–如何逃离鞍点
此处参考博文:【Deep Learning 】深度模型中的优化问题(四)之如何逃离(跳出)鞍点(Saddle Points)_如何逃离鞍点-CSDN博客
2.3举例(待补充)
3.批量和动量(&3.2)
批次(batch)与动量(momentum),两个学深度学习绕不开的词,你可能会或多或少听过batch,epoch,BGD等词汇,都出自本章节。
3.1批量Batch用途–批量优化处理梯度
我们先来看梯度下降法的例子:
会出现如下情况
- 梯度在损失函数较为平缓段,下降速度十分缓慢
- 梯度下降停在鞍点(&3.1)
- 梯度下降停在局部最小值
So here comes BGD, which means Batch Gradient Descent
学习和实践过程中,我们会发现小批量梯度下降效果会更好(mini batch gradient descent)
3.2动量Momentum
引入权重和学习率,在梯度的基础上沿着梯度的反方向加上前一步移动的方向的结果来更新参数。初始参数为 θ ,前一步的移动为0,计算 θ 的梯度,移动的方向为梯度的方向加上前一步的方向,以此类推。使用动量法可以对抗鞍点或者局部最小值。
- 一般的梯度下降:
-
动量法梯度下降:
4每日竞赛问题汇总:
8.22
T1
Q:
假设你正在做天气预报,并使用算法预测明天气温(摄氏度/华氏度),你会把这当作一个分类问题还是一个回归问题?
A. 分类
B. 回归
A:
B,因为预测天气气温所要求的输出不是设定好的类别,而是连续变化的数值,所以选择回归而不是分类。
T2
Q:
在深度学习中,为什么说高维空间中的局部极小值可能比鞍点更少见?
A:
因为在高维空间中一个点成为局部最小值需要各个方向上都是最小值,而鞍点只需要至少一个方向上为最小值即可。显然成为鞍点需要的条件更容易满足。
8.23
T1
Q:
在逻辑回归中,正则化项的引入是为了( )。
A、增加模型复杂度
B、防止过拟合
C、减少训练时间
D、增加特征数
(选完补充:
还有哪些防止过拟合的方法呢,再举出一个例子就好)
A:
B,正则化是用过在损失函数上添加一个惩罚项来限制模型参数的大小,使模型更简单,防止模型过拟合。
其他方法:在网络中添加dropout层。
T2
Q:
如何利用海森矩阵判断临界点的种类?
A:
见上文2.1。
8.24
T1
Q:
为什么在深度学习中,小批量梯度下降(mini-batch gradient descent)相比于大批量梯度下降,可能在测试时表现更好?
A.小批量更新更稳定。
B.小批量有助于减少过拟合。
C.小批量可以更快地完成训练。
D.小批量可以减少内存的使用。
A:
见上文&2.2。小批量梯度下降每次更新都基于不同的数据子集,有助于找到一个更合适的解,减少过拟合。
T2
Q:
当学习率设置太高或太低会发生什么?
A:
学习率太高,模型的参数可能会更新得太快,这可能会导致其超出理想最优值并表现出不稳定或振荡行为。
学习率太低,模型的参数可能更新得太慢,这可能会阻碍收敛并需要更多的训练迭代才能获得最佳结果。
8.25
T1
Q:
在深度学习中,批量归一化(Batch Normalization)的主要作用是什么?
A. 减少模型训练所需的数据量。
B. 提高模型对异常值的鲁棒性。
C. 稳定和加速模型的收敛过程。
D. 增加模型的复杂度以提高准确率。
A:
C,批量归一化通过将每一层的输入进行归一化处理,使得输入具有零均值和单位方差,有助于加快训练速度。
T2
Q:
什么是神经网络的梯度消失问题,为什么会有梯度消失问题?有什么办法能缓解梯度消失问题?
A:
- 梯度消失问题是指在网络的反向传播过程中,梯度逐渐变小甚至接近0,导致不能正常训练;
- 激活函数使用不当,随着层数的增加以及链式法则的影响。
- 使用适当的激活函数例如ReLu,批量归一化方法等。