第三章 系統架構
3.3 資料分群方法
本章節將介紹如何對廣告特性及使用者組合資料進行分群,以在後續分 別建構點擊預測模型。本論文參考論文[16]中提出的 CURE 方法設計概念來 解決大數據分群的計算複雜度。
本論文提出的分群方法主要分為兩個處理步驟,如圖5 所示:
1) 將資料集抽樣分成 𝑘 組子資料集,每組子資料集會透過雅卡爾相似 分數 (Jaccard similarity score)計算兩兩資料間的相似分數,並採用階 層式分群方法(Hierarchical Clustering)對各子資料集中的資料進行初 始分群。由於資料集龐大,分群前的相似度計算過於複雜,計算次數 將達到 𝑛×𝑛
2 ,其中𝑛為資料筆數。因此透過此方法將大資料集抽樣等 切成數組子資料集,再透過每組子資料集計算各組內的相似度,其計
算次數即降為
𝑛 𝑘×𝑛𝑘
2 × 𝑘 =𝑛×𝑛
2𝑘 ,最後採用階層式分群法來達到各子資 料集初始的分群結果。
2) 將各個子資料集找出的所有群集算出其代表特徵向量,透過餘弦相 似分數(Cosine similarity score)計算出群與群之間的相似度分數,再一 次透過階層式分群方法將群集合併,而產生全部資料的分群結果。
以下小節將詳細介紹兩個步驟的相似度計算方法。
圖 5 分群架構
<1> 子資料集內雅卡爾相似分數計算 (Jaccard Similarity Score)
由於此步驟希望能將每個子資料集內的資料計算兩兩相似度,而本研究 所使用的資料型態為二元表示:0 或 1,因此在此步驟計算相似度的方法採用 雅卡爾相似度來計算子資料集內資料間在某個欄位上的相似度。
子資料集中的每筆資料,其前處理的獨熱編碼表示法以雅卡爾相似分數 計算方法如公式1,
𝐽𝑎𝑐𝑐𝑎𝑟𝑑𝑆𝑐𝑜𝑟𝑒(𝑥, 𝑦) = ∑ 𝑒𝑥𝑡𝑒𝑛𝑑𝑒𝑑-𝑗𝑎𝑐𝑐𝑎𝑟𝑑-𝑠𝑖𝑚(𝑥𝑖, 𝑦𝑖)
𝑚
𝑖=1
𝑀𝐼𝐹𝑖
(公式 1)
其中𝑚為資料欄位數,𝑥𝑖及𝑦𝑖為𝑥及𝑦的第𝑖欄位之獨熱編碼,𝑀𝐼𝐹𝑖為欄位𝐹𝑖的 互信息值。
另 外 本 論 文 亦 考 慮 採 用 藉 由 雅 卡 爾 相 似 度 延 伸 版(Extended Jaccard Similarity)計算資料間的相似度如公式 2,
𝑒𝑥𝑡𝑒𝑛𝑑𝑒𝑑-𝑗𝑎𝑐𝑐𝑎𝑟𝑑-𝑠𝑖𝑚(𝑥𝑖, 𝑥𝑗) = 𝑥𝑖 ∙ 𝑥𝑗
以表 8 範例中的第一筆資料與第二筆資料顯示雅卡爾分數計算結果為:
<2> 眾分群間餘弦相似度計算 (Cosine Similarity Score)
本階段主要目的是將初始分群結果(稱為眾分群),進行分群間的相似度
表 9 眾分群間相似度計算範例群組 1
群組1
campaignId deviceType
001 10
campaignId deviceType
001 10
<3> 分群模型之判別
藉由上述方法可將訓練集資料進行分群,接下來必須考慮如何為每一筆 測試資料𝑑𝑡找到適當的群集,本研究提出兩種選擇方法。
雅卡爾相似分數群集法 (Jaccard Similarity Score Grouping)
當有一筆資料𝑑𝑡經過資料前處理後表示為一個獨熱編碼向量𝑥(𝑑𝑡),
採用公式1 雅卡爾相似分數配合公式 2 互信息值,和訓練資料一一計算 雅卡爾相似分數,即可找出與資料𝑑𝑡最大雅卡爾相似分數值所屬的群集,
將資料𝑑𝑡判別為此分群。
餘弦相似分數群集法 (Cosine Similarity Score Grouping)
藉由訓練資料做出的分群,計算各個分群的屬性特徵值分佈,如上 一小節所示,得出的結果即代表每一群的特徵向量。當有一筆資料𝑑𝑡經 過資料前處理後表示為一個獨熱編碼向量𝑥(𝑑𝑡),將𝑑𝑡特徵向量𝑥(𝑑𝑡)與 各群的特徵向量進行餘弦相似分數計算,作為資料𝑑𝑡與每群的相似度值,
最後選出相似度最高的群當作資料𝑑𝑡所屬分群。