連續機器學習

連續機器學習是 IBM 的研究結果,並受到生物學自然選擇的啟發,可用於「自動分類器」節點和「自動數值」節點。

建模的不便之處在於隨著時間的推移資料發生變更,因此模型變得過時。 這通常稱為模型漂移概念漂移。 為了協助有效克服模型漂移,SPSS Modeler 提供了連續自動化機器學習。

什麼是模型漂移? 當您根據歷程資料建置模型時,它可能會停滯。 在許多情況下,新的資料總是在不斷進入 — 新變異、新型樣、新趨勢等 — 舊的歷程資料不會擷取它們。 為了解決這個問題,IBM 受到了生物學中著名現象的啟發,該現象稱為物種的自然選擇。 將模型視為物種,將資料視為自然。 就像自然選擇物種一樣,我們應該讓資料選擇模型。 模型和物種之間有一個很大的不同: 物種可以進化,但模型在建立後是靜態的。

物種演化有兩個前提條件,第一個是基因突變,第二個是母體。 現在,從建模的角度來看,若要滿足第一個前提條件(基因突變),我們應該將新的資料變更引入現有的模型中。 若要滿足第二個前提條件(母體),我們應該使用多個模型,而不是僅使用一個模型。 什麼可以代表多個模型? 集合模型集 (EMS)!

下圖說明 EMS 如何演化。 圖的左上部分代表具有混合分割區的歷程資料。 混合分割區確保了豐富的起始 EMS。 圖的右上部分代表可以使用的新資料區塊,每面都有垂直線。 左側的垂直線代表現行狀態,而右側垂直線代表存在模型漂移風險時的狀態。 在每一輪新的連續機器學習中,會執行兩個步驟來演化您的模型,並避免模型漂移。

首先,您可以使用現有的訓練資料來建構集合模型集 (EMS)。 在此之後,當新的資料區塊可用時,會根據該新資料建置新模型,並將其作為元件模型新增至 EMS。 會使用新資料重新評估 EMS 中現有元件模型的加權。 由於此重新評估,會選取具有較高加權的元件模型用於現行預測,而具有較低加權的元件模型則可以從 EMS 中刪除。 此程序會重新整理模型加權和模型實例的 EMS,從而以靈活且有效的方式演化,來解決資料隨時間變化而必然產生的變更。

圖 1. 連續自動化機器學習
連續自動化機器學習

集合模型集 (EMS) 是一個產生的自動模型塊,在自動建模節點與產生的自動模型塊之間有一個重新整理鏈結,定義了它們之間的重新整理關係。 當您啟用連續自動化機器學習時,新的資料資產會持續供應給自動建模節點,以產生新的元件模型。 會更新而不是取代模型塊。

下圖提供了連續機器學習實務範例中的 EMS 內部結構的範例。 僅選取前三個元件模型用於現行預測。 對於每一個元件模型(標記為 M1、 M2 和 M3),會維護兩種加權。 「現行模型加權 (CMW)」說明元件模型針對新資料區塊的效能,而「累計模型加權 (AMW)」說明元件模型針對最近資料區塊的綜合性效能。 AMW 透過 CMW 和自身的先前值反覆計算,有一個超參數 beta 在它們之間進行平衡。 計算 AMW 的公式稱為指數移動平均值

當有新的資料區塊可用時,第一個 SPSS Modeler 會使用它來建置一些新的元件模型。 在此範例圖中,模型 4 (M4) 使用在初始模型建置程序期間計算的 CMW 和 AMW 建置。 然後 SPSS Modeler 使用新的資料區塊來重新評估現有元件模型(M1、M2 和 M3)的測量,並根據重新評估結果更新其 CMW 和 AMW。 最後,SPSS Modeler 可能會根據 CMW 或 AMW 重新排序元件模型,並相應地選取前三個元件模型。

在本圖中,使用常態化值 (sum = 1) 來說明 CMW,並基於 CMW 來計算 AMW。 在 SPSS Modeler 中,為了簡單起見,選擇絕對值(等於選取的評估加權測量 - 例如,精確度)來代表 CMW 和 AMW。

