資料探勘學習 LASSO降維

2021-09-25 15:54:33 字數 1636 閱讀 9743

1.前言

今天碰到了多項式回歸以及正則化降維的知識點,還沒有全部搞懂,略微寫寫現在自己的理解,理解有錯誤多多包涵。

2.背景

再我們的實際處理資料中,我們會碰到很多高維的資料。這些高維的資料意思就是樣本基數n要遠小於資料維度p。這種情況就會叫做維災難。維災難也會很容易導致另乙個我們機器學習裡面很嚴重的乙個問題----overfitting。要想解決維災難,無非就是解決n << p的問題。要麼就增大n(提高樣本容量),要麼就減少p(降維)。第一種方法並不是我們主觀能決定的,實際中沒有那麼容易實現,那麼就是選擇去,降維。

先前就有學習降維的方法----主成分分析。但是這種方法是將所有的資料都做了變動,考慮到我只想去除某些我不需要的特徵屬性,保留原有的特徵屬性,那麼就採用另外一種降維方法----lasso正則化。

3.理論知識

對比linearregression,他的損失函式就是

這樣會出現乙個問題,就是像在多項式回歸時所講,我們這樣得到的向量w有可能數值很大,通過實驗我們不難發現這就是出現了overfitting的情況了。怎麼解決這個問題呢,也就說怎麼避免向量w出現很大的數字的情況呢。做法就是,加入乙個懲罰項(penalty item),如下圖所示:

這個懲罰項就限制了這個損失函式得到最小值時,向量w不會太大,要不然就否定了取極小值的定義了。值得注意的是λ和p引數,λ其實就是乙個係數,確定好後就不用再討論,而p的數值不同,決定有不同的正則化降維出現。

p=1時,就是l1 regularization,也就是lasso正則化。

p=2時,就是 l2 regularization,也就是嶺回歸,ridge回歸。

若僅僅取降維的話,這兩種正規化的方法效果基本一樣。得到的目標向量w中就不會出現值很大的情況。但是它們間有乙個區別,就是lasso正規化可以實現資料特徵選擇,也就是能使得結果向量w產生稀疏性,通俗的講就是向量w可能出現有0值。相反的,ridge回歸就沒有這種能力,它得到的結果向量w應該都是非0的。

4.專門講講lasso會產生稀疏性的理解(沒有完全理解)

我們可以將上面加入了懲罰項的損失函式換一種形態:

變成了有原函式和約束函式,而作為對比,ridge回歸的約束函式是2次方的。我們從簡單的角度考慮,若向量w只有兩維,w=(w1,w2),那麼在三維空間裡面,以w1,w2作地面,損失函式做垂直的座標軸。我們簡化一下,不用三維空間,將這個函式模型對映在w1,w2的底面上,以等高線的形式顯示損失函式的值。

觀察等高線,同一圓周的損失函式j值相等,同時最中心的是最小的。那取最小的就好了?不是的,加入懲罰項,就會有約束空間,即那個正方形和圓形。(w1,w2)必須在這裡取值。

未完待續。

機器學習之資料降維

資料降維 減少特徵數量 一 特徵選擇 1 特徵選擇原因 雜訊 部分特徵對 結果由影響 2 特徵選擇是什麼 filter 過濾式 方差大小 考慮所有樣本這個特徵的資料情況 sklearn.feature selection.variancethreshold variancethreshold thr...

資料降維PCA 學習筆記

pca降維。基於方差降維,屬於無監督學習。無需資料標籤。使方差 資料離散量 最大,變換後資料分開。更易於分類。可以對隱私資料pca,資料加密。基變換投影 內積 正交的基,兩個向量垂直 內積為0,線性無關 先將基化成各維度下的單位向量。一般把資料寫成列向量的形式,新的基寫成矩陣的形式。基 向量 基要在...

python降維分析 Python資料降維

一些資料降維的特徵提取演算法,先導入包和資料 import numpy as np import pandas as pd import matplotlib.pyplot as plt from mpl toolkits.mplot3d import axes3d from sklearn.dec...