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

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

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

模型不起作用時的解決辦法

汽車玩家 ? 來源:人工智能遇見磐創(chuàng) ? 作者:人工智能遇見磐創(chuàng) ? 2020-05-04 09:54 ? 次閱讀

你的團(tuán)隊(duì)幾個月來一直在收集數(shù)據(jù)、構(gòu)建預(yù)測模型、創(chuàng)建用戶界面,并與一些早期的用戶一起部署新的機(jī)器學(xué)習(xí)產(chǎn)品。但你現(xiàn)在聽到的并不是大家一起慶祝項(xiàng)目勝利的聲音,而是聽到產(chǎn)品經(jīng)理對那些早期用戶的抱怨,這些早期用戶對模型精度不滿意并開始認(rèn)為“模型不起作用”。所以你現(xiàn)在應(yīng)該做什么?

我們常常在很多模式識別實(shí)驗(yàn)室里給相關(guān)組織應(yīng)用機(jī)器學(xué)習(xí)算法到新產(chǎn)品見到這種情況。這不是一個容易迅速解決的問題。真實(shí)世界的機(jī)器學(xué)習(xí)模型的性能受到許多因素的影響,其中一些因素可能在控制之下,而另一些因素則可能不在控制之下。最重要的是,當(dāng)試圖對真實(shí)世界的現(xiàn)象建模時,每個建模問題都有一個固有的噪聲或隨機(jī)性被混合在信號中,這使得很難理解我們使用一個預(yù)測模型真正能夠達(dá)到的準(zhǔn)確度。再加上用戶對你的模型準(zhǔn)確性的期望,你的數(shù)據(jù)科學(xué)團(tuán)隊(duì)就突然陷入了一個棘手的境地,并試圖找出從哪里開始解決問題。

1. 了解要解決的問題

首先要確保團(tuán)隊(duì)對他們試圖用模型解決的用戶問題有很好的理解。令人驚訝的是,數(shù)據(jù)科學(xué)團(tuán)隊(duì)對成功的定義的理解與用戶的標(biāo)準(zhǔn)經(jīng)常不同。最近,我們與一家公司合作,試圖預(yù)測惡劣天氣對公用事業(yè)公司運(yùn)營的影響。技術(shù)團(tuán)隊(duì)絞盡腦汁想要提高他們模型的MAPE分?jǐn)?shù)。當(dāng)我們深入研究時,我們發(fā)現(xiàn)MAPE根本不是正確的度量標(biāo)準(zhǔn),他們所追求的目標(biāo)是他們自己設(shè)定的(而不是傾聽用戶的意見)。用戶實(shí)際上最關(guān)心的是,我們能夠始終如一地將風(fēng)暴的影響嚴(yán)重程度劃分為1-5級的能力,這個劃分是為他們的操作程序定義的。

要確保數(shù)據(jù)科學(xué)團(tuán)隊(duì)對這個問題有一個全面的理解,并且這個理解最好直接來自用戶,這對于一個新計(jì)劃的成功是至關(guān)重要的。如果你的團(tuán)隊(duì)陷入了上面描述的模型“不能工作”的情況,那么第一步就是回去,確保你已經(jīng)正確地定義了問題,并理解你的用戶如何定義成功。

2. 數(shù)據(jù)是否正確、完整?

下一步是回頭查看你的團(tuán)隊(duì)收集的輸入數(shù)據(jù)。通常,在處理復(fù)雜的實(shí)際模型時,模型性能不好的主要原因是由于輸入數(shù)據(jù)集和特征的問題,而不是模型本身。特別是當(dāng)你運(yùn)行多種類型的模型(我們建議你盡可能這樣做)并得到類似的結(jié)果時,這通常是輸入數(shù)據(jù)集的問題。

這一步的一個關(guān)鍵部分是確保你已經(jīng)收集了盡可能多的相關(guān)數(shù)據(jù)。通常,現(xiàn)實(shí)世界的模式中有一些因素并不總是直觀或者明顯的,因此你可以收集的數(shù)據(jù)和特征越多越好。你可以使用許多技術(shù)來降低特征的選擇,以便在最相關(guān)的特征上構(gòu)建模型,我們將在下一個步驟中討論這些特征。但是對于這一步,重點(diǎn)是重新檢查你的假設(shè),哪些輸入的特征影響了你試圖建模的輸出,如果需要,還可以返回以獲取額外的數(shù)據(jù)。例如,當(dāng)試圖為現(xiàn)實(shí)世界的現(xiàn)象建模時,通常需要考慮一些不明顯的因素,因?yàn)檫@些不明顯的因素會造成影響,特別是異常情況——例如季節(jié)性、天氣、日歷事件,甚至地緣政治事件。