圖 2. EMS 結構
EMS 結構
請注意,針對每一個 EMS 元件模型定義了兩種類型的加權,這兩種類型都可用於選取前 N 個模型及元件模型退出:
  • 現行模型加權 (CMW) 透過對新資料區塊進行評估來計算(例如,新資料區塊上的評估精確度)。
  • 累計模型加權 (AMW) 透過結合 CMW 和現有 AMW 來計算(例如,指數加權移動平均值 (EWMA))。

    用於計算 AMW 的指數移動平均公式:
    用於計算 AMW 的指數移動平均公式

在 SPSS Modeler 中,在執行「自動分類器」節點以產生模型區塊之後,下列模型選項可用於連續機器學習:

  • 在模型重新整理期間啟用連續自動化機器學習。 選取此選項可啟用連續機器學習。 請記住,必須使用一致的 meta 資料(資料模型)來訓練連續自動模型。 如果您選取此選項,則會啟用其他選項。
  • 啟用自動模型加權重新評估。 此選項會控制是否在模型重新整理期間計算並更新評估測量(例如,精確度)。 如果您選取此選項,則自動評估程序將在 EMS 之後執行(在模型重新整理期間)。 這是因為通常需要使用新資料重新評估現有的元件模型來反映資料的現行狀態。 然後,會根據重新評估結果來指派 EMS 元件模型的加權,並使用加權來決定元件模型對最終集合預測的貢獻比例。 依預設,會選取此選項。
    圖 3. 模型設定
    模型設定
    圖 4. 旗標目標
    旗標目標
    以下為「自動分類器」節點支援的 CMW 和 AMW:
    表 1. 受支援的 CMW 和 AMW
    目標類型 CMW AMW
    旗標目標 整體精確度
    曲線下區域
    累計精確度
    累計 AUC
    集合目標 整體精確度 累計精確度

    下列三個選項與 AMW 相關,其用於評估元件模型在最近資料區塊期間的效能:

  • 在模型加權重新評估期間啟用累計因數。 如果您選取此選項,則會在模型加權重新評估期間啟用 AMW 計算。 AMW 代表 EMS 元件模型在最近資料區塊期間的綜合性效能,與先前列出的 AMW 公式中定義的累計因數 β 相關,您可以在節點內容中進行調整。 如果未選取此選項,則只會計算 CMW。 依預設,會選取此選項。
  • 在模型重新整理期間,根據累計限制來執行模型減少。 如果您要在模型重新整理期間從自動模型 EMS 中移除低於指定限制的 AMW 值,請選取此選項。 這可能有助於捨棄無用的元件模型,以防止自動模型 EMS 變得過於沉重。
    累計限制值評估與選取評估加權投票作為全體方法時使用的加權測量相關。 請參閱下列內容。
    圖 5. 集合和旗標目標
    集合和旗標目標

    請注意,如果您選取模型精確度作為針對評估加權測量,則會刪除累計精確度低於指定限制的模型。 如果您選取曲線下的區域作為評估加權測量,則會刪除累計 AUC 低於指定限制的模型。

    依預設,模型精確度用於「自動分類器」節點的評估加權測量,且在旗標目標中有選用的 AUC ROC 測量。

  • 使用累計評估加權投票。 如果您要使用 AMW 進行現行評分/預測,請選取此選項。 否則,依預設會使用 CMW。 在選取評估加權投票作為全體方法時,會啟用此選項。

    請注意,對於旗標目標,選取此選項,如果您選取模型精確度作為評估加權測量,則會使用累計精確度作為 AMW 來執行現行評分。 或者如果您選取曲線下的區域作為評估加權測量,則會使用累計 AUC 作為 AMW 來執行現行評分。 如果您不選取此選項,而選取模型精確度作為評估加權測量,則會使用整體精確度作為 CMW 來執行現行評分。 如果您選取曲線下的區域,則會使用曲線下的區域作為 CMW 來執行現行評分。

    對於集合目標,如果您選取使用累計評估加權投票這個選項,則會使用累計精確度 作為 AMW 來執行現行評分。 否則,將使用整體精確度作為 CMW 來執行現行評分。

採用連續自動化機器學習,自動模型塊一直在透過重建自動模型不斷演化,這可確保您取得反映資料現行狀態的最新版本。 SPSS Modeler 提供了在 EMS 中根據其現行加權選取前 N 個不同元件模型的彈性,這會在不同的期間與變化的資料保持同步。

