天天看點

必看 :大資料挖掘中易犯的11大錯誤

0.缺乏資料(lackdata)

對于分類問題或預估問題來說,常常缺乏準确标注的案例。

例如:

欺詐偵測(frauddetection):在上百萬的交易中,可能隻有屈指可數的欺詐交易,還有很多的欺詐交易沒有被正确标注出來,這就需要在模組化前花費大量人力來修正。

信用評分(creditscoring):需要對潛在的高風險客戶進行長期跟蹤(比如兩年),進而積累足夠的評分樣本。

1.太關注訓練(focusontraining)

idmer:就象體育訓練中越來越注重實戰訓練,因為單純的封閉式訓練常常會訓練時狀态神勇,比賽時一塌糊塗。

實際上,隻有樣本外資料上的模型評分結果才真正有用!(否則的話,直接用參照表好了!)

癌症檢測(cancerdetection):mdanderson的醫生和研究人員(1993)使用神經網絡來進行癌症檢測,驚奇地發現,訓練時間越長(從幾天延長至數周),對訓練集的性能改善非常輕微,但在測試集上的性能卻明顯下降。

機器學習或計算機科學研究者常常試圖讓模型在已知資料上表現最優,這樣做的結果通常會導緻過度拟合(overfit)。

必看 :大資料挖掘中易犯的11大錯誤

  解決方法:

解決這個問題的典型方法是重抽樣(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:“讓資料說話”沒有錯,關鍵是還要記得另一句話:兼聽則明,偏聽則暗!如果資料+工具就可以解決問題的話,還要人做什麼呢?

必看 :大資料挖掘中易犯的11大錯誤

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倍)。模組化中發現,随着模型越來越複雜,判别違約客戶的準确率也越來越高,但對正常客戶的誤判率也随之升高。(問題出在資料集的劃分上。在把原始資料集劃分為訓練集和測試集時,原始資料集中違約客戶的權重已經被提高過了)

必看 :大資料挖掘中易犯的11大錯誤

  解決方法:先進行資料集劃分,然後再提高訓練集中違約客戶的權重。

10.太相信最佳模型(believethebestmodel)

idmer:還是那句老話-“沒有最好,隻有更好!”

可解釋性并不一定總是必要的。看起來并不完全正确或者可以解釋的模型,有時也會有用。

“最佳”模型中使用的一些變量,會分散人們太多的注意力。(不可解釋性有時也是一個優點)

一般來說,很多變量看起來彼此都很相似,而最佳模型的結構看上去也千差萬别,無迹可循。但需注意的是,結構上相似并不意味着功能上也相似。

解決方法:把多個模型集裝起來可能會帶來更好更穩定的結果。 

本文轉自d1net(轉載)

繼續閱讀