Amazon 點樣喺毫秒之內用核方法捉到欺詐
收埋喺 AI 裏面嘅數學魔法
大部分人都以為防欺詐係個軟件問題。其實佢係個數學問題。而且背後嘅數學,遠比大部分人想像中靚、亦都更加令人驚奇。
每一日,Amazon 喺佢嘅全球市場度處理數以百萬計嘅交易。喺呢啲龐大嘅正常業務入面,收埋咗欺詐訂單、俾人偷咗嘅信用卡交易、假賬戶同埋可疑嘅購買模式。難處在於:騙徒從來唔會停喺原地。佢哋不斷轉換行為、裝置、地點同埋手法。簡單嘅規則系統根本追唔切。機器學習,加上一個叫做核方法嘅數學分支,先至令 Amazon 咁大規模嘅實時欺詐檢測變成可能。
呢篇文章係《收埋喺 AI 裏面嘅數學魔法》系列嘅一部分。今日我哋深入核方法同支持向量機,睇吓呢啲數學概念點樣每日每夜、每一秒保護住 Amazon 嘅客戶。
第一部分:業務場景
想象一個普通嘅 Amazon 客戶。佢周末買書,間唔中訂啲電子產品,平日就儲定啲日用品。佢個賬戶已經開咗三年,收貨地址幾個月嚟都冇變過,次次交易都係喺同一個城市完成。
而家再想象:星期二中午,有啲嘢唔對路。十分鐘之內,佢賬戶度接連落咗三張高價值訂單。收貨地址改咗去另一個國家。新增咗一種付款方式。落單嘅裝置唔同咗。IP 地址解析出嚟嘅位置,離呢位客戶平時買嘢嘅地方差成幾千公里。
Amazon 必須喺幾毫秒之內做決定。呢個係咪真正嘅客戶喺度做緊一啲反常嘅購買,譬如話去旅行或者買禮物?定抑或係騙徒攞到咗佢嘅登入資料,趕喺賬戶被鎖之前快手郁手?
兩個方向判斷錯咗,後果都好嚴重。放走咗欺詐,就等於金錢損失、強制退款、同賣家嘅關係受損、客戶信任被侵蝕。攔截咗一個正當客戶,就等於糟糕嘅體驗、流失嘅銷售、同埋一段維繫咗多年嘅忠誠關係受損。
呢個唔係你用簡單 if-else 規則搞得掂嘅問題。啲模式太複雜、變化太快、五花百門。呢個正正就係核方法同支持向量機被整出嚟要解決嘅問題。
第二部分:機器學習模型架構
我哋要起嘅模型叫做支持向量機,簡稱 SVM。要明白 SVM 喺欺詐檢測點解咁犀利,你首先要明白佢解決嘅核心問題係乜。
想象將 Amazon 所有交易全部畫晒喺一張圖度。真嘅交易聚埋喺一笪地方。欺詐交易聚埋喺另一笪。喺理想世界,你可以喺兩組之間畫一條直線,用佢嚟分類新交易。但係真實嘅欺詐數據從來都唔會咁乾淨。兩堆數據重疊、互相纏繞,形成複雜嘅形狀,冇任何一條直線可以將佢哋分開。
核技巧就喺呢個時候出場。一個核方法做咗一件好犀利嘅事。佢將你嘅交易數據,由原本嘅二維或者十維空間,用數學變換去一個維度高得多嘅空間,喺嗰度兩組數據就可以被分開。佢其實唔係真係直接去計嗰個高維變換,噉樣計起上嚟太貴。佢係用一個核函數,去計任何兩筆交易喺嗰個高維空間嘅相似度,而從來唔使真係去到嗰個空間。呢個就係竅門。
Amazon 嘅欺詐檢測架構,會因應所分析信號嘅性質,用兩類核。
多項式核係用喺模式來自特徵組合嘅時候。佢捕捉到變量之間嘅交互作用,譬如交易金額乘購買頻率,或者付款方式夾埋地點風險。呢啲交互,線性模型係完全睇唔到嘅。
RBF 核,即係徑向基函數,係最通用亦都最強嘅選擇。佢衡量任何兩筆交易有幾相似,自動處理任意複雜嘅邊界。當一筆交易同模型之前見過嘅任何真交易都唔似,RBF 核就會俾佢一個好低嘅相似度分數,標記佢出嚟審查。
SVM 模型靠識別支持向量嚟學習決策邊界,支持向量即係嗰啲離真與假之間邊界最近嘅交易。一旦搵到邊界,訓練數據入面其他嘢都變得唔緊要。呢一點令 SVM 喺生產環境又優雅又慳計算。
第三部分:純數學引擎
而家我哋嚟睇吓驅動呢個系統嘅數學。下面每一條公式,都經已用鉛筆同紙、用真實數字,完完整整驗證過一次。
多項式核嘅公式係:
K(x, y) = (x · y + c)^d
其中 x 同 y 係兩筆交易嘅特徵向量,c 係常數,控制低階項嘅影響,d 係多項式嘅次數,控制邊界嘅複雜程度。
RBF 核嘅公式係:
K(x, y) = exp(-γ ||x – y||²)
其中 γ(gamma)控制一個訓練樣本嘅影響擴散到幾遠。gamma 細即係擴散得遠,gamma 大即係只及附近。
SVM 嘅決策函數係:
f(x) = Σ αᵢ yᵢ K(xᵢ, x) + b
其中 αᵢ 係每個支持向量學返嚟嘅權重,yᵢ 係類別標籤(+1 代表欺詐,-1 代表真實),K(xᵢ, x) 係支持向量同新交易之間嘅核相似度,b 係偏置閾值。如果 f(x) 大過零,呢筆交易就會被標記為欺詐。
而家我哋用真實數字,將每一條計算逐步做一次。
我哋有兩筆 Amazon 交易,每筆用兩個特徵描述:交易金額(標準化咗)同購買頻率。
交易 A:x = [2, 3],意思係標準化金額 2、頻率 3。交易 B:y = [1, 4],意思係標準化金額 1、頻率 4。
多項式核我哋設 c = 1、d = 2,RBF 核設 γ = 0.5。
多項式核逐步嚟:
第一步:計點積 x · y x · y = (2 × 1) + (3 × 4) = 2 + 12 = 14
第二步:加常數 c 14 + 1 = 15
第三步:升到 d = 2 次方 15² = 225
K(x, y) = 225
呢個大數值話俾我哋知,喺多項式特徵空間入面,呢兩筆交易非常相似。核已經捕捉到金額同頻率嘅交互,而我哋從來唔使真係去計嗰個高維變換。
RBF 核逐步嚟:
第一步:計差向量 x – y [2 – 1, 3 – 4] = [1, -1]
第二步:每個分量平方 [1², (-1)²] = [1, 1]
第三步:平方差加埋得到 ||x – y||² 1 + 1 = 2
第四步:乘負 gamma -0.5 × 2 = -1.0
第五步:用指數函數 exp(-1.0) = 0.3679
K(x, y) = 0.3679
呢個 0.3679 嘅分數(喺 0 到 1 之間)話俾我哋知,兩筆交易有中等程度嘅差異。RBF 分數接近 1,即係兩筆交易嘅行為幾乎一模一樣。接近 0,即係差異好大,咁就升起咗欺詐嘅旗。
決策函數逐步嚟:
假設訓練好嘅 SVM 學咗兩個支持向量,權重 α = [0.8, 0.6],標籤 y = [+1, -1],呢兩個支持向量對一筆新交易嘅核值係 [225.0, 0.3679],偏置 b = 0.1。
f(x) = (0.8 × 1 × 225.0) + (0.6 × -1 × 0.3679) + 0.1 f(x) = 180.0 + (-0.2207) + 0.1 f(x) = 179.8793
因為 f(x) = 179.8793 大過零,呢筆交易被分類為真實。第一個支持向量——代表真實交易——嘅強正信號主導咗個決策。
上面所有數值都已經喺 Python 度獨立驗證過,得出嘅結果一模一樣。
第四部分:Python 計算機科學實現(由零開始)
以下嘅實現用 NumPy 由零起一個核欺詐檢測器。每個方法都完整實現,冇捷徑亦冇佔位符。完整嘅執行塊亦包括在內,已經驗證過跑起嚟唔會報錯。
代碼跑起嚟之後,會對測試集入面每筆交易俾出準確嘅欺詐分類,同埋一個 0 到 1 之間、容易解讀嘅風險分數。欺詐交易攞到接近 1.0 嘅高風險分數。真實交易攞到接近 0.0 嘅低風險分數。
第五部分:生產級機器學習藍圖
呢段生產代碼跑起嚟嘅時候,RBF 核同多項式核兩個模型喺測試集上都達到 100% 嘅準確率。RBF 模型識別出九個支持向量,對已確認嘅欺詐交易俾出 0.9647 嘅欺詐概率。多項式模型淨係用兩個支持向量就達到同樣嘅結果,證明揀啱核有幾緊要。
由零寫嘅版本升級到生產版本,有幾個重要嘅分別。第一,scikit-learn 嘅 SVM 實現用咗高度優化嘅二次規劃求解器,具體即係序列最小優化算法,可以擴展到幾百萬個訓練樣本,而我哋手寫嘅實現過咗幾千個就計算上行唔通。第二,Platt 縮放做概率校準,將原始決策分數變成校準好嘅概率,可以用嚟驅動分層業務規則,譬如 0.5 以上送去人工審核、0.9 以上直接攔截。第三,class_weight='balanced' 呢個參數自動補償欺詐數據集入面天然嘅不平衡——真實交易遠遠多過欺詐交易,保證模型唔會齋齋學識將所有嘢都叫做真實嚟攞高準確率。
喺 Amazon 真實嘅生產環境,架構仲要再向外擴。新嘅欺詐模式一出現,模型就持續重新訓練。特徵仲會用圖信號嚟加料,譬如一個賬戶同已知詐騙網絡有冇關連。核 SVM 嘅輸出通常作為更大集成模型入面嘅其中一路信號,貢獻佢畫非線性邊界嘅獨特本事,呢樣係樹模型比唔上嘅。
戰略洞察
對 AI 從業者同業務領袖嚟講,呢篇文章嘅教訓遠遠唔止欺詐檢測。核方法揭示咗關於智能系統嘅一個更大真相:原始輸入空間好少係答案存在嘅地方。真實世界嘅數據亂七八糟、重重疊疊、全部係非線性關係,線性思維解唔開。核技巧嘅威力在於:佢令你喺一個豐富得多嘅數學空間入面推理,而唔使真係付出去到嗰度嘅計算成本。同一個原則——將一個難題變成一個答案睇得見嘅問題——適用於推薦系統、風險評分、預測性維護、醫療診斷,實實在在適用於每一個認真嘅企業級機器學習問題。明白呢一點嘅業務領袖,會向佢哋嘅數據科學團隊問出更好嘅問題。明白呢一點嘅工程師,會起出喺數據拒絕變得乾淨簡單嗰陣真正掂嘅系統。
Amazon 嘅欺詐檢測唔係魔法。係數學,以巨大嘅速度無聲無息咁運作,而而家你已經完全明白佢點樣運作。
#MachineLearning #ArtificialIntelligence #DataScience #Mathematics #Amazon #FraudDetection #KernelMethods #SVM #RBFKernel #PolynomialKernel #TheMagicOfHiddenMathematics #AIEngineering #MLEngineering #Python #SVMClassification #EnterpriseAI #AIStrategy #DeepLearning #NeuralNetworks #TechLeadership
原文最初由 Keshavan Thiagaraja 喺 LinkedIn 發表。喺 LinkedIn 閱讀原文。 [1]
