中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Lasso算法理論介紹

先看一波過擬合:


圖中,紅色的線存在明顯的過擬合,綠色的線才是合理的擬合曲線,為了避免過擬合,我們可以引入正則化。

下面可以利用正則化來解決曲線擬合過程中的過擬合發(fā)生,存在均方根誤差也叫標(biāo)準(zhǔn)誤差,即為√[∑di^2/n]=Re,n為測量次數(shù);di為一組測量值與真值的偏差。


實際考慮回歸的過程中,我們需要考慮到誤差項,


這個和簡單的線性回歸的公式相似,而在正則化下來優(yōu)化過擬合這件事情的時候,會加入一個約束條件,也就是懲罰函數(shù):


這邊這個懲罰函數(shù)有多種形式,比較常用的有l(wèi)1,l2,大概有如下幾種:


講一下比較常用的兩種情況,q=1和q=2的情況:

q=1,也就是今天想講的lasso回歸,為什么lasso可以控制過擬合呢,因為在數(shù)據(jù)訓(xùn)練的過程中,可能有幾百個,或者幾千個變量,再過多的變量衡量目標(biāo)函數(shù)的因變量的時候,可能造成結(jié)果的過度解釋,而通過q=1下的懲罰函數(shù)來限制變量個數(shù)的情況,可以優(yōu)先篩選掉一些不是特別重要的變量,見下圖:


作圖只要不是特殊情況下與正方形的邊相切,一定是與某個頂點優(yōu)先相交,那必然存在橫縱坐標(biāo)軸中的一個系數(shù)為0,起到對變量的篩選的作用。

q=2的時候,其實就可以看作是上面這個藍色的圓,在這個圓的限制下,點可以是圓上的任意一點,所以q=2的時候也叫做嶺回歸,嶺回歸是起不到壓縮變量的作用的,在這個圖里也是可以看出來的。

lasso回歸:

lasso回歸的特色就是在建立廣義線型模型的時候,這里廣義線型模型包含一維連續(xù)因變量、多維連續(xù)因變量、非負次數(shù)因變量、二元離散因變量、多元離散因變,除此之外,無論因變量是連續(xù)的還是離散的,lasso都能處理,總的來說,lasso對于數(shù)據(jù)的要求是極其低的,所以應(yīng)用程度較廣;除此之外,lasso還能夠?qū)ψ兞窟M行篩選和對模型的復(fù)雜程度進行降低。這里的變量篩選是指不把所有的變量都放入模型中進行擬合,而是有選擇的把變量放入模型從而得到更好的性能參數(shù)。 復(fù)雜度調(diào)整是指通過一系列參數(shù)控制模型的復(fù)雜度,從而避免過度擬合(Overfitting)。 對于線性模型來說,復(fù)雜度與模型的變量數(shù)有直接關(guān)系,變量數(shù)越多,模型復(fù)雜度就越高。 更多的變量在擬合時往往可以給出一個看似更好的模型,但是同時也面臨過度擬合的危險。

lasso的復(fù)雜程度由λ來控制,λ越大對變量較多的線性模型的懲罰力度就越大,從而最終獲得一個變量較少的模型。除此之外,另一個參數(shù)α來控制應(yīng)對高相關(guān)性(highly correlated)數(shù)據(jù)時模型的性狀。 LASSO回歸α=1,Ridge回歸α=0,這就對應(yīng)了懲罰函數(shù)的形式和目的。我們可以通過嘗試若干次不同值下的λ,來選取最優(yōu)λ下的參數(shù),還可以結(jié)合CV選擇最優(yōu)秀的模型。

##讀取數(shù)據(jù)

setwd("~/Desktop")

library(glmnet)
train_origin<-read.table('trian.txt',header = T,fill = T)
test_origin<-read.table('test.txt',header = T,fill = T)
train_test1<-train_origin
train_test1<-train_test1[,-9]
train_test1$tag<-as.factor(train_test1$tag)
train_test1$risk_level<-as.factor(train_test1$risk_level)
x<-train_test1[,3:11]
y<-train_test1[,2]

## one hot encoding
x1<-model.matrix(~., x)

通常數(shù)據(jù)中會存在離散點,而lasso在R里面是通過數(shù)值矩陣來做輸入的,所以需要對原數(shù)據(jù)做一步預(yù)處理,不然這邊會拋錯誤;除此之外,如果數(shù)據(jù)之間差別的數(shù)量級較大,還需要進行標(biāo)準(zhǔn)化,R里面也是可以進行處理的,這邊就不贅述了,glmnet()函數(shù)中添加參數(shù)standardize = TRUE來實現(xiàn),scale()函數(shù)也可以實現(xiàn),自行選擇即可。

