作者:@三瘋蘭尼斯特 && @Ainika Peng

時間:2017年11月

出處:

https://

zhuanlan。zhihu。com/p/31

530953

宣告:版權所有,轉載請聯絡作者並註明出處。

前面章節講了LR的各個基礎元件和擴充套件元件。這一節,我們介紹LR的一種擴充套件演算法 —— MLR演算法,並詳細討論它在Objective和Regularization上對LR的改進。

系列目錄傳送門見 -- CTR預估系列一覽表

1。1。6 MLR

LR 是一個線性模型。在LR中,模型在資料空間中生成一個線性分割平面,因此對於非線性的資料分佈分割效果不佳。以下圖為例,A)為一組非線性訓練資料的正負樣本分佈;對於該問題,LR會生成B)中的分割平面,而這顯然與原資料分佈相去甚遠。

CTR預估[五]: Algorithm-LR擴充套件: MLR

MLR全稱Mixture of Logistic Regression,是一種試圖在模型側新增非線性特性的方法。MLR的主要思路在於:單一LR很難分割的問題,可以透過將資料劃分不同的region、每個region分別建立LR的方式分而治之。

在CTR問題中,劃分場景分別建模是一種常見的手法。例如,同一產品的PC/M/APP三端,其使用者的使用時間和習慣差異可能很大;比如PC可能更多是辦公時間在看,而手機則是通勤時間或者臨睡前使用更多。假設有hour作為特徵,那麼“hour=23”對於APP端更加有資訊量,而對於PC可能意義不大。因此,區分PC/M/APP三端分別建模可能提升效果。

自然地,如何找到劃分region的規則是MLR問題的核心之一。如果需要手動劃分region,方案非常依賴最初的劃分。MLR的思路是:

每個sample按權重劃分到不同的region中分別建模。

注意:並不是一個樣本被唯一分到了一個region, 而是按權重分到了不同的region。

1。1。6。1 MLR: Definition and Objective

引數定義如下:

n

: 樣本數

d

: 特徵總維數

m

: m 個region ——

超引數:一般是10~100

\Theta=\{\mu_1,\dots,\mu_m, w_1,\dots,w_m \}

這裡和LR有一些區別:

對於每個feature, 其權重w是一個vector,而不是LR裡面的一個value。如feature

k

記作

[w_1^{(k)}, \dots, w_m^{(k)}]

MLR的通用定義如下:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p(y=1|x) = \underbrace{g}_{保證歸一} \left( \sum_{j=1}^m \underbrace{ \sigma(\mu_j^T x) }_{分region} ~ \underbrace{ \eta(w_j^Tx) }_{每個region的learner} \right)

常規情況中,

\eta()

函式即一個LR。直觀描述為:把樣本根據

\sigma()

作為權重劃分到不同region, 再在不同region中用LR求解,之後對結果進行歸一,使其滿足輸出要求。

Special Case

: 用softmax做分片分region之後,用sigmoid做預估:

\begin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p(y=1|x) &= \underbrace{g}_{g(x)=x} \left( \sum_{j=1}^m \underbrace{ \sigma(\mu_j^T x) }_{\sigma(x)=softmax} ~ \underbrace{ \eta(w_j^Tx) }_{\eta()=sigmoid} \right) \\ &= \sum_{i=1}^m \frac{e^{\mu_i^Tx}}{\sum_{j=1}^m e^{\mu_j^Tx}} ~ \frac{1}{1+e^{-w_i^Tx}} \end{split}

Objective and loss:和LR類似,不再展開:

\begin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Obj &= \arg \min_\Theta f(\Theta) \\&= loss(\Theta) + reg(\Theta)\\ loss(\Theta) &= logloss \end{split}

1。1。6。2 MLR: Regularization

MLR 的正則化和之前略有區別,其中

L_1

正則保證稀疏性和前序一致,而

L_{2,1}

是一種相對少見的分組正則方式:

\begin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Reg(\Theta) &= \lambda ||\Theta||_{2,1} + \beta||\Theta||_1\\ ||\Theta||_{1} &= \sum_{ij} |\theta_{ij}| &- sparsity\\ ||\Theta||_{2,1} &= \sum_{i=1}^d \sqrt{\sum_{j=1}^{2m} \theta_{ij}^2} &- feature ~selection \end{split}

L_{2,1}

可用下圖解釋

CTR預估[五]: Algorithm-LR擴充套件: MLR

內側的

\sqrt{\sum_{j=1}^{2m} \theta_{ij}^2}

是針對一個feature的所有引數進行L2正則;

外側的

\sum_{i=1}^d \sqrt{\sum_{j=1}^{2m} \theta_{ij}^2}

是針對所有feature進行feature Selection。

L_{2,1}

的作用在於求分組稀疏解,為什麼求分組稀疏解?

因為每維特徵對應不止一個引數(和LR對比:LR中每維特徵只有一個引數

w

),所以需要這些引數都為0才能說明這維引數是“無意義的/可以被忽略的”,否則是需要保留的。

前面幾節中,我們從Naive LR、LR+Regularization、LR 的bias和運用、LR的擴充套件-MLR等方面介紹了一系列LR相關的演算法。

總結一下,LR相關章節關係和傳送門如下:

CTR預估[五]: Algorithm-LR擴充套件: MLR

基礎的LR推導以及LR和統計的關係

正則化

Bias運用

LR的Model擴充套件 - MLR