机器学习笔记week1——奥卡姆剃刀原则、L1与L2范数正则化、模型泛化性
本系列是學(xué)習(xí)伯禹《機器學(xué)習(xí)》的筆記,主要記錄自己在學(xué)習(xí)過程中的盲點和細節(jié)繼續(xù)加油叭fighting
本篇目錄
- 1 奧卡姆剃刀原則
- 2 L1 與 L2 范數(shù)正則化
- 2.1 L1與L2范數(shù)正則化可以降低過擬合程度:
- 2.2 L1正則化和L2正則化:
- 2.3 L1正則化不能求導(dǎo)嗎?那怎么優(yōu)化呀?
- 2.4 為什么一般用L2比L1多?
- 3 模型泛化性
- 3.1 泛化能力
- 3.2 泛化誤差
- 3.3 泛化誤差上界
1 奧卡姆剃刀原則
奧卡姆剃刀原則,即“簡單有效原理”,“切勿浪費較多東西去做,用較少的東西,同樣可以做好的事情。”
李航《統(tǒng)計學(xué)方法》一書中,在應(yīng)用于模型選擇時可以理解為:在所有可能選擇的模型中,能夠很好地解釋已知數(shù)據(jù)并且十分簡單才是最好的模型,也就是應(yīng)該選擇的模型。正則化就符合奧卡姆剃刀原理。
舉個栗子。假如有一些連續(xù)點,可以用二次或更復(fù)雜的函數(shù)擬合,那么就用二次函數(shù)來擬合。
2 L1 與 L2 范數(shù)正則化
2.1 L1與L2范數(shù)正則化可以降低過擬合程度:
正則化之所以能夠降低過擬合的原因在于,正則化是結(jié)構(gòu)風(fēng)險最小化的一種策略實現(xiàn)。
給loss function加上正則化項,能使得新得到的優(yōu)化目標(biāo)函數(shù)h = f+normal,需要在f和normal中做一個權(quán)衡(trade-off),如果還像原來只優(yōu)化f的情況下,那可能得到一組解比較復(fù)雜,使得正則項normal比較大,那么h就不是最優(yōu)的,因此可以看出加正則項能讓解更加簡單,符合奧卡姆剃刀理論,同時也比較符合在偏差和方差(方差表示模型的復(fù)雜度)分析中,通過降低模型復(fù)雜度,得到更小的泛化誤差,降低過擬合程度。
2.2 L1正則化和L2正則化:
L1正則化就是在loss function后邊所加正則項為L1范數(shù),加上L1范數(shù)容易得到稀疏解(0比較多)。L2正則化就是loss function后邊所加正則項為L2范數(shù)的平方,加上L2正則相比于L1正則來說,得到的解比較平滑(不是稀疏),但是同樣能夠保證解中接近于0(但不是等于0,所以相對平滑)的維度比較多,降低模型的復(fù)雜度。
詳細閱讀參考鏈接:https://zhuanlan.zhihu.com/p/35356992
2.3 L1正則化不能求導(dǎo)嗎?那怎么優(yōu)化呀?
坐標(biāo)軸下降法:沿著坐標(biāo)軸的方向去下降,這和梯度下降不同。梯度下降是沿著梯度的負(fù)方向下降。不過梯度下降和坐標(biāo)軸下降的共性就都是迭代法,通過啟發(fā)式的方式一步步迭代求解函數(shù)的最小值。
2.4 為什么一般用L2比L1多?
L1是在選特征,在當(dāng)前的這個深度學(xué)習(xí)時代,其實并不喜歡把特征直接剪掉。因為一個特征除非是完全沒用,我們才把它刪掉,如果他能夠在某種情況下有任何一點用那我們會保留。因此一般工業(yè)是在不考慮一定要做特征選擇的時候用L2,如果說特征確實蠻大以至于最后要削掉一部分特征使內(nèi)存以及訓(xùn)練速度獲得優(yōu)化那才用L1。另外一種情況,一些互聯(lián)網(wǎng)公司會同時使用L1和L2,一方面通過L1刪掉一部分沒有特別大用處的訓(xùn)練特征,另外一個方面就是用L2的性質(zhì),使整個模型離原點的距離能夠得到保證。
3 模型泛化性
3.1 泛化能力
泛化能力指的是模型對未觀測數(shù)據(jù)的預(yù)測能力
3.2 泛化誤差
-
可以通過泛化誤差來評估,定義如下:
R(f)=E[L(Y,f(X))]=∫X×YL(y,f(x))p(x,y)dxdyR(f)=\mathbb{E}[\mathcal{L}(Y, f(X))]=\int_{X \times Y} \mathcal{L}(y, f(x)) p(x, y) d x d yR(f)=E[L(Y,f(X))]=∫X×Y?L(y,f(x))p(x,y)dxdy
-
p(x,y) 是潛在的(可能是未知的)聯(lián)合數(shù)據(jù)分布
在訓(xùn)練數(shù)據(jù)集上對泛化能力的經(jīng)驗估計是:
R^(f)=1N∑i=1NL(yi,f(xi))\widehat{R}(f)=\frac{1}{N} \sum_{i=1}^{N} \mathcal{L}\left(y_{i}, f\left(x_{i}\right)\right)R(f)=N1?∑i=1N?L(yi?,f(xi?))
3.3 泛化誤差上界
對于泛化能力的分析通常是根據(jù)泛化誤差上界來確定的,因為它代表的是泛化能力的下界,也就是所謂的保底值,如果保底值能夠提升,那么模型的整體泛化能力就能夠得到提升。
泛化誤差上界的定義如下:對于二類分類問題
不等式中左側(cè)的 R(f) 是泛化誤差,右側(cè)的即是泛化誤差上界,其中的 R?(f) 是訓(xùn)練過程中的誤差,而 ε(d,N,δ) 相當(dāng)于一個糾正量,是 N 的單調(diào)遞減函數(shù),當(dāng) N 趨近無窮時趨向 0,同時它也是 logd 階的函數(shù),假設(shè)空間包含的函數(shù)越多時,d的值越大,即它的值也越大。
值得注意的是,該不等式是根據(jù)霍夫丁不等式推導(dǎo)而來。
具體推導(dǎo)參考鏈接:https://blog.csdn.net/qq_43872529/article/details/104362791
總結(jié)
以上是生活随笔為你收集整理的机器学习笔记week1——奥卡姆剃刀原则、L1与L2范数正则化、模型泛化性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实训项目名称: 双绞线的制作
- 下一篇: CTS、CLS和CLR