李宏毅機器學習2020筆記(一)Introduction&Regression


一、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、梯度下降的限制

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM