在機(jī)器學(xué)習(xí)中,有許多方法來構(gòu)建產(chǎn)品或解決方案,每種方法都假設(shè)不同的東西。很多時(shí)候,如何識(shí)別哪些假設(shè)是合理的并不明顯。剛接觸機(jī)器學(xué)習(xí)的人會(huì)犯錯(cuò)誤,事后想想,這些錯(cuò)誤往往會(huì)讓人覺得愚蠢。我列了一個(gè)清單,上面列出了機(jī)器學(xué)習(xí)工程師新手最常犯的錯(cuò)誤。希望你能從這些常見的錯(cuò)誤中吸取教訓(xùn),創(chuàng)建更健壯的解決方案,從而帶來真正的價(jià)值。
1. 默認(rèn)的損失函數(shù)
均方誤差非常大!這確實(shí)是一個(gè)令人驚訝的默認(rèn)設(shè)置,但在實(shí)際應(yīng)用中,這種現(xiàn)成的損失函數(shù)很少適合于你試圖解決的業(yè)務(wù)問題。
以欺詐檢測(cè)為例。為了與商業(yè)目標(biāo)保持一致,你真正想要的是按因欺詐而損失的金額比例來對(duì)假陰性樣本進(jìn)行懲罰。使用均方誤差可能會(huì)得到不錯(cuò)的結(jié)果,但永遠(yuǎn)不會(huì)得到最好的結(jié)果。
要點(diǎn):始終建立一個(gè)自定義的損失函數(shù),密切配合你的解決方案目標(biāo)。
2. 對(duì)所有問題使用一種算法/方法
許多人完成他們的第一個(gè)教程,并立即開始使用他們?cè)诿總€(gè)用例中所學(xué)到的相同算法。它很熟悉,他們認(rèn)為它和其他算法一樣有效。這是一個(gè)糟糕的假設(shè),將導(dǎo)致糟糕的結(jié)果。
讓你的數(shù)據(jù)為你選擇模型。一旦你預(yù)處理了你的數(shù)據(jù),把它輸入到許多不同的模型中,看看結(jié)果是什么。你將對(duì)什么模型工作得最好和什么模型工作得不太好有一個(gè)很好的概念。
要點(diǎn):如果你發(fā)現(xiàn)自己一次又一次地使用相同的算法,這可能意味著你沒有得到最好的結(jié)果。
3. 忽略離群點(diǎn)
離群點(diǎn)值可能很重要,也可能完全被忽略,這取決于上下文。以污染預(yù)測(cè)為例。空氣污染可能會(huì)出現(xiàn)大的峰值,觀察它們并了解其原因是一個(gè)好主意。在某些類型的傳感器錯(cuò)誤導(dǎo)致的異常值的情況下,忽略它們并從數(shù)據(jù)中刪除它們是安全的。
從模型的角度來看,有些模型比其他模型對(duì)異常值更敏感。以Adaboost為例,它將這些異常值視為“困難”案例,并對(duì)異常值施加極大的權(quán)重,而決策樹可能只是將每個(gè)異常值作為一個(gè)錯(cuò)誤分類。
要點(diǎn):在開始工作之前,一定要仔細(xì)查看數(shù)據(jù),確定是否應(yīng)該忽略或更仔細(xì)地查看離群值。
4. 沒有適當(dāng)?shù)奶幚碇芷谔卣?/p>
一天中的幾個(gè)小時(shí),一周中的幾天,一年中的幾個(gè)月,以及風(fēng)向都是周期性的。許多新的機(jī)器學(xué)習(xí)工程師認(rèn)為,不能將這些特征轉(zhuǎn)換成一種表示形式,這種表示形式可以保存諸如小時(shí)23和小時(shí)0之類的信息,它們彼此之間很近,距離也不遠(yuǎn)。
按照小時(shí)的例子,處理這個(gè)問題的最好方法是計(jì)算sin和cos分量,這樣就可以用(x,y)的圓坐標(biāo)來表示循環(huán)特征。在這個(gè)表示小時(shí)中,23和0在數(shù)字上是相鄰的,就像它們應(yīng)該的那樣。
要點(diǎn):如果你有循環(huán)特征,而你沒有轉(zhuǎn)換它們,你就是在給你的模型垃圾數(shù)據(jù)。
5. 做L1/L2正則化但是沒有標(biāo)準(zhǔn)化
L1和L2正則化對(duì)大系數(shù)不利,是正則化線性回歸或邏輯回歸的常用方法,然而,許多機(jī)器學(xué)習(xí)工程師并沒有意識(shí)到在應(yīng)用正則化之前對(duì)特征進(jìn)行標(biāo)準(zhǔn)化的重要性。
假設(shè)你有一個(gè)以事務(wù)為特征的線性回歸模型。標(biāo)準(zhǔn)化所有的特征,并將它們放在平等的基礎(chǔ)上,這樣正則化在你的所有特征上都是一樣的。不要用美分表示某些特征,而用美元表示其他特征。
要點(diǎn):正則化很好,但是如果你沒有標(biāo)準(zhǔn)化特征,它會(huì)讓你頭疼
6. 將線性回歸或邏輯回歸的系數(shù)解釋為特征重要性
線性回歸通常為每個(gè)系數(shù)返回p值。這些系數(shù)很多時(shí)候會(huì)使機(jī)器學(xué)習(xí)新手認(rèn)為對(duì)于線性模型來說,系數(shù)的值越大,特征越重要。因?yàn)樽兞康某叨雀淖兞讼禂?shù)的絕對(duì)值,所以這并是不正確的。如果特征是共線的,系數(shù)可以從一個(gè)特征轉(zhuǎn)移到另一個(gè)特征。數(shù)據(jù)集的特征越多,特征越有可能是共線性的,對(duì)特征重要性的簡(jiǎn)單解釋就越不可靠。
要點(diǎn):理解什么特征對(duì)結(jié)果最重要是重要的,但不要假設(shè)你可以查看系數(shù)來得到,系數(shù)通常不會(huì)告訴你事情的全貌。
做幾個(gè)項(xiàng)目,得到好的結(jié)果,感覺就像贏了一百萬美元。你努力工作,你有結(jié)果證明你做得很好,但就像其他任何行業(yè)一樣,魔鬼是在細(xì)節(jié)中,甚至花哨的情節(jié)可以隱藏偏見和錯(cuò)誤。這個(gè)列表并不是面面俱到的,只是讓讀者思考一下你的解決方案中可能隱藏的所有小問題。為了獲得好的結(jié)果,遵循你的過程是很重要的,并且要反復(fù)檢查你沒有犯一些常見的錯(cuò)誤。
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8438瀏覽量
133082
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論