1. 程式人生 > >45.優化驗證實現的一般形式 翻譯自 吳恩達新書-Machine Learning Yearning

45.優化驗證實現的一般形式 翻譯自 吳恩達新書-Machine Learning Yearning

當提供一些輸入x,你知道如何通過計算分值,來衡量輸出y相對輸入x有多好時,你可以使用優化驗證測試。此外,你正在使用近似的演算法來尋找最大的得分值,但是假設搜尋演算法有時並找不到最大的得分值。我們之前說的語音識別例子中,x是一個語音片段,y是輸出的識別內容。

加入y是演算法輸出結果y對應的正確結果。那我們的關鍵測試就是判斷Scorex(y) > Scorex(y),如果這個不等式成立,那就說明我們的最優演算法有問題。可以參考上一章,來理解這背後的邏輯。否則,我們認為得分值計算有問題。

我們再看一個例子。你在構建一個漢英翻譯系統。輸入漢語句子C到你的系統中,會輸出各種可能英文句子E的得分Socrec

(E),比如你用把漢語句子C翻譯成英語句子E的概率來作為得分值:Socrec(E) = P(E|C)。

你的翻譯演算法,試著計算如下公式: 輸出計算公式 然而,可選的句子數量太多了,因此你需要使用啟發式搜尋演算法。假設你的演算法輸出了錯誤的翻譯Eout,而不是正確的結果E*。此時優化驗證測試會讓你計算並判斷Socrec(E*) > Socrec(Eout),如果不等式成立,則Socrec()的計算是正確的,因為 E* 的確優於Eout,因此這時的問題出現在近似的搜尋演算法上,否則問題出現在Socrec()方法上。

在人工智慧中,有一個非常常見的設計模式。首先找到學習到一個近似的得分值計算函式Socrec

(),然後使用最大似然法。如果你能恰當的使用這個模式,使用優化驗證測試,你將很容易理解錯誤的根源。