AutoML 技術的興起,大幅降低了機器學習的門檻,讓更多人能輕易上手。它自動化了從資料清理、特徵工程到模型選擇與調校的過程,省去了繁瑣的手動操作。不過,AutoML 也並非完美無缺,它可能隱藏一些重要的模型細節,使開發者難以深入理解模型的運作方式。因此,在使用 AutoML 時,仍需謹慎評估其適用性和侷限性,並適時搭配人工調整,才能獲得最佳的模型效能。

自動化機器學習(AutoML)簡介

自動化機器學習(AutoML)是一種可以自動化機器學習工作流程的技術,從資料載入到生成排名排序的候選模型,並進行自動引數調整。這種技術可以幫助使用者快速地建立高效能的機器學習模型。

AutoML 的步驟

  1. 資料探索和清理:在載入資料後,需要進行資料探索和清理,以確保資料的品質和完整性。
  2. 確定機器學習任務:根據資料的型別和目標,確定機器學習任務的型別,例如分類別或預測。
  3. 選擇特徵和機器學習方法:選擇適合的特徵和機器學習演算法,以建立模型。

AutoML 的優點

  1. 提高效率:AutoML 可以自動化機器學習工作流程,節省時間和人力。
  2. 提高準確度:AutoML 可以自動調整模型引數,提高模型的準確度。
  3. 簡化過程:AutoML 可以簡化機器學習過程,使得使用者更容易建立高效能的模型。

AutoML 的應用

  1. 分類別:AutoML 可以用於分類別任務,例如預測客戶是否會購買某個產品。
  2. 預測:AutoML 可以用於預測任務,例如預測股票價格或天氣。
  3. 推薦系統:AutoML 可以用於建立推薦系統,例如根據使用者的偏好推薦產品。

內容解密:

在上述內容中,我們介紹了 AutoML 的基本概念、步驟和優點。AutoML 是一種可以自動化機器學習工作流程的技術,可以幫助使用者快速地建立高效能的機器學習模型。透過 AutoML,使用者可以簡化機器學習過程,提高效率和準確度。

圖表翻譯:

  graph LR
    A[資料探索和清理] --> B[確定機器學習任務]
    B --> C[選擇特徵和機器學習方法]
    C --> D[建立模型]
    D --> E[評估模型]
    E --> F[調整模型引數]
    F --> G[生成排名排序的候選模型]

在上述圖表中,我們展示了 AutoML 的步驟,從資料探索和清理到生成排名排序的候選模型。透過這個圖表,使用者可以更好地理解 AutoML 的工作流程。

自動化機器學習模型選擇

在進行分類別任務時,自動化機器學習(AutoML)是一種強大的工具,可以幫助我們找到最佳的模型。ASDM 的 Find Best Model 功能可以探索多種不同的模型,包括線性或邏輯迴歸、K 最近鄰、決策樹、神經網路、判別分析、Bagging、Boosting 和隨機森林。

模型選擇過程

為了演示這個過程,我們使用個人貸款資料,訓練了一個決策樹、K 最近鄰、神經網路、邏輯迴歸、Bagging、Boosting 和隨機森林模型。除決策樹外,其他模型都使用了預設引數。資料被分割成訓練集(50%)、驗證集(30%)和測試集(20%),使用隨機種子 12345。

模型績效評估

Find Best Model 的結果顯示了每個模型在訓練集和驗證集上的績效。圖 13.4 顯示了使用 Find Best Model 在個人貸款資料上的訓練和驗證績效輸出。最佳表現的模型是決策樹,該模型在驗證準確率方面表現最佳。Bagging 和 Boosting 的表現也非常接近。

訓練集績效

