fbpx
Python初學程式機器學習

Python機器學習EP. 5 訓練跟測試的過程

哈囉,大家好,我是Teresa,上週的筆記提到機器學習似乎不可行,但當統計上的資料還有演算法的選擇是「有限」個時,機器學習還是可行的。 那到底為什麼機器學習可以學到東西?當假說函式集合是無限大的時候,到底會發生什麼事情? 複習機器學習的流程圖,一開始從資料出發,有一個機器學習的演算法,透過資料和它所看到的假說集合,從裡面選擇一個最終的假說函式。 上次加了一個假設是:我們訓練的資料跟最後測試假說的方法都來自同一個分配。 Ein是指在資料上假說的表現;Eout是指未來我們還沒有看過的資料在假說上的表現,我們用同一個分配來描述。 一、假說函數不多的情況 假如假說函式集合不多、資料量又夠多,不管演算法怎麼選擇假說,Ein跟Eout兩者的表現都會長得很像。如果都長得很像,那我們當然要選擇一個Ein最低的,很接近0。因為如果Ein很接近0,那個Eout很大概率機率會很接近0,這樣就達到了學習的效果。 從上述的說明中,機器學習可以分成兩個步驟: 第一個步驟是訓練,訓練是指演算法在跑的時候,我們要確保資料上的表現(Ein)很接近0。 但訓練還不夠,我們要確保這個假說函式在測試未來未知的資料上,Ein跟Eout也很接近。 二、回顧一下,前四集筆記中我們學到的概念: Ep. 1:提到機器學習想做的事情是有個未知的目標函式,希望演算法能找到假說函式,能和目標函式非常接近,錯誤率要越小越好,(也就是Eout要很接近0)。 Ep. 2:希望機器學習在我們已知的資料上做的盡量好就好,(也就是Ein要很接近0)。 Ep. 3:機器學習是在很特定的設定下做,像是批次的資料、監督式學習、二元分類。 Ep. 4:在假說函式有限個的狀況下,Ein跟Eout會很接近。 機器學習實際上拆成兩個問題: 第一個問題是Ein跟Eout會不會很接近? 第二個問題是如果第一個問題成立,怎麼讓Ein越小越好。 三、假說函式集合有限的數量 那在假說函式集合有限的情況下,這個有限的數量(M)是多少,跟這兩個問題有什麼關係? 這個數量M有兩種可能性,一種是相對小的數字,另一種是相對大的數字。…
Teresa
January 13, 2021