精华内容
下载资源
问答
  • 西瓜书 课后习题
    千次阅读
    2019-09-23 00:46:48

    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.237},
         {1:0.481,2:0.149},{1:0.666,2:0.091},{1:0.243,2:0.267},{1:0.245,2:0.057},{1:0.343,2:0.099},
         {1:0.639,2:0.161},{1:0.657,2:0.198}]
    yt = [1,1,-1,-1,-1]
    xt = [{1:0.697,2:0.46},{1:0.437,2:0.211},{1:0.719,2:0.103},{1:0.593,2:0.042},{1:0.36,2:0.37}]
    #y、x是训练集,yt、xt是测试集
    prob = svm_problem(y, x)
    param = svm_parameter('-t 2 -c 35')  #t = 2是高斯核,t = 0是线性核
    model = svm_train(prob, param)
    p_label, p_acc, p_val = svm_predict(yt, xt, model)
    p_label

    高斯核和线性核训练出来没有区别,支持向量一致

    6.3

    转载于:https://www.cnblogs.com/zwtgyh/p/11433902.html

    更多相关内容
  • 西瓜书电子版 西瓜书课后习题答案 中科大专属答案 西瓜书公式推导 西瓜书 PPT
  • 西瓜书课后习题.docx

    2021-10-17 15:37:51
    西瓜书1-9,11章大部分课后习题,不包括需要编程题目
  • 周志华西瓜书课后习题答案总目录

    万次阅读 多人点赞 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 对率回归实现

    千次阅读 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...
    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]. Label.
        Return:
            beta: np.array with shape [1, 3]. Optimal params with newton method
        """
        N = X.shape[0]
        # initialization
        beta = np.ones((1, 3))
        # shape [N, 1]
        z = X.dot(beta.T)  # 定义一个中间量z
        # log-likehood
        old_l = 0
        new_l = np.sum(-y * z + np.log(1 + np.exp(z)))  # 目标函数 
        iters = 0
        while (np.abs(old_l - new_l) > 1e-5):
            # shape [N, 1]
            p1 = np.exp(z) / (1 + np.exp(z))
            # shape [N, N]
            p = np.diag((p1 * (1 - p1)).reshape(N))
            # shape [1, 3]
            first_order = -np.sum(X * (y - p1), 0, keepdims=True)   # 一阶求导
            # shape [3, 3]
            second_order = X.T.dot(p).dot(X)        # 二阶求导
    
            # update
            beta -= first_order.dot(np.linalg.inv(second_order))
            z = X.dot(beta.T)
            old_l = new_l
            new_l = np.sum(-y * z + np.log(1 + np.exp(z)))
    
            iters += 1
        print("iters: ", iters)
        print(new_l)
        print(beta)
        return beta
    
    
    def gradDescent(X, y):
        """
        Input:
            X: np.array with shape [N, 3]. Input.
            y: np.array with shape [N, 1]. Label.
        Return:
            beta: np.array with shape [1, 3]. Optimal params with gradient descent method
        """
    
        N = X.shape[0]
        lr = 0.1   # 学习率,对结果影响很大
        # initialization
        beta = np.ones((1, 3))
        # shape [N, 1]
        z = X.dot(beta.T)
    
        for i in range(200):    # 迭代次数
            # shape [N, 1]
            p1 = np.exp(z) / (1 + np.exp(z))
            # shape [1, 3]
            first_order = -np.sum(X * (y - p1), 0, keepdims=True)
    
            # update
            beta -= first_order * lr
            z = X.dot(beta.T)
    
        l = np.sum(-y * z + np.log(1 + np.exp(z)))    # 目标函数
        print(l)
        print(beta)
        return beta
    
    
    if __name__ == "__main__":
        # read data from csv file
        filename = "C:\\Users\\14399\\Desktop\\西瓜3.0.csv"
        with open(filename) as f:
            reader = csv.reader(f)
            header_row = next(reader)
            datax = []
            datay = []
            density = []
            sugar = []
            for row in reader:
                datax.append([float(row[7]), float(row[8]), float(1.0)])
                datay.append([float(row[10])])
                density.append(float(row[7]))
                sugar.append(float(row[8]))
    
        # 训练数据正反例 可视化
        plt.plot(density[:8], sugar[:8], 'bo')
        plt.plot(density[8:], sugar[8:], 'r+')
    
        # 分别用newton法和梯度递降法求最优参数beta_1,beta_2
        X = np.array(datax)
        y = np.array(datay)
        beta_1 = newton(X, y)
        beta_2 = gradDescent(X, y)
    
        # 画出对率曲线   0.1和0.9分别代表曲线两端点x轴的坐标
        newton_left = -(beta_1[0, 0] * 0.1 + beta_1[0, 2]) / beta_1[0, 1]
        newton_right = -(beta_1[0, 0] * 0.9 + beta_1[0, 2]) / beta_1[0, 1]
        plt.plot([0.1, 0.9], [newton_left, newton_right], 'g-')
    
        grad_descent_left = -(beta_2[0, 0] * 0.1 + beta_2[0, 2]) / beta_2[0, 1]
        grad_descent_right = -(beta_2[0, 0] * 0.9 + beta_2[0, 2]) / beta_2[0, 1]
        plt.plot([0.1, 0.9], [grad_descent_left, grad_descent_right], 'y-')
    
        plt.xlabel('density')
        plt.ylabel('sugar rate')
        plt.title("LR")
    
        plt.show()

     

    西瓜3.0数据集:链接:https://pan.baidu.com/s/1RXTUG9gP1Jn9HKFCiEzOlA         密码:3h6n

    参考资料:https://blog.csdn.net/victoriaw/article/details/77989610    

    https://blog.csdn.net/chinwuforwork/article/details/51786967     # plt.plot参数设置

     

    展开全文
  • 第一章 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

    展开全文
  • 《机器学习》西瓜书课后习题9.4——python实现K-means算法 9.4 试编程实现k均值算法,设置三组不同的k值、三组不同的初始中心点,在西瓜数据集4.0上进行实验比较, 并讨论什么样的初始中心有利于取得好结果. 本文...
  • 《机器学习》西瓜书课后习题3.3——python实现对率回归(梯度下降法) 《机器学习》西瓜书P69: 3.3 编程实现对率回归,并给出西瓜数据集3.0a上的结果 首先我们回归一下什么的是对率回归? 对数几率回归模型,是一...
  • 西瓜书5.5源码-可直接跑
  • 《机器学习》西瓜书课后习题8.5——python实现基于决策树的Bagging算法 8.5 试编程实现Bagging,以决策树桩为基学习器,在西瓜数据集3.0a上训练一个Bagging集成,并玉图8.6相比较 写在前面:由于写者的失误错将...
  • 《机器学习》西瓜书课后习题3.5——python实现线性判别分析 《机器学习》西瓜书P69 3.5 编程实现线性判别分析,并给出西瓜数据集3.0a上的结果 理论学习参见文章:线性判别分析LDA原理总结 注意:在该文章中针对w的...
  • ③ 任何函数都满足0,1的均匀分布,因此,每个样本数据非黑即白,则当样本空间为|χ| 时,真实目标函数的个数即 为 ③ 此为本人参考南瓜书相关证明过程的个人理解,建议参考南瓜书证明。 1.5 试述机器学习能在...
  • 手动实现西瓜书课后习题3.3对数几率回归分类 西瓜书课后习题3.3对西瓜数据集实现对数几率回归,完成对数据集的分类,输出分类精度 import matplotlib.pyplot as plt import numpy as np import pandas as pd path =...
  • import operator import csv import numpy as np def readDataset(filename): ''' 读取数据 :param filename: 数据文件名,CSV格式 :return: 以列表形式返回数据列表和特征列表 ... with open(filename) as f: ...
  • 机器学习(周志华)西瓜书 课后习题4.3 信息熵决策树算法——python实现 算法原理 1.信息熵 2.信息增益 我们所以要做的就是不断地从当前剩余的属性当中选取最佳属性对样本集进行划分。 算法的伪代码 数据集 ...
  • 周志华-机器学习(西瓜书) 集成学习 课后练习题8.3 Adaboost & 8.5 Bagging Python实现前言背景知识scikit-learn完成练习scikit-learn的安装集成学习1.题目[8.3][8.5]2.利用sklearn进行集成学习2.5.利用sklearn...
  • 周志华西瓜书《机器学习》第一章课后解答
  • 西瓜书课后习题——第四章

    千次阅读 2019-04-15 21:10:00
    /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/...
  • 西瓜书课后习题答案

    千次阅读 2018-10-21 00:17:00
    https://blog.csdn.net/kchai31/article/details/78966941 转载于:https://www.cnblogs.com/elpsycongroo/p/9823589.html
  • 西瓜书课后答案汇总

    千次阅读 2020-06-03 14:54:42
    西瓜书电子版课后答案汇总: https://blog.csdn.net/icefire_tyh/article/details/52064910?utm_source=app
  • 西瓜书3.3课后练习题

    2021-04-25 19:15:09
    闲来无事,学习了一下西瓜书线性回归模型,顺带做了下后边的,其中对率回归是一种分类方法,西瓜书课后题3.3正好是一个二分类问题,先讲解下对率回归。其实对西瓜的二分类问题对率回归无非有三个参数,两个权重一...
  • 西瓜书课后习题——第三章

    千次阅读 2019-04-14 16:14:00
    3.1 式3.2 $f(x)=\omega ^{T}x+b$ 中,$\omega ^{T}$ 和b有各自的意义,简单来说,$\omega ^{T}$ 决定学习得到模型(直线、平面)的方向,而b则决定截距,当学习得到的模型恰好经过原点时,可以不考虑偏置项b。...
  • 机器学习_周志华 课后习题答案 第一章 Chapter1 习题1.1 Q:表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。 由所给出的数据集(训练集)可知,属性3个:色泽、根蒂、敲声,其属性值分别有两个。 以A...
  • /home/zwt/PycharmProjects/test/Machine_Learning/课后题/data_5.5.csv ' , delimiter= " , " ) attributeMap = {} attributeMap[ ' 浅白 ' ]= 0 attributeMap[ ' 青绿 ' ]=0.5 attributeMap[ ' 乌黑 ' ]=1 ...
  • 西瓜书课后习题自写答案 `1.1 给出相应假设空间(3✖2✖+1) 1.2 试估算有多少种可能的假设 色泽:2种取值 根蒂:3种取值 敲声:3种取值 K=1, 2✖3×3=18种取值 K=18, 1种 假设上限: 1.3 试设计一种归纳偏好 (1)...
  • 西瓜书课后题——第九章(聚类)

    千次阅读 2019-05-02 13:58:24
    本章因为课后题大部分都是证明和解答题,所以不再详细叙述,只是针对 9.4 给出相关算法的实现。 关于证明和简答可以参考这篇博客:https://blog.csdn.net/icefire_tyh/article/details/52224676 9.4 k均值聚类...
  • https://www.cnblogs.com/kailugaji/articles/10427586.html
  • 《机器学习》课后题10.1 KNN,在数据集3.0上完全正确 python代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt data = [[0.697, 0.460, 1], [0.774, 0.376, 1], [0.634, 0.264, 1],...
  • 《机器学习》西瓜书课后题8.3——基于决策树学习器的集成学习(Python代码实现)
  • 1.1 若表中只包含编号1和4两个样例,则训练数据集为 色泽 根蒂 敲声 是否好瓜 青绿 蜷缩 浊响 是 乌黑 稍蜷 沉闷 否 上表有三个属性,每个属性有两种取值,所以上述......

空空如也

空空如也

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

西瓜书 课后习题