附註: 「自動數值」節點是更簡單的案例,提供「自動分類器」節點中選項的子集。

範例

在此範例中,在電信產業中使用連續機器學習來預測行為並留住客戶。

在下列流程中,資料資產包括上個月內離開的客戶的相關資訊(Churn 直欄)。 由於每個月都有新的資料可供使用,因此本實務範例適用於連續機器學習。 在此範例中,一月 (Jan) 資料用於建構起始自動模型,然後二月 (Feb) 資料用於透過連續機器學習來加強自動模型。

圖 6. 範例流程
範例流程
在流程的上游分支中,在「資料資產」節點之後,有一個「過濾器」節點可過濾出一些不重要的欄位。 在分支的結尾,有一個終端「自動分類器」建模節點。 在節點的專家設定下,我們選取要用於訓練程序的演算法。 在此範例中,我們選取三個演算法:邏輯迴歸、貝氏網路及神經網路。 然後,我們執行流程以產生自動模型塊。

現在我們來看看自動模型塊內部的內容。 我們可以看到它包含三個元件模型,與我們選取的三個演算法對應。 對於每一個元件模型,會產生數個評估測量(例如精確度和曲線下的區域)。 這些評估測量說明元件模型針對訓練資料(1 月資料集)的效能。 您可以選取要在現行集合預測中使用的元件模型。

圖 7. 評估測量
評估測量

您也可以看到累計評估測量。 這些累計測量適用於連續機器學習,因為它們說明元件模型針對最近資料變更的效能,以便讓您瞭解模型在一段時間內的綜合性效能。 由於這是我們的初始自動模型,我們看到累計測量的起始值與相關的現行測量相同。 依預設,會根據訓練資料來計算評估測量,因此可能有某種程度的過度配適。 為避免此情況,「自動分類器」節點提供了一個建置選項,可透過交叉驗證來計算更穩定的評估測量。

接下來,我們來看看最終的集合預測是如何產生的。 如果我們開啟自動模型的內容,則在全體旗標目標之下,訓練目標流失欄位是 yes/no 旗標目標。 在全體集合目標下(針對包含兩個以上值的集合目標欄位),有一個全體方法下拉清單。 在下拉清單中提供了數個選項(例如,大部分投票表示每個元件模型保留一個摘記卷來投票,而信賴度加權投票表示每個元件模型的預測的信賴度欄位用作投票加權 — 信賴度越高,對最終集合預測的影響越大)。 同樣地,為了更好地支援連續機器學習,可以使用評估加權投票,以便將元件模型的評估測量(例如,模型精確度或曲線下的區域)用作投票加權。 在旗標目標中,也可以在使用評估加權投票時,選取特定評估測量作為投票加權。 在集合目標中,目前僅支援精確度

圖 8. 集合和旗標目標
集合和旗標目標

您可在集合通用設定下,開啟連續機器學習。 然後我們可以使用二月資料來查看正在發生的情況。 我們可以選取兩個不同的演算法來區分現有的元件模型演算法。 然後在重建流程並檢視自動模型的內容之後,我們會看到新增了兩個新的元件模型(C5 和 C&RT)。 我們還注意到,已重新計算對現有元件模型的評估測量。 CMW 測量和 AMW 測量都跟以前有所不同。 現在,我們可以將它們與原始自動模型中的相應測量進行比較。

圖 9. 評估測量
評估測量

現在有什麼? 使用加強型自動模型,我們可以選取已設定優先順序的評估測量,並取得依該測量排序的前 N 個元件模型。 然後,我們可以使用前 N 個元件模型來參與對送入預測分析要求的最終集合預測。 而如果選取了評估加權投票作為全體方法,則我們只需選取集合通用設定下的使用累計評估加權投票選項,便可使用累積測量作為投票加權。 如果取消選取,將會依預設在評估加權投票中使用 CMW 測量。

透過連續機器學習,隨著針對新的資料區塊不斷重建,自動模式一直在演化,從而確保您的模型是反映資料現行狀態的最新版本。 這可讓您靈活地根據現行或累計評估測量在 EMS 中選取前 N 個不同的元件模型,以在不同的期間與變化的資料保持同步。

為方便起見,您可以定期選擇將最新的「自動」模型部署到 Watson Machine Learning 中。