轉載請注明出處:http://www.cnblogs.com/ymingjingr/p/4271742.html
目錄
機器學習基石筆記1——在何時可以使用機器學習(1)
機器學習基石筆記2——在何時可以使用機器學習(2)
機器學習基石筆記3——在何時可以使用機器學習(3)(修改版)
機器學習基石筆記4——在何時可以使用機器學習(4)
機器學習基石筆記5——為什么機器可以學習(1)
機器學習基石筆記6——為什么機器可以學習(2)
機器學習基石筆記7——為什么機器可以學習(3)
機器學習基石筆記8——為什么機器可以學習(4)
機器學習基石筆記9——機器可以怎樣學習(1)
機器學習基石筆記10——機器可以怎樣學習(2)
機器學習基石筆記11——機器可以怎樣學習(3)
機器學習基石筆記12——機器可以怎樣學習(4)
機器學習基石筆記13——機器可以怎樣學得更好(1)
機器學習基石筆記14——機器可以怎樣學得更好(2)
機器學習基石筆記15——機器可以怎樣學得更好(3)
機器學習基石筆記16——機器可以怎樣學得更好(4)
五、Training versus Testing
訓練與測試。
5.1 Recap and Preview
回顧以及預覽。
首先回顧一下上一章學過的內容,學習在何種情況下是可行的。
在可學習的數據來自於一個統一的分布(distribution),且假設空間中的假設函數為有限個的情況下,其學習流程圖如圖5-1所示。
圖5-1 一種可行的學習流程圖
此圖和前幾章中的流程圖最大的不同是加入了一個模塊,准確的說是一種假設情況,假設訓練數據樣本和未知的測試樣本來自同一的分布(這點尤為重要現有的大部分機器學習算法都從這點出發,好像遷移學習不是),並且假設空間的假設是有限的情況下,即|H| = M,M是有限的值,在訓練樣本N足夠大,假設空間中的所有的假設都會遵循PAC准則,確保,每一個假設函數都可以滿足近似相等的性質,因此可以通過算法在這些假設空間中找一個
的假設,同樣PAC也保證了
。因此可以說機器學習在這種情況下是可行的。(訓練樣本和測試樣本滿足同分布,假設空間有限,並且訓練數據足夠大)
接着回顧一下之前四章的內容:
第一章介紹了存在一個未知的目標函數f,機器學習的任務是找出一個假設函數g,使得假設g和目標函數f很接近,即 ,用第四章的概念可以解釋為在測試時的錯誤率接近零,即
。
第二章介紹了在訓練時使假設函數g和目標函數f很接近就可以了,用第四章的概念可以解釋為訓練時的錯誤率接近零,即 。
第三章介紹了一種機器學習最基礎、最核心的方法:使用批量的數據和監督式的學習來做二元分類。
第四章介紹了在假設空間不是太多,即假設函數有限的情況下,訓練時的錯誤率和測試時的錯誤率很接近,即 。
從以上各章節中可以看出將機器學習分為了兩個主要問題來解決:
-
是否能確保
是足夠接近的?這是連接第一章和第二章的橋梁。
-
如何使得
足夠小?這是第二章的內容,當然后面的章節還會繼續介紹其他的技巧。
在第四章中介紹的假設空間的大小M與上述兩個問題存在何種關系?通過一個表格進行分析,如表5-1所示。
表5-1 M的大小與兩個條件的關系
M很小的時候 |
M很大的時候 |
|
第一個問題 |
滿足, M小的時候,兩者不相等的幾率變小了 |
不滿足, M大的時候,兩者不相等的幾率變大了 |
第二個問題 |
不滿足,在M變小時,假設的數量變小,算法的選擇變小,可能無法找到 |
滿足,在M變大時,假設的數量變大,算法的選擇變大,找到 |
顯然M趨於無窮大時,表現非常不好,如何解決這個問題呢?
需要尋找一個小於無限大M的替代值,並且這個值還和假設空間有關系,用 表示。以后的幾章中討論如何在M為無限大時,保證
。
5.2 Effective Number of Lines
線的有效數量。
第四章的結尾求出了在有限假設空間中 的上限,當時,使用聯合上限(union bound),實際不等式的上界被放大了太多。假設在假設空間中包含無限多的假設函數,則此上限為無窮大,而真正合理的上界是不應該大於1(因為是個概率問題,其最大值也不會超過1)。
造成這一問題的原因是什么呢?很容易想到這個聯合上界是不是過於寬松了。對,問題確實出在此處,學過集合的同學肯定都知道,兩個集合的或集寫成兩個集合相加的形式時,一定要減去它倆的交集。而我們這里的問題出在,這幾個集合不僅相交,而且交集很大,卻沒有被減掉,因此上界過於寬松。
繼續回到假設空間的問題上,兩個假設函數出現完全相同壞數據的可能性很大,如上一章表4-3的h2和h3就出現了幾個相同的壞數據。舉個簡單的例子,在二維平面上進行二元線性分類,假設兩條直線h1和h2很接近,那么就不難得出兩種假設的壞數據也基本重疊,其實這種數據的分布應為圖5-2所示。
圖5-2 不好數據的分布
如果可以將這無限大的假設空間分成有限的幾類,按照樣本數據划分方式進行分類,如是 和
被定義為兩種不同的類別。這一思路的原因個人認為有兩個:一是這本身就是一個數據分類錯誤率的問題,從數據分類方式着手也很切要害;二是訓練樣本必然是有限的,分類的方式也是有限的,可以將無限的問題轉換成有限的問題。
先從最簡單的分一個樣本點着手,假設是一個二元線性分類問題,一個樣本的例子比較容易理解,如圖 5-3所示。
圖5-3 單一訓練樣本分類問題
一個樣本點分類可以有幾種方式?無非兩種,該樣本為正,或者為負。而假設空間中的所有假設或者稱之為直線,都只能分屬於這兩種情況。
繼續觀察兩個樣本的情況,如圖5-4所示。
圖5-4 兩個訓練樣本分類問題
這種情況可以分為如圖所示的4種情況,也就是所有的直線可以分屬這4個類中。
繼續觀察三個樣本的情況,如圖5-5所示。
圖5-5三個訓練樣本分類問題
出現了8種情況,但是如果樣本的分布轉變一下呢?比如三排成一線,就只有6類,如圖5-6所示。
圖5-6三個訓練樣本排成一條直線的分類問題
繼續觀察四個樣本的情況,如圖5-7所示。
圖5-7四個訓練樣本分類問題
說明一下此處只畫了8種情況(其中一種還不可能線性可分),因為直接將其顛倒就可以得到剩下的8種情況,完全是對稱的,所示總共有14種可以划分的種類。
不再無休止的繼續舉例,做一個總結。從上述內容可以看出,將無限多的假設和有限多的訓練數據建立了一種關系,如圖5-為是樣本為二維時,二元線性可分的類型與樣本數量的關系圖。
圖5-7二元線性可分的類型與樣本數量的關系圖
從圖中可以推到出下述公式成立,如公式5-1所示。
(公式5-1)
其中N在大於3的情況下,必然遠小於2的N次方。其實即使是等於2的N次方,也可以說明右邊的式子在N趨於無窮大的情況下是一個趨近於零的值,原因很簡單,e這個自然常數的值大於2.7也大於2,因此右式是個遞減函數,此處不做過多的推導了。
5.3 Effective Number of Hypotheses
超平面的有效數量。
上一節的內容介紹了,將無限多的假設轉換成為有限多種類型上。
這種以訓練樣本的分類情況來確定一類假設的方式,稱之為二分類(dichotomy),使用符號表示為H(x1,x2,…,xN),即假設空間在特定的訓練樣本集合(x1,x2,…,xN)上被分為幾類。如表5-2所示,對二分類空間與假設空間做出比較。
表5-2 假設空間與二分空間的對比
假設空間H |
二分H(x1,x2,…,xN) |
|
舉例 |
在空間中所有的線 |
{○○×, ○○○, ○××,..} |
大小 |
無限大 |
上限為 |
以二元線性可分的情況舉例,假設空間是在二維平面上的所有直線,它一定是無限的;而二分空間就是能將二維平面上的樣本點划分為不同情況的直線種類(不同情況具體是什么意思,參見上一節),而它最多只是,因此是有限的。
現在的思路就是使用H(x1,x2,…,xN)的大小來取代無限大的M,如何取代呢?
會發現H(x1,x2,…,xN)的取值取決於訓練樣本的分布情況,因此要取消這種依賴的關系,取消的方式就是尋找在樣本點個數固定的情況下最大的H(x1, x2, …, xN)取值,公式如5-2所示。
(公式5-2)
符號表示一個比無限大的M小且與假設空間H有關的關於樣本大小N的函數。這一函數叫做成長函數(growth function)。
如何具體化(就是只使用訓練樣本的大小N來表達出該函數)成長函數成為接下來需要解決的問題。先從簡單的例子着手一步一步的推導到在感知器下該函數的具體表達。
第一個例子是舉一個最簡單的情況,在一維實數的情況下,並且限制分類的正方向指向固定的一邊,求解成長函數。給這一分類情況起名叫做正射線(positive rays),如圖5-8所示。
圖5-8 正射線的二元分類
用數學的方式表示如下:
-
輸入數據樣本為
,R為實數集;
-
其假設空間可以表示為
,其中a是閾值,表示大於某個實數a數據被分為正類,反之為負類。
-
本質是在一維平面上的感知器,只是比一維感知器少了相反方向可以為正的情況(此種分類已經規定向右的方向為正,而一維感知器可以規定相反的方向也為正,就比它多了一倍)。
正射線分類的成長函數很容易得出,如公式5-3所示。
(公式5-3)
求出的思路很簡單, N個點兩兩之間的空隙個數為N-1,再加上端點的個數2(左端點是全正,右端點是全負),且可得出在N很大的情況下公式5-4成立。
(公式5-4)
課后題中提到了不規定正方向的情況下成長函數的計算即求在一維情況下感知器的分類情況,如公式5-5所示。
(公式5-5)
求解的思路為,在N個點上兩兩之間有2·(N-1)中可能,因為正方向沒有規定了,所以此處比正射線的種類多出了一倍,剩下樣本點都為正類,或者都為負,這兩種情形,因此再加上一個2。
下一個例子還是在一維空間里,與正射線分類不同的是,這是一種中間為正兩邊為負的情況,叫做中間為正的分類(positive interval),如圖5-9所示。
圖5-9 中間為正的分類
其成長函數不難求出,如公式5-6所示。
(公式5-6)
求解思路如下:此為一個兩端都不固定范圍的分類(正射線是固定一個端點,直接到頭都為一種類型),因此在N+1個空隙中選擇兩個作為端點(樣本兩兩之間有N-1個空隙,兩端還各有一個),因此為一個組合問題 ,但是少算了一種全負情況,即兩個端點在同一個空隙之中(是哪個空隙不重要,只要落到一起即為全負),所以再加1。
同樣在N很大時,也小於上限,如公式5-7所示。
(公式5-7)
接着舉一個二維平面上的例子,以凸圖形分類為例,在凸區域內部為正,外部為負,也就是凸區域的邊界作為假設函數的划分線,如圖5-10所示。
圖5-10 a) 藍色部分表示一種凸的圖形 b)藍色部分表示非凸的圖形
如何求解在這種情形下的成長函數?成長函數是尋找一個最大值的情形,因此要取一些極端的情況,比如所有的點都落在一個圓圈上,用一個凸多邊形將所有正類的樣本點連接起來,將此圖形稍微的放大一點,得到的凸多邊形,其中間的區域為正,外邊的區域為負,如圖5-11所示。
圖5-11 凸多邊形分類
課程里說到此處就直接給出結果了,如公式5-8所示。
(公式5-8)
看了很久不知道為啥,想了兩種可能的解釋,不知道是否正確,
一種是將這個圓圈想象成一條直線,在這條直線上每個樣本點不是根據一個端點或者兩個端點來確定它的正類的范圍,而是每個樣本都可以為正類,即使它們不相鄰,於是解釋就簡單了,每個點都可以選擇為正類或者負類,就是每個點都有兩種可能的情況,那么N個點就可能有 種情況。
另外一種想法是直接在二維平面上畫圖,在這里就闡述一下,以五個樣本作為例子,如圖5-12所示。
圖5-12 五個樣本點的凸多邊形分類
將這五個樣本點分成兩類的方法一共有多少種(和正射線分類一樣,正方向是有限制的,即多邊形內部為正),從最簡單兩種情況出發,全為正和全為負,其相加為2,然后是四個樣本為正的情況有多少種(就是圖中有多少個凸四邊形),就是從五個樣本中取4個的情況有幾種,答案是 ,然后是有多少個三角形,就是圖中三個樣本為正的情況,答案是
,接着是有多少個直線,將樣本點畫成2個樣本為正的情況,答案是
,最后是只有一個樣本點為正的情況,答案是
,將所有的情況加起來得
,推廣到N中情形,如公式5-9所示。
(公式5-9)
以上公式可以通過二項式推導出來,不是湊巧左邊的形式正好等於2的N次方的形式,二項式的推導如公式5-10所示。
(公式5-10)
如果N個樣本點可以寫出 種類型的假設,即公式5-8成立的情況下,我們稱N個樣本點滿足完全二分類情形(shattered),即可以分為
種二分類(dichotomy)。
5.4 Break Point
突破點。
將上一節中列舉出來的所有成長函數列在表5-3中。
表5-3 各分類的成長函數
正射線 |
|
一維空間的感知器 |
|
間隔為正的分類 |
|
凸圖形分類 |
|
二維平面的感知器 |
|
更希望得到一種多項式(polynomial)形式的成長函數,而不是指數(exponential)形式的,因為這樣上界 的下降速度將會更快。能否找出一種規律將表中二維感知器的成長函數也寫成多項式形式的呢?於是提出了一個新的概念,突破點(break point)。
那什么叫突破點呢?對於三個樣本點的感知器,所有的樣本還是滿足完全二分類情形(shattered,也就是還是可以最大化分類的),但是四個樣本是卻不能滿足完全分類情形(不能滿足 種分類了),於是我們稱不能滿足完全分類情形的樣本數量為突破點,可以想象得出當有更多的樣本點時,一定也不能滿足完全分類情形。因此二維感知器成長函數的突破點是4。在通過一個表5-4來說明上節提到的所有分類情況。
表5-4各分類的突破點與成長函數的關系
正射線 |
突破點是2 |
|
一維空間的感知器 |
突破點是3 |
|
間隔為正的分類 |
突破點是3 |
|
凸圖形分類 |
沒有 |
|
二維平面的感知器 |
突破點是4 |
|
從表中可以看出可能成長函數和突破點之間有一定的關系,即突破點是k的情況下,成長函數 。(但是這是一個過於寬松的上界,從表5-4的第二行可以看出成長函數實際比這個規律要小)