1. 程式人生 > >機器學習-學習記錄—FIND-S 尋找極大特殊假設

機器學習-學習記錄—FIND-S 尋找極大特殊假設

1.初始化h為H中最特殊的假設。 h<–(n,n,n,…,n); 2.輸入第一個樣本x,如果x為反例,則忽略;如果x為正例,將該正例中的引數全部代入h中,即h=x; 3.再次輸入一個樣本x,如果x為反例,則忽略;如果x為正例,則與h比較,將不同引數修改(泛華)為?。 比如:x的第一個引數為與h的第一個引數不同。則修改該引數為? 重複3步驟,直至全部樣本遍歷完全。

例子: 如書上的例子:

樣本:

在這裡插入圖片描述1、將樣本1設為h。 h<-(Sunny,Warm,Normal,Strong,Warm,Same) 2.輸入第2個樣本,並比較,泛化h: h<-(Sunny,Warm,?,Strong,Warm,Same) .3.第3個樣本為反例,忽略: h<-(Sunny,Warm,?,Strong,Warm,Same) .4.第4個樣本,比較,泛化h: 最後得到: h<-(Sunny,Warm,?,Strong,?,?)

FIND-S演算法的重要特點: 對以屬性約束的合取式描述的假設空間,保證輸出為H中與正例一致的最特殊的假設。只要正確的目標概念包含在H中,並且樣本全部正確,最後得到的結果就與所有反例一致。 缺點: 收斂性,如果樣本太少,太單一,很有可能無法得到唯一正確的結果。 樣本的正確性不能保證。