其次,應(yīng)該進(jìn)行一些簡單的QA檢查,以確保輸入數(shù)據(jù)得到正確映射和處理。最近,我們與一個想改善模型性能的客戶進(jìn)行了合作,但最終發(fā)現(xiàn)問題根本不是與模型有關(guān)——客戶錯誤地處理了一些地理位置的特征數(shù)據(jù),這使得他們運(yùn)行的模型無法識別正確的模式。

CRISP-DM流程是許多數(shù)據(jù)科學(xué)團(tuán)隊(duì)用于管理項(xiàng)目的最常見框架之一。我們喜歡它的重點(diǎn)在于它確保在深入建模之前就能理解業(yè)務(wù)和數(shù)據(jù)。CRISP-DM過程中的兩個關(guān)鍵步驟是“數(shù)據(jù)理解”和“數(shù)據(jù)準(zhǔn)備”。正確地遵循這些步驟需要深入研究輸入數(shù)據(jù)以真正地理解它,通常需要可視化數(shù)據(jù)中的分布、趨勢和關(guān)系。“數(shù)據(jù)準(zhǔn)備”通常包括預(yù)處理、數(shù)據(jù)擴(kuò)充與標(biāo)準(zhǔn)化,以便為建模做準(zhǔn)備。如果處理得當(dāng),這兩個步驟可以幫助數(shù)據(jù)科學(xué)家確保輸入數(shù)據(jù)中的錯誤不會導(dǎo)致他以后遇到的任何模型性能問題。

3. 調(diào)整模型提升性能

既然你已經(jīng)盡可能正確和完整地驗(yàn)證了輸入數(shù)據(jù),現(xiàn)在是時候關(guān)注有趣的東西了——建模本身。這一步中影響最大的部分之一是特征選擇——從上到下選擇最影響輸出的關(guān)鍵特征,并對這些特征進(jìn)行訓(xùn)練,消除冗余或高度相關(guān)的特征,以提高模型的速度和準(zhǔn)確度。關(guān)于特征選擇技術(shù)有一些很好的博客文章,包括單變量選擇、遞歸特征消除和隨機(jī)森林特征重要性。這里有一個可供參考:https://machinelearningmastery.com/feature-selection-machine-learning-python/。無論你使用的是哪種技術(shù),或者它們的組合,都要確保在這一步上花費(fèi)時間,為你的模型獲得特征的最佳組合。

此步驟的另一個重要部分是重新考慮模型的選擇,或者考慮添加額外的模型類型或組合多個模型。同樣的,也有許多比較不同模型優(yōu)缺點(diǎn)的好文章,但是我們建議盡可能運(yùn)行至少兩種模型類型(理想情況下,一種是神經(jīng)網(wǎng)絡(luò))來比較結(jié)果。

最后,一旦你的特征和選擇的模型確定了后,重新調(diào)參,并且確保你正確地定義訓(xùn)練集,驗(yàn)證集和測試集,這代表你在調(diào)參時并沒有選擇欺詐,所以它在新數(shù)據(jù)上可以泛化的很好,而不是在訓(xùn)練集上表現(xiàn)良好甚至過擬合導(dǎo)致在新數(shù)據(jù)上模型沒有良好的工作。

4. 最后,也是最重要的,管理客戶的期望

這是許多數(shù)據(jù)科學(xué)家忽視的另一個關(guān)鍵步驟,因?yàn)樗麄冋J(rèn)為這“不是他們的工作”。當(dāng)推出一個面向世界的新機(jī)器學(xué)習(xí)產(chǎn)品時,模型在真實(shí)世界的性能存在相當(dāng)大的不確定性。此外,如上所述,盡管你盡了最大的努力使準(zhǔn)確度最大化,但是在你正在解決的問題在真實(shí)世界中會出現(xiàn)的大量噪聲,這可能會限制模型的性能。所以這個步驟是數(shù)據(jù)科學(xué)團(tuán)隊(duì)的責(zé)任,需要數(shù)據(jù)科學(xué)團(tuán)隊(duì)去與產(chǎn)品經(jīng)理,銷售人員,客戶正確定義客戶期待在模型中看到的性能,并且在時間的推移擁有額外的數(shù)據(jù)的情況下,指導(dǎo)他們?nèi)绾稳ビ?xùn)練改善模型。

所以下次你的團(tuán)隊(duì)在模型放入真實(shí)世界里遇到性能問題時,不要玩指責(zé)游戲或直接一頭扎進(jìn)調(diào)參工作進(jìn)行優(yōu)化與擬合,后退一步,跟著這個簡單的,結(jié)構(gòu)化的過程一步一步來解決這個問題,在你的新模型上最大化性能。

