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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實(shí)踐機(jī)器學(xué)習(xí)的10個(gè)小秘訣

Dbwd_Imgtec ? 來源:cg ? 2018-12-14 14:36 ? 次閱讀

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

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

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

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

想要在應(yīng)用程序中成功地融入機(jī)器學(xué)習(xí)的開發(fā)者,需要注意以下的一些關(guān)鍵要點(diǎn):

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

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

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

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

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

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

2. 對給定的問題選擇效果最好的機(jī)器學(xué)習(xí)算法是決定成敗的關(guān)鍵

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

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

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

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

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

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

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

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

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

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

幾乎所有的機(jī)器學(xué)習(xí)算法最后都被當(dāng)成是一種優(yōu)化問題。根據(jù)業(yè)務(wù)的性質(zhì),合理設(shè)置或調(diào)整優(yōu)化的目標(biāo)函數(shù),是機(jī)器學(xué)習(xí)成功的關(guān)鍵。

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

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

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

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

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

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

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

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

10. 學(xué)會將商業(yè)問題轉(zhuǎn)換成機(jī)器學(xué)習(xí)算法

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

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

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

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

    關(guān)注

    1789

    文章

    46438

    瀏覽量

    236663
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8330

    瀏覽量

    132221

原文標(biāo)題:機(jī)器學(xué)習(xí)實(shí)踐的10個(gè)小秘訣

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    具身智能與機(jī)器學(xué)習(xí)的關(guān)系

    具身智能(Embodied Intelligence)和機(jī)器學(xué)習(xí)(Machine Learning)是人工智能領(lǐng)域的兩個(gè)重要概念,它們之間存在著密切的關(guān)系。 1. 具身智能的定義 具身智能是指智能體
    的頭像 發(fā)表于 10-27 10:33 ?116次閱讀

    人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)存在什么區(qū)別

    人工智能指的是在某種程度上顯示出類似人類智能的設(shè)備。AI有很多技術(shù),但其中一個(gè)很大的子集是機(jī)器學(xué)習(xí)——讓算法從數(shù)據(jù)中學(xué)習(xí)
    發(fā)表于 10-24 17:22 ?2376次閱讀
    人工智能、<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>和深度<b class='flag-5'>學(xué)習(xí)</b>存在什么區(qū)別

    【《時(shí)間序列與機(jī)器學(xué)習(xí)》閱讀體驗(yàn)】+ 時(shí)間序列的信息提取

    本人有些機(jī)器學(xué)習(xí)的基礎(chǔ),理解起來一點(diǎn)也不輕松,加油。 作者首先說明了時(shí)間序列的信息提取是時(shí)間序列分析的一個(gè)重要環(huán)節(jié),目標(biāo)是從給定的時(shí)間序列數(shù)據(jù)中提取出有用的信息和特征,以支持后續(xù)的分析和預(yù)測任務(wù),可以
    發(fā)表于 08-14 18:00

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】+ 鳥瞰這本書

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

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】+ 簡單建議

    這本書以其系統(tǒng)性的框架和深入淺出的講解,為讀者繪制了一幅時(shí)間序列分析與機(jī)器學(xué)習(xí)融合應(yīng)用的宏偉藍(lán)圖。作者不僅扎實(shí)地構(gòu)建了時(shí)間序列分析的基礎(chǔ)知識,更巧妙地展示了機(jī)器學(xué)習(xí)如何在這一領(lǐng)域發(fā)揮巨
    發(fā)表于 08-12 11:21

    機(jī)器學(xué)習(xí)中的數(shù)據(jù)預(yù)處理與特征工程

    機(jī)器學(xué)習(xí)的整個(gè)流程中,數(shù)據(jù)預(yù)處理與特征工程是兩個(gè)至關(guān)重要的步驟。它們直接決定了模型的輸入質(zhì)量,進(jìn)而影響模型的訓(xùn)練效果和泛化能力。本文將從數(shù)據(jù)預(yù)處理和特征工程的基本概念出發(fā),詳細(xì)探討這兩個(gè)
    的頭像 發(fā)表于 07-09 15:57 ?245次閱讀

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個(gè)重要分支,其目標(biāo)是通過讓計(jì)算機(jī)自動從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無需進(jìn)行明確的編程。本文將深入解讀幾種常見的機(jī)器
    的頭像 發(fā)表于 07-02 11:25 ?592次閱讀

    深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)的對比

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

    機(jī)器學(xué)習(xí)的經(jīng)典算法與應(yīng)用

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

    請問PSoC? Creator IDE可以支持IMAGIMOB機(jī)器學(xué)習(xí)嗎?

    。 我發(fā)現(xiàn)IMAGIMOB 是一個(gè)很好的解決方案來滿足我的需求,但現(xiàn)在的問題是, PSoC? Creator 不支持 IMAGIMOB! PSoC? Creator 可以支持機(jī)器學(xué)習(xí)或 IMAGIMOB 嗎?
    發(fā)表于 05-20 08:06

    大語言模型:原理與工程實(shí)踐+初識2

    前言 深度學(xué)習(xí)機(jī)器學(xué)習(xí)的分支,而大語言模型是深度學(xué)習(xí)的分支。機(jī)器學(xué)習(xí)的核心是讓計(jì)算機(jī)系統(tǒng)通過對
    發(fā)表于 05-13 00:09

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡單的機(jī)器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?874次閱讀
    如何使用TensorFlow構(gòu)建<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>模型

    電路板的長壽秘訣:如何保養(yǎng)PCB

    電路板的長壽秘訣:如何保養(yǎng)PCB
    的頭像 發(fā)表于 12-07 14:54 ?1844次閱讀

    深度學(xué)習(xí)算法和傳統(tǒng)機(jī)器視覺助力工業(yè)外觀檢測

    在很多人眼里,深度學(xué)習(xí)是一個(gè)非常神奇的技術(shù),是人工智能的未來,是機(jī)器學(xué)習(xí)的圣杯。今天深視創(chuàng)新帶您一起揭開他神秘的面紗,了解什么才是深度學(xué)習(xí)。
    的頭像 發(fā)表于 11-09 10:58 ?607次閱讀
    深度<b class='flag-5'>學(xué)習(xí)</b>算法和傳統(tǒng)<b class='flag-5'>機(jī)器</b>視覺助力工業(yè)外觀檢測

    全面總結(jié)機(jī)器學(xué)習(xí)中的優(yōu)化算法

    幾乎所有的機(jī)器學(xué)習(xí)算法最后都?xì)w結(jié)為求一個(gè)目標(biāo)函數(shù)的極值,即最優(yōu)化問題,例如對于有監(jiān)督學(xué)習(xí),我們要找到一個(gè)最佳的映射函數(shù)f (x),使得對訓(xùn)練
    發(fā)表于 11-02 10:18 ?380次閱讀
    全面總結(jié)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>中的優(yōu)化算法