一、Course Introduction

1、机器学习就是自动找函式

Regression: output is a scalar.

Classification:yes or no

  Binary classification:RNN作业

  Multi-class Classification:CNN作业  

Generation: 产生有结构的复杂东西(文字 图片等)

  Seq2Seq、GAN作业

 

2、Supervised Learning: Labeled Data

 

unsuperived learning 

 

 3、前沿研究

Explainable AI

 Adversarial Attack:对抗攻击

Network Compression

Anomaly Detection:异常检测(能够知道自己不知道)

Transfer Learning(Domain Adversarial Learning)

 

 Meta Learning:learn to learn

 Life-long learning:终身学习

 

二、Regression

1、应用

 

 

 2、基本步骤

 

 

 

 

 

 

3、过拟合

 

 换了复杂的model,在training data上结果更好了,在testing data上结果反而更差。

 

4、正则化

 

 

 

 loss function既考虑error,再加上一项额外的smooth(不考虑bias,对平滑没影响),λ是自定的参数(λ越大,表示smooth项的影响越大)。

 

 5、error来自哪里

理想状态是没有bias,variance很小。

相同模型在100组不同的训练集下,越复杂的模型散布越开(方差越大);

 越复杂的model,有越小的bias;因为复杂的model的function set更大,更容易包含target function;

 

训练集:bias大,欠拟合:增加特征、设计更复杂的模型。

测试集:variance大,过拟合:更多数据、正则化(loss增加smooth,但是只包含平滑的曲线,会影响bias)

 

 

6、交叉验证

 bias与variance的平衡。

 不建议这么做。

 

7、梯度下降

 

 8、学习率调整

可视化调整学习率。

 自动调整学习率:随着参数的update,学习率也要相应的变小,一开始采用大学习率,再逐渐减小学习率。图中公式中的t代表第t次更新参数。

每个参数有不同的学习率;σt是过去所有微分值的平方根;

adagrad是比较简单的一种adaptive学习率方法,但使用adagrad方法速度会越来越慢

 

 这一项的作用是衡量过去gradient和现在的反差有多大。

 

 

对于一个参数来说,是符合梯度越大,step越大的(|2ax+b|和|x+b/2a|成正比)

对多个参数来说,step不仅和一阶偏导有关(成正比),还与二阶偏导有关(成反比)。

 

 

8、随机梯度下降法(stochastic gradient descent,SGD) 

可以使训练更快。

在一般的梯度下降中,计算所有data的loss,然后才更新参数;但在SGD中,只对第n个example来update参数;

 

9、特征标准化

 

使得不同的w对loss有相同的影响力,在参数update时更加有效率。方法如下:

每一行是一个维度,每个维度求平均值和标准差,对这行每一个减去平均值除以标准差。

所有维度平均值是0,方差是1。

 

10、梯度下降为什么会work

 

 

 怎样在红圈范围中找到最小点?

 

 

 学习率要足够小才能保证圈足够小,才能保证式子成立,才能保证梯度下降时loss越来越小。

 

 

11、梯度下降的限制

 

 

posted on 2020-04-18 21:59  三分天涯  阅读(667)  评论(0编辑  收藏  举报