返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版新书]机器学习入门到实战——MATLAB实践应用冷雨泉 张会文
  • 全店均为全新正版书籍,欢迎选购!新疆西藏青海(可包挂刷).港澳台及海外地区bu bao快递
    • 作者: 冷雨泉 张会文 张伟著 | 冷雨泉 张会文 张伟编 | 冷雨泉 张会文 张伟译 | 冷雨泉 张会文 张伟绘
    • 出版社: 清华大学出版社
    • 出版时间:2019-03-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    君凤文轩图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 冷雨泉 张会文 张伟著| 冷雨泉 张会文 张伟编| 冷雨泉 张会文 张伟译| 冷雨泉 张会文 张伟绘
    • 出版社:清华大学出版社
    • 出版时间:2019-03-01
    • 版次:1
    • 印次:1
    • 印刷时间:2019-02-01
    • 页数:263
    • 开本:其他
    • ISBN:9787302495147
    • 版权提供:清华大学出版社
    • 作者:冷雨泉 张会文 张伟
    • 著:冷雨泉 张会文 张伟
    • 装帧:平装
    • 印次:1
    • 定价:59
    • ISBN:9787302495147
    • 出版社:清华大学出版社
    • 开本:其他
    • 印刷时间:2019-02-01
    • 语种:中文
    • 出版时间:2019-03-01
    • 页数:263
    • 外部编号:党庄B142117
    • 版次:1
    • 成品尺寸:暂无

    第一部分 机器学习概念篇
    第1章 机器学习基础
    1.1 机器学习概述
    1.1.1 机器学习的概念
    1.1.2 机器学习的发展史
    1.1.3 机器学习的用途
    1.1.4 机器学习、数据挖掘及人工智能的关系
    1.2 机器学习基本术语
    1.3 机器学习任务及算法分类
    1.4 如何学习和运用机器学习
    1.4.1 软件平台的选择
    1.4.2 机器学习应用实现流程
    1.5 数据预处理
    1.5.1 数据初步选取
    1.5.2 数据清理
    1.5.3 数据集成
    1.5.4 数据变换
    1.5.5 数据归约
    参考文献
    第二部分 MATLAB机器学习基础篇
    第2章 MATLAB基础入门
    2.1 MATLAB界面介绍
    2.2 矩阵赋值与运算
    2.3 m文件及函数实现与调用
    2.4 基本流程控制语句
    2.5 基本绘图方法
    2.5.1 二维绘图函数的基本用法
    2.5.2 三维绘图函数的基本用法
    2.5.3 颜色与形状参数列表
    2.5.4 图形窗口分割与坐标轴
    2.6 数据文件导入与导出
    参考文献
    第3章 MATLAB机器学习工具箱
    3.1 工具箱简介
    3.2 分类学习器基本操作流程
    3.3 分类学习器算法优化与选择
    3.3.1 特征选择
    3.3.2 选择分类器算法
    3.4 工具箱分类学习实例
    参考文献
    第三部分 机器学习算法与MATLAB实践篇
    第4章 k近邻算法
    4.1 k近邻算法原理
    4.1.1 k近邻算法实例解释
    4.1.2 k近邻算法的特点
    4.2 基于k近邻算法的算法改进
    4.2.1 快速KNN算法
    4.2.2 kd树KNN算法
    4.3 k近邻算法的MATLAB实践
    参考文献

    第3章MATLAB机器学习工具箱在MATLAB近几年的版本中,推出了一个新的产品功能,即统计和机器学习工具箱(StatisticsandMachineLearningToolbox)。这个工具箱具有很多功能,并且在不断地完善中。具体来说它包含如下一些子模块:探索性数据分析、数据降维、机器学习、回归和方差分析、概率分布拟合及假设检验等功能模块。如果读者希望快速地了解部署一个机器学习应用,那么MATLAB提供的工具箱将会是一个不错的选择。基于这个原因,本章将着重介绍MATLAB统计和机器学习工具箱中的机器学习模块。
    3.1工具箱简介机器学习算法使用计算方法直接从数据中“学习”信息,不把预定方程假设为模型。在第1章中罗列了各种不同的机器学习算法,归纳起来,按照解决问题的性质,可以分为分类(回归)、聚类和强化学习问题。相应地,在StatisticsandMachineLearningToolbox中提供用于执行受监督和无/非监督机器学习的方法。分类算法使用户可以将一个分类应变量建模为一个或多个预测元的函数。StatisticsandMachineLearningToolbox提供了涵盖多种参数化和非参数化分类算法的应用程序和函数,如logistic回归、朴素贝叶斯、k近邻、SVM等[1]。研究者可以直接利用MATLAB提供的这些算法的函数接口,通过编写脚本程序来使用这些算法。更直观地,MATLAB提供了一个GUI形式的分类学习应用程序,它使得研究者能够以窗口菜单的形式构建一个机器学习应用。本章将着重介绍这个应用的使用方法。
    分类学习器应用程序(ClassificationLearnerApp)提供了一个机器学习应用常用的操作,如交互式探查数据、选择特征、指定交叉验证方案、训练模型和评估结果。分类学习器应用程序用于使用监督式机器学习来训练模型对数据进行分类,使用它可以执行常见任务,例如,导入数据和指定交叉验证方案;探索数据和选择特征;使用多种分类算法训练模型;比较和评估模型;在计算机视觉和信号处理等应用场合中共享训练过的模型。
    除此之外,分类学习器集成了多种可视化方式来方便用户选择模型,进行模型评估和比较。训练好的模型也可以直接导入MATLAB的工作空间,来对新的数据预测,也可以直接生成代码,方便和其他应用集成。
    在MATLAB统计和机器学习工具箱中当然也实现了很多聚类算法,聚类算法通过根据相似度测量对数据分组来发现数据集中的规律。可用的算法包括k均值、k中心点、分层聚类、高斯混合模型和隐马尔可夫模型。当不知道聚类的数量时,可以使用聚类评估技术根据特定指标确定数据中存在的聚类数量。只是聚类算法还没有对应的GUI应用。对于回归算法,MATLAB2017版本也推出了回归学习器,它的操作流程和界面与分类学习器很类似,感兴趣的读者可安装2017版本进行实践操作和学习。
    3.2分类学习器基本操作流程对于构建机器学习应用,通常包括五部分,分别是数据导入、数据的探索和特征选择、训练模型、比较模型和输出模型。分类学习器也在不同的窗口中实现了这些功能。
    首先,为了启动分类学习器,可以通过直接在命令行窗口中输入“classificationLearner”,或者在MATLAB的菜单栏中选择“应用程序”选项卡下的分类学习器应用ClassificationLearner,如图3.1所示。
    图3.1启动分类学习器此时MATLAB将弹出一个空白的分类器窗口,如图3.2所示。
    图3.2空白的分类器窗口该窗口就是进行分类操作最核心的一个窗口。但是可以看到大部分的菜单和按钮都是灰色的,这是因为还没有选择数据。对于机器学习应用来说,数据就好像是机器的燃料,没有燃料,机器自然动不起来,所以为了进行下一步工作,首先需要输入数据。
    导入数据的方法分为两种方式:一种是单击CLASSIFICATIONLEARNER选项卡下FILE组中的NewSession下拉按钮,然后选择FromWorkspace,如图3.3所示,其含义是导入MATLAB工作空间的函数数据;另一种则是选择FromFile,如图3.3所示,其含义是通过数据文件导入数据,如.xls、.xlsx、.xlsm、.txt、.csv等格式数据文件。
    图3.3导入数据数据导入后,则进入数据处理窗口界面,如图3.4所示。图3.4中的数据是在命令行窗口中调用fisheriris数据集而产生的,其具体操作是在MATLAB命令行窗口中输入:fishertable=readtable('fisheriris.csv');并按Enter键生成的数据变量,此时使用上述的第一种导入数据的方法,即可生成图3.4。
    图3.4数据处理窗口该窗口主要目的是用来设置训练数据的相关属性、标签及设置验证集。可以看到窗口主要分成3个部分,其依次对应3个步骤。在Step1中主要功能是选择数据集,且设置数据集矩阵中的行作为一个变量,还是将列作为变量;在Step2需要向算法声明哪些维度是输入量,哪些是输出量,对于分类问题来说就是选择哪几个变量作为属性值,哪个变量作为标签。这个声明可以通过把变量导入为Predictor还是Response完成,其中,Predictor对应输入,Response对应标签,此时,导入数据的工作就完成了。
    为了优化算法中的一些超参数,需要一定的手段来评估不同参数的表现。其中,验证集的目的是用来对算法的超参数调优。在模型计算过程中,测试集数据只能使用一次,不能用测试集数据调优,因为其会导致算法对测试集过拟合,将会导致模型在测试集上有较好的结果,但是实际效果不能得到保证。所以可以知道验证集应该是训练集的一部分。但是当训练集数量较少(因此验证集的数量更少)时,将用到交叉验证法。所谓kfoldvalidation就是把训练集均分成k份,其中k-1份用来训练,1份用来验证。然后循环取其中k-1份来训练,其中1份来验证,最后取所有k次验证结果的平均值作为算法验证结果。在窗口的Step3中可以允许用户设定这个k值。导入数据并设置好交叉验证后,单击StartSession按钮就弹出如图3.5所示的分类器窗口。
    图3.5分类器窗口可看出图3.5所示的窗口和图3.2所示的窗口是一样的,只是灰色的部分被激活了。这个激活的窗口包含了训练一个机器学习应用的核心要素,其大体分六部分。最上边的菜单栏提供了特征选择、算法选择、模型训练、可视化绘图及输出等操作。特征选择模块用于选择输入特征,即选择属性特征,一方面可通过单击该模块中的FeatureSelection按钮进行人工选择,也可以利用PCA的方法自动选择。分类算法模块是各种算法的一个仓库。单击其下拉按钮会出现如图3.6所示下拉列表。
    图3.6多种分类器可以看到,分类学习器将可以应用的算法分成了四大类,分别是决策树类、判别分析类、支持向量机类、神经网络类。注意,在GETSTARTED中的All和AllLinear并不是一个算法,而是一个快捷操作,它能够快速地对数据应用分类学习器中的所有模型或所有线性模型。在做了特征选择后,下一步则需要选择一个合适的分类算法。有了算法,下一步就是训练了。在TRAINING组中,除了简单地单击Train进行训练外,还可以通过Advanced按钮设置一些训练的参数,如对于决策树类算法来说可以设置最大的叶子结点数及确定决策边界的准则等。
    当用户选择一个训练模型后,它就会出现在窗口的右侧方框中。用户可以选择多个模型,一次训练。得到的每个分类器的分类精度会显示在方框中。其中分类效果最好的模型会以方框突出显示。History窗格显示当前模型的一些详细信息。
    训练完毕后,用户不仅仅得到一个分类的精度值,同时用户还可以通过各种图形来直观地观测当前模型的表现。当然,图示化训练数据对于数据探索,发现数据的模式也是大有裨益的。绘图的选项在PLOTS组中,可以绘制的图形包括训练数据的散点图、confusionmatrix、ROC曲线等。关于这些不同图形的含义,读者可参考机器学习相关书籍,另外,在窗口的最右边可以设置绘图参数。
    通过可视化窗口界面,用户可以再次调整模型,如进一步的特征提取,或者设置更加合理的超参数值,来改善模型的表现。那么,一旦得到了一个满意的模型,该如何利用它呢?分类学习器提供了两种模式:一种方法是用户导出训练好的模型到工作空间中,这个时候用户将发现变量空间中多了一个结构体变量,这个变量含有一个用于预测的成员函数,此时,用户将可以用它来做预测。但是如果用户希望更改模型,或者把它集成到其他的应用中,则需要用到另外一种方法,也是最通用的方法,即以代码的形式使用。MATLAB可以直接通过GUI形式的窗口生成代码。单击图3.5所示的分类器窗口中的ExportModel按钮,操作如图3.7所示。
    图3.7导出训练模型因为特征选择和算法选择对于一个机器学习应用至关重要,下面将会更详细地介绍如何使用分类学习器APP做特征选择和分类器选择。
    3.3分类学习器算法优化与选择使用工具箱的方法并不是智能的,同样需要对数据进行预处理,并根据经验和分析选择合适的数据特征。另外,机器学习各类算法也具有不同的特点,使用者应在不断的实践中了解各类机器学习算法,在特定的应用场合应选择适合数据自身的算法。
    3.3.1特征选择在分类学习器中可以通过对原始数据做散点图来分析是否需要或排除某个特征。选择不同特征作为坐标轴,如果数据某一类别数据很好地分开,说明这个特征是有用的。如果某个特征对于分类没有任何作用,则可以考虑把它排除。在fisheriris数据集中选择X和Y分别为PetalLength和PetalWidth,可以看到setosa类能够被很好地分开,如图3.8所示。
    图3.8数据可视化在分类学习器窗口中,也可以通过勾选某个特征,观察分类器的表现。如果删除某个特征后可以提高模型的性能,那么应该排除这个特征,尤其是当收集该数据比较昂贵和困难的时候。具体操作为单击FEATURES组中的FeatureSelection按钮,将出现如图3.9所示的窗口,用户可以取消选中特征名称后的复选框,从而排除该特征。
    图3.9特征选择菜单利用主成分分析来降低特征空间的维度,有助于防止过拟合。PCA能够消除数据中的冗余信息,产生一个新的变量集,该变量集称为主成分。在工具箱中使用PCA包括以下步骤:(1)在分类器窗口的FEATURES组中单击PCA按钮;(2)在AdvancedPCAOptions下拉列表框中选中EnablePCA复选框,并设置相应参数(一般采用默认)。至此,用户已完成了对PCA的设置,之后,当用户单击Train的时候,PCA会首先对数据做变换和处理,然后进行模型训练。
    在分类学习器中也可以利用平行坐标图(ParallelCoordinatesPlot)来选择特征,具体操作为单击分类学习器窗口的PLOTS组中的ParallelCoordinatesPlot按钮,生成平行坐标图,如图3.10所示。
    图3.10平行坐标图在平行坐标图中其实它就是把每个特征列在一个一维的轴上画出来,然后把每个记录(一个样本点)依次连接起来,最后用不同的颜色表示不同的类别,错分的类别用虚线表示。如果某个特征具有很好的区分度,那么在坐标轴上就会出现明显的聚类现象。从图3.10可以看出PetalWidth和PetalLength特征具有很好的分类效果。
    3.3.2选择分类器算法各分类器算法有各自的特点,依赖于具体的需求,如速度、存储、灵活性、可解释性等,会有不同的选择。如果对于一个数据没有特别深刻的了解,或者特别适合的模型,最开始用户可以选择AllQuickToTrain,这个选项会用所有高效的模型对数据训练,能够快速地得到不同分类器的表现。但是一般来说,不同类型算法有不同的特点,有大概的了解也会有利于用户选择分类器算法。表3.1中针对不同类型分类器算法进行了对比。

    《机器学习入门与实战——MATLAB实践应用》的编写是作者在多年机器学习及工作经验的基础上,对大量的网络资源、论文和相关书籍进行总结、整理、分析而来。全书共分为三部分,分别为机器学习概念篇、MATLAB机器学习基础篇、机器学习算法与MATLAB实践篇。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购