[Premium]{class="badge positive" title="檢視Target Premium包含的內容。"}

隨機森林演算法

在(AP)和Auto-Target活動中使用的主要個人化演演算法是「隨機森林」。 整體方法(例如隨機森林)會使用多種學習演演算法,以獲得比從任何組成學習演演算法都更好的預測效能。 Automated Personalization和Auto-Target中的隨機森林演演算法是一種分類或回歸方法,在訓練時透過建構許多決策樹來運作。

在思考統計學時,您可能會想到使用單一迴歸模型來預測結果。最新的資料科學研究指出,「整體方法」可從相同資料集建立多個模型,然後進行智慧式合併,因此產生的結果比根據單一模型來預測更好。

隨機森林演演算法是在Automated Personalization和Auto-Target活動中使用的關鍵基本個人化演演算法。 隨機森林結合了數百棵決策樹,比單一樹木單獨做出更好的預測。

什麼是決策樹? section_7F5865D8064447F4856FED426243FDAC

決策樹的目標是劃分系統可從中學習的所有可用造訪資料,然後將該資料分組,其中每個群組中的造訪在目標量度方面儘可能彼此類似。 但是,各群組的造訪會根據目標量度(例如轉換率)而儘可能不同。 決策樹會檢視其訓練集中的不同變數,以決定如何以互斥共同詳盡(MECE)方式將資料分割成這些群組(或「離開」),以最大化此目標。

在簡單範例中,假設兩個輸入變數:

  • 性別 (兩個可能值: 男或女)
  • 郵遞區號(小型資料集中可能有五個值:11111、22222、33333、44444或55555)

如果目標量度是轉換,則樹狀結構會先決定兩個變數中哪個可解釋造訪資料轉換率中最大的變數。

假設郵遞區號最可預測。此變數會形成樹狀結構的第一個「分支」。接著,決策樹會決定如何分割造訪資料,例如每個分割內的記錄轉換率儘可能相似,而分割之間的轉換率儘可能不同。在此範例中,假定11111、22222、33333為一次分割,而44444和55555為第二次分割。

此動作會產生決策樹的第一層:

decsion_tree_1影像

決策樹會提出以下問題:「何謂預測性最高的變數?」 在此範例中,只有兩個變數,因此這裡的答案顯然是性別。 樹狀結構現在會完成類似的練習,在每個分支​ 中分割資料。 首先,以 11111、22222 和 33333 分支為例。在這些郵遞區號中,如果男和女的轉換率不同,則會有兩個分葉 (男和女),而此分支也就完成。在其他分支(44444和55555)中,假設男女轉換率之間沒有統計差異。 在此情況下,第一個分支就成為最終分割。

此範例會產生以下樹狀結構:

decsion_tree_2影像

隨機森林如何使用決策樹? section_536C105EF9F540C096D60450CAC6F627

決策樹雖然是強大的統計工具,但有一些缺點。最嚴重的情況是可能會「過度配適」資料,以致於個別樹狀結構難以預測並未用來建立原始樹狀結構的未來資料。在統計學習中,此難題稱為偏誤及變數之權衡隨機森林有助於克服這種過度契合的挑戰。 站在最高的角度來看,隨機森林是一群在相同資料集上以稍微不同的方式建立的決策樹,經過共同「表決」而產生比個別狀結構更好的模型。這些樹狀結構是透過隨機選取具有取代的造訪記錄子集(稱為標籤),並隨機選取屬性子集(因此樹狀結構由稍微不同的決策樹組成)所建置。 此方法會對隨機森林中建立的樹狀結構造成輕微變化。加入此控制的變數有助於改善演算法的預測準確度。

Target個人化演演算法如何使用隨機森林? section_32FB53CAD8DF40FB9C0F1217FBDBB691

如何建立模型

下圖總結了如何為Auto-Target和Automated Personalization活動建立模型:

random_forest_flow圖片 {width="650" modal="regular"}

  1. Target會收集訪客的資料,同時隨機提供體驗或選件
  2. 在Target點選關鍵數量的資料後,Target會執行功能工程
  3. Target會為每個體驗或選件建置隨機森林模型
  4. Target檢查模型是否符合臨界值品質分數
  5. Target將模型推送至生產環境,以便個人化未來的流量

Target會使用自動收集的資料,以及您提供的自訂資料,來建置其個人化演演算法。 這些模型會預測最佳體驗或選件來顯示給訪客。一般而言,每個體驗(如果是Auto-Target活動)或每個選件(如果是Automated Personalization活動)會建立一個模型。 Target接著會顯示產生最高預測成功量度(例如轉換率)的體驗或選件。 這些模型必須在隨機提供的造訪上經過訓練,才能用來預測。因此,當活動最初開始時,即使對於個人化群組中的訪客,也會隨機顯示不同的體驗或選件,直到個人化演算法就緒為止。

每個模型都必須經過驗證,才能在用於活動之前完美預測訪客的行為。 模型會根據它們在曲線下的面積(AUC)來驗證。 由於需要驗證,模型開始提供個人化體驗的確切時間會根據資料的詳細資訊而定。 在實務上及流量規劃用途上,每個模型通常要超過最低轉換次數才有效。

當體驗或選件的模型變得有效時,體驗/選件名稱左邊的時鐘圖示會變成綠色核取方塊。當有至少兩種體驗或選件的有效模型時,部分造訪會開始變成個人化。

特徵轉換

資料會進入個人化演算法之前會經過特徵轉換,可視為預備好訓練記錄中收集的資料,以供個人化模型使用。

特徵轉換視屬性類型而定。主要有兩種屬性 (資料科學家有時會說成「特徵」):

  • 類別: ​類別特徵無法計數,但可分類成不同群組。這種特徵包括國家/地區、性別或郵遞區號。
  • 數值: ​數值特徵可測量或計數,例如年齡、收入等。

對於類別特徵,存在一組所有可能的特徵,概度轉換用來降低資料大小。對於數值特徵,重新縮放可確保這些特徵在整體上可互相比較。

採用多臂吃角子老虎機來平衡學習與個人化

在Target建立個人化模型以個人化您的流量後,您對未來活動的訪客有一個明確的權衡。 您應該根據目前模型來個人化所有流量,還是應該透過隨機提供選件來繼續向新訪客學習? 您需要確保個人化演算法一定會學習到訪客的最新趨勢,同時又將多數的流量個人化。

多臂吃角子老虎機是Target如何協助您達成此目標。 多臂吃角子老虎機可確保模型一律「花費」少量流量,在整個活動學習期間持續學習,並防止過度利用先前學習的趨勢。

在資料科學界,多臂強盜問題是探索與開發困境的經典範例,在此範例中,一組單臂強盜各自具有未知的獎勵概率。 主要概念是開發一套策略,只玩成功機率最高的臂,使獲得的總報酬最大化。在建立線上模型後,系統中會使用多臂吃角子老虎機進行線上評分。 此程式有助於在探索期間進行線上學習。 目前的多臂演演算法是epsilon (ε)貪婪演演算法。 在此演算法中,根據機率 1- ε 來選擇最佳的臂。此外,根據機率 ε 會隨機選擇任何其他臂。

recommendation-more-help
3d9ad939-5908-4b30-aac1-a4ad253cd654