白話ML(6):用Lasso Regression踢出渾水摸魚的變量

2021-03-02 持續學習的杜吉普

本文適合人群:對機器學習Machine Learning與數據感興趣的學習者

溫馨提示:閱讀本文之前,需對以下內容進行了解並掌握

白話ML:什麼是機器學習模型?ML Model

白話ML(2):產品經理都在用的線性回歸模型

白話ML(3):理解機器學習中的Bias與Variance

白話ML(4):公允的裁判-交叉驗證Cross-Validation評價模型

白話ML(5):更高端的線性回歸模型 - Ridge Regression (上篇文章)

本文白話什麼:

Lasso Regression - Ridge Regression的大兄弟

本文提綱:

什麼是Lasso Regression?

改變Penalty規則的意義什麼?

Ridge和Lasso之間該如何選擇?

Ridge和Lasso的應用場景

註:全文無編程,只含有少量計算,文章內容全部儘量通俗易懂化,請盡情享用。

 

什麼是Lasso Regression


Lasso regression和之前文章中的Ridge regression可以說是一對組合。他們都是在linear regression的基礎上加上了一個尾巴Penalty,使得原來的linear regression發生了一定的變化。具體的變化規則,請詳細閱讀Ridge regression 文章

Lasso regression和ridge regression 的區別就是尾巴上的slope^2變成了|slope|多了一個絕對值符號。如下圖,上面是ridge regression的訓練準則,下面是Lasso的,這個小小的改變看似無關緊要,但其實作用很大。


改變Penalty規則的意義


意義在於ridge regression只能將slope減小到接近0,而Lasso regression能夠將slope減小至0 ,通過下圖,我們可以看出,當λ變大,slope就會接近於0,並且最終等於0。

 

如果我們最終找到的最優λ恰好可以使某些變量的coefficient變成0,那麼這就意味著,Lasso regression可以減少變量的數量,讓更少的變量參與到模型的建立中,這種建立方式可以將那些原本對於target value貢獻度不大的變量徹底踢出隊伍。如下圖所示。

 

如何選擇ridge和lasso?

當你已經提前知道所有變量都是會對target value產生影響時,你可以優先選擇ridge regression。

當你對於數據意義沒有清晰認知時,可以優先選擇lasso regression,因為lasso regression能夠將沒有用(useless)的變量排除於最後的模型中。這使得最終的模型更加輕量化(simpler)同時也更加容易解釋(interpret)。

 

 

應用場景


曾經做過一個機器學習的項目,是幫助Santander建立客戶滿意度預測模型。變量數有幾百個,並且變量名由於商業原因全部脫敏,也就是說我們對於變量的意義完全不知道。這個時候,為了減少變量數量,減輕訓練壓力,我們就可以通過Lasso regression對於變量進行瘦身,先初篩出對於預測結果有幫助的變量再進行之後的處理。

 

本文參考信息來源:

SateQuest

機器學習項目來源:

Kaggle https://www.kaggle.com/c/santander-customer-satisfaction

-


白話ML就到這裡,下期預告:人類最好理解的機器學習模型:決策樹Decision Tree

PS:有任何疑問歡迎留言,本文完全個人淺薄理解,如有不足歡迎評論區指正。

我是杜吉普,致力於 數據+數據技術+商業場景=商業價值

歡迎關注我,讓我們共同持續成長。

