誤差
誤差的來源
在機(jī)器學(xué)習(xí)中赖欣,誤差=偏差+方差(Error=Bias+Variance)罐韩。
Error反映整個模型的準(zhǔn)確度
Bias反映模型在樣本上的輸出與真實值之間的誤差憾赁,即模型本身的精準(zhǔn)度
Variance反映模型每一次輸出結(jié)果與模型輸出期望之間的誤差厚柳,即模型的穩(wěn)定性
Bias的計算
估計μ:
分布對于的離散程度(方差):
Var的計算
估計:
下面這張圖可以更直觀地顯示Bias和Variance的區(qū)別宵溅。
比較簡單的model var行伞(受數(shù)據(jù)的影響小)荡碾,var大谨读;復(fù)雜的model var大,bias小坛吁。
簡單模型擬合能力不如復(fù)雜模型劳殖,所以對一些偏差較大的值不太敏感。
簡單模型是偏差比較大造成的誤差阶冈,這種情況叫做欠擬合闷尿,而復(fù)雜模型是方差過大造成的誤差,這種情況叫做過擬合女坑。
過擬合和欠擬合
- 欠擬合:模型沒有很好的訓(xùn)練訓(xùn)練集填具,偏差過大。
- 過擬合:模型在訓(xùn)練集上得到很小的錯誤匆骗,但是在測試集上得到很大的錯誤劳景。
處理方式
偏差大-欠擬合:重新設(shè)計模型,加入更多的函數(shù)碉就,或者考慮更復(fù)雜的模型盟广。
方差大-過擬合:更多的數(shù)據(jù)(可以采用數(shù)據(jù)增強(qiáng)方法);正則化瓮钥。
模型的選擇
權(quán)衡偏差和偏差筋量,使得總誤差最好,但是公共測試集的數(shù)據(jù)往往是不可靠的碉熄,所以不要做下面這張圖片的事桨武。
交叉驗證
將訓(xùn)練集分為訓(xùn)練集和驗證集,根據(jù)驗證集上的error選擇模型锈津。
N-折交叉驗證
將訓(xùn)練集分為N份呀酸,在每一份上分別訓(xùn)練模型,最后再用全部訓(xùn)練數(shù)據(jù)上訓(xùn)練較好的模型琼梆。
梯度下降
梯度下降法
在回歸問題中需要解決最優(yōu)化問題性誉,使得最小。
這里的parameters是復(fù)數(shù)茎杂,即 错览。需要找一組參數(shù) ,讓損失函數(shù)越小越好蛉顽,可以用梯度下降法解決蝗砾。
- 有里面有兩個參數(shù) ,隨機(jī)選取初始值携冤;
- 分別計算偏微分悼粮,得到梯度,根據(jù)學(xué)習(xí)率更新參數(shù)
學(xué)習(xí)率的調(diào)整
將參數(shù)改變對損失函數(shù)的影響進(jìn)行可視化(右圖)曾棕。
自適應(yīng)學(xué)習(xí)率
隨著次數(shù)的增加扣猫,通過一些因子來減少學(xué)習(xí)率
- 通常剛開始,初始點會距離最低點比較遠(yuǎn)翘地,使用大一點的學(xué)習(xí)率
- update好幾次參數(shù)之后申尤,比較靠近最低點了,減少學(xué)習(xí)率
學(xué)習(xí)率不能是一個值通用所有特征衙耕,不同的參數(shù)需要不同的學(xué)習(xí)率
Adagrad
每個參數(shù)的學(xué)習(xí)率都把它除上之前微分的均方根昧穿。
普通的梯度下降
Adagard
: 之前參數(shù)的所有微分的均方根,對于每個參數(shù)都是不一樣的橙喘。
具體的參數(shù)更新過程
對 Adagard 式子進(jìn)行化簡时鸵,得到
Adagard存在的矛盾?
Gradient越大的時候厅瞎,分母越大饰潜,更新的步伐越小和簸?
Adagard考慮的是Gradient的反差
計算過去Gradient的平方和
不一定gradient越大彭雾,距離loss最低點越遠(yuǎn)
最佳的步伐應(yīng)該是
對于 ,就是希望再盡可能不增加過多運算的情況下模擬二次微分锁保。
(如果計算二次微分薯酝,在實際情況中可能會增加很多的時間消耗)
隨機(jī)梯度下降SGD
隨機(jī)梯度下降損失函數(shù)不需要用到全部的訓(xùn)練數(shù)據(jù),而是隨機(jī)選取一個例子計算損失函數(shù)吴菠,并且更新梯度。
傳統(tǒng)梯度下降
隨機(jī)梯度下降
不需要對所有數(shù)據(jù)進(jìn)行處理,更新速度更快穴亏。
特征縮放 Feature Scaling
對特征數(shù)量較多的時候蜂挪,將不同的feature范圍縮放到一致,保證這些特征具有相近的尺度(無量綱化)嗓化,可以使梯度下降法更快的收斂棠涮。
Feature Scaling的方法
Min-Max Normalization(min-max標(biāo)準(zhǔn)化)
Mean normalization(mean歸一化)
Standarddization(z-score標(biāo)準(zhǔn)化)
max標(biāo)準(zhǔn)化
梯度下降的理論基礎(chǔ)
如何在小圓圈內(nèi)快速找到最小值?
泰勒展開式
若在點的某個領(lǐng)域內(nèi)有無限階導(dǎo)數(shù)(即無限可微分刺覆,infinitely differentiable)严肪,有
多變量泰勒展開式
利用泰勒展開式簡化
如果紅色圈圈足夠小,那么損失函數(shù)可以用泰勒展開式進(jìn)行簡化:
梯度下降的限制
微分值為0的地方,可能是局部極值或者不是極值點(可能實際上當(dāng)微分值小于某一個數(shù)值就停下來了驳糯,并不是極值點)