日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

吴恩达《构建机器学习项目》精炼笔记(1)-- 机器学习策略(上)

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 吴恩达《构建机器学习项目》精炼笔记(1)-- 机器学习策略(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AI有道

不可錯過的AI技術公眾號

關注

重要通知

本公眾號原名“紅色石頭的機器學習之路”已經改名為“AI有道”,請大家留意并繼續關注本公眾號!謝謝!

1

Why ML Strategy

當我們最初得到一個深度神經網絡模型時,我們可能希望從很多方面來對它進行優化,例如:

  • Collect more data

  • Collect more diverse training set

  • Train algorithm longer with gradient descent

  • Try Adam instead of gradient descent

  • Try bigger network

  • Try smaller network

  • Try dropout

  • Add L2 regularization

  • Network architecture: Activation functions, #hidden units…

可選擇的方法很多,也很復雜、繁瑣。盲目選擇、嘗試不僅耗費時間而且可能收效甚微。因此,使用快速、有效的策略來優化機器學習模型是非常必要的。

2

Orthogonalization

機器學習中有許多參數、超參數需要調試。通過每次只調試一個參數,保持其它參數不變,而得到的模型某一性能改變是一種最常用的調參策略,我們稱之為正交化方法(Orthogonalization)。

Orthogonalization的核心在于每次調試一個參數只會影響模型的某一個性能。例如老式電視機旋鈕,每個旋鈕就對應一個功能,調整旋鈕會調整對應的功能,而不會影響其它功能。也就是說彼此旋鈕之間是互不影響的,是正交的,這也是Orthogonalization名稱的由來。這種方法能夠讓我們更快更有效地進行機器學習模型的調試和優化。

對應到機器學習監督式學習模型中,可以大致分成四個獨立的“功能”,每個“功能”對應一些可調節的唯一的旋鈕。四個“功能”如下:

  • Fit training set well on cost function

  • Fit dev set well on cost function

  • Fit test set well on cost function

  • Performs well in real world

其中,第一條優化訓練集可以通過使用更復雜NN,使用Adam等優化算法來實現;第二條優化驗證集可以通過正則化,采用更多訓練樣本來實現;第三條優化測試集可以通過使用更多的驗證集樣本來實現;第四條提升實際應用模型可以通過更換驗證集,使用新的cost function來實現。概括來說,每一種“功能”對應不同的調節方法。而這些調節方法(旋鈕)只會對應一個“功能”,是正交的。

順便提一下,early stopping在模型功能調試中并不推薦使用。因為early stopping在提升驗證集性能的同時降低了訓練集的性能。也就是說early stopping同時影響兩個“功能”,不具有獨立性、正交性。

3

Single Number Evaluation Metric

構建、優化機器學習模型時,單值評價指標非常必要。有了量化的單值評價指標后,我們就能根據這一指標比較不同超參數對應的模型的優劣,從而選擇最優的那個模型。

舉個例子,比如有A和B兩個模型,它們的準確率(Precision)和召回率(Recall)分別如下:

如果只看Precision的話,B模型更好。如果只看Recall的話,A模型更好。實際應用中,我們通常使用單值評價指標F1 Score來評價模型的好壞。F1 Score綜合了Precision和Recall的大小,計算方法如下:

然后得到了A和B模型各自的F1 Score:

從F1 Score來看,A模型比B模型更好一些。通過引入單值評價指標F1 Score,很方便對不同模型進行比較。

除了F1 Score之外,我們還可以使用平均值作為單值評價指標來對模型進行評估。如下圖所示,A, B, C, D, E, F六個模型對不同國家樣本的錯誤率不同,可以計算其平均性能,然后選擇平均錯誤率最小的那個模型(C模型)。

4

Satisficing and Optimizing Metic

有時候,要把所有的性能指標都綜合在一起,構成單值評價指標是比較困難的。解決辦法是,我們可以把某些性能作為優化指標(Optimizing metic),尋求最優化值;而某些性能作為滿意指標(Satisficing metic),只要滿足閾值就行了。

舉個貓類識別的例子,有A,B,C三個模型,各個模型的Accuracy和Running time如下表中所示:

Accuracy和Running time這兩個性能不太合適綜合成單值評價指標。因此,我們可以將Accuracy作為優化指標(Optimizing metic),將Running time作為滿意指標(Satisficing metic)。也就是說,給Running time設定一個閾值,在其滿足閾值的情況下,選擇Accuracy最大的模型。如果設定Running time必須在100ms以內,那么很明顯,模型C不滿足閾值條件,首先剔除;模型B相比較模型A而言,Accuracy更高,性能更好。

概括來說,性能指標(Optimizing metic)是需要優化的,越優越好;而滿意指標(Satisficing metic)只要滿足設定的閾值就好了。

5

Train/Dev/Test Distributions

Train/dev/test sets如何設置對機器學習的模型訓練非常重要,合理設置能夠大大提高模型訓練效率和模型質量。

原則上應該盡量保證dev sets和test sets來源于同一分布且都反映了實際樣本的情況。如果dev sets和test sets不來自同一分布,那么我們從dev sets上選擇的“最佳”模型往往不能夠在test sets上表現得很好。這就好比我們在dev sets上找到最接近一個靶的靶心的箭,但是我們test sets提供的靶心卻遠遠偏離dev sets上的靶心,結果這支肯定無法射中test sets上的靶心位置。

6

Size of The Dev and Test Sets

在之前的課程中我們已經介紹過,當樣本數量不多(小于一萬)的時候,通常將Train/dev/test sets的比例設為60%/20%/20%,在沒有dev sets的情況下,Train/test sets的比例設為70%/30%。當樣本數量很大(百萬級別)的時候,通常將相應的比例設為98%/1%/1%或者99%/1%。

對于dev sets數量的設置,應該遵循的準則是通過dev sets能夠檢測不同算法或模型的區別,以便選擇出更好的模型。

對于test sets數量的設置,應該遵循的準則是通過test sets能夠反映出模型在實際中的表現。

實際應用中,可能只有train/dev sets,而沒有test sets。這種情況也是允許的,只要算法模型沒有對dev sets過擬合。但是,條件允許的話,最好是有test sets,實現無偏估計。

7

When to Change Dev/Test Sets and Metrics

算法模型的評價標準有時候需要根據實際情況進行動態調整,目的是讓算法模型在實際應用中有更好的效果。

舉個貓類識別的例子。初始的評價標準是錯誤率,算法A錯誤率為3%,算法B錯誤率為5%。顯然,A更好一些。但是,實際使用時發現算法A會通過一些色情圖片,但是B沒有出現這種情況。從用戶的角度來說,他們可能更傾向選擇B模型,雖然B的錯誤率高一些。這時候,我們就需要改變之前單純只是使用錯誤率作為評價標準,而考慮新的情況進行改變。例如增加色情圖片的權重,增加其代價。

原來的cost function:

更改評價標準后的cost function:

概括來說,機器學習可分為兩個過程:

  • Define a metric to evaluate classifiers

  • How to do well on this metric

也就是說,第一步是找靶心,第二步是通過訓練,射中靶心。但是在訓練的過程中可能會根據實際情況改變算法模型的評價標準,進行動態調整。

另外一個需要動態改變評價標準的情況是dev/test sets與實際使用的樣本分布不一致。比如貓類識別樣本圖像分辨率差異。

8

Why Human-level Performance

機器學習模型的表現通常會跟人類水平表現作比較,如下圖所示:

圖中,橫坐標是訓練時間,縱坐標是準確性。機器學習模型經過訓練會不斷接近human-level performance甚至超過它。但是,超過human-level performance之后,準確性會上升得比較緩慢,最終不斷接近理想的最優情況,我們稱之為bayes optimal error。理論上任何模型都不能超過它,bayes optimal error代表了最佳表現。

實際上,human-level performance在某些方面有不俗的表現。例如圖像識別、語音識別等領域,人類是很擅長的。所以,讓機器學習模型性能不斷接近human-level performance非常必要也做出很多努力:

  • Get labeled data from humans.

  • Gain insight from manual error analysis: Why did a person get this right?

  • Better analysis of bias/variance.

9

Avoidable Bias

實際應用中,要看human-level error,training error和dev error的相對值。例如貓類識別的例子中,如果human-level error為1%,training error為8%,dev error為10%。由于training error與human-level error相差7%,dev error與training error只相差2%,所以目標是盡量在訓練過程中減小training error,即減小偏差bias。如果圖片很模糊,肉眼也看不太清,human-level error提高到7.5%。這時,由于training error與human-level error只相差0.5%,dev error與training error只相差2%,所以目標是盡量在訓練過程中減小dev error,即方差variance。這是相對而言的。

對于物體識別這類CV問題,human-level error是很低的,很接近理想情況下的bayes optimal error。因此,上面例子中的1%和7.5%都可以近似看成是兩種情況下對應的bayes optimal error。實際應用中,我們一般會用human-level error代表bayes optimal error。

通常,我們把training error與human-level error之間的差值稱為偏差(bias),也稱作avoidable bias;把dev error與training error之間的差值稱為方差(variance)。根據bias和variance值的相對大小,可以知道算法模型是否發生了欠擬合或者過擬合。

10

Understanding Human-level Performance

我們說過human-level performance能夠代表bayes optimal error。但是,human-level performance如何定義呢?舉個醫學圖像識別的例子,不同人群的error有所不同:

  • Typical human : 3% error

  • Typical doctor : 1% error

  • Experienced doctor : 0.7% error

  • Team of experienced doctors : 0.5% error

不同人群他們的錯誤率不同。一般來說,我們將表現最好的那一組,即Team of experienced doctors作為human-level performance。那么,這個例子中,human-level error就為0.5%。但是實際應用中,不同人可能選擇的human-level performance基準是不同的,這會帶來一些影響。

假如該模型training error為0.7%,dev error為0.8。如果選擇Team of experienced doctors,即human-level error為0.5%,則bias比variance更加突出。如果選擇Experienced doctor,即human-level error為0.7%,則variance更加突出。也就是說,選擇什么樣的human-level error,有時候會影響bias和variance值的相對變化。當然這種情況一般只會在模型表現很好,接近bayes optimal error的時候出現。越接近bayes optimal error,模型越難繼續優化,因為這時候的human-level performance可能是比較模糊難以準確定義的。

11

Surpassing Human-level Performance

對于自然感知類問題,例如視覺、聽覺等,機器學習的表現不及人類。但是在很多其它方面,機器學習模型的表現已經超過人類了,包括:

  • Online advertising

  • Product recommendations

  • Logistics(predicting transit time)

  • Loan approvals

實際上,機器學習模型超過human-level performance是比較困難的。但是只要提供足夠多的樣本數據,訓練復雜的神經網絡,模型預測準確性會大大提高,很有可能接近甚至超過human-level performance。值得一提的是當算法模型的表現超過human-level performance時,很難再通過人的直覺來解決如何繼續提高算法模型性能的問題。

12

Improving Your Model Performance

提高機器學習模型性能主要要解決兩個問題:avoidable bias和variance。我們之前介紹過,training error與human-level error之間的差值反映的是avoidable bias,dev error與training error之間的差值反映的是variance。

解決avoidable bias的常用方法包括:

  • Train bigger model

  • Train longer/better optimization algorithms: momentum, RMSprop, Adam

  • NN architecture/hyperparameters search

解決variance的常用方法包括:

  • More data

  • Regularization: L2, dropout, data augmentation

  • NN architecture/hyperparameters search

喜歡就請贊賞或轉發分享一下吧

往 期 推 薦

【1】吳恩達《優化深度神經網絡》精煉筆記(1)-- 深度學習的實用層面

【2】干貨|機器學習基石精選文章鏈接

【3】機器學習中的維度災難

長按二維碼掃描關注

AI有道

ID:redstonewill

紅色石頭

個人微信 : WillowRedstone

新浪微博:@RedstoneWill

總結

以上是生活随笔為你收集整理的吴恩达《构建机器学习项目》精炼笔记(1)-- 机器学习策略(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线激情网| 四虎色| 欧美国产成人在线 | 免费在线成人 | 超碰8| 国产精品嫩草影院av蜜臀 | 亚洲免费高清视频 | 国产高清免费在线观看 | 天天干人人 | 产乳奶汁h文1v1 | 成年人黄色片 | 激情五月在线观看 | 黄色在线观看视频网站 | 日毛片 | 超碰997 | 色哟哟日韩精品 | 婷婷婷色 | 亚洲精品一区二区三区四区五区 | 亚洲aaa级| 老牛影视av牛牛影视av | 国产精品电影网 | 天天操国产 | 国产男女自拍 | 丰满岳乱妇国产精品一区 | 国产精品久久久久久吹潮 | 性生交大片免费看 | 黄色小视频在线观看免费 | 欧美极品在线播放 | 黄色一级影片 | 丁香六月天婷婷 | 欧美成人精品欧美一 | 爆乳熟妇一区二区三区 | 高清国产一区二区三区 | 德国经典free性复古xxxx | 三年大片在线观看 | 国产不卡毛片 | 天天综合中文字幕 | 国产精品免费视频一区 | 日本高清有码视频 | 色牛影院| 天天草综合| 日本无遮挡边做边爱边摸 | 免费精品在线观看 | 日本久久视频 | 亚洲熟女乱综合一区二区 | av免费网站| 天天操天天插 | 成人www视频 | 国产18禁黄网站免费观看 | 日本天堂网 | 天天干天天爽天天射 | 久久视频精品在线 | 中文字幕色片 | 波多野结衣在线视频播放 | 免费在线观看黄色片 | 天天草综合| 女王人厕视频2ⅴk | 亚洲一区二区av | 最新国产露脸在线观看 | 色七七桃花影院 | 91抖音在线观看 | 男同志毛片特黄毛片 | 亚洲一区免费在线观看 | 国产精品久久综合青草亚洲AV | 九七精品 | 亚洲一区国产 | aaa黄色| 成人免费毛片网站 | 亚洲欧美精品午睡沙发 | 91免费版黄色 | 日本欧美久久久久免费播放网 | √天堂8资源中文在线 | 午夜精品免费观看 | 操韩国美女 | 在线观看国产麻豆 | 久久久久在线视频 | 中文字幕第页 | 日韩在线观看视频网站 | 波多野结衣办公室33分钟 | 国产精品19p | 国产精品815.cc红桃 | 毛片无遮挡高清免费观看 | 欧美一级无毛 | 9i在线看片成人免费 | 日本女优在线看 | 欧美怡红院一区二区三区 | 国产美女永久免费无遮挡 | 古装做爰无遮挡三级 | 四虎免费在线观看 | 99久久国产宗和精品1上映 | 亚洲毛片在线观看 | 久久一区视频 | 91成人国产综合久久精品 | 97人妻精品一区二区三区软件 | 国产最新精品视频 | 国产噜噜噜噜噜久久久久久久久 | 香蕉大久久 | 日本视频在线观看 | 欧美精品xxxxx|