機器學習【周志華】第一張緒論 答案python
阿新 • • 發佈:2019-01-01
機器學習已經看了挺長時間,一直在打醬油式的看。這次準備認真看並且做一下習題,程式碼實現。
第一張緒論有5道題。
1.根據表的編號1和4 兩個樣例,求相應的版本版本空間
幾個簡單的解釋:
假設空間: 所有假設組成的空間
學習過程: 在所有假設空間中搜索想要的假設
目標: 搜尋到與訓練集匹配的假設
版本空間: 從假設空間剔除了與正例不一致的假設,可以看成是正例的最大泛化
程式碼很簡單,沒有輸出list等內容,直接輸出在了python介面上
data ={'色澤':['青綠','烏黑','else'],'根蒂':['蜷縮','稍蜷','else'],'敲聲':['濁響','沉悶','else']} ## else 作為泛化值 for info in data['色澤']: for info1 in data['敲聲']: for info3 in data['根蒂']: if info == '烏黑' or info3 == '稍蜷' or info1 =='沉悶': print('否',info,info1,info3) #這裡可以不輸出 else: print('是',info,info1,info3) # 這裡應該加一層判斷,如果三個值都是泛化值則不輸出,這裡包含了反例
2. 表中含有3個屬性
考慮3個屬性都為泛化值,1 種結果
考慮2個屬性為泛化值,2+3+3=8種結果
考慮1個屬性為泛化值,2*3 + 2*3+3*3=21種結果
不考慮泛化,單個合取式共有2*3*3=18種結果
當k=1 時,不重複的假設有1+8+21+18=48
假設泛化值和其他不重複