0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器學習實踐中的十條注意點

新機器視覺 ? 來源:上海數(shù)據(jù)分析 ? 作者:上海數(shù)據(jù)分析 ? 2022-09-22 15:21 ? 次閱讀

對于開發(fā)人員而言,基于云的機器學習工具帶來了使用機器學習創(chuàng)造和提供新的功能的可能性。然而,開發(fā)者想要在它們的應用程序中融入機器學習,通常會犯一些錯誤,本文列了十條注意點以饗讀者。

在提供發(fā)現(xiàn)埋藏數(shù)據(jù)深層的模式的能力上,機器學習有著潛在的能力使得應用程序更加的強大并且更能響應用戶的需求。精心調校好的算法能夠從巨大的并且互不相同的數(shù)據(jù)源中提取價值,同時沒有人類思考和分析的限制。對于開發(fā)者而言,機器學習為應用業(yè)務的關鍵分析提供了希望,從而實現(xiàn)從改善客戶體驗到提供產(chǎn)品推薦上升至超個性化內容服務的任何應用程序。

像Amazon和Micorosoft這樣的云供應商提供云功能的機器學習解決方案,承諾為開發(fā)者提供一個簡單的方法,使得機器學習的能力能夠融入到他們的應用程序當中,這也算是最近的頭條新聞了。承諾似乎很好,但開發(fā)者還需謹慎。

