【王樹森推薦系統】推薦系統漲指標的方法05:特殊用戶人群

為什么要特殊對待特殊人群?

  1. 新用戶,低活用戶的行為很少,個性化推薦不準確。個性化的召回和排序都需要基于用戶的歷史行為,如果歷史行為少,個性化就做不好,尤其是新用戶,這就需要策略把個性化做的特別好或者用非個性化方法來做彌補
  2. 新用戶,低活用戶容易流失,要想辦法促使他們留存。對于全體用戶,推薦系統要努力提升很多指標,比如留存,時長,消費等。而對于新用戶和低活用戶,只需要考慮留存,不需要考慮其他任何指標,所以只需要考慮優化留存
  3. 特殊用戶的行為(比如點擊率,交互率等)不同于主流用戶,基于全體用戶行為訓練出的模型在特殊用戶人群上有偏。要對特殊用戶人群用特殊模型來消除偏差

漲指標的方法

  1. 構造特殊內容池,用于特殊用戶人群的召回
  2. 使用特殊排序策略,保護特殊用戶
  3. 使用特殊的排序模型,消除模型預估的偏差

構造特殊的內容池

  • 為什么需要特殊內容池?
    • 新用戶,低活用戶的行為很少,個性化召回不準確(既然個性化不好,那么就需要保證內容質量好,用優質內容彌補個性化缺失)
    • 針對特定群體的特點構造特殊內容池,提升用戶滿意度(例如,對于喜歡留評論的中年女性,構造粗評論內容池,滿足這些用戶的互動需求)
  • 方法1:根據物品獲得的交互次數,交互率選擇優質物品
    • 圈定人群:只考慮特定人群,例如 18 到 25 歲一二線城市男性
    • 構造內容池:用該人群對物品的交互次數,交互率給物品打分,選出分數最高的物品進入內容池,分數高說明質量好,容易吸引用戶
    • 內容池有弱個性化的效果,說明這個人群對這個池子的內容感興趣
    • 內容池定期更新,加入新物品,排除交互率低和失去時效性的老物品
    • 該內容池只對該人群生效
  • 方法2:做因果推斷,判斷物品對人群留存率的貢獻,根據貢獻值選物品
  • 通常使用雙塔模型從特殊內容池中做召回
    • 雙塔模型是個性化的
    • 對于新用戶,雙塔模型的個性化做不準
    • 靠高質量,弱個性化做彌補(可以容忍雙塔模型的不準確)
  • 額外的訓練代價?
    • 對于正常用戶,無論有多少內容池,只訓練一個雙塔模型
    • 對于新用戶,由于歷史交互記錄很少,需要單獨訓練模型。但不論有多少個內容池,新用戶只需要一個自己的雙塔模型就夠了
  • 額外的推理代碼?
    • 內容池定期更新,然后要更新 ANN 索引
    • 線上做召回時,需要做 ANN 檢索
    • 無論是更新內容池還是做召回,每多一個內容池,就需要多一份額外的算力,內容池越大,需要的額外算力越多
    • 特殊內容池都很小(比全量內容池少 10 到 100 倍),所以需要的額外算力不大

特殊的排序策略

排除低質量物品

  • 對于新用戶,低活用戶這樣的特殊人群,業務上只關注留存,不在乎消費(總曝光量,廣告收入,電商收入)
  • 對于新用戶,低活用戶,少出廣告,甚至不出廣告
  • 新發布的物品不在新用戶,低活用戶上做探索
    • 新物品發布時,推薦做的不準,會損害用戶體驗。這沒辦法,畢竟一定要推薦出去。如果不做探索,推薦系統就不知道誰會喜歡這些物品
    • 只在老用戶上做探索,對新物品做提權(boost)。老用戶受一點傷害并不會流失
    • 不在新用戶,低活用戶上做探索,避免傷害用戶體驗。用這些特殊用戶做探索會得不償失

差異化的融分公式

  • 新用戶,低活用戶的點擊,交互行為不同于正常用戶
  • 低活用戶的人均點擊量很小;沒有點擊就不會有進一步的交互
  • 低活用戶的融分公式中,提高預估點擊率的權重(相較于普通用戶,點進去看了才可能留存)
  • 保留幾個曝光坑位給點擊率最高的幾個物品
    • 例:精排從 500 個物品中選 50 個作為推薦結果,其中 3 個坑位給點擊率最高的物品,剩余 47 個坑位由融分公式決定。這 3 個坑位的目的是吸引用戶點擊
    • 甚至把點擊率最高的物品排在第一,確保用戶一定能看到。如果用在普通用戶身上會損害核心指標

特殊的排序模型

