习题:
1.1给出相应的版本空间:
输出版本空间:
a=['青绿','乌黑','空集']
b=['蜷缩','硬挺','稍蜷','空集']
c=['浊响','清脆','沉闷','空集']
z=[]
for i in a:
for j in b:
for k in c:
z.append((i,j,k))
m=0
for o in range(len(z)):
m+=1
print('第{order},假设集合是{set}'.format(order=m,set=z[o]))
结果:48种集合
1.2.多少种:
523=30
1.3设计归纳偏好用于假设选择
分类,有一致性的加权
1.4证明公式:
NFL定理最重要意义是,在脱离实际意义情况下,空泛地谈论哪种算法好毫无意义,要谈论算法优劣必须针对具体学习问题。
1.5 略
2.1、1000样本,500正例,500反例,划分70%的样本训练集和30%的测试集。估算共有多少种划分方式。
1.留出法:S为训练集,T为测试集;分层采样【stratified sampling】,S包含350正例,350反例;T集为剩余的所有。
2.改进留出法:单次的不稳定,采用多次随机划分,每次产生一个新的数据集,100次即100个结果,返回100个结果的平均。注:引出新问题:测试集差别大,惯例:用三分之二到五分之四的样本做训练,剩余做测试。
3.交叉验证法
D=1000,设置K,常用K=10,把数据集划分10份,然后过程重复P次,p次P折交叉验证
4.自助法:自助采样法【bootstrap sampling】,D‘为D中采样,释放D,重新采得D’,重复m次,得到D‘。样本在m次采样中始终不被采到的概率是(1-1/m)^m—>1/e接近0.368
2.2、100个样本,正反各一半,用10折交叉验证法和留一法对错误率进行评估。
D中,m=100,k1=10,k2