聲明:本文內(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)注

    1

    文章

    3032

    瀏覽量

    48363
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24538
收藏 人收藏

    評論

    相關(guān)推薦

    TPA3112D1為什么不起作用了?

    您好,我有一塊TPA3112D1模塊之前用著一直是好的,但是突然就不起作用了,我想知道友們有辦法測試一下我的芯片是好是壞,是否工作正常??謝謝
    發(fā)表于 09-06 07:45

    通過system_restart WPS重新啟動esp8266首次連接不起作用,返回f r-15863的原因?

    當(dāng)我通過system_restart WPS 重新啟動 esp8266 并首次連接不起作用時,返回 f r-15863。此信息: f r-15863 是什么意思?這種情況發(fā)生在一臺設(shè)備上,什么原因可能導(dǎo)致此問題?
    發(fā)表于 07-18 08:08

    AT CWHOSTNAME不起作用的原因?

    我想更改主機(jī)名,但在命令 AT CWHOSTNAME 不起作用。 我嘗試過 AT CWMODE_CUR=1 或 AT CWMODE_CUR=3,但我得到了相同的結(jié)果。 PS
    發(fā)表于 07-15 06:09

    stm32cubemx的功能不起作用是哪里的問題?

    最近幾個版本的stm32cubemx的功能不起作用: 在cube上有一個很好用的功能就是點(diǎn)按ctrl和click按鍵會讓alternative pin顯示出來,這個功能非常高效率。然而不知道是java的問題還是新版本的問題,目前的按鍵不起作用。
    發(fā)表于 04-08 07:28

    用中斷測試了CAN EVAL_BDPS_DRIVER,中斷不起作用的原因?

    我用中斷測試了 CAN EVAL_BDPS_DRIVER 。 但中斷不起作用。 根據(jù)我對配置文件所做的更改。 但EVAL_IM_FLEX_ADAPTER_V1未獲得正確的輸出。 請幫我解決這個問題。
    發(fā)表于 03-06 07:44

    TC387不起作用的原因?

    我使用的是 TC387。當(dāng)我使用 Trace32 下載 *.elf 文件時,它運(yùn)行良好。但是我使用 Trace32 下載了*.hex 文件,但它不起作用。即使我使用 Trace32 下載 *.elf
    發(fā)表于 02-27 08:02

    使用psoc63-ble進(jìn)行計(jì)數(shù),它不起作用的原因?

    我嘗試使用 psoc63-ble 進(jìn)行計(jì)數(shù),但它不起作用。 當(dāng)我嘗試在 10MHz 下進(jìn)行計(jì)數(shù)時,我只能在較低頻率范圍內(nèi)進(jìn)行計(jì)數(shù)。 我想知道 CAN 進(jìn)行的最大計(jì)數(shù)是多少,以及如果我想以更高的值(例如 10 MHz 或更高)進(jìn)行計(jì)數(shù),如何編寫代碼。
    發(fā)表于 01-30 07:35

    TC377的EVADC配置,硬件觸發(fā)器不起作用的原因?

    我正在研究 TC377 的 EVADC 配置,我的頻道上有硬件觸發(fā)器 g0ch6-ATOM1_5(不起作用 ) g0ch 7-與 g2ch7 G1ch1-同步 G1ch1-ATOM1_ 4
    發(fā)表于 01-25 07:50

    模型訓(xùn)練loss突刺原因和解決辦法

    PaLM和GLM130b之前的解決辦法是找到loss spike之前最近的checkpoint,更換之后的訓(xùn)練樣本來避免loss spike的出現(xiàn)。
    的頭像 發(fā)表于 01-09 14:20 ?1008次閱讀
    大<b class='flag-5'>模型</b>訓(xùn)練loss突刺原因和<b class='flag-5'>解決辦法</b>

    codeblocks點(diǎn)擊run不起作用

    對于Code::Blocks點(diǎn)擊Run無法起作用的問題,有以下幾個可能的原因和解決方法: 編譯器問題:Code::Blocks使用的是GNU編譯器,可能出現(xiàn)了某些編譯器設(shè)置方面的問題??梢試L試
    的頭像 發(fā)表于 11-26 09:30 ?2448次閱讀

    pwm不起作用是什么情況?

    pwm不起作用什么情況,同樣的程序8266卻可以
    發(fā)表于 11-03 07:15

    細(xì)碎機(jī)軸承位磨損問題的解決辦法

    【設(shè)備故障】細(xì)碎機(jī)軸承位磨損問題的解決辦法
    發(fā)表于 10-27 16:36 ?0次下載

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發(fā)表于 10-20 15:04 ?445次閱讀
    KT142C語音芯片配置文件總是<b class='flag-5'>不起作用</b>?配置文件的問題集中歸納

    硬盤故障的3個終極解決辦法

    電子發(fā)燒友網(wǎng)站提供《硬盤故障的3個終極解決辦法.pdf》資料免費(fèi)下載
    發(fā)表于 10-20 10:46 ?0次下載
    硬盤故障的3個終極<b class='flag-5'>解決辦法</b>

    ua741的調(diào)零不起作用,輸出的電壓總是24伏的原因?

    用ua741做實(shí)驗(yàn),兩端加12V/-12V電壓,但輸出的電壓總是24伏,調(diào)零電阻根本就不起作用
    發(fā)表于 10-18 08:09