相關焦點

  • 白話ML(5):更高端的線性回歸模型-Ridge Regression
    ML Model白話ML(2):產品經理都在用的線性回歸模型白話ML(3):理解機器學習中的Bias與Variance白話ML(4):公允的裁判-交叉驗證Cross-Validation評價模型本文白話什麼:更高端的回歸預測:Ridge Regression
  • 用R進行Lasso regression回歸分析
    ,嶺回歸lasso regression,套索回歸elastic-net regression,彈性網絡回歸這3者的區別就在於正則化的不同,套索回歸使用回歸係數的絕對值之和作為正則項,即L1範式;嶺回歸採用的是回歸係數的平方和,即L2範式;彈性網絡回歸同時採用了以上兩種策略,其正則項示意如下可以看到,加號左邊對應的是lasso
  • Stata16 新功能之Lasso系列(三):使用Lasso時,如何進行統計推斷(雙重選擇回歸)
    這些方法包括「雙重選擇回歸」(double selection regression)、「偏回歸法」(partialing-out regression)以及「交叉擬合偏回歸」(cross-fit partialing-out regression,也稱「雙重機器學習」,即 double machine learning)。目前,這三種方法均可在Stata 16中實現,本公眾號將依次介紹。
  • 醫學統計與R語言:Adaptive LASSO
    model. type.measure="class" applies to binomial and multinomial logistic regression only, and gives misclassification error. type.measure="auc" is for two-class logistic regression only, and gives area
  • 線性回歸進階——嶺回歸和lasso回歸
    說起線性回歸大家肯定都不陌生,我們經常用這種手段來揭示一組變量間的相關性,一般情況下,我們用線性函數來對數據做出擬合,通過殘差來計算差異度
  • 前沿: Lasso, 嶺回歸, 彈性網估計在軟體中的實現流程和示例解讀
    高維回歸方法: Ridge, Lasso, Elastic Net用了嗎,3.共線性、過度/不能識別問題的Solutions,4.Lasso回歸操作指南, 數據, 程序和解讀都有,5.七種常用回歸技術,如何正確選擇回歸模型?,6.
  • 使用python+sklearn實現在密集和稀疏數據上訓練Lasso
    輸出:--- Dense matricesSparse Lasso done in 0.106757sDense Lasso done in 0.039164sDistance between coefficients : 1.0705405751792344e-13--- Sparse matricesMatrix density
  • 【統計學習11】Ridge&Lasso對比和最優參數選擇
    ISLR(6.2)- 正則化Ridge & Lasso模型對比與最優參數選擇筆記要點:
  • 用Python進行機器學習(附代碼、學習資源)
    對那些更高維度並且變量相互作用的數據集,如果你試圖每次只查看單個輸入變量和輸出之間的關係,會得出完全錯誤的結論。而且目前沒有什麼好辦法同時顯示兩個以上的變量。所以,我們必須採用某種機器學習的技術來擬合多維數據集。 實際上,已經有了不少好的解決方案。
  • 手把手帶你畫高大上的lasso回歸模型圖
    各位芝士好友,今天我們來聊一聊lasso回歸算法。與預後有關的文章,傳統的做法一般會選擇多變量cox回歸,高級做法自然就是我們今天的lasso分析。
  • 一句代碼完成lasso回歸
    但是lasso等統計學算法對絕大部分半路出家的數據分析師來說,想從原理到操作全部吃透還是有一點困難的。3C-AAAU 4047      0TCGA-3C-AALI 4005      0TCGA-3C-AALJ 1474      0TCGA-3C-AALK 1448      0TCGA-4H-AAAK  348      0TCGA-5L-AAT0 1477      0可以看到,雖然變量名都是
  • 什麼是不好的控制變量, 什麼又是好的控制變量?
    今天,咱們小組引薦的,是關於控制變量選擇的議題,即何為不好的(好的)控制變量?不好的控制變量最好不要引入到回歸模型中來,因為會造成咱們習以為常的「選擇性偏誤問題」。那到底什麼是不好的控制變量呢?它指的是會受到解釋變量影響的變量,即這些控制變量並沒有在解釋變量受到影響之前就已經是前置決定了的(predetermined)。比如,研究學歷對收入的影響,那咱們是不是需要控制一下職業呢?
  • Regression Tree 回歸樹
    CART同樣由特徵選擇、樹的生成及剪枝組成,既可以用於分類也可以用於回歸。圖2給出了三種比較常見決策樹的一個比較總結,希望可以幫助大家更好的理解。我們這裡重點介紹一下CART回歸樹算法。2.2 理論解釋假設X和Y分別為輸入和輸出變量,並且Y是連續變量,給定訓練數據集
  • 【Vue原理】Props - 白話版
    專注 Vue 源碼分享,為了方便大家理解,分為了白話版和 源碼版,白話版讓大家可以輕鬆理解工作原理,源碼版讓大家更清楚內部操作和 Vue的美,喜歡我就關注我,好吧兄弟,不會讓你失望的 今天我們用白話文解讀props 的工作原理props 真的挺有用的,作為父傳子的載體,大家肯定都用過,但是你有沒有想過,Props 到底是怎麼工作的?
  • 控制變量選擇問題: 如何鑑別好或不好的控制變量?附上14篇相關文章!
    2.如何選擇正確的因變量(控制變量),讓你的計量模型不再骯髒,3.調節變量, 中介變量和控制變量啥區別與聯繫? 4.控制、調節和中介變量,系說,5.核心解釋變量A不顯著, 但加入變量B後, 為什麼A和B都顯著了?6.被解釋變量比解釋變量的層級更高的模型設定合理麼?7.審稿: 協變量何時重要? 哪個重要, 有多重要?
  • 使用python+sklearn實現用於稀疏信號的Lasso和彈性網
    sphx_glr_plot_lasso_and_elasticnet_001輸出:Lasso(alpha=0.1)r^2 on test data : 0.658064ElasticNet(alpha=0.1, l1_ratio=0.7)r^2 on test data : 0.642515print(__doc_
  • 分位數回歸[Quantile regression]
    普通線性回歸(Ordinary linear regression,OLS)模型關注的是均值,研究的是在某些解釋變量在取值固定的條件下響應變量的期望均值,模型估計方法是最小二乘法,使各個樣本殘差平方和最小。但是線性回歸最基本的假設是殘差滿足正態分布、隨機獨立、方差齊同,現實中這些條件常常得不到滿足。
  • 白話區塊鏈 之6 - 比特幣核心程序
    白話區塊鏈 之2: 區塊鏈技術理念白話區塊鏈 之3: 區塊鏈技術棧白話區塊鏈 之4: 區塊鏈分類與架構白話區塊鏈 之5 -  創世元靈:一切源自比特幣下面的段落是:第1章第6節 《比特幣核心程序:中本聰客戶端》,對應原書的第1章的1.4.2節。