您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何理解LR模型,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
為什么是LR
什么是LR大家已經知道了,但還有一個問題卻沒有回答。那就是為什么早年的時候LR模型如此受歡迎呢?難道就不能使用其他一些看起來高級一些的模型嗎,比如決策樹、隨機森林、GBDT?不是說XGBoost在各種比賽的效果都非常好嗎?為什么業內不用來做推薦呢?
尤其是當我讀到2014年Facebook推出的GBDT+LR的paper的時候,這種困惑更是明顯。
這篇論文非常經典,在業內地位很重,甚至可以說是推薦領域必讀的paper之一。深度學習興起之前很多公司和廠商都沿用了這個做法,論文當中的做法倒是不難,說是創新的做法,其實本質上就是將GBDT預測的時候樣本落到的節點作為multi-hot編碼,然后將這個編碼之后的01的數組看成是新的特征,然后用這個轉換過的特征來訓練LR。可以說它的本質仍然是訓練LR,所謂的GBDT只不過是一個編碼器。
我當時看這篇paper的時候,里面的意思都已經理解了,但是有一個問題怎么也沒想明白。既然都用GBDT了,結合其他模型不香嗎,非得結合LR?
我估計這個問題很多在推薦領域的從業者可能也未必答得上來,我先賣個關子,把問題記在這里,等會晚點來回答。
推薦領域的特征有什么特點?
在算法領域,提及效果,特征和模型兩者是一體兩面,很難剝離。好的模型也需要好的特征支撐,好的特征需要好的模型才能充分表達。所以我們先把模型的問題放一放,來思考一下特征。
推薦領域主要的特征只有三塊,以電商為例,分別是item,user和context。也就是商品,用戶以及環境信息,比如時間,地點,展示位置等等。context特征比較少,來來回回就那么幾樣,我們也先放一放。剩下的就是用戶和商品,圍繞用戶和商品我們形成的特征主要又可以分成兩個部分,一個是基礎特征,另外一個是統計特征。
以商品舉例,基礎特征就是品牌、價格、類目、評價,統計特征就是最近點擊率、最近銷售額、最近轉化率等等。這些特征按照類別分又可以分為兩種,一種是浮點型的連續型特征,一種是類別特征,比如商品的類目,品牌等等。到這里都很正常,沒有什么難理解,或者是不可思議的部分。
我們接著往下,再來看看模型要預測的目標——點擊率。我們結合一下模型預測的目標再來觀察一下前面列舉的特征,你會發現,除了歷史點擊率、歷史轉化率等少數幾個指標和最終的結果是強正相關之外,其他的浮點型的特征沒有特別明顯的正相關或者是負相關。可以說商品的價格和點擊率負相關嗎?其實不太行,商品越便宜可能質量越差,反而不會有人點。用戶的購買力呢?越有錢點的商品越多嗎?也不成立。
正是因為上面說的這個原因,所以在推薦領域,效果很好的浮點型特征很少,大部分都是類別特征,也就是01特征。
所以你說GBDT、隨機森林、XGboost這些模型的效果會很好嗎?很難說,因為這些模型的長處往往都在浮點型特征,也就是連續型特征。這些樹模型會設計規則對這些連續特征進行分段,如果大部分特征都是01特征,那還怎么分段呢?
所以,到這里也就回答了,為什么在深度學習模型興起之前,推薦領域普遍都使用LR,而不是那些看著很牛的樹模型。
LR模型的原理
LR模型也就是純線性模型,它可以簡單理解成若干個特征的加權和。每個特征的權重或大或小,最后累加在一起,得到一個預測的概率。這毫無毛病,也是學過的人都知道。
但我們往下一層,有沒有想過這一點在推薦領域意味著什么呢?
意味著模型其實是”記住“了每個特征和最終結果的關系,我們把模型擬人化,把它看成一個機器人的話。機器人看到樣本有特征A并且點擊了,于是特征A的權重提升一點,樣本有特征B但是沒點擊,于是把特征B的權重降低一些。模型就是在這樣一個策略當中找到一個最佳的平衡。
這就意味著,一些容易被記憶的特征往往會發揮比較好的效果。比如男士通常會買煙,女士通常買口紅,那么我們就可以設計男士_煙和女士_口紅的組合特征。當模型看到大部分男士看到煙都點擊了之后,它就能學到這個組合是一個強特征并給與一個比較高的權重。這樣只要我們盡可能地找出這些特征的組合,那么模型就可以得到很好的效果。
所以到這里大家就明白了,LR模型在推薦領域發揮作用,本質上就是靠的“記性”。因為它可以記住那些類別特征以及類別特征的組合,所以它往往比那些看起來更高端的樹模型效果要好。這也是為什么到了LR時代的后期,算法工程師們的工作就是整天挖掘一些類別特征的組合,以期望模型達到很好的效果。
LR模型的優缺點
到這里,關于LR模型在推薦領域的應用就差不多說完了,我們做一個簡單的總結,首先從它的優點開始說起。
LR模型的優點教科書上已經說了很多了,比如訓練速度快,由于參數空間比較小,LR模型可以迅速收斂,它的訓練速度要比那些樹模型以及后面的深度學習模型快得多。其次是可解釋性強,由于我們可以查閱得到所有特征的權重,所以我們很容易解釋究竟是什么特征發揮了作用,或者是什么特征拖了后腿。
但是LR在推薦領域也有一個很大的缺點,是什么呢,就是臟活累活很多。
因為幾乎所有的特征組合都需要人工挖取,需要人工遍歷很多特征組合,甚至是一一嘗試找到最佳的組合。這個過程當中需要花費大量的人力,幾乎可以說是純堆人工。所以對于LR時代的算法工程師來說可能螺絲的感覺比現在還要嚴重得多,什么優化模型基本上是不用想了,LR這么簡單的模型也沒什么優化的空間,剩下的事情基本上就只有做特征做實驗了。
以上就是如何理解LR模型,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。