對于開發(fā)人員而言,基于云的機器學習工具帶來了使用機器學習創(chuàng)造和提供新的功能的可能性。然而,當我們使用不當時,這些工具會輸出不好的結果,用戶可能會因此而感到不安。測試過微軟年齡檢測機器學習工具( http://how-old.net/ )的人都會發(fā)現(xiàn),伴隨即插即用的易用性而來的是主要的精度問題——對于關鍵應用程序或者是重大決策,它應該不值得信賴。

想要在應用程序中成功地融入機器學習的開發(fā)者,需要注意以下的一些關鍵要點:

1.算法使用的數(shù)據(jù)越多,它的精度會更加準確,所以如果可能要盡量避免抽樣

機器學習理論在預測誤差上有著非常直觀的描述。簡而言之,在機器學習模型和最優(yōu)預測(在理論上達到最佳可能的誤差)之間的預測誤差的差距可以被分解為三個部分:

由于沒有找到正確函數(shù)形式的模型的誤差

由于沒有找到最佳參數(shù)的模型的誤差

由于沒用使用足夠數(shù)據(jù)的模型的誤差

如果訓練集有限,它可能無法支撐解決這個問題所需的模型復雜性。統(tǒng)計學的基本規(guī)律告訴我們,如果我們可以的話,應該利用所有的數(shù)據(jù)而不是抽樣。

2. 對給定的問題選擇效果最好的機器學習算法是決定成敗的關鍵

例如,梯度提升樹(GBT)是一個非常受歡迎的監(jiān)督學習算法,由于其精度而被業(yè)內開發(fā)人員廣泛使用。然而,盡管其高度受歡迎,我們也不能盲目的把這種算法應用于任何問題上。相反,我們使用的算法應該是能夠最佳地擬合數(shù)據(jù)特征同時能夠保證精度的算法。

為了證明這個觀點,嘗試做這樣一個實驗,在數(shù)據(jù)集 the popular text categorization dataset rcv1上測試GBT算法和線性支持向量機(SVM)算法,并比較兩者的精度。我們觀察到在這個問題上,就錯誤率而言,線性SVM要優(yōu)于GBT算法。這是因為在文本領域當中,數(shù)據(jù)通常是高維的。一個線性分類器能夠在N-1維當中完美的分離出N個樣本,所以,一個樣本模型在這種數(shù)據(jù)上通常表現(xiàn)的更好。此外,模型越簡單,通過利用有限的訓練樣本來避免過擬合的方式學習參數(shù),并且提供一個精確的模型,產(chǎn)生的問題也會隨之越少。

另一方面,GBT是高度非線性的并且更加強大,但是在這種環(huán)境中卻更難學習并且更容易發(fā)生過擬合,往往結果精度也較低。

3. 為了得到一個更好的模型,必須選擇最佳的的算法和相關的參數(shù)

這對于非數(shù)據(jù)科學家而言可能不容易?,F(xiàn)代的機器學習算法有許多的參數(shù)可以調整。例如,對于流行的GBT算法單獨的就有十二個參數(shù)可以設置,其中包括如何控制樹的大小,學習率,行或列的采樣方法,損失函數(shù),正則化選項等等。一個特有的項目需要在給定的數(shù)據(jù)集上為每一個參數(shù)找到其最優(yōu)值并且達到最精準的精度,這確實不是一件容易的事。但是為了得到最佳的結果,數(shù)據(jù)科學家需要訓練大量的模型,而直覺和經(jīng)驗會幫助他們根據(jù)交叉驗證的得分,然后決定使用什么參數(shù)再次嘗試。

4. 機器學習模型會隨著好的數(shù)據(jù)而變得更好,錯誤的數(shù)據(jù)收集和數(shù)據(jù)處理會降低你建立預測和歸納的機器學習模型的能力

根據(jù)經(jīng)驗,建議仔細審查與主題相關的數(shù)據(jù),從而深入了解數(shù)據(jù)和幕后數(shù)據(jù)的生成過程。通常這個過程可以識別與記錄、特征、值或采樣相關的數(shù)據(jù)質量問題。

5. 理解數(shù)據(jù)特征并改進它們(通過創(chuàng)造新的特征或者去掉某個特征)對預測能力有著高度的影響

機器學習的一個基本任務就是找到能夠被機器學習算法充分利用的豐富特征空間來替代原始數(shù)據(jù)。例如,特征轉換是一種流行的方法,可以通過在原始數(shù)據(jù)的基礎上使用數(shù)學上的轉換提取新的特征來實現(xiàn)。最后的特征空間(也就是最后用來描述數(shù)據(jù)的特征)要能更好的捕獲數(shù)據(jù)的多復雜性(如非線性和多種特征之間的相互作用),這對于成功的學習過程至關重要。

6. 在應用中,選擇合適的靈感來自商業(yè)價值的目標函數(shù)/損失函數(shù)對于最后的成功至關重要

幾乎所有的機器學習算法最后都被當成是一種優(yōu)化問題。根據(jù)業(yè)務的性質,合理設置或調整優(yōu)化的目標函數(shù),是機器學習成功的關鍵。

以支持向量機為例,通過假設所有錯誤類型的權重相等,對一個二分類問題的泛化誤差進行了優(yōu)化。這對損失敏感的問題并不合適,如故障檢測,其中某些類型的錯誤比重可能比其它類型的要高。在這種情況下,建議通過在特定的錯誤類型上,增加更多的懲罰來解釋它們的權重,從而調整SVM的損失函數(shù)。

7. 確保正確地處理訓練數(shù)據(jù)和測試數(shù)據(jù)

如此當在生產(chǎn)中部署該模型時,測試數(shù)據(jù)能夠模擬輸入數(shù)據(jù)。例如,我們可以看到,這對于時間依賴性數(shù)據(jù)是多么的重要。在這種情況下,使用標準的交叉驗證方法進行訓練,調整,那么測試模型的結果可能會有偏差,甚至會不準確。這是因為在實施平臺上它不能準確的模擬輸入數(shù)據(jù)的性質。為了糾正這一點,在部署時我們必須仿照模型來部署使用。我們應該使用一個基于時間的交叉驗證,用時間較新的數(shù)據(jù)來驗證訓練模型。

8. 部署前理解模型的泛化誤差

泛化誤差衡量模型在未知數(shù)據(jù)上的性能好壞。因為一個模型在訓練數(shù)據(jù)上的性能好并不意味著它在未知的數(shù)據(jù)上的表現(xiàn)也好。一個精心設計的模擬實際部署使用的模型評估過程,是估計模型泛化誤差所需要的。

一不留心就很容易違反交叉驗證的規(guī)則,并且也沒有一種顯而易見的方法來表現(xiàn)交叉驗證的非正確性,通常在你試圖尋找快捷方式計算時發(fā)生。在任何模型部署之前,有必要仔細注意交叉驗證的正確性,以獲得部署性能的科學評估。

9. 知道如何處理非結構化和半結構化數(shù)據(jù)

如文本、時間序列、空間、圖形或者圖像數(shù)據(jù)。大多數(shù)機器學習算法在處理特征空間中的數(shù)據(jù)時,一個特征集代表一個對象,特征集的每一個元素都描述對象的一個特點。在實際當中,數(shù)據(jù)引進時并不是這種格式化的形式,往往來自于最原始的格式,并且最后都必須被改造成機器學習算法能夠識別的理想格式。比如,我們必須知道如何使用各種計算機視覺技術從圖像中提取特征或者如何將自然語言處理技術應用于影片文本。

10. 學會將商業(yè)問題轉換成機器學習算法

一些重要的商業(yè)問題,比如欺詐檢測、產(chǎn)品推薦、廣告精準投放,都有“標準”的機器學習表達形式并且在實踐當中取得了合理的成就。即使對于這些眾所周知的問題,也還有鮮為人知但功能更強大的表達形式,從而帶來更高的預測精度。對于一般在博客和論壇中討論的小實例的商業(yè)問題,適當?shù)臋C器學習方法則不太明顯。

