假設空間:監督學習(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 前者直接複製自身生成乙個與原物件完全相同的...