×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
深入机器学习:算法原理 数学硬核 上手实操 完整实现

深入机器学习:算法原理 数学硬核 上手实操 完整实现

1星价 ¥83.2 (6.5折)
2星价¥83.2 定价¥128.0
暂无评论
图文详情
  • ISBN:9787522610801
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:520
  • 出版时间:2023-01-01
  • 条形码:9787522610801 ; 978-7-5226-1080-1

本书特色

适读人群 :计算机、人工智能、大数据等专业的大学生、研究生、需要用到机器学习技术的广大工程技术人员、研究人员机器学习对于众多软件从业人员的诱惑是无需多言的。然而樱桃好吃树难栽,大多数初学者*终未能到达成功的彼岸,不少甚至连“中途”未到就放弃了。 工作关系,我也曾经多次试图走进机器学习的殿堂。每次所下的决心虽然不小但却无功而返。放弃的原因并不复杂,经常都是由于对一个概念、一个原理、一个公式实在无法理解所导致的。比如,我看过的书中,关于线性回归都是引用现成的算法函数,没有看到过这个函数在数学上倒底是怎么实现的,因此对于给定的几个散点,如果不借助现成的算法函数,我确实没搞明白怎么才能拟合出相应的回归方程。线性回归是机器学习算法中*基本、*简单的算法,但我怎么敢说自己真正理解了线性回归呢? 相关的图书买了不少看了不少,浪费些脑细胞不算事儿,心里不好迈过的那道坎是买书浪费了很多钱。作为一名老图书编辑,牢骚之后往往会对所看的这些书做一些思考或幻想,比如:你不讲一下机器学习实验环境配置读者怎么边学边做?这个算法原理感觉这么晦涩到底是因为作者水平太高还是因为我水平太低?这个数学公式如果给出推导过程我是不是就不用东查西查了?公式中的这些符号为什么不能解释一下?这个地方如果能举个例子该有多好?这个地方配个图多直观?…… 我向大家推荐邓子云老师这本机器学习的书,仅仅是因为我在编辑此书的过程中感觉到,他精确地假设了我的水平,他精确地知道每一个知识点怎么讲、讲到什么程度我才能懂,他精确地知道我在每一个地方会产生什么样的疑惑。后来有一次与邓老师吃饭时我说:“邓老师,你就像我肚子里的蛔虫”,邓老师说:“你学习过程中遇到的坑我基本都遇到过,我只是尽力把坑填平”。 简单的一句话,背后凝聚的是邓子云老师多年关于机器学习的教学、知识、实践、经验、思考及责任。这本七十余万字的长篇巨著,蕴含了数百张精心设计的实战插图,数十个的公式详细推导过程及讲解,字里行间的点点珠玑,深入浅出的醍醐灌顶…… 尽管感觉本书还有不少可优化之处,但它确实使我在机器学习的征途中走出了*远的距离。 周春元

内容简介

本书将带领读者一起主动拥抱机器学习,快乐翻越高等数学、算法分析、工程实践这“三座大山”。面对三类读者(会用即可、想深入学习、想成为专家)的学习动机和阅读需求,全书一共用19章来讲解机器学习的各种模型,包括机器学习中基础和关键的线性回归、逻辑回归、决策树、贝叶斯、支持向量机、KNN等。全书具有语言表达轻快、模型讲解细致、图表配备众多的特色。 本书可供计算机、人工智能、大数据等专业的大学生、研究生阅读,也可供需要用到机器学习技术的广大工程技术人员、研究人员作为参考。

目录