##模型訓(xùn)練

model = glmnet(x1, y, family="binomial", nlambda=50, alpha=1)

family里面是指選擇函數(shù)的類型:

familyexplation
gaussianunivariate
mgaussianmultivariate
poissoncount
binomialbinary
multinomialcategory

lambda是指隨機選擇λ,做lambda個模型;alpha是上述講到的α,選擇懲罰函數(shù),正常情況下,1是lasso,0是嶺回歸

這邊模型拓展可以交叉檢驗一下,有內(nèi)置的函數(shù):

cvmodel = cv.glmnet(x1, y, family = "binomial", type.measure = "class",nfolds=10)

這邊會多出來一個type.measure,這個type.measure是指期望最小化的目標(biāo)參量是什么,換句話說,就是衡量這個模型的指標(biāo)函數(shù)是啥:

type.measuredetails
deviance-2倍的Log-likelihood
msemean squred error
maemean absolute error
classmissclassification error
auc area under the ROC curve
比較常用的是auc,這個就是現(xiàn)在比較主流的衡量一個模型好壞的roc所衍生出來的一個值;我們這邊用的是class,也就是模型錯誤分配的概率,結(jié)合我這次業(yè)務(wù)開發(fā)的實際業(yè)務(wù)場景,這個更合適一點;nfolds是指folds數(shù)目,也可以通過foldid數(shù)來控制每個fold里面的數(shù)據(jù)數(shù)量。

對于glmnet,可以通過plot(model)來觀察每個自變量的變化軌跡,cv.glmnet可以通過plot(cvmodel)

舉個plot(cvmodel)的例子:


可以通過c(cvfit$lambda.min, cvfit$lambda.1se)來看在所有的λ值中,得到最小目標(biāo)函數(shù)type.measure均值的cvfit$lambda.min,以及其所對應(yīng)的λ值cvfit$lambda.1se。


我們可以print(model),在實際的選擇模型中λ值的過程里,存在三個指標(biāo):df:自由度, %Dev:殘差被解釋的占比,也就是模型的好壞程度,Lambda也就是λ值所對應(yīng)的值,然后我們可以通過coef(fit, s=c(fit$lambda[35],0.002))得出當(dāng)時模型所對應(yīng)的系數(shù)。

最后,講一下elastic net

elastic net融合了l1范數(shù)和l2范數(shù)兩種正則化的方法,上面的嶺回歸和lasso回歸都可以看做它的特例:


elastic net對于p遠大于n,或者嚴(yán)重的多重共線性情況有明顯的效果,很好理解,當(dāng)alpha接近1時,elastic net表現(xiàn)很接近lasso,一般來說,elastic net是嶺回歸和lasso的很好的折中,當(dāng)alpha從0變化到1,目標(biāo)函數(shù)的稀疏解(部分變量的系數(shù)為0)也從0單調(diào)增加到lasso的稀疏解。

之前看到有人這樣總結(jié)變量選擇,可以拿出來和大家分享一下:
1)子集選擇 這是傳統(tǒng)的方法,包括逐步回歸和最優(yōu)子集法等,對可能的部分子集擬合線性模型,利用判別準(zhǔn)則 (如AIC,BIC,Cp,調(diào)整R2 等)決定最優(yōu)的模型
2)收縮方法(shrinkage method) 收縮方法又稱為正則化(regularization)。主要是嶺回歸(ridge regression)和lasso回歸。通過對最小二乘估計加入罰約束,使某些系數(shù)的估計為0。( 嶺回歸:消除共線性 ; 模的平方處理 Lasso回歸:壓縮變量,起降維作用 模處理
(3)維數(shù)縮減 主成分回歸(PCR)和偏最小二乘回歸(PLS)的方法。把p個預(yù)測變量投影到m維空間(m<p),利用投影得到的不相關(guān)的組合建立線性模型。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
熱門數(shù)據(jù)挖掘模型應(yīng)用入門: LASSO回歸 | 人人都是數(shù)據(jù)咖
【視頻】Lasso回歸、嶺回歸等正則化回歸數(shù)學(xué)原理及R語言實例
預(yù)后建模繞不開的lasso cox回歸
用R進行Lasso regression回歸分析
高分生信SCI套路攻略!精選我最喜歡的3大套路!誰用誰高分?。ǜ酱a)
LASSO回歸也可以用來做單細胞分類
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服