日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

[深度学习]CTR模型如何加入稠密连续型|多值类别特征

發布時間:2023/12/15 pytorch 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [深度学习]CTR模型如何加入稠密连续型|多值类别特征 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 稠密連續類型特征的處理

在點擊率預估問題中,可以嘗試的幾種方法

1.歸一化后直接拼接到embedding向量側dnn部分,不參與fm部分交叉

  • 歸一化的方式可以包括:直接對原始特征做歸一化;通過bn層來做歸一化。
  • 因為FM里要求不同field之間有相同的embedding dimension, 所以數值型特征這么加的話是不參與FM的
  • 歸一化總是有好處的。未歸一化的數據會導致nn反向傳播過程中grads的均值和方差過大,不利于網絡的學習和收斂。

2.離散化后作為id feature 類別特征, embedding后與其他sparse feature的embedding 一起參與fm的交叉

離散化有兩個好處:一是引入非線性。當label與該dense feature不是線性關系時,一個w * dense feature是不能很好刻劃模型的,所有的dense feature共用一個w表達能力是比較差的。但是離散化之后就變成了對不同的離散化值學習不同的系數,這樣就能很好的提升非線性能力;二是可以過濾一些異常值。異常值會跟其它值分到一個桶里,對模型的影響就會很少。

3.對每個原始稠密特征X維護一個詞嵌入向量embedding vector V,然后把原始稠密特征和權重向量相乘 X*V 得到最終的特征向量.

相當于一個稠密特征映射成一個特征向量,之后和類別映射的詞嵌入矩陣進行拼接參與fm的交叉。此時仍然可以發現,這樣相當于原始稠密特征也可以和類別特征進行交叉特征提取

2和3的區別在于2中根據dense value的取值會分配到不同的embedding vector,而3中的不同的dense value只有一個embedding vector.

一般來說,2應該是最好的。3的自由度有點低,所有的dense feature共用一個embedding, 只是通過feature本身的數值去區分生效。

從上面幾種方法可以發現,稠密特征要和詞嵌入后的類別特征做交叉需要在同一個維度空間,也就是要把一維的稠密特征轉化成和詞嵌入維度相同的特征空間中,同時上面方法中的詞嵌入矩陣相當于權重矩陣都可以進行優化學習。

二 多值類別特征

一般單值類別特征加入到CTR預估模型的方法是先對單值類別特征進行one-hot,然后和embedding 矩陣相乘轉換成多維稠密特征,如下圖所示:

在現實實際問題中,往往還會出現多值類別特征,話題特征,也就是一個用戶感興趣的話題可以有多個,并且不同的用戶感興趣的話題個數不一,這些特征的形式都一般是如下結構(拿用戶感興趣的話題特征來說):

在CTR預估模型中,對這種多值類別特征的常用處理方法總結歸納如下:

非加權法

最常規的也最簡單的是先對所有‘話題’集合進行one hot編碼,然后按照圖 1 方式對多值類別特征中的每一項進行稠密特征的轉換,最后對轉換后的稠密特征向量進行拼接,然后按項求均值或最大值或最小值等,整個過程可以用如圖表示:

可以看出,這樣對多值類別特征進行處理之后,可以把每個多值類別特征轉換在同一維度空間中,這樣輸入到神經網絡中不用為了保持輸入維度一致而進行padding,使輸入變稀疏,也方便和其他特征做交叉特征。

加權法

如果對多值類型特征直接求均值似乎不是很符合常理,畢竟用戶對每個感興趣話題的喜愛程度不一樣,這就有了權重的引入,而不是簡單粗暴的求均值了,具體引入權重的做法如圖:

參考:

  • 稠密特征加入CTR預估模型有哪些方法? - 知乎
  • 多值類別特征加入CTR預估模型的方法 - 知乎
  • 總結

    以上是生活随笔為你收集整理的[深度学习]CTR模型如何加入稠密连续型|多值类别特征的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。