洗錢偵測系統,應該用哪種機器學習方法?
某商業銀行想建立洗錢行為檢測系統,擁有過去 5 年的交易記錄,其中包含已確認的洗錢案例(標記為「異常」)和正常交易(標記為「正常」)。銀行希望系統能自動識別新交易是否為洗錢行為,請問使用下列哪一種機器學習方法最為適合?
某商業銀行有過去 5 年的交易記錄,每筆都已標記為「異常」(洗錢)或「正常」,想建立一套系統,自動判斷新進交易是否屬於洗錢行為。
問你:要建立這套自動識別洗錢行為的系統,最適合哪一種機器學習方法?
一句話總結
有標籤、要分類新資料,就是監督式學習的分類問題,這是最直接的對應。
先感受問題:有歷史紀錄,也有答案,怎麼讓模型學?
假設「兆豐銀行」的合規部門花了 5 年時間,把每一筆懷疑洗錢的交易送去人工調查,最後確認 4,200 筆是真正的洗錢案例,其餘 3,800 萬筆是正常交易。
每一筆交易都有:交易金額、交易時間、對手帳戶、跨境與否、當天交易次數等 40 個特徵,以及一個標籤:「洗錢」或「正常」。
合規長說:「我要一個系統,每當有新交易進來,就自動判斷它是不是洗錢。」
你手上有:資料(40 個特徵)+ 答案(標籤)+ 任務(判斷新交易屬於哪類)。
這就是監督式學習分類問題的標準描述:用有答案的歷史資料訓練模型,讓模型學會判斷新資料。
不用監督式學習,還有哪些方法,局限在哪
其他方法在這個場景下會遇到根本問題:
- 規則引擎:寫死閾值(「單筆超過 100 萬就警示」),但洗錢手法不斷演化,今天的規則明天就失效,維護成本極高
- 非監督分群:沒有標籤時可以把交易分成幾個「行為模式群」,但不知道哪群是洗錢,無法直接輸出「是/不是」的判斷
- 強化式學習:需要即時環境回饋(每次決策後知道對不對),洗錢確認往往要幾個月調查,無法即時給回饋
- 關聯規則挖掘:找「常一起出現的行為」(如「A 帳戶匯款給 B,B 同天又匯給 C」),可以找出關聯模式,但無法直接給每筆交易一個「是/否」的判斷
- 浪費已有的標籤資訊:「兆豐銀行」花了 5 年人工標了 3,800 萬筆資料,不用這些標籤,改用非監督方法,等於把最有價值的資產扔掉
監督式學習分類怎麼處理洗錢偵測
「兆豐銀行」用這 3,800 萬筆有標籤的資料訓練一個分類模型:
輸入:40 個交易特徵(金額、時間、對手帳戶、跨境標記等)
輸出:「洗錢(1)」或「正常(0)」加上機率分數(例如「這筆交易有 87% 的機率是洗錢」)
訓練過程:模型看過所有歷史案例,學習「哪些特徵組合在確認洗錢的案例中出現頻率高」,建立判斷規則。
系統上線後,每筆新交易進來,模型立刻算出分數。超過閾值的案例自動送給人工複核,明顯正常的則通過。
這就是選項 A 的意思:監督式學習的分類問題:用有標籤的資料訓練模型,對新的未標籤資料做分類預測。
技術版:監督式學習四種方法的選題邏輯
機器學習三大類的選題框架:有標籤 + 要分類/回歸 → 監督式學習;沒有標籤 + 要找結構/模式 → 非監督式學習;有環境 + 要優化策略 → 強化式學習。這個框架是考試選題和實務選型的核心邏輯。
分類 vs 迴歸的差異:分類輸出是類別(是/否、A/B/C),迴歸輸出是數值(價格、機率)。洗錢偵測輸出「是否洗錢」是類別,所以是分類問題。但很多分類模型也會輸出機率,讓業務可以設定不同閾值調整召回率和精確率。
洗錢偵測的類別不平衡問題:4,200 筆洗錢 vs 3,800 萬筆正常,比例約 1:9000,是嚴重的類別不平衡。這個問題雖然不影響「選監督式學習分類」的判斷,但在實際開發時需要用 SMOTE(過採樣)、欠採樣或調整損失函數等技術處理。
為什麼出題者要考這題:監督/非監督/強化的分類是考試基礎題必考項目,但出題者刻意加上「5 年紀錄」「已確認的案例」「標記為異常/正常」等情境,測試考生能不能從情境描述中識別出「有標籤 + 要分類」的訊號。
為什麼其他選項是錯的
B非監督式學習的分群問題
把交易資料自動分成幾個群組,找出群組之間的差異。
非監督式分群不使用標籤,它自己找資料的自然分組。但題目已經有「洗錢/正常」的標籤,使用非監督分群等於完全浪費這些標籤,模型無法直接輸出「這筆是洗錢嗎」的判斷。分群適合沒有標籤的場景,這個場景有標籤就不應該用分群。
直覺上覺得「把洗錢交易和正常交易分開」就是分群的人。分群是讓模型自己找類別,分類是告訴模型類別是什麼,訓練它學判斷。有了標籤就用分類,沒有標籤才用分群。
C強化式學習
讓 AI 在環境中試錯,根據獎勵和懲罰學習最佳策略。
強化式學習需要一個環境,每次決策後立刻得到回饋(這個動作好還是不好)。洗錢確認是幾個月的調查流程,無法在交易發生的當下給出即時回饋。另外,強化式學習適合的是「連續決策優化」(如下棋、機器人控制),而非「靜態資料集分類」。
以為「AI 自動判斷」就是強化學習的人。強化學習是透過與環境互動學習策略,不是從靜態資料集訓練分類器。
D非監督式學習的關聯規則挖掘
找出交易行為之間的關聯模式(如「做 X 的人通常也做 Y」)。
關聯規則挖掘(如 Apriori 算法)用於發現「共現模式」,例如超市購物籃分析。它無法直接對每筆交易做「是/否」的分類輸出,也是非監督方法,同樣浪費了題目提供的標籤資訊。
想到「洗錢通常有固定模式」就選關聯規則的人。「模式」不等於「關聯規則」,監督式分類也能學到洗錢模式,而且因為有標籤所以更精準。
同個考點下次怎麼變形
如果銀行只有交易紀錄、沒有任何洗錢標籤,應該改用什麼方法?
沒有標籤,監督式學習就用不了,怎麼辦?
應該改用非監督式異常偵測,例如 Isolation Forest 或 Autoencoder。這些方法學習「正常交易的模式」,與正常模式差異大的就標記為可疑。雖然精準度通常不如有標籤的監督式學習,但在完全沒有標籤的情況下是可行的起點。
監督式學習的分類和迴歸,最主要的差別是什麼?
兩個都是監督式學習,有什麼不一樣?
分類的輸出是離散類別:是/否、貓/狗/鳥、A/B/C 等。迴歸的輸出是連續數值:明天的股價、房子的估值、下個月的銷售額。洗錢偵測輸出「是或否」,是分類;預測違約金額輸出「數字」,是迴歸。
什麼情境下,強化式學習比監督式學習更適合?
強化式學習是什麼場景的首選?
強化式學習適合:需要連續決策(每個決策影響後續狀態)、有明確的獎勵機制、可以快速得到環境回饋的場景。典型例子:下棋(每一步都影響棋局,結果立刻知道)、機器人控制(每個動作後立刻感知新狀態)、廣告投放優化(每次點擊提供即時回饋)。靜態資料集的分類問題通常不適合強化學習。
洗錢偵測中,召回率(Recall)和精確率(Precision)哪個更重要?
模型要同時很準又不漏網,但這兩個通常有取捨。
金融犯罪偵測通常召回率(Recall)更重要:漏掉一筆真正的洗錢(假陰性)的代價,遠大於誤報一筆正常交易(假陽性)。銀行寧可讓合規人員多審查幾筆誤報,也不願意讓真正的洗錢溜走。具體閾值設定由業務決策,不是技術決定。
非監督式分群可以用來輔助洗錢偵測嗎?
分群不適合做直接偵測,那它完全沒用嗎?
分群可以作為前期探索工具:在沒有足夠標籤之前,先用分群找出「異常的行為群體」,再由人工審查這些群體,確認哪些是洗錢,建立初步標籤庫。之後有了標籤,再轉為監督式分類。分群是建立標籤的輔助手段,不是最終的偵測方法。
想再往下看,這 5 個
- 監督式學習(Supervised Learning)用有標籤資料訓練模型學習輸入到輸出映射,有標籤且要預測新資料時的首選方法
- 反洗錢人工智慧(Anti-Money Laundering AI)金融業用 AI 自動識別可疑洗錢交易的應用,監督式分類模型是其核心技術路徑
- 詐欺偵測(Fraud Detection)與洗錢偵測同屬金融異常識別問題,同樣需要有標籤的歷史案例來訓練監督式分類模型
- 非監督式學習(Unsupervised Learning)無需標籤的學習方法,適用於無歷史案例標記時,與本題已有標籤的情境相對,是常見干擾選項
- 資料不平衡(Data Imbalance)洗錢案例遠少於正常交易造成的訓練困難,監督式模型部署前需處理樣本不平衡以避免偏向多數類