差異化的排序模型

  • 特殊用戶人群的行為不同于普通用戶。新用戶,低活用戶的點擊率,交互率偏高或偏低
  • 排序模型被主流用戶主導,對特殊用戶做不準預估
    • 用權力用戶訓練出的模型,給新用戶做的預估有嚴重偏差
    • 如果一個 APP 的用戶 90% 都是女性,用全體用戶數據訓練出的模型,對男性用戶做的預估有偏差
  • 問題:對于特殊用戶,如何讓排序模型預估做的更準?
    • 方法1:大模型 + 小模型
      • 用全體用戶行為訓練大模型,大模型的預估 ppp 擬合用戶的行為 yyy
      • 用特殊用戶的行為訓練小模型,小模型的預估 qqq 擬合大模型的殘差 y?py-py?p,殘差是大模型犯的錯誤,我們希望小模型可以糾正大模型的錯誤
      • 對主流用戶只用大模型做預估 ppp
      • 對特殊用戶,結合大模型和小模型的預估 p+qp+qp+q,小模型的作用是糾偏
    • 方法2:融合多個 experts,類似 MMoE
      • 只用一個模型,模型有多個 experts,各輸出一個向量
      • 對 expert 的輸出做加權平均
      • 根據用戶特征計算權重(和MMoE的區別是這里的神經網絡輸入只有一個用戶特征)
      • 以新用戶為例,模型將用戶的新老,活躍度等特征作為輸入,輸出權重,用戶對 expert 做加權平均。例:如果有兩個 expert,用戶剛剛注冊,那么新用戶 expert 的權重是 1,老用戶 expert 的權重是 0。如果介于新老之間那么兩個 expert都有一定的權重
    • 方法3:大模型預估之后,用小模型做校準
      • 用大模型預估點擊率,交互率
      • 將用戶特征,大模型預估點擊率和交互率作為小模型(例如 GBDT)的輸入
      • 在特殊用戶人群的數據上訓練小模型,小模型7的輸入擬合用戶的真實行為

錯誤的做法

  • 每個用戶人群使用一個排序模型,推薦系統同時維護多個大模型
    • 系統有一個主模型,每個用戶人群有自己的一個模型
    • 每天凌晨,用全體用戶數據更新主模型,訓練 1 個 epoch
    • 基于訓練好的主模型,在某特殊用戶人群的數據上再訓練 1 epoch,作為該用戶人群的模型、
  • 短期可以提升指標;維護代價大,長期有害
    • 起初,低活男性用戶模型比主模型的 AUC 高 0.2%
    • 主模型迭代幾個版本后,AUC 累計提升 0.5%
    • 特殊人群模型太多,長期沒有人維護和更新
    • 如果把低活男性用戶模型下線,換成主模型,在低活用戶上的 AUC 反倒提升 0.3%

總結

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92585.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92585.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92585.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java 大視界 -- Java 大數據在智能家居能源管理與節能優化中的深度應用(361)

Java 大視界 -- Java 大數據在智能家居能源管理與節能優化中的深度應用(361)引言:正文:一、Java 構建的智能家居能源數據架構1.1 多源能耗數據實時采集1.2 家庭能源畫像與異常檢測二、Java 驅動的節能策略與智能控制2.1 多場景節能…

從零開始的云計算生活——番外5,使用ELK實現對應用日志的監控

目錄 一.環境準備 試驗機安裝 修改文件配置 二.收集測試機(test)日志 配置pipline文件 配置filebeat配置文件 三.收集測試機nginx日志 下載安裝nginx 修改filebeat文件 修改pipline文件 四.收集網絡服務模塊日志 1.DHCP 下載dhcp 修改配置…

Node.js:函數、路由、全局對象

