1. 程式人生 > >機器學習(四)—邏輯回歸LR

機器學習(四)—邏輯回歸LR

-s 劃分 也有 進行 完美 特征處理 tin 向量 進一步

1、關於模型在各個維度進行不均勻伸縮後,最優解與原來等價嗎?

  答:等不等價要看最終的誤差優化函數。如果經過變化後最終的優化函數等價則等價。明白了這一點,那麽很容易得到,如果對原來的特征乘除某一常數,則等價。做加減和取對數都不等價。

2. 過擬合和欠擬合如何產生,如何解決?

  欠擬合:根本原因是特征維度過少,導致擬合的函數無法滿足訓練集,誤差較大;
      解決方法:增加特征維度;
  過擬合:根本原因是特征維度過大,導致擬合的函數完美的經過訓練集,但對新數據的預測結果差。
      解決方法:(1)減少特征維度;(2)正則化,降低參數值。

  減少過擬合總結:過擬合主要是有兩個原因造成的:數據太少+模型太復雜
  (1)獲取更多數據 :從數據源頭獲取更多數據;數據增強(Data Augmentation)


  (2)使用合適的模型:減少網絡的層數、神經元個數等均可以限制網絡的擬合能力;
  (3)dropout
  (3)正則化,在訓練的時候限制權值變大;
  (4)限制訓練時間;通過評估測試;
  (4)增加噪聲 Noise: 輸入時+權重上(高斯初始化)
  (5)結合多種模型: Bagging用不同的模型擬合不同部分的訓練集;Boosting只使用簡單的神經網絡;

3、關於邏輯回歸,連續特征離散化的好處

  在工業界,很少直接將連續值作為特征餵給邏輯回歸模型,而是將連續特征離散化為一系列0、1特征交給邏輯回歸模型,這樣做的優勢有以下幾點:

  1. 稀疏向量內積乘法運算速度快,計算結果方便存儲,容易scalable(擴展)。

  2. 離散化後的特征對異常數據有很強的魯棒性:比如一個特征是年齡>30是1,否則0。如果特征沒有離散化,一個異常數據“年齡300歲”會給模型造成很大的幹擾。

  3. 邏輯回歸屬於廣義線性模型,表達能力受限;單變量離散化為N個後,每個變量有單獨的權重,相當於為模型引入了非線性,能夠提升模型表達能力,加大擬合。

  4. 離散化後可以進行特征交叉,由M+N個變量變為M*N個變量,進一步引入非線性,提升表達能力。

  5. 特征離散化後,模型會更穩定,比如如果對用戶年齡離散化,20-30作為一個區間,不會因為一個用戶年齡長了一歲就變成一個完全不同的人。當然處於區間相鄰處的樣本會剛好相反,所以怎麽劃分區間是門學問。

  大概的理解:1)計算簡單;2)簡化模型;3)增強模型的泛化能力,不易受噪聲的影響。

4、一些問題:
  解決過擬合的方法:數據擴充、正則項、提前終止
  如何用LR建立一個廣告點擊的模型:
    特征提取—>特征處理(離散化、歸一化、onehot等)—>找出候選集—->模型訓練,得到結果
  為什麽LR需要歸一化或取對數?
    符合假設、利於分析、歸一化也有利於梯度下降
  為什麽LR把特征離散化後效果更好?
    引入非線性

機器學習(四)—邏輯回歸LR