無論哪種方法,開發(fā)各類機器學(xué)習(xí)模型是使學(xué)習(xí)機準(zhǔn)確執(zhí)行新的、未知樣本或任務(wù)。然后,機器可以通過不斷學(xué)習(xí)改進這些模型。
“開發(fā)適合數(shù)據(jù)的正確模型就像‘金發(fā)姑娘’(Goldilocks),” Thompson說。“我們希望不多不少恰到好處。”圖1是“過少”擬合或欠擬合的例子,圖中捕獲數(shù)據(jù)突出模式的預(yù)測模型過于簡單。這種模型不能很好地解決未來樣本的工作。Thompson說:“簡約模型好的方面是條件非常少,但這種模型不能很好地完成擬合工作。”
圖1: 欠擬合。
圖 2 過擬合,圖中預(yù)測模型過于復(fù)雜。Thompson 解釋說:“當(dāng)我試圖分析新群體時,這種模型泛化不是很好。我想用參數(shù)比較少的方法–也許使用罰函數(shù)或保持函數(shù)–找到更適合數(shù)據(jù)的模型。”
數(shù)據(jù)科學(xué)家經(jīng)常使用保持數(shù)據(jù)的均方差或誤判率來衡量模型是否過擬合。但Thompson指出:“一些機器學(xué)習(xí)算法可以考慮您的模型,看看使用的變量是否過多,并用較少的變量自動調(diào)整模型。”
數(shù)據(jù)科學(xué)家需要考慮任何復(fù)雜性和規(guī)模的數(shù)據(jù),建立大小適合這些數(shù)據(jù)的模型。他們可能需要考慮所有數(shù)據(jù)或數(shù)據(jù)集建立精確的模型。
更強大的機器學(xué)習(xí)算法之一是隨機森林,它已成為數(shù)據(jù)挖掘的強大工具。隨機森林采用單個決策樹并將這們組合在一起。新的輸入進入系統(tǒng)后經(jīng)過所有樹。給出經(jīng)過的所有終端節(jié)點的平均值或加權(quán)平均值。
Thompson 解釋說,“如果我圍繞隨機森林構(gòu)建,我可以基于大量隨機數(shù)據(jù)子集建立決策樹,然后對其進行平均,建立最終模型。我還可以在決策樹建立過程中,將不同的變量分在每個分割點。如果我有 100 個變量,我可以僅在分割點隨機查看10 個變量;所以我不僅可以重排觀測值,而且可以重排數(shù)據(jù)。”雖然單一決策樹受高方差或高偏差的影響,但這樣可以平衡兩個極值。
新技術(shù)可以查詢計算機隨機存取存儲器 (RAM) 中保存的,以及分布式計算環(huán)境中的數(shù)據(jù),將處理分在多臺計算機上進行,例如內(nèi)存分析。因此,數(shù)據(jù)科學(xué)家可比以往更快地建立隨機森林。
在機器學(xué)習(xí)模型用于數(shù)據(jù)挖掘業(yè)務(wù)應(yīng)用方面,Thompson指出:“客戶往往不知道他們與客戶合作的預(yù)期利潤或成本。采用SAS®企業(yè)級數(shù)據(jù)挖掘器™ (SAS® Enterprise Miner™)進行預(yù)測建模時,我盡量選擇能夠最大化利潤或收入的模型。例如,如果我們做與客戶在哪方面合作的決定,這不是肯定或否定的決定。相反,我要確定這個決定可以產(chǎn)生的預(yù)期收入。將這種要求加入模型中是非常重要的。”
模型建立之后,需要進行驗證,以確定是否能夠做出有效預(yù)測。通常,數(shù)據(jù)科學(xué)家采用訓(xùn)練數(shù)據(jù)集開發(fā)模型,然后利用已知樣本外數(shù)據(jù)測試模型。
如果沒有足夠數(shù)據(jù)在一定程度上支持回歸測試,Thompson說,“人們一般要做數(shù)據(jù)隨機二次抽樣或隨機分層二次抽樣。您還可以使用K-折交叉驗證或留一法 (LOO) 交叉驗證等技術(shù)。”
不過,Thompson指出,“如果有一百萬觀察值,事件發(fā)生率為1%,我覺得可以通過評估所有數(shù)據(jù)來了解是否可以分類或預(yù)測事件。某些事件發(fā)生率很小的情況,如欺詐,我發(fā)現(xiàn)可以使用過采樣糾正原始數(shù)據(jù)集偏差,開發(fā)偏重小概率事件的有偏樣本建立更好的模型。”
有些開發(fā)的模型用于數(shù)據(jù)庫營銷中評估客戶。例如,營銷人員需要知道哪些客戶最有可能購買針對特定客戶提供特別優(yōu)惠的產(chǎn)品。營銷工作還可以包括概率通常稱為響應(yīng)率非常低的事件–一般在 1%以內(nèi)。
“如果評估我在數(shù)據(jù)庫營銷中使用的模型,” Thompson 說,“我可以使用統(tǒng)計了解特定文件深度條件下,模型的提升或表現(xiàn)。我可能對模型整體誤判率不感興趣。我只有1%響應(yīng)率,
因此零模型99%準(zhǔn)確。所以,我首先開發(fā)預(yù)測,生成提升的預(yù)測模型,然后選擇一定深度條件下最大提升的模型。”