西瓜書學習 1 1 版本空間

2021-10-07 23:23:27 字數 2049 閱讀 1752

假設空間:監督學習(supervised learning)的任務是學習乙個模型,使模型能夠對任意給定的輸入,對其相應的輸出做出 一 

個好的**。模型屬於由輸入空間到輸出空間的對映的集合,這個集合就是假設空間(hypothesis space)。我們也可 

以將學習過程看作乙個在所有假設組成的空間中進行搜尋的過程,搜尋目標是找到與訓練集"匹配"的假設,即能夠將

訓練集中的瓜判斷正確的假設。假設的表示一旦確定,假設空間及其規模大小就確定了。

版本空間:與訓練集一致的假設集合。

上面的定義摘自乙隻程式喵的blog:作為乙個沒有任何演算法基礎且數學功底很薄弱的人,我單看概念還是很模糊,於是結合他下面的講解,摸魚三小時終於研究明白了版本空間的含義,且寫出了西瓜書習題1.1的**。

所謂的版本空間,其實就是在假設空間中與訓練集一致的結果所組成的集合,例如,給出的1資料——色澤青綠,根蒂蜷縮且敲聲濁響的瓜,為什麼不在版本空間?就是因為他與同為好瓜的2資料衝突,同樣,2資料也與1資料衝突,所以2資料也不在版本空間內。

下面上一下**

# 表1.1中資料的版本空間

goodexample = [["青綠", "蜷縮", "濁響"], ["烏黑", "蜷縮", "濁響"]]

badexample = [["青綠", "硬挺", "清脆"], ["烏黑", "稍蜷", "沉悶"]]

colour = ["青綠", "烏黑", "*"]

root = ["蜷縮", "硬挺", "稍蜷", "*"]

voice = ["濁響", "清脆", "沉悶", "*"]

# 當表1.1中只有1、4行時的版本空間

goodexample = [["青綠", "蜷縮", "濁響"]]

badexample = [["烏黑", "稍蜷", "沉悶"]]

colour = ["青綠", "烏黑", "*"]

root = ["蜷縮", "稍蜷", "*"]

voice = ["濁響", "沉悶", "*"]

# 定義空集合來接受結果

result =

# 獲取全部可能結果,即假設空間(此處不包含命題不存在的情況)

for i in colour:

for j in root:

for k in voice:

# 剔除全部為萬用字元的情況

result.remove(["*", "*", "*"])

# 剔除與正確樣本不一致的情況

for i in goodexample:

for j in range(len(result)):

for k in range(len(result[j])):

if result[j][k] != i[k] and result[j][k] != "*":

result[j] = ""

break

# 剔除與錯誤樣本一致的情況

for i in badexample:

for j in range(len(result)):

if i == result[j]:

result[j] = ""

# 將結果集中的""去掉

while true:

if "" in result:

result.remove("")

else:

break

# 列印結果集

print(result)

在執行表1.1時,得到的結果是3種:

['*', '蜷縮', '濁響']

['*', '蜷縮', '*']

['*', '*', '濁響']

在執行習題1.1時,得到的結果是7種:

['青綠', '蜷縮', '濁響']

['青綠', '蜷縮', '*']

['青綠', '*', '濁響']

['*', '蜷縮', '濁響']

['青綠', '*', '*']

['*', '蜷縮', '*']

['*', '*', '濁響']

SPCAMLEditor發布1 1版本

spcamleditor發布1.1版本 新版本有了重大改進 1 新增了caml的智慧型提示功能,大大方便caml的編輯。3 新增了配置選項 tools setting 可以配置在預覽檢視和字段的時候自動儲存修改 終於可以實現字段編輯的預覽啦 spcamleditor可以做什麼?1 檢視和修改shar...

機器學習(西瓜書)學習筆記2 假設空間和歸納偏好

首先,有兩個概念 歸納和演繹。簡言之,歸納就是特殊推一般,演繹就是一般推特殊。機器學習是從大量樣本訓練,再利用測試資料進行測試。很顯然,機器學習屬於歸納的過程,亦稱 歸納學習。以西瓜舉例,西瓜成熟與否和西瓜的色澤 根蒂 敲聲這三個屬性有關係,色澤的屬性值 烏黑 青綠。根蒂的屬性值 蜷縮 硬挺。敲聲的...

EasyAnalysisCE v1 1版本發布

較v1.0 版本作了如下修改 1 cimage cbmp 增加了自身 clone 的功能,用於深層複製自身產生乙個新的副本。clone 功能提供了兩個方法 cimage clone 以及cimage clone int nheight,int nwidth 前者直接複製自身生成乙個與原物件完全相同的...