03.结构化机器学习项目 W1.机器学习策略(1)
文章目錄
- 1. 機器學習策略
- 2. 正交化 Orthogonalization
- 3. 單一數字評估指標
- 4. 滿足和優化指標
- 5. 訓練/開發/測試集劃分
- 6. 開發集和測試集的大小
- 7. 什么時候該改變開發/測試集和指標
- 8. 人類的表現水準
- 9. 可避免偏差
- 10. 理解人的表現
- 11. 超過人的表現
- 12. 改善你的模型的表現
- 測試題作業
參考:
吳恩達視頻課
深度學習筆記
1. 機器學習策略
如何改善模型的性能
- 收集更多數據
- 訓練集多樣性(如,識別貓,收集各種姿勢的貓,以及反例)
- 訓練的時間更長一些
- 嘗試不同的優化算法(如 Adam優化)
- 規模 更大 / 更小 的神經網絡
- 嘗試 DropOut 正則化
- 嘗試添加 L2 正則化
- 新的網絡結構(修改激活函數,隱藏單元數目)
你可以去嘗試,但是萬一花了半年時間,最后發現是錯誤的?那就哭吧!
需要判斷哪些是有效的,哪些是可以放心舍棄的。
2. 正交化 Orthogonalization
各個調整的變量之間最好沒有耦合關系
定位出模型的性能瓶頸在哪個環節,利用對應的方法去改善
early stopping,就是一個不那么正交化的方法
過早停止,影響訓練集準確率,同時它又可以改善在開發集的準確率
它同時影響兩件事情,盡量用其他的正交化控制方法
3. 單一數字評估指標
- 準確率、召回率、F1值(前兩者的平均)
F1=21precision+1recall=2?precison??recallprecison?+recall=TPTP+FN+FP2F 1=\frac{2}{\frac{1}{\text {precision}}+\frac{1}{\text {recall}}}=2 * \frac{\text {precison } * \text {recall}}{\text {precison }+\text {recall}}=\frac{T P}{T P+\frac{F N+F P}{2}}F1=precision1?+recall1?2?=2?precison?+recallprecison??recall?=TP+2FN+FP?TP?
有一個單實數評估指標可以提高你的效率 或 做出決策的效率
4. 滿足和優化指標
考慮 N 個指標,有時候選擇其中一個做為優化指標是合理的。
盡量優化那個指標,然后剩下 N-1 個指標都是滿足指標,意味著只要它們達到一定閾值,你不再關心指標在閾值內的大小
5. 訓練/開發/測試集劃分
舉例:前4個區域的數據作為開發集,后4個作為測試集
- 非常不好,他們很可能來自不同的分布
- 應該隨機打亂所有的數據,重新劃分
6. 開發集和測試集的大小
7. 什么時候該改變開發/測試集和指標
更改測試指標:
誤差:1∑w(i)∑i=1mdevw(i)L{(y^(i)≠y(i))}誤差: \frac{1}{\sum w^{(i)}} \sum_{i=1}^{m_{d e v}} w^{(i)} \mathcal{L}\left\{\left(\hat{y}^{(i)} \neq y^{(i)}\right) \bigg\}\right.誤差:∑w(i)1?i=1∑mdev??w(i)L{(y^?(i)?=y(i))}
w(i)={1if?x(i)是非色情圖片?10if?x(i)是色情圖片w^{(i)}=\left\{\begin{array}{cl}1 & \text { if } x^{(i)} \text { 是非色情圖片 } \\ 10 & \text { if } x^{(i)} \text { 是色情圖片}\end{array}\right.w(i)={110??if?x(i)?是非色情圖片??if?x(i)?是色情圖片?
以上方法,你必須自己過一遍數據,把色情圖片標記出來
在比如:你的開發/測試集都是很清晰的專業圖片,而應用最終上線是針對不專業的圖片(模糊,角度不好等)
那么就要更改開發/測試集,加入不專業圖片作為訓練數據
8. 人類的表現水準
把機器學習的水平和人類的水平相比較是很自然的。我們希望機器比人做的更好
對于人類擅長的任務,只要機器學習算法比人類差,就可以讓人幫你標記數據,就有更多的數據可以喂給學習算法,改進算法
9. 可避免偏差
10. 理解人的表現
11. 超過人的表現
情況B:超過 0.5% 的門檻(比最好的醫生的誤差還低),要進一步優化你的機器學習問題就沒有明確的選項和前進的方向了
12. 改善你的模型的表現
總結:
以上的方法就是一種正交化的改進思路。
- 訓練集誤差 與 貝葉斯估計誤差 之間的差距:可避免偏差
- 訓練集誤差 與 開發集誤差 之間的差距:方差
改進偏差:
- 更大規模的模型
- 訓練更久、迭代次數更多
- 更好的優化算法(Momentum、RMSprop、Adam)
- 更好的新的神經網絡結構
- 更好的超參數
- 改變激活函數、網絡層數、隱藏單元數
- 其他模型(循環NN,卷積NN)
改進方差:
- 收集更多的數據去訓練
- 正則化(L2正則、dropout正則、數據增強)
- 更好的新的神經網絡結構
- 更好的超參數
測試題作業
參考博文鏈接
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的03.结构化机器学习项目 W1.机器学习策略(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1655. 分配重复整
- 下一篇: LeetCode 1220. 统计元音字