1. 程式人生 > 其它 >聚類係數在圖計算中的應用場景(摘自網路,如有侵權親聯絡我刪除)

聚類係數在圖計算中的應用場景(摘自網路,如有侵權親聯絡我刪除)

應用場景

聚類係數在學術上的應用定義可以參考 Wiki 的Small-World-Network, 基於經典的社交 6度分隔網路為起點, 延伸來做複雜分析, 引入了過多其他的圖論概念, 這裡不詳細描述, 感興趣可自行了解.

聚類係數在實際生產環境應用和三角計數比較相似(通常是結合選一個), 全圖聚類係數可以用於判斷圖的稀疏, 稠密, 用得不多, 更多的是用於區域性範圍來分析某個點/子圖的緊密度 / 關聯性, 下面用一個簡單和一個具體的例子來一起了解聚類係數的用法

1. 社交關係 (簡單)

首先以 QQ/Wechat/Weibo 這類大家耳熟能詳的社交關係為例, 至少有兩個使用場景:

  • 推薦好友/文章 / 動態等

  • 找出“殭屍”號, 黑灰產號加以定時清理

    先算出 QQ 全圖的聚類係數, 比如是0.2

    資料清洗, 按照各類使用者標籤(活躍度, 線上時間, 輸入字數, 性別, 年齡段) 構建幾個典型的子圖, 算出聚類係數, 例0.5

    遍歷疑似黑號的清單, 算出聚類係數, 與全圖 & 分類子圖做對比, 同時滿足大量好友 + CC遠低於平均值, 認定“殭屍”號

如何實現呢, 簡單的說, 通過三角計數可以獲取某個人(賬戶)常聯絡的好友圈,

2. 電信實時反欺詐中的應用 (具體)

比如典型的例子就是以前 TigerGraph 在 slides 中曾舉例用於 在“AI標記電訊號碼中的詐騙號碼” 中的 case:

本質就是區分普通電話, 和詐騙電話的行為習慣, 然後加以打分標記, 超過閾值則標記為可疑/詐騙

  1. 首先, 普通電話和詐騙電話有個最明顯的區別,

    • 普通電話呼入多, 撥出很少
    • 詐騙電話撥出很多, 呼入很少
  2. 上述的判斷方式簡單但是比較粗, 會誤傷到比如客服人員,外賣/快遞小哥, 這類服務人員, 它也是 AI 訓練裡常說的噪點資料, 那麼利用圖演算法之後如何大幅減少這類小比例的特例呢? 我們就需進一步分析兩類電話的撥出子圖特徵:

    • 正常電話:它通常有一個比較固定的電話撥出圈, 比如小明 —> 父母+小明 —> 妹妹+妹妹—>父母, 從而會在區域性構成數個(三角/多角)的環型子圖. 用聚集係數 / 三角計數來計算, 它應該具有一定的稠密度 / 三角數

    • 詐騙電話:因為詐騙電話一般為了隱匿都不會真實使用, 它的撥出會非常離散, 很難在多個撥出之間形成穩定密集環狀, 那麼它的聚集係數/三角數一般就會很低.

那麼上面的案例, 就是典型的簡單易理解, 相比直接從原始通話資料進行訓練存在噪音和誤傷的情況, 運用了聚類圖演算法之後, 從圖上進行預處理過濾後, 達到更好的訓練效果的代表.