考試苦尋得能看懂的
鏈接:
https://www.jianshu.com/p/98e70ea80bb3
https://blog.csdn.net/yang_zhe_/article/details/50570914
從特殊的訓練樣例中提取出一般的特征是機器學習的中心問題,這一問題被稱為概念學習(concept learning),或稱從樣例中逼近布爾值函數。定義: 概念學習是指從有關某個布爾函數的輸入輸出訓練樣例中推斷出該布爾函數。
術語定義
概念定義在一個實例(instance)集合之上,表示為X。
目標概念(target concept): 待學習的概念或函數,記作c。一般來說,c是可以定義在實例集X上的任意布爾函數,即c:X→{0,1}。
訓練樣例(training examples):每個樣例為X中的一個實例x以及它的目標概念值c(x)。對於c(x)=1的實例被稱為正例(positive example),對於c(x)=0的實例為反例(negative example)。經常可以用序偶<x,c(x)>來描述訓練樣例。
假設(hypothese):對目標概念的估計,所有可能假設的集合為H。H中的每個假設h表示X上的定義的布爾函數即h:X→{0,1}。機器學習的目標就是尋找一個假設,使對於X中的所有x,h(x) = c(x)。
歸納學習假設:任一假設如果在足夠大的訓練樣例集中很好的逼近目標函數,它也能在未見實例中很好的逼近目標函數。
假設的一般到特殊序
如果任何被h1划分為正例的實例都會被h2划分為正例,那么我就說h2比h1更一般。

FIND-S:尋找極大特殊假設
FIND-S算法使用一般到特殊序,在偏序結構的一個分支上執行一般到特殊搜索,以尋找與樣例一致的最特殊假設。從H中最特殊假設開始,然后再該假設覆蓋正例失敗時將其一般化(當一假設能正確地划分一個正例時,稱該假設“覆蓋”該正例),算法如下:

FIND-S算法的重要特點是:對以屬性約束的合取式描述的假設空間,FIND-S保證輸出為H中與正例一致的最特殊的假設。然而,這一學習算法仍存在一些未解決的問題:
- 學習過程是否收斂到了正確的目標概念,也就是沒法確定它是否找到了唯一合適的假設。
- 為什么要用最特殊的假設。
- 訓練樣例是否相互一致。訓練數據中的某些錯誤或噪聲會嚴重破壞FIND-S算法,因為它忽略了所有反例。
- 如何處理有多個極大特殊假設的情況
變型空間和候選消除算法
候選消除(candidate-elimination)算法能解決FIND-S中的若干不足之處。FIND-S輸出的假設只是H種能夠擬合訓練樣例的多個假設中的一個,而候選消除算法輸出的是如訓練樣例一致的所有假設的集合。候選消除算法利用一般到特殊序,通過漸進地計算極大特殊假設集合S和極大一般假設集合G計算變型空間。
表示
當一個假設能正確分類一組樣例時,我們稱這個假設是與這些樣例一致的(consistent)。

候選消除算法能夠表示與訓練樣例一致的所有假設,在假設空間中這一子集被稱為關於假設空間H和訓練樣例D的變型空間(version space),因為他包含了目標概念的所有合理變型。

列表后消除算法
列表后消除算法列出所有成員來表示變型空間。

這一算法能保證得到所有與訓練數據一致的假設,但是要繁瑣的列出H中所有假設,這對於大多數實際的假設空間是並不現實。
變型空間的更簡潔表示
候選消除算法與列表后消除算法遵循同樣的原則,但它使用一種更簡潔的變型空間表示法。變型空間被表示為它的極大一般和極大特殊的成員。這些成員形成了一般和特殊邊界的集合,這些邊界在整個偏序結構中划分出變型空間。

候選消除學習算法


關於變型空間和候選消除的說明
候選消除算法是否會收斂到正確的假設
由候選消除算法得到的變型空間能夠收斂到正確假設的條件是:
- 在訓練樣例中沒有錯誤
- H中確實包含描述目標概念的正確假設
下一步需要什么樣的訓練樣例
一般來說,概念學習的最優查詢策略,是產生實例以滿足當前變型空間中大約半數的假設。這樣,變型空間的大小可以在遇到每個新樣例時減半,正確的目標概念就可在只用⎡㏒₂|VS|⎤次實驗后得到。
歸納偏置
現在還有一些問題,比如目標概念不在假設空間中怎么辦?假設空間的大小對算法推廣到未見實例的能力有什么影響?假設空間的大小對所需訓練樣例的數量有什么影響?這些都是歸納推理中的一些基本問題。
有偏的學習器
如果擴大假設空間來使每個可能的假設都被包含在內,則有偏的假設空間可定義的目標概念數量會過於巨大。
無偏的學習器
為了保證目標概念在假設空間中,我們需要一個能表達所有的可教授概念(every teachable concept)(即能夠表達實例集X的所有可能的子集)的假設空間。一般我們把集合X的所有子集的集合稱為X的冪集(power set)。
如果我們使用無偏的形式,將假設空間定義為允許使用前面假設的任意析取、合取或否定式,這樣我們可以安全的使用候選消除算法而不必擔心無法表達目標概念。然而新的問題是:概念學習算法將完全無法從訓練樣例中泛化。
無偏學習的無用性
以上的討論說明了歸納推理的一個基本屬性:學習器如果不對目標概念的形式做預先的假定 ,它從根本上無法對未見實例進行分類。由於歸納學習需要某種形式的預先假定,或稱為歸納偏置(inductive bias),我們可以用歸納偏置來描述不同學習方法的特征。

候選消除算法的歸納偏置:目標概念c包含在給定的假設空間H中。
一種算法如果有偏性越強,那它的歸納能力越強,可以分類更多的未見實例。


5.算法舉例
候選消除算法步驟(EnjoySport)
訓練樣例:
1.<Sunny,Warm,Normal,Strong,Warm,Same>,EnjoySport=Yes
2.<Sunny,Warm,High,Strong,Warm,Same>,EnjoySport=Yes
S0和G0為最初的邊界集合,分別對應最特殊和最一般假設。訓練樣例1和2使得S邊界變得更一般,如FIND-S算法中一樣,這些樣例對G邊界沒有影響。
訓練樣例:
3.<Rainy,Cold,High,Strong,Warm,Change>,EnjoySport=No
樣例3是一個反例,他把G2邊界特殊化為G3。注意在G3中有多個可選的極大一般假設。
訓練樣例:
4.<Sunny,Warm,High,Storage,Cool,Change>,EnjoySport=Yes
正例是S邊界更一般,從S3變為S4。G3的一個成員也必須被刪除,因為它不再比S4更一般。
EnjoySprot概念學習問題中的最終的變型空間