基礎演算法學習Task2

2021-09-11 19:41:55 字數 2519 閱讀 7751

3.邏輯回歸損失函式的推導及優化

4. 正則化與模型評估指標

正則化(regularization)技術來防止過擬合情況,是機器學習中通過顯式的控制模型複雜度來避免模型過擬合、確保泛化能力的一種有效方式,分為l1正則化和l2正則化。

l2正則化,其形式是在原先的損失函式後邊再加多一項:12λθ2i12λθi2,那加上l2正則項的損失函式就可以表示為:l(θ)=l(θ)+λ∑niθ2il(θ)=l(θ)+λ∑inθi2,其中θθ就是網路層的待學習的引數,λλ則控制正則項的大小,較大的取值將較大程度約束模型複雜度,反之亦然。l2約束通常對稀疏的有尖峰的權重向量施加大的懲罰,而偏好於均勻的引數。這樣的效果是鼓勵神經單元利用上層的所有輸入,而不是部分輸入。所以l2正則項加入之後,權重的絕對值大小就會整體傾向於減少,尤其不會出現特別大的值(比如雜訊),即網路偏向於學習比較小的權重。所以l2正則化在深度學習中還有個名字叫做「權重衰減」(weight decay),也有一種理解這種衰減是對權值的一種懲罰。

l1正則化的形式是:λ|θi|與目標函式結合後的形式就是:

l(θ)=l(θ)+λ∑|θi|l(θ)=l(θ)+λ∑|θi|。

需注意,l1 正則化除了和l2正則化一樣可以約束數量級外,l1正則化還能起到使引數更加稀疏的作用,稀疏化的結果使優化後的引數一部分為0,另一部分為非零實值。非零實值的那部分引數可起到選擇重要引數或特徵維度的作用,同時可起到去除雜訊的效果。 邏輯回歸的優缺點.

模型評估指標:

1.precision(查準率)是指在所有系統判定的「真」的樣本中,確實是真的的佔比。

2.recall(查全率)是指在所有確實為真的樣本中,被判為的「真」的佔比。

3.f1-score就是乙個綜合考慮precision和recall的指標

4.prc以查準率為y軸,、查全率為x軸做的圖。它是綜合評價整體結果的評估指標。

5.roc全稱是「受試者工作特徵」(receiver operating characteristic)曲線,roc曲線以「真正例率」(tpr)為y軸,以「假正例率」(fpr)為x軸,對角線對應於「隨機猜測」模型,而(0,1)則對應「理想模型」。

6.auc的值為roc曲線下面的面積,若分類器的效能極好,則auc為1。

7.io(交並比)**框與標註框的交集與並集之比,數值越大表示該檢測器的效能越好。

樣本不均衡問題解決方法

「再縮放」思想:假設訓練集是真實樣本總體的無偏取樣,因此觀測機率就代表了真實機率,只要分類器的**機率高於觀測機率就應判斷為正例。

做法:1.「欠取樣」去除一些正例或者反例使得正反例數目接近,然後再進行學習

2.「過取樣」增加一些正例或者反例使得正反例數目接近,然後再進行學習

3.「閾值移動」直接基於原始訓練集進行學習,但在用訓練好的分類器進行**時,將再縮放思想的關係式嵌入在及決策過程中

sklearn引數

penalty : str, 『l1』or 『l2』, default: 『l2』

logisticregression預設帶了正則化項

。penalty引數可選擇的值為"l1"和"l2".分別對應l1的正則化和l2的正則化,預設是l2的正則化。在調參時如果我們主要的目的只是為了解決過擬合,一般penalty選擇l2正則化就夠了。但是如果選擇l2正則化發現還是過擬合,即**效果差的時候,就可以考慮l1正則化。另外,如果模型的特徵非常多,我們希望一些不重要的特徵係數歸零,從而讓模型係數稀疏化的話,也可以使用l1正則化。

penalty引數的選擇會影響我們損失函式優化演算法的選擇。即引數solver的選擇,如果是l2正則化,那麼4種可選的演算法都可以選擇。但是如果penalty是l1正則化的話,就只能選擇『liblinear』了。這是因為l1正則化的損失函式不是連續可導的,而這三種優化演算法時都需要損失函式的一階或者二階連續導數。而『liblinear』並沒有這個依賴。

dual : bool, default: false

dualor primal formulation. dual formulation is only implemented for l2 penalty withliblinear solver. prefer dual=false whenn_samples > n_features.

對偶或者原始方法。dual只適用於正則化相為l2 liblinear的情況,通常樣本數大於特徵數的情況下,預設為false。

c : float, default: 1.0

inverseof regularization strength; must be a positive float. like in support vectormachines, smaller values specify stronger regularization.

c為正則化係數λ的倒數,通常預設為1

fit_intercept : bool, default: true

specifiesif a constant (a.k.a. bias or intercept) should be added to the decisionfunction。

是否存在截距,預設存在

intercept_scaling : float, default 1.

演算法學習Task2

1 主成分估計 偏向於概率 設有p個回歸自變數,第i次試驗測得的實驗值,並將他們標準化消除量綱影響,記為 共n次實驗 標準化方法 方法很多,基本上機器學習裡的一些歸一化都可用於標準化 這樣就形成了n p矩陣x 可構造回歸模型 為p1的向量,為n1的誤差向量,0為常量,1為n1的列向量 經過主成分轉換...

深度學習Task2

讀入文字 分詞建立字典,將每個詞對映到乙個唯一的索引 index 將文字從詞的序列轉換為索引的序列,方便輸入模型 課後練習 語言模型 假設序列w1 w2 wt中的每個詞是依次生成的,我們有 語言模型的引數就是詞的概率以及給定前幾個詞情況下的條件概率。設訓練資料集為乙個大型文字語料庫,如維基百科的所有...

python基礎 打卡task2

your code here for i in range 1500 2701 if i 5 0 and i 7 0 print i 題目描述 話說這個世界上有各種各樣的兔子和烏龜,但是研究發現,所有的兔子和烏龜都有乙個共同的特點 喜歡賽跑。於是世界上各個角落都不斷在發生著烏龜和兔子的比賽,小華對此...