新書推薦:
《
认知行为疗法:心理咨询的顶层设计
》
售價:NT$
454.0
《
FANUC工业机器人装调与维修
》
售價:NT$
454.0
《
吕著中国通史
》
售價:NT$
286.0
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:NT$
301.0
《
SDGSAT-1卫星热红外影像图集
》
售價:NT$
2030.0
《
股市趋势技术分析(原书第11版)
》
售價:NT$
1010.0
《
汉匈战争全史
》
售價:NT$
454.0
內容簡介:
本书面向初学者,使用Python语言以及流行的scikit-learn机器学习库等资源,通过易于实践的项目,帮助读者掌握开发有效的机器学习系统所需的流程、模式和策略。本书首先介绍机器学习的基本概念和机器学习系统的评估技术;之后扩展工具库,引入另外几种分类和回归技术以及特征工程;最后介绍一些较为前沿的新技术,包括组合机器学习模型和自动化特征工程模型等,并将机器学习应用于图像处理和文本处理两个特定领域。本书不依赖于复杂的数学公式,仅要求读者具备一定的编程基础,适合学生、数据分析人员、科研人员等各领域的读者阅读参考。
關於作者:
马克·E. 芬纳(Mark E. Fenner) Fenner Training and Consulting公司的创始人,自1999年起一直从事计算机和数学领域的教学工作,曾为众多知名公司和国家级实验室开发课程并提供培训。此外,他还从事机器学习、生物信息学和计算机安全方面的研究工作,所参与的项目涉及机器学习和数值算法的设计和实现、软件仓库的安全性分析、蛋白质功能的概率建模以及显微镜数据的分析和可视化等。他拥有计算机科学博士学位。
目錄 :
第一部分 机器学习入门第1章 机器学习概论31.1 欢迎来到机器学习的世界31.2 范围、术语、预测和数据41.2.1 特征51.2.2 目标值和预测值61.3 让机器开始机器学习71.4 学习系统举例91.4.1 预测类别:分类器举例91.4.2 预测值:回归器举例101.5 评估机器学习系统111.5.1 准确率111.5.2 资源消耗121.6 创建机器学习系统的过程131.7 机器学习的假设和现实151.8 参考阅读资料171.8.1 进一步研究方向171.8.2 注释17第2章 相关技术背景192.1 编程环境配置192.2 数学语言的必要性192.3 用于解决机器学习问题的软件202.4 概率212.4.1 基本事件222.4.2 独立性232.4.3 条件概率242.4.4 概率分布252.5 线性组合、加权和以及点积282.5.1 加权平均302.5.2 平方和322.5.3 误差平方和332.6 几何视图:空间中的点342.6.1 直线342.6.2 直线拓展392.7 表示法和加1技巧432.8 渐入佳境:突破线性和非线性452.9 NumPy与“数学无所不在”472.9.1 一维数组与二维数组492.10 浮点数问题522.11 参考阅读资料532.11.1 小结532.11.2 注释54第3章 预测类别:分类入门553.1 分类任务553.2 一个简单的分类数据集563.3 训练和测试:请勿“应试教育”593.4 评估:考试评分623.5 简单分类器1:最近邻分类器、远距离关系和假设633.5.1 定义相似性633.5.2 k-最近邻中的k643.5.3 答案组合643.5.4 k-最近邻、参数和非参数方法653.5.5 建立一个k-最近邻分类模型663.6 简单分类器2:朴素贝叶斯分类器、概率和违背承诺683.7 分类器的简单评估703.7.1 机器学习的性能703.7.2 分类器的资源消耗713.7.3 独立资源评估773.8 参考阅读资料813.8.1 再次警告:局限性和尚未解决的问题813.8.2 小结823.8.3 注释823.8.4 练习题83第4章 预测数值:回归入门854.1 一个简单的回归数据集854.2 最近邻回归和汇总统计874.2.1 中心测量:中位数和均值884.2.2 构建一个k-最近邻回归模型904.3 线性回归和误差914.3.1 地面总是不平坦的:为什么需要斜坡924.3.2 倾斜直线944.3.3 执行线性回归974.4 优化:选择最佳答案984.4.1 随机猜测984.4.2 随机步进994.4.3 智能步进994.4.4 计算的捷径1004.4.5 线性回归的应用1014.5 回归器的简单评估和比较1014.5.1 均方根误差1014.5.2 机器学习的性能1024.5.3 回归过程中的资源消耗1024.6 参考阅读资料1044.6.1 局限性和尚未解决的问题1044.6.2 小结1054.6.3 注释1054.6.4 练习题105第二部分 通用评估技术第5章 机器学习算法的评估和比较分析1095.1 评估和大道至简的原则1095.2 机器学习阶段的术语1105.2.1 有关机器的重新讨论1105.2.2 更规范的阐述1135.3 过拟合和欠拟合1165.3.1 合成数据和线性回归1175.3.2 手动操控模型的复杂度1185.3.3 “恰到好处”原则:可视化过拟合、欠拟合和最佳拟合1205.3.4 简单性1245.3.5 关于过拟合必须牢记的注意事项1245.4 从误差到成本1255.4.1 损失1255.4.2 成本1265.4.3 评分1275.5 (重新)抽样:以少胜多1285.5.1 交叉验证1285.5.2 分层抽样1325.5.3 重复的训练–测试数据集拆分1335.5.4 一种更好的方法和混排1375.5.5 留一交叉验证1405.6 分解:将误差分解为偏差和方差1425.6.1 数据的方差1435.6.2 模型的方差1445.6.3 模型的偏差1445.6.4 结合所有的因素1455.6.5 偏差–方差权衡示例1455.7 图形可视化评估和比较1495.7.1 学习曲线:到底需要多少数据1505.7.2 复杂度曲线1525.8 使用交叉验证比较机器学习模型1545.9 参考阅读资料1555.9.1 小结1555.9.2 注释1555.9.3 练习题157第6章 评估分类器1596.1 基线分类器1596.2 准确度以外:分类器的其他度量指标1616.2.1 从混淆矩阵中消除混淆1636.2.2 错误的方式1646.2.3 基于混淆矩阵的度量指标1656.2.4 混淆矩阵编码1666.2.5 处理多元类别:多元类别平均1686.2.6 F1分数1706.3 ROC曲线1706.3.1 ROC模式1736.3.2 二元分类ROC1746.3.3 AUC:(ROC)曲线下的面积1776.3.4 多元分类机器学习模型、一对其他和ROC1796.4 多元
內容試閱 :
1983年,电影《战争游戏》上映,那时我还是一个未成年的孩子,一些电影情节让我深深着迷:爆发一场核灾难的可能性,电影主角与计算机系统之间近乎神奇的互动方式……但是,最令我着迷的是机器居然具有自主学习的潜力。作为一个天真的少年,我花了好几年的时间研究东西方的战略核武器库。随后,大约又过了近十年的时间,我才开始认真学习计算机程序设计。指引一台计算机去执行一个设定的过程是非常神奇的,在学习复杂系统的细节的同时,又满足了我的好奇心,这真是一种非常美妙的体验。然而,路漫漫其修远兮,又过了几年,我才开始编写第一个明确设计为可以学习的程序。我为之欣喜若狂,并深深地意识到这便是我的精神家园。因此,我想和大家分享这个具有自主学习能力的计算机程序世界。读者对象本书的读者对象是机器学习的初学者。更重要的是,读者只需要具备少量大学水平的数学知识。虽然许多机器学习书籍都会花大量的篇幅阐述数学概念和方程,但本书将尽最大的努力减少读者在数学知识方面的负担。我希望读者基本上熟练掌握Python语言的基础知识,而如果读者能够阅读Python程序,那么一定能够从本书中获得更多的信息。虽然许多关于机器学习的书籍都依赖于数学知识,但本书却借助于故事、图片和Python代码来与读者进行交流。当然,偶尔也会涉及数学公式。如果读者对这些数学公式不感兴趣,那么可以直接跳过大部分的数学公式。然而,本书也会尽量为读者提供足够的上下文来解释这些数学公式,以帮助读者理解数学公式的含义。为什么推荐读者阅读本书呢?因为我们已经达成了一个共识:所有选择这本书的读者都想学习有关机器学习的知识。读者可能有不同的专业背景:也许是一个专注于机器学习的计算机专业低年级学生;也许是一个处于事业中期的商业分析师,急需掌握超越电子表格分析能力的其他方法;也许是一个技术爱好者,希望扩大自己的知识面;抑或是一个科学家,需要以一种新的方式分析数据。机器学习正在渗透到社会的方方面面,根据读者的专业背景,本书会对每个人提供不同的帮助。即便对于一个精通数学的读者,如果想利用Python在机器学习方面有所突破,也能从这本书中收获良多。因此,本书的目标是让对机器学习有兴趣或者需要实现机器学习项目的读者,通过使用Python scikit-learn以及其他相关库,以一种易于上手的学习方式理解和掌握机器学习的过程和最重要的概念。读者将会发现书中所有的模式、策略、陷阱和疑难杂症,都可能出现在自己将要学习、构建或者使用的机器学习系统中。写作方法许多试图解释数学主题(例如机器学习)的书,一般都假设读者可以轻易地读懂数学公式,因此毫无顾忌地大篇幅推导数学公式。但这种方法往往使得大多数人(甚至包括那些喜欢数学的人)望而却步。本书则通过可视化的方式,同时将语言描述与可运行的代码相结合,在读者的脑海中构建一幅更友好的机器学习过程图。作为一个充满热情并且经过良好训练的计算机科学家,我也热爱创造,创造行为会帮助我知晓自己是否已经达到了理解某些事物的真实水平。读者可能熟知这样一句格言:“如果真的想了解一件事,那么最好的方法是把这件事教给别人。”那么,可以由这句格言衍生出另一句格言:“如果真的想了解一件事,那么最好的方法是训练计算机完成这件事!”这正是我要教授读者机器学习的目的所在。基于最基础的数学知识,本书将为读者讲述最重要且最常用的机器学习工具和技术背后的概念。然后,向读者展示如何让计算机完成该任务。注意:本书不会从零开始编写程序以实现这些方法,我们将站在巨人的肩膀上,使用一些非常强大的、节省时间的、预先构建的软件库(稍后将对此进行详细阐述)。本书不会详细讨论所有这些库,因为这需要海量的篇幅。相反,本书将从实际需求出发,采用最好的工具来完成任务,并提供足够的背景知识以指导读者理解本书将要使用的概念。对于偏好数学的读者,本书会提供一些更深入的参考资料以供进一步研究。这些参考资料将在各章末尾列出,以便其他无此需求的读者跳过这些内容。如果读者正在阅读这篇前言,以决定是否需要投入时间来阅读本书,这里需要表明一些观点。本书不会深入研究数学证明,也不会依赖数学来阐述原理,市面上存在许多按照上述思路编写的教科书,本书将在每章结尾提供一些相关参考书籍的链接。本书假设目标读者具有初级或者中级水平的Python程序设计知识。然而,对于一些更高级的Python主题和内容(主要来自第三方包,例如NumPy或者Pandas),本书将解释其背后的原理,以便读者能够理解每种技术及其背景知识。内容概述在本书第一部分中,我们将为读者打下坚实的基础。在第1章中,将介绍有关机器学习的概念。在第2章中,将采取一种略微不同的方法,介绍一些在机器学习中反复出现的数学和计算主题。第3章和第4章将引导读者初步完成构建、训练和评估机器学习系统的基本步骤,这些机器学习系统用于对数据进行分类(称为分类器)或对数据进行量化(称为回归器)。本书第二部分将聚焦于如何应用机器学习系统中最重要的内容:以一种现实的