本文適合人群:對機器學習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:有任何疑問歡迎留言,本文完全個人淺薄理解,如有不足歡迎評論區指正。
我是杜吉普,致力於 數據+數據技術+商業場景=商業價值
歡迎關注我,讓我們共同持續成長。