機器學習-1

阿蘇爾發表於2018-04-10

本文來自於網易雲課堂
這裡寫圖片描述
當你訓練一個模型達到較高的識別度的時候,你可能會想到很多方法來繼續提高神經網路模型的表現。問題在於,如果你做出了錯誤的選擇,你完全有可能會浪費6個月的時間往錯誤的方向前進。本課程Andrew Ng會介紹一些策略和分析機器學習問題的方法來指引我們朝著最有希望的方向前進,他還會分析一些他在構建大型神經網路過程中的經驗和教訓。

正交化

這裡寫圖片描述
假如你有這樣一臺電視,每個旋鈕分別控制畫面的屬性,比如一個按鈕控制影像寬度,一個按鈕控制影像高度,一個按鈕控制旋轉等等。但是如果對於某個單位,每個按鈕可以控制全部的部分效果會怎麼樣呢,比如一個按鈕控制0.4個影像寬度+0.7個影像高度-1.3個旋轉等,很顯然,雖然你可以將畫面調整到正中央,但是非常複雜和麻煩。
這時候正交化設計師所要做的就是將每個按鈕更改一下功能使其只做一件事,這樣就可以快速的調整所需要的影像了。
這裡寫圖片描述
再比如你有這樣一臺車,用有3個軸的遙控器控制,如果遙控器的一個軸的控制效果是:0.2的左轉+0.6的加速,另一個軸的效果是:0.5的右轉+0.8的剎車,最後一個軸的效果是:0.6的左轉-0.3的右轉+0.1的前進,可以想象你也很難調整這臺車。而正交化之後,遙控器的三個軸分別單獨控制左轉右轉,前進和剎車,這時候你就可以很容易的控制這臺車了。

那麼這和機器學習有什麼關係呢?
要弄好一個監督系統,你通常需要調你的系統的按鈕,來確保4件事情是正確的。首先你要確保你的系統在訓練集上表現不錯,所以訓練集上的表現必須通過某種評估達到能接受的程度,對於某些應用,這可能意味著達到人類的表現。其次,你會希望系統在驗證集上也表現不錯。再者,你會希望系統在測試集上也表現不錯。最後,你還希望系統在實際表現中令人滿意。現在回到電視調節的例子上來。如果你的電檢視像太寬或太窄,你就需要一個按鈕去調整,你可不會希望這個按鈕會同時影響到影像的其他方面,只希望它能實現一個功能就行。下面給出調節過程的圖示。
注:此圖是個人繪製,請隨意轉載!
這裡寫圖片描述

Andrew Ng介紹了早期停止的選擇,雖然效果也可以但是他不建議這麼做,因為這麼做很難分析,因為這個選項沒有正交化。

單一數字評估指標

在實際建模的過程中,你會發現如果有一個數字評估指標,它會快速的告訴你新嘗試的手段比之前的好還是壞。所以,在建立一個模型時,最好設定一個評估指標。
這裡寫圖片描述
神經網路的建立是一個經驗化的過程,需要一遍一遍的嘗試。假如你已經訓練出了一個分類器A,然後擬通過調整各個引數,又訓練出了一個分類器B,那麼評估分類器的一個合理的方式就是觀測它們的查準率(precision)和查全率(recall)。所謂查準率就是在你的分類器標記為貓的例子中,有多少真的是貓。查全率是指,在所有是真貓的圖片中,你的分類器識別出了多少百分比。事實表明,查準率和查全率往往需要折中。你希望得到的效果是:當分類器識別為貓時,你希望它真的是貓,對於所有是貓的圖片,你也希望系統能夠將大部分分類為貓。所以用查準率和查全率作為評估指標是比較合理的。但是其中有個問題,如果A在查全率上表現好,而B在查準率上表現好,你就無法判斷哪個分類器好。也就是,如果你有10幾個分類器,但是有2個評估指標,你很難快速的從中選出一個最好的。所以,Andrew Ng不推薦同時使用兩個指標。在機器學習論文中,結合查準率和查全率的標準方法是所謂的F1分數(F1 score),可以認為它是查準率和查全率的平均。正式的,F1=21p+1R

F1 = \frac{2}{\frac{1}{p} + \frac{1}{R}}
,稱之為查準率P和查全率R的調和平均數。在這個例子中,A的F1為92.4%而B的F1為91.0%,故淘汰B保留A。那麼有了驗證集和單一評估指標,會讓你的迭代速度更快。

優化和滿足指標

有時候想把你要評估的東西組合成單實數評估指標是很難的。這時候,設立優化和滿足指標是很有用的。這裡寫圖片描述
舉例來說,對於上面這張圖,你可能想利用這麼一個線性加權和來評估分類器的表現:0.6*Accuracy+0.3*Running time,但這種方式未免太刻意了。這時我們可以這樣考慮,分類器在優化的基礎上必須滿足一定的執行時間要求,比如說小於100ms。這時,Accuracy是優化指標,這個指標意味著越高越好。Running time是滿足指標,也就是分類一張圖的時間不能超過某個值,達到之後,你不必在乎或者是不必那麼在乎這個指標有多好。所以這是一種相當合理的權衡(trade off)方式。

再比如,你要構建一個喚醒系統或觸發系統,例如蘋果的Hi,siri或者百度的你好,百度這樣的語音識別系統,對於這些系統你可能要求他們精度越高越好,同時24小時以內最多隻能被隨機喚醒一次,也就是錯誤喚醒一次。那麼,精度就是優化指標,而24小時最多隻能被隨機喚醒一次就是滿足指標。

相關文章