wide&deep模型中為什麼要將連續特徵離散化?

論文中有這樣一段: Continuous real-valued features are normalized to [0,1] by mapping a feature value x to its cumulative distribution function P(X&<=x), divided into nq quantiles. The normalized value is (i-1)/(nq-1) for values in the i-th quantiles. Quantiles boundaries are computed during data generation.

我知道求 P(X&<=x)可以將不同的特徵都歸一化到[0,1]內,這是個很好的性質,但為什麼還要有後面的那步分段操作呢?另外這裡的分段是均勻的嗎?

注意這裡離散化後仍然是一個[0,1]間的浮點數,但只能取nq個值,不同於常見的one hot離散化。a88i99的回答中提到粗粒化可以提高泛化能力,但我覺得分段後在分界點會附近特徵值會發生突變是個不好的性質,怎麼理解?


謝邀!

這個問題要從模型的表達能力說起,對於WideDeep,Wide負責Memorization,Deep負責Generalization。Wide部分要能夠做好Memorization,那也需要對Continuous Feature做準確刻畫。Wide部分是一個LR,那麼這個問題就轉化為LR部分如何做離散化了,percentile只是離散化的一種方法,至於離散化的優點,參考這個問題:知乎用戶:連續特徵的離散化:在什麼情況下將連續的特徵離散化之後可以獲得更好的效果?。

再說,這種離散化對於Deep部分有幫助嗎?從實踐來看,有!目前學術界和工業界都還沒有嚴格的證明為什麼會有幫助,個人的理解是,一個Feature的不同區間獲得了不同的表示(Embedding),同時這些不同的區間再在模型Neural Network中配合網路權重和激活函數獲得更細緻的刻畫,因此,模型效果得到了提高。Google16年在 Deep Neural Networks for YouTube Recommendations這篇論文中也是類似的策略,同時加入了連續的Cumulative distribution(不過這點我在測試中並沒有發現有效果提升)。

至於分段是不是均勻,從實際效果來看,我更建議保證每段的樣本相對均勻。

最後,挖個坑,目前在Applied Deep Neural Network中,模型的表達其實是由Data Information(Embedding)和Model Structure Information共同決定的,那麼怎麼才能根據模型和應用調整數據表示方法呢?有機會展開講。


這段話我看起來只是做歸一化啊,有說要把連續值離散化嗎


這個問題等價於為何大規模LR都要降連續特種離散化。

LR為何離散化,文章太多了,不說了。

不一定是均勻的,均勻屬於無腦方法,數據多的時候可以。

如何離散化,除了人的知識來離散化,先弄個樹模型,看樹的分裂節點。


瀉藥。

為了答這個問題,我專門看了一下這篇文章。先上與之相關的圖吧。

這裡連續特徵並未做embedding,如年齡,安裝app數量等。那為什麼沒做embedding ,而類別特徵又做了embedding呢?

何時需要做embedding

比如,用戶裝了陌陌這個app,其實它意味著用戶相關的信息量是很大的,對吧?肯定不止一維!若不做embedding,我們用0/1來表示是否安裝,這樣表示太粗糙了,很多信息未挖掘出來,泛化能力差。但若用了10維的embedding,不同的維度代表不同的含義,就很好。

若以自然語言來舉例,狗、貓、大橋是三個詞。若用onehot編碼,兩兩的相似度(歐式距離)都是相同的。但常識告訴我們,狗與貓肯定更相似,距離應該更短。而詞向量的引入,即embedding表示,解決了這個問題。

而年齡這類特徵,已經不能再分解了,它已經是最細粒度了。所以這些連續特徵未做embedding。也可以認為,它已是一維embedding,然後與其他embedding 拼接成一個長向量。

so far so good,讓我們來直接回答題主的問題。連續特徵歸一化後,為什麼還要分段處理??這裡絕對不是onehot!!因為表示的維度未變,都是1。這樣做是粗粒化,為了增加泛化能力。下面以歸一化後的年齡舉例來說明:

假設分五段,0.23, 0.26都用0.2來近似,即0.23歲與0.26歲,對於曝光後是否點擊並安裝這個app,是沒區別的。

embedding 也叫分散式表示,那分散式表示還有什麼優點呢,相對onehot表示?有興趣的話,我再答吧。

論文鏈接

https://arxiv.org/pdf/1606.07792.pdf


推薦閱讀:

TAG:機器學習 | 深度學習DeepLearning |