標籤:
0.缺乏資料(LackData)
對於分類問題或預估問題來說,常常缺乏準確標註的案例。
例如:
欺詐偵測(FraudDetection):在上百萬的交易中,可能只有屈指可數的欺詐交易,還有很多的欺詐交易沒有被正確標註出來,這就需要在建模前花費大量人力來修正。
信用評分(CreditScoring):需要對潛在的高風險客戶進行長期跟蹤(比如兩年),從而積累足夠的評分樣本。
1.太關注訓練(FocusonTraining)
IDMer:就象體育訓練中越來越注重實戰訓練,因為單純的封閉式訓練常常會訓練時狀態神勇,比賽時一塌糊塗。
實際上,只有樣本外資料上的模型評分結果才真正有用!(否則的話,直接用參照表好了!)
癌症檢測(Cancerdetection):MDAnderson的醫生和研究人員(1993)使用神經網路來進行癌症檢測,驚奇地發現,訓練時間越長(從幾天延長至數周),對訓練集的效能改善非常輕微,但在測試集上的效能卻明顯下降。
機器學習或電腦科學研究者常常試圖讓模型在已知資料上表現最優,這樣做的結果通常會導致過度學習(overfit)。
解決方案:
解決這個問題的典型方法是重抽樣(Re-Sampling)。重抽樣技術包括:bootstrap、cross-validation、jackknife、leave-one-out…等等。
2.只依賴一項技術(RelyonOneTechnique)
IDMer:這個錯誤和第10種錯誤有相通之處,請同時參照其解決方案。沒有對比也就沒有所謂的好壞,辯證法的思想在此體現無遺。
“當小孩子手拿一把鎚子時,整個世界看起來就是一枚釘子。”要想讓工作盡善盡美,就需要一套完整的工具箱。
不要簡單地信賴你用單個方法分析的結果,至少要和傳統方法(比如線性迴歸或線性判別分析)做個比較。
研究結果:按照《神經網路》期刊的統計,在過去3年來,只有1/6的文章中做到了上述兩點。也就是說,在獨立於訓練樣本之外的測試集上進行了開集測試,並與其它廣泛採用的方法進行了對比。
使用一系列好的工具和方法。(每種工具或方法可能最多帶來5%~10%的改進)。
3.提錯了問題(AsktheWrongQuestion)
IDMer:一般在分類演算法中都會給出分類精度作為衡量模型好壞的標準,但在實際項目中我們卻幾乎不看這個指標。為什嗎?因為那不是我們關注的目標。
a)項目的目標:一定要鎖定正確的目標
欺詐偵測(關注的是正例!)(Shannon實驗室在國際長途電話上的分析):不要試圖在一般的通話中把欺詐和非欺詐行為分類出來,重點應放在如何描述正常通話的特徵,然後據此發現異常通話行為。
b)模型的目標:讓電腦去做你希望它做的事
大多數研究人員會沉迷於模型的收斂性來盡量降低誤差,這樣讓他們可以獲得數學上的美感。但更應該讓電腦做的事情應該是如何改善業務,而不是僅僅側重模型計算上的精度。
4.只靠資料來說話(Listen(only)totheData)
IDMer:“讓資料說話”沒有錯,關鍵是還要記得另一句話:兼聽則明,偏聽則暗!如果資料+工具就可以解決問題的話,還要人做什麼呢?
4a.投機取巧的資料:資料本身只能協助分析人員找到什麼是顯著的結果,但它並不能告訴你結果是對還是錯。
4b.經過設計的實驗:某些實驗設計中摻雜了人為的成分,這樣的實驗結果也常常不可信。
5.使用了未來的資訊(AcceptLeaksfromtheFuture)
IDMer:看似不可能,卻是實際中很容易犯的錯誤,特別是你面對成千上萬個變數的時候。認真、仔細、有條理是資料採礦人員的基本要求。
預報(Forecast)樣本:預報芝加哥銀行在某天的利率,使用神經網路建模,模型的準確率達到95%。但在模型中卻使用了該天的利率作為輸入變數。
金融業中的預報樣本:使用3日的移動平均來預報,但卻把移動平均的中點設在今天。
要仔細查看那些讓結果表現得異常好的變數,這些變數有可能是不應該使用,或者不應該直接使用的。
給資料加上時間戳記,避免被誤用。
6.拋棄了不該忽略的案例(DiscountPeskyCases)
IDMer:到底是“寧為雞頭,不為鳳尾”,還是“大隱隱於市,小隱隱於野”?不同的人生態度可以有同樣精彩的人生,不同的資料也可能蘊含同樣重要的價值。
異常值可能會導致錯誤的結果(比如價格中的小數點標錯了),但也可能是問題的答案(比如臭氧洞)。所以需要仔細檢查這些異常。
研究中最讓激動的話語不是“啊哈!”,而是“這就有點奇怪了……”
資料中的不一致性有可能會是解決問題的線索,深挖下去也許可以解決一個大的業務問題。
在直郵營銷中,在對家庭地址的合并和清洗過程中發現的資料不一致,反而可能是新的營銷機會。
可視化可以協助你分析大量的假設是否成立。
7.輕信預測(Extrapolate)
IDMer:依然是辯證法中的觀點,事物都是不斷髮展變化的。
人們常常在經驗不多的時候輕易得出一些結論。
即便發現了一些反例,人們也不太願意放棄原先的想法。
維度咒語:在低維度上的直覺,放在高維度空間中,常常是毫無意義的。
進化論。沒有正確的結論,只有越來越準確的結論。
8.試圖回答所有問題(AnswerEveryInquiry)
IDMer:有點像我爬山時鼓勵自己的一句話“我不知道什麼時候能登上山峰,但我知道爬一步就離終點近一步。”
“不知道”是一種有意義的模型結果。
模型也許無法100%準確回答問題,但至少可以幫我們估計出現某種結果的可能性。
9.隨便地進行抽樣(SampleCasually)
9a降低抽樣水平。例如,MD直郵公司進行響應預測性分析,但探索資料集中的不響應客戶佔比太高(總共一百萬直郵客戶,其中超過99%的人未對營銷做出響應)。於是建模人員做了如下抽樣:把所有響應者放入樣本集,然後在所有不響應者中進行系統抽樣,即每隔10人抽一個放入樣本集,直到樣本集達到10萬人。但模型居然得出如下規則:凡是居住在Ketchikan、Wrangell和WardCoveAlaska的人都會響應營銷。這顯然是有問題的結論。(問題就出在這種抽樣方法上,因為未經處理資料集已經按照郵遞區號排序,上面這三個地區中不響應者未能被抽取到樣本集中,故此得出了這種結論)。
解決方案:“喝前搖一搖!”先打亂未經處理資料集中的順序,從而保證抽樣的隨機性。
9b提高抽樣水平。例如,在信用評分中,因為違約客戶的佔比一般都非常低,所以在建模時常常會人為調高違約客戶的佔比(比如把這些違約客戶的權重提高5倍)。建模中發現,隨著模型越來越複雜,判別違約客戶的準確率也越來越高,但對正常客戶的誤判率也隨之升高。(問題出在資料集的劃分上。在把未經處理資料集劃分為訓練集和測試集時,未經處理資料集中違約客戶的權重已經被提高過了)
解決方案:先進行資料集劃分,然後再提高訓練集中違約客戶的權重。
10.太相信最佳模型(BelievetheBestModel)
IDMer:還是那句老話-“沒有最好,只有更好!”
可解釋性並不一定總是必要的。看起來並不完全正確或者可以解釋的模型,有時也會有用。
“最佳”模型中使用的一些變數,會分散人們太多的注意力。(不可解釋性有時也是一個優點)
一般來說,很多變數看起來彼此都很相似,而最佳模型的結構看上去也千差萬別,無跡可循。但需注意的是,結構上相似並不意味著功能上也相似。
解決方案:把多個模型集裝起來可能會帶來更好更穩定的結果。
必看 :大資料採礦中易犯的11大錯誤