在機器學習演算法中的幾個疑難雜症點(1)

2021-09-29 09:41:38 字數 1566 閱讀 1324

正則化的兩種形式

個人理解:是指模型過度的完美擬合訓練資料,但是訓練資料中有較多資料與真實資料出入較大,所以導致這個模型泛化能力比較差,在匹配真實資料時誤差較大。

(1)資料特徵的角度

訓練資料中存在噪音。錯誤地把噪音作為有效資訊,導致過擬合。

訓練資料太少。缺乏代表性不能很好地反映整體。

(2)模型的角度

模型過度複雜。主要是訓練集的數量級小於模型的複雜度。

訓練集和測試集特徵分布不一致。

權值學習迭代次數足夠多(overtraining),擬合了訓練資料中的雜訊和訓練樣例中沒有代表性的特徵。

調小模型複雜度,使其適合自己訓練集的數量級(縮小寬度和減小深度)

訓練集越多,過擬合的概率越小。在計算機視覺領域中,增廣的方式是對影象旋轉,縮放,剪下,新增雜訊等。

正則化是指通過引入額外新資訊來解決機器學習中過擬合問題的一種方法。這種額外資訊通常的形式是模型複雜性帶來的懲罰度。 正則化可以保持模型簡單,另外,規則項的使用還可以約束我們的模型的特性。

5、 early stopping

對模型進行訓練的過程即是對模型的引數進行學習更新的過程,這個引數學習的過程往往會用到一些迭代方法,如梯度下降(gradient descent)學習演算法。early stopping便是一種迭代次數截斷的方法來防止過擬合的方法,即在模型對訓練資料集迭代收斂之前停止迭代來防止過擬合。

early stopping方法的具體做法是,在每乙個epoch結束時(乙個epoch集為對所有的訓練資料的一輪遍歷)計算validation data的accuracy,當accuracy不再提高時,就停止訓練。這種做法很符合直觀感受,因為accurary都不再提高了,在繼續訓練也是無益的,只會提高訓練的時間。那麼該做法的乙個重點便是怎樣才認為validation accurary不再提高了呢?並不是說validation accuracy一降下來便認為不再提高了,因為可能經過這個epoch後,accuracy降低了,但是隨後的epoch又讓accuracy又上去了,所以不能根據一兩次的連續降低就判斷不再提高。一般的做法是,在訓練的過程中,記錄到目前為止最好的validation accuracy,當連續10次epoch(或者更多次)沒達到最佳accuracy時,則可以認為accuracy不再提高了。此時便可以停止迭代了(early stopping)。這種策略也稱為「no-improvement-in-n」,n即epoch的次數,可以根據實際情況取,如10、20、30……

6、整合學習演算法也可以有效的減輕過擬合。

l1正則化對所有引數的懲罰力度都一樣,可以讓一部分權重變為零,因此產生稀疏模型,能夠去除某些特徵(權重為0則等效於去除)。

l2正則化減少了權重的固定比例,使權重平滑。l2正則化不會使權重變為0(不會產生稀疏模型),所以選擇了更多的特徵。

在機器學習演算法中的幾個疑難雜症點(2)

本文主要講了一下我對最大似然 最小二乘法 最大後驗 以及誤差度量的準確率和召回率的淺略個人見解。最小二乘法 總結 參考文件 最大似然和最大後驗 準確率和召回率 基於對似然函式l 形式 一般為連乘式且各因式 0 的考慮,求 的最大似然估計的一般步驟如下 1 寫出似然函式 總體x為離散型時 總體x為連續...

學習演算法遇到的疑難雜症

1 delete動態陣列 如果delete的時候出現執行時錯誤,可能是之前發生過陣列越界 int main delete a return 0 2 快排 在座標向中靠攏的時候除了比較和當前選中的數的大小外,還要判斷邊界 while i j 3 歸併排序 最後一步合併時,臨時陣列和目標陣列的下標不是同...

mybatis foreach的疑難雜症

背景 今天寫 的時候,寫了一段sql,如下所示 select product name,product type,subscription id,product period,subscription begin,interest begin,interest end,subscription st...