模型準確率(#正確)準確率(%正確)特異性敏感性精確率F1 得分
邏輯迴歸237895.12000.98490.64080.82200.7202
決策樹247298.88000.99820.90200.98220.9404
K 最近鄰2500100.00001.00001.00001.00001.0000
神經網路225590.20001.00000.0000N/AN/A
Bagging249999.96001.00000.99591.00000.9980
Boosting2500100.00001.00001.00001.00001.0000
隨機森林248899.52001.00000.95101.00000.9749

驗證集績效

模型準確率(#正確)準確率(%正確)特異性敏感性精確率F1 得分
邏輯迴歸142294.80000.97870.64490.75420.6953
決策樹148398.86670.99710.90580.96900.9363
K 最近鄰136090.66670.95010.47830.49250.4853
神經網路136290.80001.00000.0000N/AN/A
Bagging148098.66670.99630.89130.96090.9248
Boosting148098.66670.99780.87680.97580.9237
隨機森林147698.40000.99850.84060.98310.9063

由於我們使用了驗證集來比較和選擇最佳模型,因此驗證績效可能過於樂觀。為了估計佈署時的潛在績效,我們需要在測試集上評估最佳模型的績效。ASDM 提供了最佳模型(決策樹)在測試集上的績效,結果顯示決策樹的表現良好,但略遜於驗證集,整體錯誤率為 1.9%(準確率為 98.1%)。

測試集摘要

實際\預測01
08994
11582
分類別 # 案例 # 錯誤 % 錯誤
090340.44
1971515.46
整體1000191.90

混淆矩陣

錯誤報告

自動化機器學習(AutoML)與模型佈署

自動化機器學習(AutoML)是一種可以自動化機器學習過程的技術,包括資料預處理、模型選擇、模型訓練和模型評估等步驟。AutoML可以幫助資料科學家快速地建立和佈署機器學習模型,節省時間和成本。

AutoML的優點

  1. 快速建立模型:AutoML可以快速地建立機器學習模型,節省資料科學家大量的時間和精力。
  2. 提高模型準確度:AutoML可以自動化模型選擇和模型訓練,提高模型的準確度和穩定性。
  3. 簡化模型佈署:AutoML可以自動化模型佈署,簡化了模型從開發到生產的過程。

AutoML的缺點

  1. 隱藏重要細節:AutoML可能會隱藏重要的細節和假設,導致資料科學家對模型缺乏深入的理解。
  2. 過度依賴自動化:過度依賴AutoML可能會導致資料科學家缺乏手動模型建立和調整的能力。

模型佈署

模型佈署是指將訓練好的機器學習模型佈署到生產環境中,讓它可以被用來預測新的資料。模型佈署需要考慮以下幾個因素:

  1. 模型格式:模型需要被儲存為特定的格式,以便於佈署和使用。
  2. 資料預處理:資料需要被預處理,以便於模型可以正確地預測。
  3. 模型更新:模型需要被更新,以便於保持其準確度和有效性。

案例研究

以下是一個案例研究,使用AutoML和模型佈署技術建立了一個預測延遲航班的模型。

  1. 資料收集:收集了2004年1月份華盛頓特區至紐約的所有商業航班資料。
  2. 資料預處理:將資料預處理為適合模型訓練的格式。
  3. 模型建立:使用AutoML建立了一個預測延遲航班的模型。
  4. 模型評估:評估了模型的準確度和有效性。
  5. 模型佈署:將模型佈署到生產環境中,讓它可以被用來預測新的資料。

介紹干預和使用者反饋

在這個章節中,我們將探討機器學習的第三個正規化,該正規化不同於監督式和非監督式學習,涉及干預和反饋。監督式和非監督式學習通常使用觀察性資料,而這個章節中,我們將討論來自干預的實驗資料,並測量干預的結果。

14.1 A/B 測試

A/B 測試是一種標準的科學實驗,用於測試治療或干預對結果的因果影響。這種測試被廣泛用於各個行業,包括行銷、醫學和軟體開發。A/B 測試的基本思想是比較兩種不同的治療方法,或是一種治療方法與控制組。

在行銷中,A/B 測試常用於測試不同廣告設計、電子郵件或網頁版本的效果。例如,電子藝術公司(Electronic Arts)曾使用 A/B 測試來比較不同版本的網頁對使用者的影響。他們發現,沒有特殊促銷的版本實際上表現得更好。

A/B 測試需要隨機分配治療方法給受試者,這樣可以確保任何差異都是由治療方法引起的,而不是由於偶然性。這種測試通常涉及兩個測量:哪種治療方法被施加,以及結果是什麼。例如,在一個比較新舊廣告設計的 A/B 測試中,我們會記錄每個使用者收到的廣告型別(舊或新),以及結果(點選或未點選)。

內容解密:

A/B 測試是一種強大的工具,用於評估不同治療方法或干預的效果。透過隨機分配治療方法給受試者,可以確保結果是由治療方法引起的,而不是由於其他因素。這種測試在各個行業中都有廣泛的應用,包括行銷、醫學和軟體開發。

  graph LR
    A[開始] --> B[隨機分配治療方法]
    B --> C[施加治療方法]
    C --> D[記錄結果]
    D --> E[比較結果]

圖表翻譯:

此圖示 A/B 測試的流程。首先,受試者被隨機分配到不同的治療方法。然後,施加相應的治療方法。接下來,記錄每個受試者的結果。最後,比較不同治療方法之間的結果,以評估其有效性。

14.2 升級模型

升級模型是一種結合 A/B 測試和監督式學習的方法,用於提供定製化的目標。這種模型可以用於直接行銷和政治分析等領域。

14.3 強化學習

強化學習是一種通用的機器學習方法,用於個人化。這種方法涉及一個代理(agent)透過學習最佳的治療方法分配策略來最大化累積獎勵。

內容解密:

強化學習是一種強大的工具,用於個人化。透過學習最佳的治療方法分配策略,可以最大化累積獎勵。這種方法在各個領域中都有廣泛的應用,包括推薦系統和廣告投放。

  graph LR
    A[開始] --> B[代理學習]
    B --> C[選擇行動]
    C --> D[獲得獎勵]
    D --> E[更新策略]

圖表翻譯:

此圖示強化學習的流程。首先,代理開始學習。然後,代理選擇一個行動。接下來,代理獲得一個獎勵。最後,代理更新其策略,以最大化累積獎勵。

實施A/B測試以評估新功能對使用者行為的影響

在進行A/B測試時,首先需要定義待測試的變數和目標。例如,PhoToTo這個虛擬的照片分享應用想要測試一個新功能:允許使用者上傳的照片在24小時後自動消失。目標是增加使用者活動並將免費版使用者轉換為付費版使用者。

實施A/B測試

  1. 隨機分組:從PhoToTo的免費版使用者中隨機選取2000名使用者,將他們分成兩組:對照組(A)和治療組(B)。對照組使用現有的功能,而治理組則獲得新的功能。
  2. 實驗設計:對照組和治療組都執行一週的實驗。在此期間,測量每位使用者的兩個績效指標:上傳的照片總數和是否升級到付費版。
  3. 資料收集:實驗結束後,收集所有2000名使用者的資料,包括上傳照片的數量和是否升級到付費版。

資料分析

使用收集到的資料,計算每個組別的平均上傳照片數量和升級率。比較對照組(A)和治療組(B)的結果,以確定新功能是否對使用者行為產生了顯著影響。

資料示例

指標對照組(A)治療組(B)
平均上傳照片數量5060
升級率5%8%

結果解讀

根據結果,治療組(B)的平均上傳照片數量和升級率都高於對照組(A)。這表明新功能可能對使用者行為產生了正面的影響。但是,為了確保這些差異不是由於隨機性造成的,需要進行統計分析以確定結果的顯著性。

統計分析

使用適當的統計方法(如t檢定或卡方檢定),評估治療組和對照組之間的差異是否在統計學上具有顯著性。如果結果顯著,則可以推斷新功能對使用者行為有正面的影響。

使用統計方法進行A/B測試

在進行A/B測試時,瞭解結果是否具有統計學意義是非常重要的。這涉及到使用統計方法來比較兩組資料之間的差異,並判斷這種差異是否可能由於隨機變化。

t檢定

t檢定是一種常用的統計方法,用於比較兩組獨立樣本的平均值或比例。它可以幫助我們確定觀察到的差異是否具有統計學意義。

給定兩組資料,A組和B組,我們可以計算t統計量(t-statistic)如下:

T = (y_B - y_A) / Standard Error(y_B - y_A)

其中,y_B和y_A分別是B組和A組的平均值,Standard Error(y_B - y_A)是兩組平均值差異的標準誤差。

標準誤差計算

標準誤差的計算公式取決於資料的型別。如果資料是數值型的,則使用以下公式:

Standard Error(y_B - y_A) = sqrt(s_A^2 / n_A + s_B^2 / n_B)

其中,s_A和s_B分別是A組和B組的標準差,n_A和n_B分別是A組和B組的樣本大小。

如果資料是二元型的(例如,買或不買),則使用以下公式:

Standard Error(ˆp_B - ˆp_A) = sqrt(ˆp_A * (1 - ˆp_A) / n_A + ˆp_B * (1 - ˆp_B) / n_B)

其中,ˆp_A和ˆp_B分別是A組和B組的比例,n_A和n_B分別是A組和B組的樣本大小。

p值計算

p值代表了觀察到的差異出現在隨機模型中的機率。如果p值很小(通常設定為0.05),則表示觀察到的差異不太可能由於隨機變化,因此具有統計學意義。

內容解密:

在這篇文章中,我們討論瞭如何使用統計方法進行A/B測試。首先,我們介紹了t檢定和標準誤差的計算公式。然後,我們解釋瞭如何計算p值和判斷結果是否具有統計學意義。最後,我們總結了使用統計方法進行A/B測試的重要性。

圖表翻譯:

  graph LR
    A[A/B測試] --> B[t檢定]
    B --> C[標準誤差計算]
    C --> D[p值計算]
    D --> E[結果判斷]

在這個圖表中,我們展示了A/B測試的流程。首先,我們進行A/B測試,然後計算t統計量和標準誤差。接下來,我們計算p值並判斷結果是否具有統計學意義。最後,我們根據結果做出決策。

A/B 測試的統計學意義

在進行 A/B 測試時,瞭解結果的統計學意義至關重要。這涉及計算 t 值的統計學意義(其 p 值),然後將其與使用者確定的臨界值進行比較。例如,如果臨界值設定為 5%,則 p 值低於 5% 將指示新設計的點選率在統計學上高於現有設計。

然而,這些測試的結果容易受到兩種潛在錯誤的影響:虛假發現(第一類別錯誤)和錯失發現(第二類別錯誤)。選擇臨界值由玄貓決定。

對於 A/B 測試,必須仔細考慮差異的大小及其實際意義。尤其是 A/B 測試通常在非常大的使用者樣本上進行(成千上萬的使用者)。統計學意義強烈受到樣本大小的影響:即使是非常小的差異,在實踐中可能毫無意義,但也可能出現為統計學上顯著的差異。

多重治療組:A/B/n 測試

A/B 測試可以從兩組(治療組和對照組,或兩個版本)擴充套件到多個組。在 A/B/n 測試中,我們有 n 個組。例如,測試三個新廣告設計與現有設計相比,將使用 A/B/4 測試。該程式與 A/B 測試非常相似,不同之處在於用於數值結果的方差分析(ANOVA)或用於比較比例的卡方測試。

多重 A/B 測試和多重測試的危險

在佈署許多 A/B 測試時,存在高風險的虛假發現:錯誤地得出結論,認為治療效果是真實的,而實際上它只是由於偶然性。每個統計 t 測試都伴有一個小的虛假發現機率,但多個 A/B 測試的組合大大增加了整體虛假發現機率。這種現象被稱為多重測試。

多重測試可能源於測試多個指標(點選率、瀏覽次數、購買次數等)、為多個使用者子群執行測試(國家、郵遞區號、裝置型別等)以及重複執行相同的 A/B 測試多次。Kohavi 等人(2020 年)描述了一個多重測試的案例,它出現在 Optimizely 的早期版本中,允許那些執行 A/B 測試的人在實驗期完成之前“偷看”p 值。

內容解密:

  • A/B 測試用於比較兩個版本之間的差異。
  • p 值用於衡量結果的統計學意義。
  • 臨界值用於確定結果是否顯著。
  • 多重測試可能導致虛假發現。
  • ANOVA 和卡方測試用於比較多個組之間的差異。

圖表翻譯:

  graph LR
    A[A/B 測試] --> B[計算 p 值]
    B --> C[選擇臨界值]
    C --> D[評估結果]
    D --> E[考慮多重測試]

這個流程圖展示了 A/B 測試的步驟,從計算 p 值到評估結果,並考慮多重測試的風險。

Uplift Modeling:提升度模型的應用

在政治競選中,瞭解哪些選民會對電話呼籲做出積極反應至關重要。傳統上,競選團隊依靠專家判斷來決定哪些選民應該被聯絡。但是,隨著資料分析技術的進步,現在可以使用資料驅動的模型來預測選民的反應。

資料收集

美國各州維護著公開的選民檔案,包含選民的姓名、地址、出生日期等資訊。政黨還會在選舉中安排「投票觀察員」來記錄哪些選民投了票。這些資料可以與人口普查資料和商業人口統計資料結合,形成一個全面的選民資料函式庫。

Uplift Modeling

提升度模型(Uplift Modeling)是一種統計方法,用於評估不同對待方式對選民反應的影響。例如,在政治競選中,可以使用提升度模型來評估電話呼籲對不同選民群體的影響。這種模型可以幫助競選團隊瞭解哪些選民最有可能對電話呼籲做出積極反應,並根據這些資訊來最佳化競選策略。

案例研究

表 14.3 顯示了一個小型的選民資料集,包含了選民的年齡、種族、黨派歸屬等資訊。這些資料可以用於建立提升度模型,以預測選民對電話呼籲的反應。例如,可以使用邏輯迴歸模型來評估選民的年齡、種族、黨派歸屬等因素對其反應的影響。

內容解密:

提升度模型的目的是評估不同對待方式對選民反應的影響。這種模型可以幫助競選團隊瞭解哪些選民最有可能對電話呼籲做出積極反應,並根據這些資訊來最佳化競選策略。提升度模型可以使用邏輯迴歸模型、決策樹模型等來建立。

  flowchart TD
    A[資料收集] --> B[資料預處理]
    B --> C[提升度模型]
    C --> D[模型評估]
    D --> E[模型最佳化]

圖表翻譯:

此圖表顯示了提升度模型的建立流程。首先,需要收集相關資料,然後進行資料預處理。接下來,使用提升度模型來評估不同對待方式對選民反應的影響。最後,需要評估和最佳化模型,以確保其準確性和有效性。

選民調查與民主黨支援度提升模型

在政治選舉中,瞭解選民的傾向和影響他們投票決策的因素至關重要。為了研究選民對民主黨支援度的提升,進行了一項調查和實驗。首先,對10,000名選民進行了初步調查,以瞭解他們對民主黨的初步傾向。接著,隨機將這10,000名選民分成兩組:一組(5,000人)收到了一則促進某民主黨候選人(稱為「史密斯」)的訊息(處理組),另一組(5,000人)則沒有收到任何訊息(控制組)。

變數定義

  • Age:選民的年齡
  • NH_White:選民所在社群非西班牙裔白人戶口的百分比
  • Comm_PT:選民所在社群使用公共交通工具上班的人口百分比
  • H_F1:是否為單親家庭(1代表是,0代表否)
  • Reg_Days:選民在現居地址登記投票的天數
  • PR_Pelig:選民在非總統選舉初選中投票的百分比
  • E_Pelig:選民在任何初選中投票的百分比
  • Political_C:戶中是否有政治捐贈者(1代表是,0代表否)
  • Message:是否收到促進民主黨候選人的訊息(1代表收到,0代表未收到)
  • Moved_AD:是否因收到訊息而轉向支援民主黨(1代表是,0代表否)

實驗結果

實驗結果顯示,在收到訊息的5,000名選民中,有40.2%表明了對民主黨的支援度提升,而在未收到訊息的控制組中,這個百分比為34.4%。這意味著,收到促進民主黨候選人的訊息後,選民對民主黨的支援度提升了5.8%。

資料分析

為了進一步分析影響選民支援度的因素,研究人員將「Message」和「Moved_AD」兩個變數新增到了原始的選民資料中。這使得研究人員能夠更深入地瞭解哪些因素與選民對民主黨的支援度提升相關。

未來的研究可以進一步探索不同訊息傳遞策略對選民支援度的影響,以及不同人口群體對於政治訊息的反應差異。同時,研究人員也可以嘗試開發更複雜的模型,以預測選民對不同政治訊息的反應,並根據這些模型制定更有效的競選策略。

從商業價值視角來看,AutoML 在機器學習模型建構與佈署的效率提升上展現了顯著的優勢。藉由自動化流程,AutoML 能有效降低建模門檻,縮短開發週期,並減少人力成本。然而,AutoML 的黑盒子特性也可能隱藏模型訓練的關鍵細節,使開發者難以深入理解模型行為並進行精細調整。此外,過度依賴自動化流程也可能限制開發者手動建模與調校的能力,進而影響模型在特定情境下的最佳化。對於企業而言,匯入 AutoML 必須權衡自動化帶來的效率提升與模型可解釋性、可控性之間的平衡。玄貓認為,AutoML 適合應用於快速迭代、模型更新頻繁的場景,例如線上廣告投放、推薦系統等,但不建議完全取代資料科學家的專業判斷與精細調校,尤其在風險敏感的應用領域,例如金融風控、醫療診斷等,更需仰賴資料科學家的專業知識來確保模型的可靠性與安全性。未來,AutoML 與可解釋性人工智慧(XAI)的結合將是重要的發展方向,讓自動化流程與模型透明度兼具,進一步提升 AutoML 的應用價值。