机器学习和深度学习--李宏毅(笔记与个人理解)Day11-12

Day11 when gradient is small......


怎么知道是局部小 还是鞍点?

using Math
这里巧妙的说明了hessan矩阵可以决定一个二次函数的凹凸性 也就是 θ \theta θ 是min 还是max,最后那个有些有些 哈 是一个saddle;

然后这里只要看hessan矩阵是不是正定的就好(详见 线性代数)

example -- using Hessan

奇怪这里为什么不是主对角线呀,难道两个都一样嘛 晕死,得复习线代了

Dont afraid of saddle point(鞍点)

征向量 u 和对应的特征值 λ定义为满足下列关系的向量和标量:Hu=λu

在梯度下降算法中,我们希望选择使得 L*(*θ) 减小的 θ 方向。如果 λ<0,则向 u 的方向移动参数 θ 会减小损失函数 L(θ)。

换句话说,如果我们发现了一个负特征值λ 和相应的特征向量u,我们可以通过沿着 u 的方向更新 θ 来降低损失函数的值。这就是图中所说的"Decrease L"的含义。

local minima VS saddle Point


引入高维空间的观点,解决local minima的问题:我们很少遇到local minima;

Day12 Tips for training :Batch and Momentum

why we use batch?

前面有讲到这里, 前倾回归

这里大家记得问自己一个问题:一个epoch 更新多少个参数?nums(batch)* parameters

例如,如果你有100个batch,那么在完成一个epoch后,每个参数会被更新100次。

shuffle :有可能batch结束后,就会重新分一次batch

small vs big

这里举了两个极端的例子,也是我们常见的学习方法:取极限看效果

未考虑平行运算(并行 --gpu)



over fitting: 比较train 和test

Aspect Small Batch Size(100个样本) Large Batch Size(10000个样本)
Speed for one update (no parallel) Faster Slower
Speed for one update (with parallel) Same Same (not too large)
Time for one epoch Slower Faster
Gradient Noisy Stable
Optimization Better Worse
Generalization Better Worse

batch is a hyperparameter......

Momentum

惯性

知道学到这里想到什么嘛......粒子群算法的公式不知道你们有没有了解,看下面那个w*vi 有没有感觉这种思想还挺常见的,用来做局部最小值的优化的


concluding:

相关推荐
mtactor2 小时前
投资理财学习笔记
笔记·学习·金融
末世灯光2 小时前
时间序列入门第一问:它和普通数据有什么不一样?(附 3 类典型案例)
人工智能·python·机器学习·时序数据
Gitpchy4 小时前
Day 20 奇异值SVD分解
python·机器学习
XiangrongZ4 小时前
江协科技STM32课程笔记(五)— ADC模数转换器
笔记·科技·stm32
weixin_429630264 小时前
实验二-决策树-葡萄酒
算法·决策树·机器学习
墨利昂5 小时前
Transformer架构:深度学习序列建模的革命性突破
深度学习·架构·transformer
Olrookie5 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
请你喝好果汁6415 小时前
Conda_bashrc 初始化机制学习笔记
笔记·学习·conda
我是李武涯5 小时前
PyTorch Dataloader工作原理 之 default collate_fn操作
pytorch·python·深度学习
无风听海5 小时前
神经网络之计算图repeat节点
人工智能·深度学习·神经网络