智慧模型最佳化
智慧模型最佳化 可對您在實驗中訓練的模型進行自動精煉。透過智慧模型最佳化,系統會為您處理反覆進行特性選取和套用進階轉換的程序。有了包含所有相關特性的完善準備訓練資料集,您可以預期智慧模型最佳化能在單一版本內訓練出準備好部署的模型。
什麼是智慧模型最佳化?
智慧模型最佳化可自動執行模型精煉程序的許多方面。透過智慧模型最佳化,您可以快速訓練高品質的模型,而無需手動精煉特性選取或調整輸入資料。
使用智慧模型最佳化
在以下類型的新 ML 實驗中,預設會開啟智慧模型最佳化:
-
二元分類
-
多類別分類
-
回歸
智慧型模型最佳化不適用於時間序列實驗。
您可以針對執行的每個實驗版本開啟或關閉智慧模型最佳化。
在開啟智慧最佳化的情況下執行實驗版本後,可以在 Model training summary 中檢視最佳化結果。此摘要顯示在 Models 索引標籤的 Model insights 下。將游標懸停在有底線的字詞上,即可檢視包含詳細說明的工具提示。
在實驗版本中訓練的每個模型,其 Model training summary 都不同。
智慧模型最佳化如何運作
透過智慧模型最佳化:
-
與手動最佳化相比,會訓練更多模型。特性選取是在模型層級進行處理。這意味著與手動最佳化不同,版本中的每個模型都可以有不同的特性選取。
-
除了預設套用至所有模型的自動預先處理之外,還會使用幾種進階轉換來處理訓練資料。這些轉換有助於確保您的資料處於機器學習演算法的最佳格式。
-
為了進行品質保證,仍會訓練基準模型 (針對您為該版本配置的整個特性集進行訓練的模型)。這有助於檢查智慧最佳化是否確實提高了模型分數。
-
對於較大的訓練資料集,會以各種抽樣比例訓練模型。這有助於加快訓練程序。如需詳細資訊,請參閱 訓練資料的抽樣。
訓練資料的抽樣
當您使用大量資料訓練模型時,Qlik Predict 會使用抽樣在原始資料集的各種子集 (抽樣比例) 上訓練模型。抽樣用於加快訓練程序。在訓練開始時,會以較小的抽樣比例訓練模型。隨著訓練繼續,會逐漸在較大比例的資料上訓練模型。最後,會在整個資料集 (100% 的抽樣比例) 上訓練模型。
在分析模型訓練資料期間,使用少於 100% 訓練資料集訓練的模型會在某些檢視中隱藏。
智慧模型最佳化期間套用的處理
The Model training summary 顯示智慧模型最佳化處理訓練資料的方式。以下區段包含有關您在記錄中看到的每個項目的更多詳細資訊。
套用的處理可能會因模型而異。
模型的 Model training summary 圖,顯示在 Models 索引標籤中
特性選取
智慧模型最佳化可透過捨棄可能會降低預測效能的特性來協助精煉您的模型。在智慧模型最佳化期間,可能會因以下任何原因捨棄特性:
-
Target leakage:該特性疑似受到目標洩漏的影響。受目標洩漏影響的特性包含有關您嘗試預測之目標欄的資訊。例如,該特性直接衍生自目標,或包含在預測時無法得知的新資訊。導致目標洩漏的特性可能會讓您對模型效能產生錯誤的安全感。在實際預測中,它們會導致模型表現非常差。
-
Low permutation importance:該特性對模型預測的影響微乎其微 (如果有的話)。移除這些特性可透過減少統計雜訊來提高模型效能。
-
Highly correlated:該特性與實驗中的一或多個其他特性高度關聯。高度關聯的特性不適合用於訓練模型。
在實驗內的 Data 索引標籤中,您可以檢視每個模型中已捨棄特性的深入剖析。Insights 也指在智慧模型最佳化程序之外捨棄的特性。如需有關每項深入剖析的詳細資訊,請參閱 解讀資料集深入剖析。
特性轉換
智慧模型最佳化會在特性層級套用許多技術轉換。這些轉換會處理您的訓練資料,以便更有效地使用這些資料來建立可靠的機器學習模型。特性轉換會視需要自動套用。在 Model training summary 中,系統會在套用特性轉換以及特性受影響時通知您。
冪次轉換
特性資料通常自然包含具有某種程度不對稱性且偏離常態分佈的分佈。在訓練模型之前,如果值分佈顯得過於偏斜,對資料套用一些處理以使值分佈常態化可能會有幫助。此處理有助於減少偏差並識別異常值。
透過智慧模型最佳化,超過特定偏斜閾值的數值特性會使用冪次轉換進行轉換,以具有更常態 (或類似常態) 的分佈。具體而言,使用的是 Yeo-Johnson 冪次轉換。
數值特性的分級
某些數值特性可能包含機器學習演算法不易處理的模式和分佈。透過智慧模型最佳化,這可以透過根據特定數值特性的值範圍將其資料組織到不同的分級中來部分解決。進行分級是為了將特性轉換為類別特性。
完成分級後,新的類別特性會進行 one-hot encoded 並用於訓練。如需有關 one-hot 寫碼的詳細資訊,請參閱 類別編碼。
列層級權重和抽樣
異常偵測與處理
異常是出現在您合理預期範圍之外的資料值。在訓練資料中存在一些異常值並不罕見。某些異常甚至可能是反映真實世界可能性所期望的。在其他情況下,異常可能會干擾訓練可靠模型的能力。
透過智慧模型最佳化,Qlik Predict 會識別潛在的異常。然後,使用演算法驅動的權重系統來處理出現異常值的列。如果強烈懷疑某個值是異常,權重系統會降低訓練資料中對應列對模型的影響。
在訓練模型後,系統會通知您原始訓練資料集中被當作異常資料處理的列百分比。
如需詳細資訊,請參閱 異常偵測與處理。
類別平衡
在您的訓練資料集中,特定值 (類別) 的出現次數可能多於其他值。這種現象稱為類別不平衡。當您的資料中存在類別不平衡時,產生的模型對多數類別的瞭解會多於對少數類別的瞭解,從而影響預測準確度。
透過智慧模型最佳化,Qlik Predict 會針對二元分類模型執行自動類別平衡。透過比較目標欄中兩個類別的值分佈來偵測類別不平衡。具體而言,是在兩個類別之間的比例為以下情況時執行:
-
95% (或更多) 的列包含一個類別
-
5% (或更少) 的列包含另一個類別
在類別平衡期間,會對訓練資料進行超取樣以改善類別分佈。該程序是反覆進行的—會試用許多不同的輸出比例,以找出模型效能的最佳平衡。
在超取樣之後,超取樣的資料集會用於訓練實驗版本中的模型。
如需有關類別平衡的更多一般資訊,請參閱 分類平衡。
關閉智慧最佳化
關閉智慧最佳化後,您將手動最佳化訓練。如果您需要對訓練程序進行更多控制,手動最佳化會很有幫助。特別是,您可能想要在開啟智慧模型最佳化的情況下執行一個版本,然後在需要進行少量手動調整時關閉該設定。
請執行下列動作:
-
在實驗中,按一下
View configuration。
實驗配置面板隨即開啟。
-
如果您已經執行了至少一個版本的實驗,請按一下 Create new version。
-
在面板中,展開 Model optimization。
-
從 Intelligent 切換為 Manual。
注意事項
使用智慧模型最佳化時,請考慮以下事項:
-
使用智慧模型最佳化並不能保證您的訓練會產生高品質的模型。資料集準備和實驗配置階段對於產生可靠的模型也至關重要。如果您沒有準備完善的資料集,或者您的配置缺少關鍵特性,則無法保證您的模型在生產使用案例中表現良好。如需有關這些階段的詳細資訊,請參閱:
-
當某個版本開啟智慧模型最佳化時,該版本中的每個模型都將具有一組單獨的包含特性。另一方面,使用手動最佳化訓練之版本的所有模型都將具有相同的包含特性集。
-
智慧模型最佳化僅使用您在該版本的配置中包含的特性和演算法。
超參數最佳化
開啟智慧模型最佳化時,超參數最佳化不可用。若要啟用超參數最佳化,您需要將模型最佳化設定為 Manual。
如需詳細資訊,請參閱 超參數最佳化。
範例
如需示範智慧模型最佳化優點的範例,請參閱 教學課程 – 產生並視覺化預測資料。