如果你是一個開發(fā)者,學習這十個通往成功的訣竅可能似乎是一個艱難的任務,但是不要氣餒。事實上,開發(fā)者不是數(shù)據(jù)科學家。認為開發(fā)人員可以充分利用所有的機學習工具是不公平的。但是這并不意味著開發(fā)人員沒有機會去學習一些有水準的數(shù)據(jù)科學從而改進他們的應用。隨著適當?shù)钠髽I(yè)解決方案和自動化程度的提高,開發(fā)人員可以做模型構建到實施部署的一切事情,使用機器學習最佳實踐來保持高精度

自動化是在應用程序中擴展機器學習的關鍵。即使你能夠供得起一批小的數(shù)據(jù)科學家團隊和開發(fā)者攜手合作,也沒有足夠的人才。像Skytree的AutoModel(自動化模型)能夠幫助開發(fā)者自動地確定最佳的參數(shù)并且使得算法得到最大的模型精度。一個易于使用的接口可以引導開發(fā)人員通過訓練加工,調整并且測試模型來防止統(tǒng)計上的錯誤。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4581

    瀏覽量

    92377
  • 模型
    +關注

    關注

    1

    文章

    3081

    瀏覽量

    48592
  • 機器學習
    +關注

    關注

    66

    文章

    8330

    瀏覽量

    132221