前言 第1章 认知机器学习 1 1.1 什么是机器学习 2 1.1.1 理解机器学习的定义 2 1.1.2 机器学习有哪些模型 3 1.2 怎么学习机器学习 4 1.2.1 学习的总体步骤 4 1.2.2 理清工具与原理的关系 4 1.3 搭建开发环境 5 1.3.1 下载和安装Anaconda 5 1.3.2 Anaconda的5个工具软件 5 1.4 小结 6 第2章 打下开发基础 7 2.1 学会使用常用的数据结构 8 2.1.1 列表 8 2.1.2 字典 10 2.1.3 numpy 11 2.2 能用matplotlib绘图 15 2.2.1 画点 15 2.2.2 画线 16 2.2.3 画面 16 2.2.4 画多个子图 16 2.3 能编程保存和加载机器学习模型 18 2.3.1 保存模型 18 2.3.2 加载模型 18 2.4 小结 18 第3章 入门先学会使用线性回归 19 3.1 初步理解线性回归 20 3.1.1 涉及的主要术语 20 3.1.2 线性方程的表达 21 3.1.3 拟合出的线的样子 24 3.2 了解线性回归的过程 26 3.2.1 做线性回归的过程 26 3.2.2 模型的评价指标 27 3.2.3 数据集的划分 29 3.3 做线性回归的实例 30 3.3.1 用图观察数据项之间的关系 31 3.3.2 对数据集进行划分 33 3.3.3 用数据训练模型 34 3.3.4 用模型做预测 35 3.3.5 对模型做评价 38 3.4 使用更复杂的线性回归模型 46 3.4.1 以一元高次方程为模型 46 3.4.2 以多元一次方程为模型 51 3.4.3 以多元高次方程为模型 54 3.5 小结 58 第4章 学习线性回归背后的数学原理 60 4.1 补充学习高等数学知识 62 4.1.1 导数的意义 62 4.1.2 常用的求导法则 62 4.1.3 求某点的导数值 65 4.1.4 复合函数的导数 68 4.1.5 偏导数 70 4.1.6 行列式及其计算方法 72 4.1.7 矩阵及其计算方法 76 4.1.8 线性方程组的解法 81 4.2 理解和使用*小二乘法 85 4.2.1 为什么叫*小二乘法 85 4.2.2 求解一元一次方程模型的参数 87 4.2.3 求解多元一次方程模型的参数 94 4.2.4 求解一元高次方程和多元高次方程模型的参数 101 4.2.5 多种模型之间的比较 101 4.3 学习和使用梯度下降法 102 4.3.1 什么是梯度和梯度下降法 102 4.3.2 多元函数的梯度下降法 104 4.3.3 设置迭代的出口和学习率 110 4.3.4 线性回归的梯度下降法 113 4.3.5 由误差函数的图形引发对极小值的讨论 119 4.3.6 遍历训练数据做线性回归的三种梯度下降法 122 4.4 小结 126 第5章 深入浅出线性回归的高级知识 128 5.1 模型优化要解决什么问题 129 5.1.1 欠拟合、过拟合和恰当拟合 129 5.1.2 怎么解决过拟合的问题 130 5.2 用岭回归对线性回归模型做惩罚 130 5.2.1 做岭回归用*小二乘法时的数学原理 131 5.2.2 用岭迹法找到合适的λ值 132 5.2.3 做岭回归用梯度下降法时的数学原理 135 5.2.4 用交叉验证法找到合适的λ值 136 5.3 用Lasso回归对线性回归模型做惩罚 146 5.3.1 Lasso回归的数学原理 146 5.3.2 从图形上理解Lasso回归 150 5.3.3 用坐标轴下降法做Lasso回归 152 5.4 化繁为简使用scikit-learn库 164 5.4.1 用*小二乘法做线性回归 164 5.4.2 做岭回归 166 5.4.3 做Lasso回归 172 5.4.4 使用弹性网络做线性回归 174 5.5 小结 177 第6章 学会使用逻辑回归 179 6.1 初步理解逻辑回归 180 6.1.1 涉及的主要术语 180 6.1.2 线性分类的图形表达 180 6.1.3 逻辑回归的图形表达 183 6.2 用scikit-learn库做逻辑回归 185 6.2.1 引入乳腺癌数据集 186 6.2.2 用逻辑回归预测乳腺癌 187 6.2.3 评估逻辑回归模型 190 6.2.4 得到模型参数 192 6.2.5 得到分类的可能性值 193 6.3 解决多分类的问题 194 6.3.1 引入鸢尾花数据集 194 6.3.2 用One-Vs-All解决多分类问题 195 6.3.3 用One-Vs-One解决多分类问题 203 6.4 小结 205 第7章 学习逻辑回归背后的数学原理 207 7.1 补充学习高等数学知识 208 7.1.1 凸函数和Hessian矩阵 208 7.1.2 大数定律和中心极限定理 210 7.1.3 正态分布和伯努利分布 211 7.1.4 条件概率和似然函数 212 7.2 理解逻辑回归的数学原理 213 7.2.1 找到合适的用于优化的函数 213 7.2.2 在逻辑回归中使用梯度下降法的数学原理 215 7.3 用梯度下降法求解逻辑回归模型 216 7.3.1 将鸢尾花分成两类 216 7.3.2 预测乳腺癌 220 7.4 小结 222 第8章 深入浅出逻辑回归的高级知识 224 8.1 对逻辑回归做正则化 226 8.1.1 理解L2正则化的数学原理 226 8.1.2 用L2正则化预测乳腺癌 226 8.1.3 用其他惩罚方式做逻辑回归 228 8.2 化繁为简使用scikit-learn库 228 8.2.1 熟悉并使用LogisticRegression类 228 8.2.2 熟悉并使用SGDClassifier类 230 8.2.3 熟悉并使用LogisticRegressionCV 类 232 8.2.4 用LogisticRegression类做多分类 233 8.3 补充学习一些更高级的数学知识 234 8.3.1 泰勒公式 235 8.3.2 牛顿法和拟牛顿法的优化原理 239 8.3.3 lbfgs优化方法 247 8.3.4 newton-cg优化方法 248 8.3.5 liblinear优化方法 255 8.3.6 sag和saga优化方法 257 8.4 用softmax解决多分类问题 262 8.4.1 多分类的原理 262 8.4.2 画出多分类的界线 266 8.5 小结 269 第9章 学会使用朴素贝叶斯 271 9.1 初步理解朴素贝叶斯 272 9.1.1 朴素贝叶斯定理的一些基本术语 272 9.1.2 朴素贝叶斯怎么得出属于某一类的概率 274 9.2 用scikit-learn做朴素贝叶斯分类 276 9.2.1 使用GuassianNB类做鸢尾花分类 276 9.2.2 使用MultinomialNB类和BernoulliNB类 278 9.3 小结 279 第10章 学习朴素贝叶斯背后的数学原理 281 10.1 理解朴素贝叶斯分类的数学原理 282 10.1.1 理解全概率公式并推导朴素贝叶斯公式 282 10.1.2 利用朴素的内涵再推演朴素贝叶斯公式 284 10.2 进一步说明scikit-learn中做朴素贝叶斯分类的类 285 10.2.1 再看GuassianNB类 285 10.2.2 再看MultinomialNB类和BernoulliNB类 287 10.3 做区分垃圾邮件和非垃圾邮件的项目实战 288 10.3.1 理解spambase数据集 288 10.3.2 使用3种朴素贝叶斯模型区分垃圾邮件和非垃圾邮件 289 10.4 小结 291 第11章 深入浅出贝叶斯的高级知识 292 11.1 会用有向图表达贝叶斯网络 293 11.1.1 深刻理解独立和互斥的概念 293 11.1.2 用有向无环图表达贝叶斯网络 294 11.1.3 理解贝叶斯网络的3种基本结构 296 11.1.4 打贝叶斯球来分析两个事件是否关联 299 11.2 使用pgmpy建模贝叶斯网络 301 11.2.1 安装pgmpy 301 11.2.2 构建某女士结交男友决策的贝叶斯网络 301 11.2.3 用贝叶斯网络做预测 308 11.2.4 让贝叶斯网络自动学习到条件概率表 310 11.3 小结 311 第12章 学会使用决策树 313 12.1 初步理解决策树 314 12.1.1 决策树中的一些专业术语 314 12.1.2 常见的3种决策树算法 315 12.2 用scikit-learn做决策树分类 315 12.2.1 用信息增益做分类 316 12.2.2 用基尼指数做分类 317 12.2.3 画出决策树 319 12.3 小结 321 第13章 学习决策树背后的数学原理 322 13.1 学会计算决策树的专业术语表示的量 323 13.1.1 计算信息熵 323 13.1.2 计算信息增益 326 13.1.3 计算信息增益比 328 13.1.4 计算基尼指数 328 13.1.5 计算基尼指数增加值 330 13.2 理解3种决策树算法 330 13.2.1 理解ID3决策树算法 330 13.2.2 scikit-learn库用信息增益生成决策树的算法 335 13.2.3 理解CART算法 339 13.2.4 用CART算法做分类 341 13.2.5 用CART算法做回归 342 13.3 深入学习用scikit-learn做决策树分类和回归 343 13.3.1 DecisionTreeClassifier类的方法和属性 343 13.3.2 DecisionTreeRegressor类的方法和属性 345 13.3.3 用决策树做鸢尾花分类 346 13.3.4 用决策树做房价回归分析 351 13.4 小结 355 第14章 深入浅出决策树的高级知识 357 14.1 学会选择和调节决策树模型的参数 358 14.1.1 用交叉验证法选择更好的参数 358 14.1.2 用GridSearchCV类调节参数模型 363 14.2 理解后剪枝的原理并做实现 367 14.2.1 后剪枝有哪些策略 367 14.2.2 后剪枝之MEP策略 368 14.2.3 后剪枝之REP策略 377 14.2.4 后剪枝之PEP策略 378 14.2.5 后剪枝之CCP策略 382 14.3 小结 386 第15章 学会使用支持向量机 388 15.1 初步理解支持向量机 389 15.1.1 线性支持向量机 389 15.1.2 非线性支持向量机 389 15.2 用scikit-learn做支持向量机分类 390 15.2.1 做线性分类 390 15.2.2 做非线性分类 392 15.3 小结 394 第16章 学习支持向量机背后的数学原理 395 16.1 学会计算距离 396 16.1.1 两点之间的距离 396 16.1.2 点到超平面的距离 398 16.1.3 函数距离和几何距离 402 16.2 学懂拉格朗日乘数法 402 16.2.1 用拉格朗日乘数法求等式约束下的极值 403 16.2.2 再次深刻理解梯度 406 16.2.3 用拉格朗日乘数法求不等式约束下的极值 408 16.2.4 用拉格朗日乘数法和KKT应对更复杂的情况 411 16.3 理解支持向量机的数学原理 413 16.3.1 从感知机谈起 414 16.3.2 感知机模型的感知策略 416 16.3.3 用感知机模型做鸢尾花的二分类 419 16.4 硬间隔支持向量机 424 16.4.1 构建出目标函数及约束不等式 425 16.4.2 用拉格朗日乘数法求解目标函数和约束不等式 427 16.5 小结 432 第17章 深入浅出支持向量机的高级知识 434 17.1 用SMO算法求解硬间隔支持向量机的λ 435 17.1.1 转化优化问题 436 17.1.2 迭代更新的办法 438 17.2 软间隔支持向量机 441 17.2.1 软间隔支持向量机的优化问题 441 17.2.2 迭代时对参数值的剪辑 443 17.2.3 求解其他参数值 445 17.2.4 求解软间隔支持向量机模型的步骤总结 446 17.2.5 合页损失函数 447 17.3 自己编程实现支持向量机 448 17.3.1 实现SMO算法 448 17.3.2 实现二分类应用 453 17.4 非线性支持向量机 455 17.4.1 理解非线性支持向量机的原理 455 17.4.2 学懂Mercer定理 458 17.4.3 *简单的线性核函数 458 17.4.4 多项式核函数 460 17.4.5 高斯核函数 461 17.4.6 Sigmoid核函数 464 17.5 用支持向量机做回归分析 465 17.5.1 理解支持向量回归的原理 465 17.5.2 用拉格朗日乘数法做推导 466 17.6 深入浅出用scikit-learn做分类和回归 467 17.6.1 熟悉线性支持向量机(LinearSVC) 467 17.6.2 熟悉非线性支持向量机(SVC) 468 17.6.3 熟悉线性向量回归(LinearSVR)和非线性回归(SVR) 469 17.6.4 调节非线性支持向量机的参数 469 17.6.5 调节非线性支持向量回归模型的参数 472 17.7 小结 474 第18章 学会使用KNN 476 18.1 理解KNN的基本原理 477 18.1.1 不用数学公式讲解KNN的原理 477 18.1.2 扩展到多分类和回归应用 477 18.1.3 怎么确定KNN模型的k值 478 18.2 用KNN做分类和回归 478 18.2.1 用KNN模型做鸢尾花分类 478 18.2.2 用KNN模型做房屋价格回归 480 18.3 小结 482 第19章 学习KNN背后的数学原理 483 19.1 理解KNN的数学原理 484 19.1.1 用KNN做分类的数学原理 484 19.1.2 有多个备选分类及样本数量不均衡问题的解决办法 485 19.1.3 用KNN做回归的数学原理 487 19.2 再次讨论距离的度量 487 19.2.1 欧几里得距离 488 19.2.2 曼哈顿距离和闵可夫斯基距离 488 19.2.3 夹角的余弦 489 19.2.4 杰卡德相似系数和杰卡德相似距离 489 19.3 利用搜索树加速查找 489 19.3.1 构建KD树 489 19.3.2 运用KD树找到k个近邻点 491 19.3.3 构建Ball树 496 19.3.4 运用Ball树找到k个近邻点 499 19.4 调节KNN模型的参数 501 19.4.1 熟悉KNeighborsClassifier类 501 19.4.2 调节KNeighborsClassifier模型的参数 502 19.4.3 熟悉KNeighborsRegressor类并学会调节参数 504 19.5 小结 506 后续学习建议 508 参考文献 509
展开全部

作者简介

邓子云:工学博士,教授,擅长将复杂的问题简单化,酷爱机器学习与数学,希望通过本书,把个人在机器学习方面的心得、经验、系统性知识,分享给那些正在经受机器学习中的复杂概念、原理、数学推导等问题困扰的同学或同仁。已出版著作20余本,发表论文110余篇。主持过国家级、省部级科研课题40余项。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航