在
機(jī)器學(xué)習(xí)
中,構(gòu)建產(chǎn)品或解決方案的方法有很多,每種方式的假設(shè)情況都不一樣。很多時(shí)候,瀏覽和識(shí)別哪些假設(shè)是合理的不是很容易。
對(duì)于剛?cè)腴T(mén)機(jī)器學(xué)習(xí)的童鞋,在工作中可能經(jīng)常會(huì)遇到各種各樣的問(wèn)題,本文和大家分享的就是機(jī)器學(xué)習(xí)工程師常犯的6
個(gè)錯(cuò)誤,一起來(lái)看看吧,希望對(duì)大家工作和學(xué)習(xí)有所幫助。
將默認(rèn)損失函數(shù)視為理所當(dāng)然
在剛剛?cè)腴T(mén)的時(shí)候,均方誤差非常好,可以說(shuō)這是一個(gè)驚人的默認(rèn)設(shè)置,但是對(duì)于真實(shí)世界的應(yīng)用程序來(lái)說(shuō),這種未經(jīng)專(zhuān)門(mén)設(shè)計(jì)的損失函數(shù)很少能給出最優(yōu)解。
以欺詐檢測(cè)為例。為了與業(yè)務(wù)目標(biāo)保持一致,你真正想要的是按照由于欺詐而損失的美元金額成比例地懲罰漏報(bào)。而使用均方誤差可能會(huì)給你良好的結(jié)果,但永遠(yuǎn)不會(huì)給你當(dāng)前最先進(jìn)的結(jié)果。
成為機(jī)器學(xué)習(xí)工程師|
第
3
步:選擇你的工具看看這篇文章,了解你可以使用的不同的
ML
工具。
要點(diǎn):始終建立一個(gè)與你的解決方案目標(biāo)非常吻合的自定義損失函數(shù)。
針對(duì)所有問(wèn)題使用一種算法/方法
許多人將完成他們的第一個(gè)教程,并立即開(kāi)始使用他們可以想象的每個(gè)用例中學(xué)到的相同算法。這是很熟悉的,他們認(rèn)為它可以像任何其他算法一樣工作。這是一個(gè)錯(cuò)誤的假設(shè),并且可能會(huì)導(dǎo)致糟糕的結(jié)果。
讓你的數(shù)據(jù)為你選擇模型。對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,將其輸入許多不同的模型并查看結(jié)果。你將會(huì)很好地了解哪些模型最適合工作,哪些模型效果不佳。
成為機(jī)器學(xué)習(xí)工程師|
第
2
步:選擇一個(gè)流程查看這篇文章,并掌握你的流程。
要點(diǎn):如果你發(fā)現(xiàn)自己一遍又一遍地使用相同的算法,這可能意味著你沒(méi)有得到最好的結(jié)果。
忽略離群值
基于上下文,離群值可能很重要或者完全忽略。以污染預(yù)測(cè)為例,空氣污染可能會(huì)出現(xiàn)大的峰值,最好看看它們并理解它們發(fā)生的原因。在由某種類(lèi)型的傳感器錯(cuò)誤引起的異常情況下,忽略它們并從數(shù)據(jù)中刪除是安全的。
從模型角度來(lái)看,有些人對(duì)異常值比其他人更敏感。以Adaboost
為例,它對(duì)離群值賦予極大的權(quán)重,而決策樹(shù)可能只是簡(jiǎn)單地將每個(gè)異常值視為一個(gè)錯(cuò)誤的分類(lèi)。
成為機(jī)器學(xué)習(xí)工程師|
第
2
步:選擇一個(gè)流程,通過(guò)最佳實(shí)踐來(lái)避免這種錯(cuò)誤
要點(diǎn):在開(kāi)始工作之前,始終密切關(guān)注你的數(shù)據(jù),并確定是否忽略離群值或仔細(xì)查看離群值
沒(méi)有正確處理周期性特征
一天中的小時(shí)、一周中的幾天、一年中的幾個(gè)月以及風(fēng)向都是周期性特征的例子。許多新的機(jī)器學(xué)習(xí)工程師不認(rèn)為可以將這些功能轉(zhuǎn)換為可以保留諸如23
小時(shí)和
0
小時(shí)等彼此靠近且不遠(yuǎn)的信息的表示。
以小時(shí)為例,處理這個(gè)問(wèn)題的最好方法是計(jì)算sin
和
cos
分量,以便將你的循環(huán)特征表示為
(x
,
y)
圓的坐標(biāo)。在這個(gè)表示小時(shí)內(nèi),
23
和
0
小時(shí)在數(shù)字上是緊挨著的,就像它們應(yīng)該是一樣。
要點(diǎn):如果你有周期性的功能,而且你沒(méi)有轉(zhuǎn)換它們,那么你就開(kāi)始使用模型垃圾數(shù)據(jù)。
沒(méi)有標(biāo)準(zhǔn)化的L1 / L2正規(guī)化
L1
和
L2
正則化懲罰大系數(shù),是調(diào)整線性或邏輯回歸的常用方法,然而,許多機(jī)器學(xué)習(xí)工程師在應(yīng)用正則化之前并不知道這對(duì)于標(biāo)準(zhǔn)化功能很重要。
想象一下,你有一個(gè)線性回歸模型,其中一個(gè)交易是一個(gè)特征。將所有功能標(biāo)準(zhǔn)化并將其放在平等的地位,這樣正規(guī)化在所有功能中都是一樣的。
要點(diǎn):正則化是偉大的,但如果你沒(méi)有標(biāo)準(zhǔn)化的功能可能會(huì)比較麻煩
將線性或邏輯回歸的系數(shù)解釋為特征重要性
線性回歸函數(shù)通常為每個(gè)系數(shù)返回p
值。很多時(shí)候,這些系數(shù)使新手機(jī)器學(xué)習(xí)工程師認(rèn)為對(duì)于線性模型,系數(shù)值越大,特征越重要。由于變量的大小會(huì)改變系數(shù)的絕對(duì)值,所以這種情況幾乎不存在。如果特征是共線的,則系數(shù)可以從一個(gè)特征轉(zhuǎn)移到另一個(gè)特征。數(shù)據(jù)集的特征越多,特征共線性的可能性就越大,而對(duì)特征重要性的簡(jiǎn)單解釋就越不可靠。
要點(diǎn):了解哪些特征對(duì)結(jié)果影響大是很重要的,但不要假設(shè)可以查看系數(shù)。他們經(jīng)常不講述整個(gè)“
故事
”
。
做幾個(gè)項(xiàng)目并取得好成績(jī)可能會(huì)贏得一百萬(wàn)美元。你努力工作,結(jié)果證明你做得很好,但和其他行業(yè)一樣,魔鬼藏在細(xì)節(jié)中,甚至幻想的情節(jié)都可以隱藏偏見(jiàn)和錯(cuò)誤。這份清單并不意味著詳盡無(wú)遺,而僅僅是為了讓讀者思考可能隱藏在解決方案中的所有小問(wèn)題。為了取得良好的效果,重要的是要遵循你的流程,并且要經(jīng)常仔細(xì)檢查你是否犯了一些常見(jiàn)的錯(cuò)誤。
來(lái)源:網(wǎng)絡(luò)