廣告流量反作弊風控中的模型應用
一、廣告反作弊簡介
1.1 廣告流量反作弊定義
廣告流量作弊,即媒體通過多種作弊手段,獲取廣告主的利益。
作弊流量主要來自于:
- 模擬器或者被篡改了設備的廣告流量;
- 真設備,但通過群控控制的流量;
- 真人真機,但誘導產生無效流量等。
1.2 常見的作弊行為
- 機器行為:
- 人工行為:素材交互要素誘導點擊,媒體渲染文案誘導點擊,突然彈出誤觸點擊等。
1.3 常見作弊類型
按照廣告投放流程順序
- 展示作弊:媒體將多個展示廣告同時曝光于同一個廣告位,向廣告主收取多個廣告的展示費用。
- 點擊作弊:通過腳本或計算機程序模擬真人用戶,又或者雇傭和激勵誘導用戶進行點擊,生成大量無用廣告點擊,獲取廣告主的CPC廣告預算。
- 安裝作弊:通過測試機或模擬器模擬下載,以及通過移動人工或者技術手段修改設備信息、SDK方式發送虛擬信息、模擬下載等等。
二、廣告流量反作弊算法體系
2.1 算法模型在業務風控中應用背景
智能風控,運用大量行為數據構建模型,對風險進行識別和感知監控,相比規則策略,顯著提升識別的準確性和覆蓋率以及穩定性。
常見的無監督算法:
- 密度聚類(DBSCAN)
- 孤立森林(Isolation Forest)
- K均值算法
常見有監督算法:
- 邏輯回歸(logistic)
- 隨機森林 (random forest)
2.2 廣告流量模型算法體系
體系分四層:
- 平臺層:主要是依托spark-ml/tensorflow/torch算法框架基礎上,引用開源以及自定義開發的算法應用于業務風控建模中。
- 數據層:搭建vaid/ip/媒體/廣告位等多粒度下,請求、曝光、點擊、下載、激活等多轉化流程的畫像和特征體系,服務于算法建模。
- 業務模型層:基于行為數據特征和畫像數據,搭建點擊反作弊審計模型、請求點擊風險預估模型、媒體行為相似團伙模型以及媒體粒度異常感知等模型。
- 接入層:模型數據的應用,離線點擊反作弊模型審計結果與策略識別審計結果匯總,同步業務下游處罰;媒體異常感知模型主要作為候選名單同步點檢平臺和自動化巡檢進行。
三、算法模型應用案例
3.1 素材交互誘導感知
背景:廣告素材中添加虛擬的X關閉按鈕,導致用戶關閉廣告時點擊的虛假的X按鈕,導致無效的點擊流量,同時影響用戶體驗;左圖是投放的原始素材,右側是用戶點擊的坐標繪制熱力圖,虛擬X導致用戶關閉廣告時產生無效的點擊流量。
模型識別感知:
1、密度聚類(DBSCAN):
先定義幾個概念:
- 鄰域:對于任意給定樣本x和距離ε,x的ε鄰域是指到x距離不超過ε的樣本的集合;
- 核心對象:若樣本x的ε鄰域內至少包含minPts個樣本,則x是一個核心對象;
- 密度直達:若樣本b在a的ε鄰域內,且a是核心對象,則稱樣本b由樣本x密度直達;
- 密度可達:對于樣本a,b,如果存在樣例p1,p2,...,pn,其中,p1=a,pn=b,且序列中每一個樣本都與它的前一個樣本密度直達,則稱樣本a與b密度可達;
- 密度相連:對于樣本a和b,若存在樣本k使得a與k密度可達,且k與b密度可達,則a與b密度相連;
- 所定義的簇概念為:由密度可達關系導出的最大密度相連的樣本集合,即為最終聚類的一個簇。
2、應用算法對誘導誤觸廣告感知:
①首先按照分辨率和廣告位,對點擊數據進行分組,篩選過濾掉量級較小的群組;
②對每個群組,使用密度聚類算法進行聚類,設置鄰域密度閾值為10,半徑ε=5,進行聚類訓練;
③對每個群組,密度聚類后,過濾掉簇面積較小的簇,具體訓練代碼如下:
④效果監控和打擊,針對挖掘的簇,關聯點擊后向指標,針對異常轉化指標廣告位,進行復檢,并對復檢有問題廣告位進行處置。
3.2 點擊反作弊模型
3.2.1 背景
針對廣告的點擊環節建立作弊點擊識別模型,提升反作弊審計覆蓋能力,發現高緯度隱藏的作弊行為、有效補充點擊場景的策略反作弊審計。
3.2.2 建設流程
(1)特征建設
基于token粒度,計算事件發生前,設備、ip、媒體、廣告位的等粒度特征。
頻率特征:在過去1分鐘,5分鐘,30分鐘、1小時、1天,7天等時間窗口的曝光,點擊、安裝行為特征、即對應的均值、方差、離散度等特征;
基本屬性特征:媒體類型,廣告類型,設備合法性、ip類型,網絡類型,設備價值等級等。
2、模型訓練和效果
① 樣本選擇:
- 樣本均衡處理:線上作弊樣本和非作弊樣本非均衡,采用對非作弊樣本下采樣方式,使得作弊和非作弊樣本量達到均衡(1:1)
- 魯棒性樣本選?。?/strong>線上非作弊樣本量級大,且群體行為多樣性且分布不均等,為了小樣本訓練上線后覆蓋所有行為模式,
- 使用K-means算法:針對線上非作弊樣本進行分群,然后對每個群體按照占比再下采樣,獲得訓練的非作弊樣本。
② 特征預處理:
- 統計每個特征缺失率,去掉缺失率大于50%的特征;
- 特征貢獻度篩選,計算每個特征對預測標簽Y的區分度,過濾掉貢獻度低于0.001的特征;
- 特征穩定性篩選,在模型上線前,選取最大和最小時間段的樣本,計算兩個時間段每個特征的PSI值,過濾掉PSI值(Population Stability Index)大于0.2的特征,保留穩定性較好的特征。
③ 模型訓練:
采用隨機森林算法,對點擊廣告作弊行為進行分類,隨機森林有較多優勢,比如:
(1)能處理很高維度的數據并且不用做特征選擇;
(2)對泛化誤差(Generalization Error)使用的是無偏估計,模型泛化能力強;
(3)訓練速度快,容易做成并行化方法(訓練時樹與樹之間是相互獨立的);
(4)抗過擬合能力比較強;
超參數搜索優化,使用ParamGridBuilder,配置max_depth(樹最大深度),numTrees(樹的個數)等超參數的進行搜索優化最優超參數。
④ 模型穩定性監控:
模型上線后,如果特征隨著時間遷移,推理時間的特征與訓練時間的特征分布存在變動差異,需要對模型穩定性監控并迭代更新;
首先對當前版本訓練樣本進行存檔,計算推理時間的數據和訓練時間數據的對應每個特征的PSI值,計算的PSI值(Population Stability Index)每天可視化監控告警。
⑤ 模型可解釋性監控:
模型上線后,為了更直觀的定位命中模型風險的原因,對推理數據進行可解釋性監控;即對每條數據,計算其對預測標簽的影響程度;
采用Shapley值(Shapley Additive explanation)解釋特征如何影響模型的輸出,計算shap值輸出到可視化平臺,日常運營分析使用。
3.3 點擊序列異常檢測
3.3.1 背景
通過用戶小時點擊量序列,挖掘惡意行為對應的設備,挖掘檢測遠離占絕大多數正常行為外的異常模式用戶群體、比如只有凌晨0~6點有低頻的其他時間沒點擊行為的異常群體、或者每小時均衡點擊的行為等異常模式用戶等。
3.3.2 建設流程
(1)特征建設
以設備作為用戶,統計過去1/7/30天,每小時的點擊量,形成1*24小時、7*24小時、30*24小時點擊量序列,構建的特征具備時間尺度上特征完備性和每個特征數據連續條件,適用于異常檢測算法。
(2)模型選擇
孤立森林離群點檢測算法,算法基于兩個理論假設,即異常數據占總樣本量的比例很小,異常點的特征值與正常點的差異很大。
檢測分布稀疏且離密度高的群體較遠的點,比如下圖可以直觀的看到,相對更異常Xo的只需要4次切割就從整體中被分離出來,即被‘孤立’了,而更加正常的Xi點經過了11次分割才從整體中分離出來。
(3)模型訓練
使用IsolationForest算法,為了更好覆蓋,針對多種粒度流量進行異常檢測訓練。
①全平臺流量,訓練異常感知模型,設置異常樣本比例cnotallow=0.05;
②每類媒體類型的流量,訓練異常感知模型,設置異常樣本比例cnotallow=0.1;
③每種廣告位類型流量,訓練異常感知模型,設置異常樣本比例cnotallow=0.1。
(4)感知監控
- 異常得分定義:如果異常得分接近 1,那么一定是異常點,如果異常得分遠小于 0.5,一定不是異常點;
- 異常篩選:篩選異常得分大于0.7的用戶作為高風險人群,介于0.5~0.7的人群作為中風險人群,對高中風險人群,同步審計平臺人工二次審計;
- 案例分析:
案例①
2022年XX月XX號, 7*24小時點擊量異常檢測, 可疑惡意用戶A ,過去7天大部分時間,每小時均衡產生較多點擊記錄遠超正常用戶。
(備注:features中每個點代表用戶一個小時的點擊量)
案例②
2022年XX月XX號,1*24小時點擊量序列異常檢測,可疑惡意用戶B, 基本只在凌晨產生點擊,其他白天基本無點擊行為。
四、總結
在流量反作弊領域,隨著對抗手段的升級,算法模型能更好發現和挖掘黑產的隱藏的作弊模式;在廣告流量反作弊領域,我們使用有監督和無監督等算法模型,從作弊流量識別,異常流量感知方面做了探索挖掘應用,有效提升識別能力,挖掘發現較復雜的異常行為模式。未來算法模型在機器流量識別上更多探索實踐應用。