ctr演算法
㈠ LR-融合多種特徵的推薦模型
LR模型,作為基於線性回歸的推薦演算法,通過學慣用戶點擊行為來預測點擊率(CTR),其核心公式如下:
P(喜歡) = 1 / (1 + e^(-w_1 * feature_1 - w_2 * feature_2 - ...))
其中,P(喜歡) 表示用戶喜歡某個標的物的概率,w 為權重參數,feature 為對應的特徵值。在工業實踐中,如Google的FTRL和阿里巴巴的分片線性模型,它被廣泛應用到實時推薦排序中。
與協同過濾和矩陣分解不同,邏輯回歸將推薦視為分類問題,通過預測正反饋行為(如點擊)的概率對物品進行排序。它能綜合多種特徵(如用戶年齡、性別、物品屬性等)生成全面的推薦結果,是推薦領域的重要工具。雖然看似簡單,但背後涉及伯努利分布、極大似然估計和梯度下降等概念。
推薦過程包括:首先,將各類特徵轉化為數值向量;接著,訓練模型以優化點擊率,確定權重參數;服務階段,輸入特徵向量得到預測概率,然後根據概率對候選物品排序生成推薦列表。
邏輯回歸的優勢包括數學基礎的合理性、易於解釋、工程應用的便捷性,以及內存佔用低等。然而,其表達能力有限,難以處理復雜非線性數據,且對特徵工程要求較高,這促使了更復雜模型的出現,如FM和深度學習模型。
㈡ CTR(1):IJCAI2020-Deep Feedback Network for Recommendation
顯性反饋和隱性反饋 (Explicit and Implicit Feedback)都能反映用戶對物品的看法,這對於學慣用戶的偏好至關重要。然而, 大多數當前的推薦演算法僅僅關注於隱式的正反饋(例如,點擊) , 忽略了其他蘊含信息的用戶行為 。
本文旨在聯合考慮 顯性/隱性和正性/負性反饋(Positive/Negative) ,以針對推薦任務 學慣用戶的無偏偏好 (unbiased preferences/更加准確的偏好建模)。具體來說, 提出了一種新的深度反饋網路(DFN)模型來建模點擊,未點擊和不喜歡等用戶行為。
DFN 有一個內部反饋交互組件,用於 捕獲個體行為之間的細粒度交互 ; 還有一個外部反饋交互組件, 使用精確但相對稀少的反饋(點擊/不喜歡) ,從豐富但嘈雜的反饋中提取有用的信息(未點擊) 。
在實驗中,對一個現實的推薦系統——數百萬用戶使用的微信看一看——進行線下和線上評估,驗證了 DFN 的有效性和魯棒性。
用戶-項目交互這樣的信息分為兩種類型,即 顯性反饋和隱性反饋 。
近年來,推薦系統通常將個性化推薦作為一項 點擊率預測任務 (CTR)。因此,很自然的,大多數推薦演算法主要集中在隱式正反饋,如點擊,這可以很容易地在實踐中收集。這些模型是通過點擊行為和面向 CTR 的目標直接優化的,這將不可避免地導致以下問題:
兩段話全面准確地表達了兩個關鍵問題,指出了負反饋和顯式反饋的價值,也是本文關注的兩個點,好論文讀起來就是舒服呀~
多個顯性/隱性和正性/負性反饋可以相互補充,反映用戶在推薦中的無偏偏好 。目前的工作中負反饋往往被忽略,或者僅僅局限於顯性反饋,這種反饋精確而又少見。
一些工作認為未點擊或缺失行為是 隱含的消極反饋 ,以擴增負反饋信息。然而,這樣的假設帶來了很多雜訊,極大地限制了推薦效果。因為這些隱性的負面反饋可能是由除了不喜歡以外的各種原因造成的。(雜訊比較多)
本文中重點研究利用不同類型的顯性/隱性和正性/負性反饋提高推薦性能。針對傳統推薦方法中存在的問題,提出了一種新的深度反饋網路(DFN) ,該網路在基於深度模型的推薦中聯合考慮多個反饋及其相互作用。圖1顯示了 DFN 中使用的不同類型的反饋,包括隱式正反饋(例如,點擊)、隱式負反饋(例如,不點擊)和顯式負反饋(例如,不喜歡)。
具體地說,我們首先在 每個反饋序列中分別對目標項和行為構建Transformer,以捕獲內部行為級別的交互 。
接下來,我們利用高質量但相對少見的點擊和不喜歡行為 (顯式反饋)來減少豐富但嘈雜的無點擊行為與外部反饋級別的交互 。這些提取出來的反饋特徵與其他特徵相結合,然後輸入到包含 Wide、 FM 和 Deep 組件的特徵交互模塊中。
DFN 的主要優點是它成功地結合了多種反饋信息,學慣用戶無偏的正向偏好(喜歡)和負向偏好(厭惡),解決了反饋信息存在的質量和數量兩難問題。
在一個真實世界的推薦系統上構建DFN 模型,並收集用戶歷史行為的三種反饋:
深度反饋網路DFN主要由深度反饋交互模塊和特徵交互模塊兩部分組成。
最後實現了用於特徵聚合的 Wide、 FM 和 Deep 組件。將特徵交互模塊的輸出反饋到全連接層和softmax層,基於正負樣本間損失進行模型優化。
其層次上可以分為內部交互模塊和外部交互模塊:
以點擊序列為例:將待預測/目標物品的嵌入與點擊序列的嵌入構成輸入矩陣:
隱式負反饋是足夠的,但是雜訊很大。一般來說,未點擊行為似乎暗示著負反饋, 然而暴露給用戶的物品是由某些策略精心挑選的,這些策略也可能包含粗粒度方面的用戶興趣 。外部反饋交互組件旨在根據點擊和不喜歡行為中強烈的反饋信息,區分用戶真正喜歡和不喜歡的點擊行為。具體來說,我們進行了兩個原版注意力機制,其中考慮隱含的正向和顯式負反饋嵌入 fc,fd 作指導,從未點擊序列中提取正向和負向偏好:
在特徵交互中,我們將提取的反饋特徵與其他特徵結合起來,包括用戶畫像、物品特徵和推薦上下文特徵。
我們將這些稀疏特徵分為 m個 欄位,包括連續欄位(例如,age)和類別欄位(例如,location)等。所有欄位都表示為單熱嵌入。查找表用於生成所有欄位的稠密特徵嵌入。然後利用Wide、FM和Depp組件進行特徵組合。( 通用架構 )
Wide
對特徵進行線性組合:
Deep
簡單的MLP操作:
一個訓練集按照三個反饋類型分成3部分。
注意這里的比例設置,顯式負反饋比重很大。
這篇工作對數據反饋充分分析的基礎上,藉助自己的生產系統,收集並利用了顯式負反饋和隱式正反饋這類信息,並利用這兩類重要信息對具有雜訊的隱式負反饋進行調整,基於注意力架構從隱式負反饋中分離出更有價值的特徵。在實踐系統上有很好的效果表現。其中的注意力設計感覺可以在相關比賽中進行嘗試,是很值得借鑒的工作。
如果覺得有用,歡迎點贊關注贊賞,若對推薦感興趣歡迎評論區/私信交流~~~
㈢ 微博最常訪問演算法
基礎及關聯演算法
這一層演算法的主要作用是為微博推薦挖掘必要的基礎資源、解決推薦時的通用技術問題、完成必要的數據分析為推薦業務提供指導。
這一部分中常用的演算法和技術如下:
分詞技術與核心詞提取
是微博內容推薦的基礎,用於將微博內容轉化為結構化向量,包括詞語切分、詞語信息標注、內容核心詞/實體詞提取、語義依存分析等。
分類與 anti-spam
用於微博內容推薦候選的分析,包含微博內容分類和營銷廣告/色情類微博識別;
內容分類採用決策樹分類模型實現,共 3 級分類體系,148 個類別;營銷廣告/色情類微博的識別,採用貝葉斯與最大熵的混合模型。
聚類技術
主要用於熱點話題挖掘,以及為內容相關推薦提供關聯資源。屬於微博自主研發的聚類技術 WVT 演算法(word vector topic),依據微博內容特點和傳播規律設計。
傳播模型與用戶影響力分析
開展微博傳播模型研究和用戶網路影響力分析(包含深度影響力、廣度影響力和領域內影響力)。
主要推薦演算法
1. Graph-based 推薦演算法
微博具有這樣的特點:用戶貢獻內容,社會化途徑傳播,帶來信息的爆炸式傳播。之所以稱作 graph-based 推薦演算法,而不是業界通用的 memory-based 演算法,主要原因在於:
我們的推薦演算法設計是建立在社交網路之上,核心點在於從社交網路出發,融入信息傳播模型,綜合利用各類數據,為用戶提供最佳的推薦結果;比如很多時候,我們只是信息傳播的關鍵環節,加入必要的推薦調控,改變信息傳播通路,後續的傳播沿著原來的網路自然的傳播。
Feed 流推薦(我們稱作趨勢),是我們最重要的產品,而結果必須包含用戶關系。
從 graph 的宏觀角度看,我們的目標是建立一個具有更高價值的用戶關系網路,促進優質信息的快速傳播,提升 feed 流質量;其中的重要工作是關鍵節點挖掘、面向關鍵節點的內容推薦、用戶推薦。
對這部分的演算法做相應的梳理,如下面的表格:
這樣利用 content-based 很好的解決了冷啟動的問題,又充分發揮了 user-based CF 的作用,實現1+1>2 的效果。
分層模型混合:
很多情況下,一個模型無法很好的得到想要的效果,而分層組合往往會取得比較好的效果,分層模型混合即「將上一層模型的輸出作為下層模型的特徵值,來綜合訓練模型,完成推薦任務「。比如我們在做微博首頁右側的 ctr 預估排序時,採用分層邏輯回歸模型,解決了不同產品間特徵天然缺失與樣本量差異、曝光位置帶來的效果偏差等問題。
㈣ AES的ctr模式如何處理
AES的CTR模式只需實現AES塊加密演算法,無需塊解密演算法;塊加密參量不涉及明密文,無需填充演算法,可用作流式加密。此時加解密演算法完全一樣,與明密文相關的步驟都僅僅是異或,明密文並未參與AES塊加密。逆向時如果發現AES演算法特徵,但未對非塊長度整數倍的數據進行填充處理,即可合理猜測CTR模式的出場。 ctr模式里沒有iv和nonce,鏈接裡面的把nonce和counter拼接起來應該是為了說明counter不需要從0開始。這個counter就是aes加密的明文。加密counter的時候不存在模式的問題,是對單個分組長度進行加密。counter的選擇nist有說明。AES的CRT模式需要長時間的鍛煉來熟悉,只有盡快熟悉才能更快分掌握這個技能。勤於練習才能幫到自己。