機器學習工程師常犯的6大錯誤,(新手必看)

初學者在從事機器學習或數據科學項目時經常會遇到一些常見的錯誤?在這裡我們列出這些最常見的錯誤。在機器學習中,構建產品或解決方案的方法有很多,每種方式的假設情況都不一樣。很多時候,瀏覽和識別哪些假設是合理的不是很容易。剛剛接觸機器學習的人都會犯錯誤,而事後看來往往會感到不應該。本文創建了新手機器學習工程師製作的一些常犯的錯誤清單。希望你能從這些常見錯誤中吸取教訓,並創造更多可靠的解決方案,從而帶來真正的價值。

機器學習工程師常犯的6大錯誤,(新手必看)

1,將默認損失函數視為理所當然

在剛剛入門的時候,均方誤差非常好,可以說這是一個驚人的默認設置,但是對於真實世界的應用程序來說,這種未經專門設計的損失函數很少能給出最優解。以欺詐檢測為例。為了與業務目標保持一致,你真正想要的是按照由於欺詐而損失的美元金額成比例地懲罰漏報。而使用均方誤差可能會給你良好的結果,但永遠不會給你當前最先進的結果。

成為機器學習工程師|第3步:選擇你的工具看看這篇文章,瞭解你可以使用的不同的ML工具。

要點:始終建立一個與你的解決方案目標非常吻合的自定義損失函數。

2,針對所有問題使用一種算法/方法

許多人將完成他們的第一個教程,並立即開始使用他們可以想象的每個用例中學到的相同算法。這是很熟悉的,他們認為它可以像任何其他算法一樣工作。這是一個錯誤的假設,並且可能會導致糟糕的結果。讓你的數據為你選擇模型。對數據進行預處理後,將其輸入許多不同的模型並查看結果。你將會很好地瞭解哪些模型最適合工作,哪些模型效果不佳。

成為機器學習工程師|第2步:選擇一個流程查看這篇文章,並掌握你的流程。

要點:如果你發現自己一遍又一遍地使用相同的算法,這可能意味著你沒有得到最好的結果。

3,忽略離群值

基於上下文,離群值可能很重要或者完全忽略。以汙染預測為例,空氣汙染可能會出現大的峰值,最好看看它們並理解它們發生的原因。在由某種類型的傳感器錯誤引起的異常情況下,忽略它們並從數據中刪除是安全的。從模型角度來看,有些人對異常值比其他人更敏感。以Adaboost為例,它對離群值賦予極大的權重,而決策樹可能只是簡單地將每個異常值視為一個錯誤的分類。

成為機器學習工程師|第2步:選擇一個流程,通過最佳實踐來避免這種錯誤

要點:在開始工作之前,始終密切關注你的數據,並確定是否忽略離群值或仔細查看離群值

4,沒有正確處理週期性特徵

一天中的小時、一週中的幾天、一年中的幾個月以及風向都是週期性特徵的例子。許多新的機器學習工程師不認為可以將這些功能轉換為可以保留諸如23小時和0小時等彼此靠近且不遠的信息的表示。

以小時為例,處理這個問題的最好方法是計算sin和cos分量,以便將你的循環特徵表示為(x,y)圓的座標。在這個表示小時內,23和0小時在數字上是緊挨著的,就像它們應該是一樣。

要點:如果你有周期性的功能,而且你沒有轉換它們,那麼你就開始使用模型垃圾數據。

5,沒有標準化的L1 / L2正規化

L1和L2正則化懲罰大系數,是調整線性或邏輯迴歸的常用方法,然而,許多機器學習工程師在應用正則化之前並不知道這對於標準化功能很重要。想象一下,你有一個線性迴歸模型,其中一個交易是一個特徵。將所有功能標準化並將其放在平等的地位,這樣正規化在所有功能中都是一樣的。

要點:正則化是偉大的,但如果你沒有標準化的功能可能會比較麻煩

6,將線性或邏輯迴歸的係數解釋為特徵重要性

線性迴歸函數通常為每個係數返回p值。很多時候,這些係數使新手機器學習工程師認為對於線性模型,係數值越大,特徵越重要。由於變量的大小會改變係數的絕對值,所以這種情況幾乎不存在。如果特徵是共線的,則係數可以從一個特徵轉移到另一個特徵。數據集的特徵越多,特徵共線性的可能性就越大,而對特徵重要性的簡單解釋就越不可靠。

要點:瞭解哪些特徵對結果影響大是很重要的,但不要假設可以查看係數。他們經常不講述整個“故事”。

做幾個項目並取得好成績可能會贏得一百萬美元。你努力工作,結果證明你做得很好,但和其他行業一樣,魔鬼藏在細節中,甚至幻想的情節都可以隱藏偏見和錯誤。這份清單並不意味著詳盡無遺,而僅僅是為了讓讀者思考可能隱藏在解決方案中的所有小問題。為了取得良好的效果,重要的是要遵循你的流程,並且要經常仔細檢查你是否犯了一些常見的錯誤。

希望這些對於初學者有一些幫助,不多說,希望大家過個愉快的週末!


分享到:


相關文章: