精华内容
下载资源
问答
  • 西瓜书课后习题答案

    千次阅读 2018-10-21 00:17:00
    https://blog.csdn.net/kchai31/article/details/78966941 转载于:https://www.cnblogs.com/elpsycongroo/p/9823589.html

    https://blog.csdn.net/kchai31/article/details/78966941

    转载于:https://www.cnblogs.com/elpsycongroo/p/9823589.html

    展开全文
  • 周志华西瓜书课后习题答案总目录

    万次阅读 多人点赞 2019-04-17 22:33:51
    机器学习(周志华西瓜书)参考答案总目录 从刚开始学习机器学习到现在也有几个月了,期间看过PDF,上过MOOC,总感觉知道一点了又不是特别明白,最后趁某东买书大减价弄了几本相关的书来看看,其中一本就是西瓜书。一...

    https://blog.csdn.net/icefire_tyh/article/details/52064910

    机器学习(周志华西瓜书)参考答案总目录
    从刚开始学习机器学习到现在也有几个月了,期间看过PDF,上过MOOC,总感觉知道一点了又不是特别明白,最后趁某东买书大减价弄了几本相关的书来看看,其中一本就是西瓜书。一口气看了前10章,感觉每章内容都很少,看完感觉还是和以前一样。每章的习题都只是挑了几个简单的看看,没做认真的分析,现在回过头认真做做每章的习题。别的不说了,希望可以坚持到全部做完。


    作者:四去六进一
    来源:CSDN
    原文:https://blog.csdn.net/icefire_tyh/article/details/52064910
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 第3章至第九章
  • 手动实现西瓜书课后习题3.3对数几率回归分类 西瓜书课后习题3.3对西瓜数据集实现对数几率回归,完成对数据集的分类,输出分类精度 import matplotlib.pyplot as plt import numpy as np import pandas as pd path =...

    手动实现西瓜书课后习题3.3对数几率回归分类

    西瓜书课后习题3.3对西瓜数据集实现对数几率回归,完成对数据集的分类,输出分类精度

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    
    path = r'C:\Users\Documents\WeChat Files\wxid_d76e8odqe93l22\FileStorage\File\2020-03\课后习题3.3_西瓜数据集3.0α.xlsx'
    melon = pd.read_excel(path)                                
    melon['好瓜'] = melon['好瓜'].map({'是':1,'否':0})          #将类别标签置换成0,1分类
    label=np.array(melon['好瓜'])
    labels=label.reshape(17,1)                                 #对标签reshape方便后续运算
    data=np.array(melon[['密度','含糖率']])                     
            
    def sigmoid(z):
        return 1.0 / (1 + np.exp(-z))                          #定义sigmoid函数
    
    b=np.ones((len(melon),1))                                  
    data = np.c_[b,data]									   #添加常数项
    
    w=np.ones((3,1))                                           #初始化参数
    n=0.01                                                     #学习率
    for i in range(500000):                                   
        y = sigmoid(data.dot(w))
        m = y-labels										   #计算误差值
        w = w-data.transpose().dot(m)*n                        #误差反传更新参数,梯度下降算法
    print(np.abs(m).sum())                                     #打印误差值
        
    plt.scatter(data[:, 1], data[:, 2], c=label, cmap=plt.cm.Spectral)
    x=np.linspace(0,1,100)
    y=-(w[1]*x+w[0])/w[2]
    plt.plot(x,y)
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.xlabel('密度')
    plt.ylabel('含糖率')
    plt.show()                              #可视化,查看分类结果
    
    

    误差值之和:5.903888797109145


    可视化分类结果,直线上方为1类,下方为2类
    分类准确率为70.6%

    对分类结果不太满意,继续添加参数,添加密度平方项,再进行对数几率回归

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    
    path = r'C:\Users\Documents\WeChat Files\wxid_d76e8odqe93l22\FileStorage\File\2020-03\课后习题3.3_西瓜数据集3.0α.xlsx'
    melon = pd.read_excel(path)
    melon['好瓜'] = melon['好瓜'].map({'是':1,'否':0})
    label=np.array(melon['好瓜'])
    labels=label.reshape(17,1)
    data=np.array(melon[['密度','含糖率']])
            
    def sigmoid(z):
        return 1.0 / (1 + np.exp(-z))
    
    b=np.ones((len(melon),1))
    data = np.c_[b,data]
    x2=np.square(data[:,[1]])
    data = np.c_[data,x2]						#添加密度的平方项
    
    w=np.ones((4,1))
    n=0.01
    for i in range(500000):
        y = sigmoid(data.dot(w))
        m = y-labels
        w = w-data.transpose().dot(m)*n
    print(np.abs(m).sum())
        
    plt.scatter(data[:, 1], data[:, 2], c=label, cmap=plt.cm.Spectral)
    x=np.linspace(0,1,100)
    y=-(w[1]*x+w[0]+w[3]*x*x)/w[2]
    plt.plot(x,y)
    plt.ylim(0., 0.5)
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.xlabel('密度')
    plt.ylabel('含糖率')
    plt.show()
    

    误差值之和:4.4156484190286545

    在这里插入图片描述
    分类准确率82.4%

    展开全文
  • 第一章 1.1表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。 编号 色泽 根蒂 敲声 好瓜(标记) 1 青绿 蜷缩 浊响 ... 参考视频:【一起学习】机器学习(西瓜书)第一章课后习题答案分享_哔哩哔哩_bilibili

    第一章

     

    1.1表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。

    编号色泽根蒂敲声好瓜(标记)
    1青绿蜷缩浊响是Y
    4乌黑稍蜷沉闷否N

    知识储备:

    假设空间: 所有假设组成的空间

    版本空间:与训练集一致的假设集合

    从假设空间到版本空间算法大致如下:

    1.删除与正例不一致的假设且删除与反例一致的假设

    2.删除与正例不一致的假设

    3.删除与反例一致的假设

    具体选择哪种算法可以堪称是归纳偏好的范畴

    解:已知数据集D中含样本1和样本4两个样本,每个样本共有三个属性,是否好瓜为标记,其中标记为好瓜的为正例,反之为反例。每个属性可能的取值都为两种,故数据集D假设空间共有(2+1)*(2+1)*(2+1)+1=28个(其中括号里加1是指通配项,总表达式加1是指没有好瓜的概念即空集)。

    选取版本空间第一种算法,删除与正例不一致的假设得到版本空间共8种如下:

    {青,蜷,浊}、{青,蜷,*}、{青,*,浊}、{*,蜷,浊}、{青,*,*}、{*,*,浊}、{*,蜷,*}、{*,*,*}

    删除与反例一致的假设得到版本空间共7种如下,此时得到最终版本空间:

    {青,蜷,浊}、{青,蜷,*}、{青,*,浊}、{*,蜷,浊}、{青,*,*}、{*,*,浊}、{*,蜷,*}

    1.2 若使用最多包含k个合取式的析合范式来表达表1.1西瓜分类问题的假设空间,试估算共有多少种可能假设。

    知识储备

    合取式:是用合取真值联结词“∧”将两个或两个以上的命题联结起来而形成的命题形式。

    析取式:用析取真值连接词“∨”将两个或两个以上的命题联结而成的一种命题形式

    合取:相当于交集但不是交集

    析取:相当于并集但不是并集

    合取范式(合析范式):有限个简单析取式构成的合取式

    析取范式(析合范式):由有限个简单合取式构成的析取式称为析取范式。

    1.3若数据包含噪声,则假空间中有可能不存在与所有训练样本都一致的假设。在此情形下,试设计一种归纳偏好用于假设选择。 

    数据包含噪声,其含义就是,存在训练集本身的部分数据,其属性取值对应的标记值是错误的。对于噪声,最理想的情况是去除所有噪声,即将这部分“错误”的数据剔除出训练集。但事实上,单从数据集本身来剔除噪声并无通用的办法,甚至无法直接判断哪些数据属于噪声。

    通俗来讲,我们可以先认为所有不矛盾的数据是正确的,只有哪些属性值相同但标记值不同的数据,“相互矛盾”的情况下,才剔除一部分数据使矛盾消除,此时剔除的方法可以归纳为一种偏好。 

    例如,属性值相同的两个数据,其标记值分别为正例和反例,可以设计归纳偏好为:始终保留正例的数据,或始终保留反例的数据。

    1.4 换用其他性能度量,试证明"没有免费的午餐定理“成立 

     1.5试述机器学习能在互联网搜索的哪些环节起什么作用。

    1.在向搜索引擎提交信息阶段,能够从提交文本中进行信息提取,进行语义分析。

    2.在搜索引擎进行信息匹配阶段,能够提高问题与各个信息的匹配程度。

    3.在向用户展示搜索结果的阶段,能够根据用户对结果感兴趣的程度进行排序。 

    参考视频:【一起学习】机器学习(西瓜书)第一章课后习题答案分享_哔哩哔哩_bilibili

    展开全文
  • 西瓜书课后答案汇总

    千次阅读 2020-06-03 14:54:42
    西瓜书电子版课后答案汇总: https://blog.csdn.net/icefire_tyh/article/details/52064910?utm_source=app
  • 《机器学习》西瓜书课后习题3.3——python实现对率回归(梯度下降法) 《机器学习》西瓜书P69: 3.3 编程实现对率回归,并给出西瓜数据集3.0a上的结果 首先我们回归一下什么的是对率回归? 对数几率回归模型,是一...
  • 西瓜书3.3课后练习题

    2021-04-25 19:15:09
    闲来无事,学习了一下西瓜书线性回归模型,顺带做了下后边的,其中对率回归是一种分类方法,西瓜书课后题3.3正好是一个二分类问题,先讲解下对率回归。其实对西瓜的二分类问题对率回归无非有三个参数,两个权重一...
  • 《机器学习》西瓜书课后习题3.5——python实现线性判别分析 《机器学习》西瓜书P69 3.5 编程实现线性判别分析,并给出西瓜数据集3.0a上的结果 理论学习参见文章:线性判别分析LDA原理总结 注意:在该文章中针对w的...
  • 6.1 6.2 from libsvm.svm import * from libsvm.svmutil import * y = [1,1,1,1,1,1,-1,-1,-1,-1,-1,-1] ...x = [{1:0.774,2:0.376},{1:0.634,2:0.264},{1:0.608,2:0.318},{1:0.556,2:0.215},{1:0.403,2:0....
  • /home/zwt/PycharmProjects/test/Machine_Learning/课后题/data_5.5.csv ' , delimiter= " , " ) attributeMap = {} attributeMap[ ' 浅白 ' ]= 0 attributeMap[ ' 青绿 ' ]=0.5 attributeMap[ ' 乌黑 ' ]=1 ...
  • 3.1 式3.2 $f(x)=\omega ^{T}x+b$ 中,$\omega ^{T}$ 和b有各自的意义,简单来说,$\omega ^{T}$ 决定学习得到模型(直线、平面)的方向,而b则决定截距,当学习得到的模型恰好经过原点时,可以不考虑偏置项b。...
  • 2.1 数据集包含500正例和500反例,按照70%的比例划分训练集和验证集,则验证集需要有150个正例、150个反例, 则共有$ \left ( C_{500}^{150} \right )^{2}$ 种划分方式。 2.2 数据集包含100个样本,10折交叉验证...
  • /home/zwt/PycharmProjects/test/Machine_Learning/课后题/tree4.4.1.png ' ) rpart.plot(dtree,branch =1,type=4,fallen.leaves=T,cex=0.8,sub= ' 剪枝前 ' ) png(file = " /home/zwt/PycharmProjects/test/...
  • 1.1 若表中只包含编号1和4两个样例,则训练数据集为 色泽 根蒂 敲声 是否好瓜 青绿 蜷缩 浊响 是 乌黑 稍蜷 沉闷 否 上表有三个属性,每个属性有两种取值,所以上述......
  • 西瓜书 课后习题3.3 对率回归实现

    千次阅读 2018-10-13 11:44:01
    import csv import numpy as np import matplotlib.pyplot as plt def newton(X, y): """ Input: X: np.array with shape [N, 3]. Input. y: np.array with shape [N, 1].... Re...
  • 周志华西瓜书课后参考答案(转)

    千次阅读 2019-08-28 22:13:57
    原文
  • 机器学习_周志华 课后习题答案 第一章 Chapter1 习题1.1 Q:表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。 由所给出的数据集(训练集)可知,属性3个:色泽、根蒂、敲声,其属性值分别有两个。 以A...
  • import numpy as np def dataSet(): ''' 西瓜3.0数据集离散化 ''' X = np.mat('2,3,3,2,1,2,3,3,3,2,1,1,2,1,3,1,2;\ 1,1,1,1,1,2,2,2,2,3,3,1,2,2,2,1,1;\ 2,3,2,3,2,2,2,2,3,1...
  • 《机器学习》西瓜书课后习题3.4——python解交叉验证和留一法的对率回归错误率 《机器学习》西瓜书P69 3.3 选择两个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率 数据集:鸢尾花数据集 数据...
  • 机器学习(周志华)西瓜书 课后习题4.3 信息熵决策树算法——python实现 算法原理 1.信息熵 2.信息增益 我们所以要做的就是不断地从当前剩余的属性当中选取最佳属性对样本集进行划分。 算法的伪代码 数据集 ...
  • 习题1.1 假设空间:所有假设组成的空间,学习的过程可以看作一个在假设空间中进行搜索的过程,搜索的目标是找到与训练集匹配的假设。 版本空间:一个与训练集一致的“假设集合”。也就是说针对某个有限的训练集,...
  • 《机器学习》西瓜书课后习题4.3——python实现基于信息熵划分的决策树算法 《机器学习》西瓜书P93 4.3 试编程实现基于信息熵进行划分选择的决策树算法,并为表4.3中数据生成一棵决策树。 以下内容是使用sklearn...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 382
精华内容 152
关键字:

西瓜书课后习题答案