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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(2)

發布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????進行誤差分析:可進行人工統計或可同時并行評估幾個想法。進行誤差分析時,你應該找一組錯誤例子,可能在你的開發集里或者在你的測試集里,觀察錯誤標記的例子,看看假陽性(false positives)和假陰性(false negatives),統計屬于不同錯誤類型的錯誤數量。在這個過程中,你可能會得到啟發,歸納出新的誤差類型。總之,通過統計不同錯誤標記類型占總數的百分比可以幫你發現哪些問題需要優先解決或者給你構思新優化方向的靈感。

????????清楚標注錯誤的數據:對于訓練集:事實證明,深度學習算法對于訓練集中的隨機誤差是相當魯棒的,只要你標記出錯的樣本離隨機誤差不太遠,如果誤差足夠隨機,那么放著這些誤差不管可能也沒問題而不要花太多時間修復它們。只要總數據集足夠大,實際誤差可能不會太高。深度學習算法對隨機誤差很魯棒,但對系統性的錯誤就沒那么魯棒了,比如說,如果做標記的人一直把白色的狗標記成貓,那就成問題了,因為你的分類器學習之后,會把所有的白色的狗都分類成貓。如果擔心開發集或測試集上標記出錯的樣本帶來的影響,他們一般建議你在誤差分析時,添加一個額外的列,這樣你也可以統計標簽Y錯誤的樣本數。在開發集或測試集中,針對這些錯誤的標記,如果嚴重影響了你在開發集上評估算法的能力,那么你就應該去花時間修正錯誤的標簽,但是如果它們沒有嚴重影響到你用開發集評估成本偏差的能力,那么可能就不應該花寶貴的時間去處理。

????????建議看3個數字來確定是否值得去人工修正標記出錯的數據:如下圖,整體開發集誤差;錯誤標記的數量或百分比;其它原因導致的錯誤。如果你要去修正開發集數據,這里有一些額外的方針和原則需要考慮:首先,不管用什么修正手段,都要同時作用到開發集和測試集上,因為開發集和測試集必須來自相同的分布。其次,你要考慮同時檢驗算法本應判斷錯誤卻判斷正確的樣本。


????????快速搭建你的第一個系統,并進行迭代:如果你正在開發全新的機器學習應用,你應該盡快建立你的第一個系統原型,然后快速迭代:快速設立開發集/測試集和指標,這樣就決定了你的目標所在。如果你的目標定錯了,之后改也是可以的,但一定要設立某個目標。然后快速搭好一個機器學習系統原型,然后找到訓練集,訓練一下,看看效果,開始理解你的算法表現如何,在開發集/測試集你的評估指標表現如何。當你建立第一個系統后,你就可以用到偏差/方差分析,誤差分析,來確定下一步優先做什么。

????????在不同分布上進行訓練和測試:記住:設立開發集的目的是告訴你的團隊去瞄準的目標。即開發集、測試集中要包含真實場景的樣本。訓練集可以包含一些非真實場景的樣本。

????????Bias and Variance with mismatched data distributions:當你的訓練集來自和開發集、測試集不同分布時分析偏差和方差的方式可能不一樣。定義一組新的數據我們稱之為訓練-開發集:隨機打亂訓練集,然后分出一部分訓練集作為訓練-開發集,即訓練集和訓練-開發集來自同一分布,但是訓練-開發集不會作為訓練集的一部分,不會進行網絡的后向傳播中。然后分析訓練集誤差、訓練-開發集誤差、開發集誤差,從中會總結是可避免的偏差、方差還是數據不匹配導致的,如下圖:


????????定位數據不匹配:如果發現有嚴重的數據不匹配問題,通常會做誤差分析,嘗試了解訓練集和開發集/測試集的具體差異,如下圖。為了避免對測試集過擬合,要做誤差分析,你應該只人工去看開發集而不是測試集。收集更多看起來像開發集的數據做訓練,一種辦法是人工合成,但當你使用人工數據合成時,一定要謹慎,一定要記住你可能從所有可能性的空間只選了一部分去模擬數據,有可能會過擬合。


