有兩種方法“塑造”這個問題 空間。第一種方法是將數(shù)據(jù)轉(zhuǎn)化為可以分析的完全格式化的數(shù)據(jù),比如,大多數(shù)數(shù)據(jù)挖掘算法需要單一表格形式的數(shù)據(jù),一個記錄就是一個樣例。數(shù)據(jù)挖掘者都知道 什么樣的算法需要什么樣的數(shù)據(jù)形式,因此可以將數(shù)據(jù)轉(zhuǎn)化為一個合適的格式。第二種方法是使得數(shù)據(jù)能夠含有業(yè)務(wù)問題的更多的信息,例如,某些領(lǐng)域的一些數(shù)據(jù) 挖掘問題,數(shù)據(jù)挖掘者可以通過業(yè)務(wù)知識和數(shù)據(jù)知識知道這些。 通過這些領(lǐng)域的知識,數(shù)據(jù)挖掘者通過操縱問題空間可能更容易找到一個合適的技術(shù)解決方案。
因此,通過業(yè)務(wù)知識、數(shù)據(jù)知識、數(shù)據(jù)挖掘知識從根本上使得數(shù)據(jù)預(yù)處理更加得心應(yīng)手。 數(shù)據(jù)預(yù)處理的這些方面并不能通過簡單的自動化實現(xiàn)。
這個定律也解釋了一個有疑義的現(xiàn)象,也就是雖然經(jīng)過數(shù)據(jù)獲取、清理、融合等方式創(chuàng)建一個數(shù)據(jù)倉庫,但是數(shù)據(jù)預(yù)處理仍然是必不可少的,仍然占有數(shù)據(jù)挖掘過程一 半以上的工作量。此外,就像CRISP-DM展示的那樣,即使經(jīng)過了主要的數(shù)據(jù)預(yù)處理階段,在創(chuàng)建一個有用的模型的反復(fù)過程中,進一步的數(shù)據(jù)預(yù)處理的必要的。
第四,試驗律(NFL律:No Free Lunch):對于數(shù)據(jù)挖掘者來說,天下沒有免費的午餐,一個正確的模型只有通過試驗(experiment)才能被發(fā)現(xiàn)。
機器學(xué)習(xí)有一個原則:如果我們充分了解一個問題空間(problem space),我們可以選擇或設(shè)計一個找到最優(yōu)方案的最有效的算法。一個卓越算法的參數(shù)依賴于數(shù)據(jù)挖掘問題空間一組特定的屬性集,這些屬性可以通過分析發(fā) 現(xiàn)或者算法創(chuàng)建。但是,這種觀點來自于一個錯誤的思想,在數(shù)據(jù)挖掘過程中數(shù)據(jù)挖掘者將問題公式化,然后利用算法找到解決方法。事實上,數(shù)據(jù)挖掘者將問題公 式化和尋找解決方法是同時進行的—–算法僅僅是幫助數(shù)據(jù)挖掘者的一個工具。
有五種因素說明試驗對于尋找數(shù)據(jù)挖掘解決方案是必要的:
- 數(shù)據(jù)挖掘項目的業(yè)務(wù)目標定義了興趣范圍(定義域),數(shù)據(jù)挖掘目標反映了這一點;
- 與業(yè)務(wù)目標相關(guān)的數(shù)據(jù)及其相應(yīng)的數(shù)據(jù)挖掘目標是在這個定義域上的數(shù)據(jù)挖掘過程產(chǎn)生的;
- 這些過程受規(guī)則限制,而這些過程產(chǎn)生的數(shù)據(jù)反映了這些規(guī)則;
- 在這些過程中,數(shù)據(jù)挖掘的目的是通過模式發(fā)現(xiàn)技術(shù)(數(shù)據(jù)挖掘算法)和可以解釋這個算法結(jié)果的業(yè)務(wù)知識相結(jié)合的方法來揭示這個定義域上的規(guī)則;
- 數(shù)據(jù)挖掘需要在這個域上生成相關(guān)數(shù)據(jù),這些數(shù)據(jù)含有的模式不可避免地受到這些規(guī)則的限制。
在這里強調(diào)一下最后一點,在數(shù)據(jù)挖掘中改變業(yè)務(wù)目標,CRISP-DM有所暗示,但經(jīng)常不易被覺察到。廣為所知的CRISP-DM過程不是下一個步驟僅接著上一個步驟的“瀑布”式的過程。事實上,在項目中的任何地方都可以進行任何CRISP-DM步驟,同樣商業(yè)理解也可以存在于任何一個步驟。業(yè)務(wù)目標不是簡 單地在開始就給定,它貫穿于整個過程。這也許可以解釋一些數(shù)據(jù)挖掘者在沒有清晰的業(yè)務(wù)目標的情況下開始項目,他們知道業(yè)務(wù)目標也是數(shù)據(jù)挖掘的一個結(jié)果,不是靜態(tài)地給定。
Wolpert的“沒有免費的午餐”理論已經(jīng)應(yīng)用于機器學(xué)習(xí)領(lǐng)域,無偏的狀態(tài)好于(如一個具體的算法)任何其他可能的問題(數(shù)據(jù)集)出現(xiàn)的平均狀態(tài)。這是因為,如果我們考慮所有可能的問題,他們的解決方法是均勻分布的,以至于一個算法(或偏倚)對一個子集是有利的,而對另一個子集是不利的。這與數(shù)據(jù)挖掘者所知的具有驚人的相似性,沒有一個算法適合每一個問題。但是經(jīng) 過數(shù)據(jù)挖掘處理的問題或數(shù)據(jù)集絕不是隨機的,也不是所有可能問題的均勻分布,他們代表的是一個有偏差的樣本,那么為什么要應(yīng)用NFL的結(jié)論?答案涉及到上 面提到的因素:問題空間初始是未知的,多重問題空間可能和每一個數(shù)據(jù)挖掘目標相關(guān),問題空間可能被數(shù)據(jù)預(yù)處理所操縱,模型不能通過技術(shù)手段評估,業(yè)務(wù)問題本身可能會變化。由于這些原因,數(shù)據(jù)挖掘問題空間在數(shù)據(jù)挖掘過程中展開,并且在這個過程中是不斷變化的,以至于在有條件的約束下,用算法模擬一個隨機選擇的數(shù)據(jù)集是有效的。對于數(shù)據(jù)挖掘者來說:沒有免費的午餐。
這大體上描述了數(shù)據(jù) 挖掘過程。但是,在有條件限制某些情況下,比如業(yè)務(wù)目標是穩(wěn)定的,數(shù)據(jù)和其預(yù)處理是穩(wěn)定的,一個可接受的算法或算法組合可以解決這個問題。在這些情況下, 一般的數(shù)據(jù)挖掘過程中的步驟將會減少。 但是,如果這種情況穩(wěn)定是持續(xù)的,數(shù)據(jù)挖掘者的午餐是免費的,或者至少相對便宜的。像這樣的穩(wěn)定性是臨時的,因為 對數(shù)據(jù)的業(yè)務(wù)理解(第二律)和對問題的理解(第九律)都會變化的。