原文標題:機器學習實踐中的10個小秘訣!

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式學習建議

    原理的嵌入式操作系統(tǒng)進行學習。不要一開始就學習幾種操作系統(tǒng),理解了基本原理,實踐中確有實際需要再學習也不遲。人總是要不斷學習的。 ⑨關于匯
    發(fā)表于 10-22 11:41

    RTOS開發(fā)最佳實踐

    基于RTOS編寫應用程序時,有一些要注意事項。在本節(jié),您將學習RTOS開發(fā)最佳實踐,例如POSIX合規(guī)性、安全性和功能安全認證。
    的頭像 發(fā)表于 08-20 11:24 ?328次閱讀

    【「時間序列與機器學習」閱讀體驗】+ 鳥瞰這本書

    清晰,從時間序列分析的基礎理論出發(fā),逐步深入到機器學習算法在時間序列預測的應用,內容全面,循序漸進。每一章都經(jīng)過精心設計,對理論知識進行了詳細的闡述,對實際案例進行了生動的展示,使讀者在理論與
    發(fā)表于 08-12 11:28

    【「時間序列與機器學習」閱讀體驗】+ 簡單建議

    簡單評價這本書。 是這樣,在閱讀與實踐過程,我也發(fā)現(xiàn)了一些可以進一步提升用戶體驗的細節(jié)之處。 例如,書中大量的代碼示例對于學習者來說無疑是寶貴的資源,但在快速復制粘貼的過程,偶爾會
    發(fā)表于 08-12 11:21

    Autobots應用探索:實踐中的思考與發(fā)現(xiàn)

    背景 背景1:作為一名測試,日常工作必不可少的幾個環(huán)節(jié)是查看需求文檔、編寫測試用例、處理線上問題、能力提升等,基于集團的https://xxx.jd.com/工具能一次性幫我們把這些事情都做
    的頭像 發(fā)表于 07-16 15:00 ?206次閱讀
    Autobots應用探索:<b class='flag-5'>實踐中</b>的思考與發(fā)現(xiàn)

    機器學習的數(shù)據(jù)分割方法

    機器學習,數(shù)據(jù)分割是一項至關重要的任務,它直接影響到模型的訓練效果、泛化能力以及最終的性能評估。本文將從多個方面詳細探討機器學習
    的頭像 發(fā)表于 07-10 16:10 ?966次閱讀

    如何理解機器學習的訓練集、驗證集和測試集

    理解機器學習的訓練集、驗證集和測試集,是掌握機器學習核心概念和流程的重要一步。這三者不僅構成了模型學習
    的頭像 發(fā)表于 07-10 15:45 ?2431次閱讀

    機器學習在數(shù)據(jù)分析的應用

    隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)分析提出了更高的要求。機器學習作為一種強大的工具,通過訓練模型從數(shù)據(jù)中學習規(guī)律,為企業(yè)和組織提供了更高效、更準確的數(shù)據(jù)分析能力。本文將深入探討機器
    的頭像 發(fā)表于 07-02 11:22 ?443次閱讀

    深度學習與傳統(tǒng)機器學習的對比

    在人工智能的浪潮,機器學習和深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于
    的頭像 發(fā)表于 07-01 11:40 ?986次閱讀

    機器學習的經(jīng)典算法與應用

    關于數(shù)據(jù)機器學習就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)尋找一種相應的關系。Iris鳶尾花數(shù)據(jù)集是一個經(jīng)典數(shù)據(jù)集,在統(tǒng)計學習機器
    的頭像 發(fā)表于 06-27 08:27 ?1502次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的經(jīng)典算法與應用

    **十條PCB元器件擺放小建議**

    十條PCB元器件擺放小建議 PCB設計中有非常多關于布線線寬、布線疊層、原理圖等相關的技術規(guī)范。 事實上,關于元器件擺放限制很少,但這并不意味著你可以為所欲為。分享十條PCB元器件擺放小建議給
    發(fā)表于 03-14 10:39

    經(jīng)典電路-電動機動控制線路介紹

    在生產(chǎn)實踐中,機械設備有時需要長時間運行,有時需要間斷工作,因而控制電路要有連續(xù)工作和動工作兩種狀態(tài)。
    的頭像 發(fā)表于 01-13 09:57 ?1535次閱讀
    經(jīng)典電路-電動機<b class='flag-5'>點</b>動控制線路介紹

    高速電路板設計的十條規(guī)則

    在Fusion 360,我們關注于使電子工程師能夠輕松設計具有高速信號元器件的電路板。Fusion 360信號完整性擴展程序有助于提高產(chǎn)品合規(guī)性和性能,減少實物電路板測試和原型制作的昂貴花費,并加快高速電路板開發(fā)進程。
    的頭像 發(fā)表于 12-11 09:51 ?1216次閱讀
    高速電路板設計的<b class='flag-5'>十條</b>規(guī)則

    科研及工程實踐中光纖涂覆機詳細操作步驟(圖文)

    電子發(fā)燒友網(wǎng)站提供《科研及工程實踐中光纖涂覆機詳細操作步驟(圖文).pdf》資料免費下載
    發(fā)表于 11-02 15:07 ?0次下載

    機器學習的基本流程和大算法

    為了進行機器學習和數(shù)據(jù)挖掘任務,數(shù)據(jù)科學家們提出了各種模型,在眾多的數(shù)據(jù)挖掘模型,國際權威的學術組織 ICDM(the IEEE International Conference on Data Mining)評選出了
    發(fā)表于 10-31 11:30 ?930次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的基本流程和<b class='flag-5'>十</b>大算法