Node.js函數 在JavaScript中,一個函數可以作為另一個函數的參數,可以先定義一個函數,然后進行傳遞,也可以在傳參的地方直接定義 function sayhello(){console.log("hello"); } function run(hello, value){hello();cons…

2025暑期—06神經網絡-常見網絡3

VGG16網絡64個卷積核做兩次卷積,填充后編程224X224X64 pooling 兩次卷 pooling 三次卷...分辨率降低一半,通道數增加1倍所有卷積核都是3x3, 所有的pooling 都是2x2殘差網絡每一層的塊都有越層的連接。

使用 FastAPI 構建 Elasticsearch API

作者:來自 Elastic Jeffrey Rengifo 學習如何使用 Pydantic 模式和 FastAPI 后臺任務,通過實際示例構建一個 Elasticsearch API。 想獲得 Elastic 認證嗎?查看下一期 Elasticsearch Engineer 培訓的時間! Elasticsearch 擁有豐富…

[2025CVPR-目標檢測方向]FSHNet:一種用于3D物體檢測的全稀疏混合網絡。

1. ?簡介? 論文提出了FSHNet(Fully Sparse Hybrid Network),一種用于3D物體檢測的全稀疏混合網絡。FSHNet旨在解決現有稀疏3D檢測器的兩大核心問題:長距離交互能力弱和網絡優化困難。稀疏檢測器(如VoxelNeXt和SAFDN…

MySql 8.0.42 zip版安裝教程和使用

今天要裝個MySQL,就按照自己以前的教程來做,不知道是不是版本更新了的原因,又遇到了一點小阻礙,于是再記錄一下吧。 下載MySQL 下載鏈接:MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/…

【lucene】實現knn

在 Lucene 中,可以通過 KnnFloatVectorQuery 和 KnnFloatVectorField 來實現 KNN(k-Nearest Neighbors)搜索。以下是具體介紹:1. 功能原理KnnFloatVectorQuery 是 Lucene 用于執行最近鄰搜索的查詢類,它可以在一個字段…

RabbitMQ實踐學習筆記

RabbitMQ實踐 以下是關于RabbitMQ實踐的整理,涵蓋常見場景和示例代碼(基于Markdown格式)。內容按模塊分類,避免步驟詞匯,直接提供可操作的方法: 基礎連接與隊列聲明 使用Python的pika庫建立連接并聲明隊列: import pikaconnection = pika.BlockingConnection(pika.C…

量子生成對抗網絡:量子計算與生成模型的融合革命

引言:當生成對抗網絡遇上量子計算在人工智能與量子計算雙重浪潮的交匯處,量子生成對抗網絡(Quantum Generative Adversarial Networks, QGAN)正成為突破經典算力瓶頸的關鍵技術。傳統生成對抗網絡(GAN)在圖…

VBA 多個選項,將選中的選項錄入當前選中的單元格

1、使用LISTBOX插件&#xff0c;選中后回車錄入 維護好數據&#xff0c;并新增一個activeX列表框插件 Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Count > 1 Then Exit SubIf Target.Row > 2 And Target.Row < 10 And Target.Column 2…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 主頁-微博點贊量Top6實現

大家好&#xff0c;我是java1234_小鋒老師&#xff0c;最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程&#xff0c;持續更新中&#xff0c;計劃月底更新完&#xff0c;感謝支持。今天講解主頁-微博點贊量Top6實現 視頻在線地址&…

SAP調用外部API

SAP需求將中文字符轉化為對應的拼音具體思路,由于sap中沒有將中文字符轉化為拼音的函數或方法類,則以http請求訪問外部服務器發布的API服務,然后獲取其返回值即可1.調用外部網站上提供的api缺點:免費次數有限,后需要充值這里是用www格式的json報文*&----------------------…

(12)機器學習小白入門YOLOv:YOLOv8-cls 模型微調實操

YOLOv8-cls 模型微調實操 (1)機器學習小白入門YOLOv &#xff1a;從概念到實踐 (2)機器學習小白入門 YOLOv&#xff1a;從模塊優化到工程部署 (3)機器學習小白入門 YOLOv&#xff1a; 解鎖圖片分類新技能 (4)機器學習小白入門YOLOv &#xff1a;圖片標注實操手冊 (5)機器學習小…

基于Matlab傳統圖像處理技術的車輛車型識別與分類方法研究

隨著計算機視覺和圖像處理技術的發展&#xff0c;車輛檢測與識別已經成為智能交通系統中的一個重要研究方向。傳統圖像處理方法通過對圖像進行預處理、特征提取、分類與識別&#xff0c;提供了一種無需復雜深度學習模型的解決方案。本研究基于MATLAB平臺&#xff0c;采用傳統圖…

未來趨勢:LeafletJS 與 Web3/AI 的融合

引言 LeafletJS 作為一個輕量、靈活的 JavaScript 地圖庫&#xff0c;以其模塊化設計和高效渲染能力在 Web 地圖開發中占據重要地位。隨著 Web3 和人工智能&#xff08;AI&#xff09;的興起&#xff0c;地圖應用的開發范式正在發生變革。Web3 技術&#xff08;如區塊鏈、去中…

Spring AI 系列之二十一 - EmbeddingModel

之前做個幾個大模型的應用&#xff0c;都是使用Python語言&#xff0c;后來有一個項目使用了Java&#xff0c;并使用了Spring AI框架。隨著Spring AI不斷地完善&#xff0c;最近它發布了1.0正式版&#xff0c;意味著它已經能很好的作為企業級生產環境的使用。對于Java開發者來說…

LFU算法及優化

繼上一篇的LRU算法的實現和講解&#xff0c;這一篇來講述LFU最近使用頻率高的數據很大概率將會再次被使用,而最近使用頻率低的數據,將來大概率不會再使用。做法&#xff1a;把使用頻率最小的數據置換出去。這種算法更多是從使用頻率的角度&#xff08;但是當緩存滿時&#xff0…

關于原車一鍵啟動升級手機控車的核心信息及注意事項

想知道如何給原車已經有一鍵啟動功能的車輛加裝手機遠程啟動。這是個很實用的汽車改裝需求&#xff0c;尤其適合想在冬天提前熱車、夏天提前開空調的車主。一、適配方案與核心功能 ?升級專車專用4G手機控車模塊?&#xff0c;推薦安裝「移動管家YD361-3」系統&#xff0c;該方…

數據結構與算法:類C語言有關操作補充

數據結構與算法:類C語言操作補充 作為老師,我將詳細講解類C語言(如C或C++)中的關鍵操作,包括動態內存分配和參數傳遞。這些內容在數據結構與算法中至關重要,例如在實現動態數組、鏈表或高效函數調用時。我會用通俗易懂的語言和代碼示例逐步解釋,確保你輕松掌握。內容基…