????????遷移學習(transfer learning):神經網絡可以從一個任務中學得知識并將這些知識應用到另一個獨立的任務中,如下圖。例如,也許你已經訓練好一個能夠識別像貓這樣的對象的神經網絡,然后使用那些知識,或者部分學習到的知識去幫助你更好地閱讀x射線掃描圖,這就是所謂的遷移學習。經驗規則是,如果你有一個小數據集,就只訓練輸出層前的最后一層,或者是最后一兩層,但是如果你有很多數據,那么也許你可以重新訓練網絡中的所有參數。這個在圖像識別數據的初期訓練階段,有時稱為預訓練或微調(pre-trainingor fine tuning),因為你在用圖像識別數據去預先初始化或者預訓練神經網絡的權重,然后更新所有的權重。遷移學習有效的原因:有很多低層次特征比如說邊緣檢測,曲線檢測,陽性對象檢測,從非常大的圖像識別數據庫中學得的這些能力可能有助于你的學習算法在放射科診斷中做的更好,算法學到了很多結構信息、圖像形狀的信息,其中一些知識可能會很有用。


????????遷移學習什么時候是有意義的,如下圖,如果你想從任務A學習并遷移一些知識到任務B,那么當任務A和任務B都有同樣的輸入x時,遷移是有意義的,如輸入都是圖像,或輸入都是音頻。當任務A的數據比任務B的數據多得多時,遷移學習意義更大。如果你覺得任務A的底層特征可以幫助任務B的學習,那遷移學習更有意義一些。


????????多任務學習:在遷移學習中,你的步驟是串行的,你從任務A中學到的,然后遷移到任務B。在多任務學習中,你是開始學習試圖讓一個神經網絡同時做幾件事情,然后希望這里的每個任務都能幫到其它所有任務。例如,在研發無人駕駛車輛,如下圖,那么你的無人駕駛車可能需要同時檢測不同的物體,比如檢測行人、車輛、停車標志、交通燈等其它物體,輸入圖像x,輸出將不是一個標簽,而是四個標簽,因為四個物體可能同時出現在一張圖里。那么你現在可以做的是訓練一個神經網絡來預測這些y值。另外你也可以訓練四個不同的神經網絡,而不是訓練一個神經網絡做四件事,但神經網絡一些早期特征在識別不同物體時都會用到,你會發現,訓練一個神經網絡做四件事會比訓練四個完全獨立的神經網絡分別做四件事性能會更好,這就是多任務學習的力量。


????????多任務學習什么時候有意義:如下圖,第一,如果你訓練的一組任務,可以共用低層次特征;第二,每個任務的數據量很接近;第三,可以訓練一個足夠大的神經網絡同時可以做好所有的工作。多任務學習的替代方法是為每個任務訓練一個單獨的神經網絡。多任務學習會降低性能的唯一情況就是你的神經網絡還不夠大。


????????什么是端到端的深度學習:簡而言之,以前有一些數據處理系統或者學習系統,它們需要多個階段的處理,端到端的深度學習就是忽略所有這些不同的階段,用單個神經網絡代替它,如下圖。事實證明,端到端深度學習的挑戰之一是:需要大量數據才能讓系統表現良好。當你的數據集較小的時候,傳統流水線方法其實效果也不錯,通常做的更好。端到端學習可以表現很好,也可以簡化系統架構,讓你不需要搭建那么多手工設計的單獨組件,但并不是每次都能成功。


????????是否需要端到端的深度學習:端到端學習的好處:讓數據說話;所需手工設計的組件更少。缺點:可能需要大量的數據;它排除了可能有用的手工設計組件。如下圖:


????????應用端到端的深度學習關鍵問題是:你有足夠數據能夠直接學到從x映射到y的函數。

????? ? GitHub:?https://github.com/fengbingchun/NN_Test?

總結

以上是生活随笔為你收集整理的吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

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