新書推薦:
《
不挨饿快速瘦的减脂餐
》
售價:HK$
67.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
55.8
《
量子网络的构建与应用
》
售價:HK$
109.8
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:HK$
109.8
《
大唐名城:长安风华冠天下
》
售價:HK$
87.4
|
內容簡介: |
本书提供了使用Python开发机器学习应用程序的基本原理。主要内容包括:机器学习概念及其应用;数据预处理、降维;各种线性模型、集成学习方法、随机森林、提升方法;自然语言处理、深度学习等。本书跟进了机器学习的研究成果,比如近几年提出的著名算法XGBoost和CatBoost,以及SHAP值。这些方法是机器学习领域中新颖且先进的模型。本书目的是向读者介绍从业人员采用的解决机器学习问题的主要现代算法,跟踪机器学习领域研究前沿,并为初学者提供使用机器学习的方法。本书覆盖面广,对所有希望在数据科学和分析任务中使用机器学习的人来说,本书既是一本很好的学习资料,同时也是一本实战教程,其中介绍了多种统计模型,并提供了大量的相应代码,以将这些概念一致地应用于实际问题。
|
目錄:
|
目录译者的话原书前言第1章机器学习初步1.1一个简单的监督模型:近邻法1.2数据预处理1.2.1数据放缩1.2.2数据高斯化:幂变换简介1.2.3类别变量的处理1.2.4缺失值的处理1.3不平衡数据的处理方法1.3.1少数类的随机过采样1.3.2多数类的随机欠采样1.3.3合成少数类过采样1.4降维:主成分分析(PCA)1.4.1使用PCA进行降维1.4.2特征提取1.4.3非线性流形算法:t-SNE第2章机器学习线性模型2.1线性回归2.2收缩方法2.2.1Ridge回归(L2正则化)2.2.2Lasso回归(L1正则化)2.2.3弹性网络回归2.3稳健回归2.3.1Huber回归2.3.2RANSAC2.4Logistic回归2.4.1Logistic回归为什么是线性的2.4.2Logistic回归预测(原始模型输出)与概率(Sigmoid输出)2.4.3Python Logistic回归2.4.4模型性能评估2.4.5正则化2.5线性支持向量机2.6逾越线性:核模型2.6.1核技巧2.6.2实际分类例子:人脸识别第3章逾越线性:机器学习集成方法3.1引言3.2集成方法3.2.1自举聚合3.2.2包外估计(Out-Of-Bag Estimation)3.3随机森林3.3.1随机森林分类3.3.2随机森林回归3.4提升(Boosting)方法3.4.1AdaBoost算法3.4.2梯度提升(Gradient Boosting)算法3.4.3梯度提升(XGBoost)算法3.4.4CatBoost算法第4章现代机器学习技术4.1自然语言处理初步4.1.1文本数据预处理4.1.2文本的数值表示:词袋模型4.1.3实际例子:使用IMDB电影评论数据集进行情感分析4.1.4单词频率—逆文本频率4.1.5n-Grams模型4.1.6词嵌入4.2深度学习初步4.2.1用神经网络处理复杂数据4.2.2多分类附录附录APython速成教程A.1Python构建块A.1.1变量A.1.2方法与函数A.2Python数据结构A.2.1列表与元组A.2.2集合A.2.3字典A.3Python循环A.3.1for循环A.3.2while循环A.4Python高级数据结构A.4.1列表推导式A.4.2Lambda函数A.5函数概念进阶A.5.1通配符在函数参数中的使用A.5.2函数中的局部作用域与全局作用域A.6面向对象编程简介A.6.1对象、类和属性A.6.2子类和继承附录B词袋模型的数学原理参考文献
|
內容試閱:
|
原 书 前 言统计方法的目标是减少数据。 一定数量的数据将被相对较少数量的数据替换,这些数量的数据应充分表示出原始数据中包含的相关信息。由于数据提供的独立事实的数量通常远大于所寻求的事实的数量,因此实际样本提供的大部分信息是无关紧要的。用于减少数据的统计过程的目标是排除这些不相关的信息,并分离出数据中包含的所有相关信息。——R.A.Fisher (1922)这段话出自伟大的统计学家之一 R.A. Fisher。我想说,这句话包含了机器学习的精髓,尽管与20世纪相比,很多事情都发生了变化。例如,现在我们通常面对的数据集的观察数量远远大于不同特征的集合。那时,Fisher 研究的数据集可能是 Iris 数据集,但现在我们可以处理数百万个样本的数据集,因此所有经典理论结果都可以轻松满足(如中心极限定理)。另外,在许多现代应用中,维度问题仍然存在,因此这些词在机器学习社区中仍然非常重要。换个说法,斯坦福大学的计算机科学家吴恩达近表示:特征提取既困难又耗时,需要专业知识。以我而言,特征工程是降维的现代概念,因为它们旨在进行特征提取以提高模型的性能。实质上,将“机器学习”一词包含在“降维”中会非常易于理解。机器学习在过去十年中获得了极大的普及,这不仅是因为人们在日常简单操作中产生了大量可用数据,还因为人们普遍认为从数据中学习可以做出更好的决策及更好地了解正在研究的现象。在非常笼统的术语中,机器学习 (Machine Learning, ML) 可以理解为允许系统自主执行特定任务的一组算法和数学模型,提供与模型相关的分数和度量来评估其性能。 它有时会与预测(数值)分析相混淆,后者确实是机器学习的一部分,但与统计学习更加相关。 机器学习方法的应用范围广泛,如从图像识别到文本分析中的主题检测,从预测患者是否会患乳腺癌到预测3个月后的股票价格。机器学习的主要目标是基于一组特征来预测结果。 该模型在一组数据上进行训练,其中目标变量可用,并获得预测器(或学习器)。 然后,该预测器用于预测新数据的结果,这些数据在训练时不可用。通常,一个好的预测器是能够准确预测目标变量的。管道(Pipeline)描述了一种判别式监督学习方法,人们的目标是根据某些特征X预测目标变量y。在本书中,我们将重点关注收缩估计器、支持向量机算法、集成方法及其在结构化和非结构化数据上的应用。 然而,在许多应用中,我们可能只想找到目标和特征之间的某种关系:这就需要无监督学习方法。 尽管我们将更多地关注有监督的技术,但也会关注降维技术,如主成分分析(PCA)。本质上,PCA是一种旋转数据集的方法,旋转后的特征在统计的意义下是不相关的。编写本书的目的是向读者介绍从业者用来解决机器学习问题的主要现代算法,以及从线性模型到易于处理非线性关系的现代方法。本书是为广大的技术读者而设计的:一方面,本书是为博科尼大学的学生编写的,他们所学的专业为应用科学,但很可能想学习现代机器学习技术,以将现代应用程序扩展到经济学、金融、社会和政治科学中; 另一方面,我坚信对于所有想要在数据科学和分析任务中使用机器学习的人来说,本书是一个非常好的袖珍伙伴(pocket-friend)。 实际上,本书作为一种cookbook类书籍,其中介绍了统计模型,并提供了相应的代码部分,以将这些概念始终如一地应用于实际问题。我在大多数地方都故意避免使用数学,因为我相信它(有时)会分散本书的主要目标,即赋予初学者学习机器学习方法的能力。 同样,在本书的许多部分,我们在清晰阐述和简洁之间选择了前者。 我知道本书提供的大多数代码都可以省略,但这里进行了合理选择,以便向广泛的目标受众说明方法。本书的主要目标读者是从业者,他们不需要研究算法背后的数学知识。如果读者有需要,那么强烈建议通过阅读技术书籍和特定论文来加深这些概念。如果读者对所提出算法背后的数学感兴趣,那么有很多关于技术方面的书籍,这在本书中会提到。本书的关键是引导读者使用不同的方法,从 Bagging 到现代 XGBoost,这可能是机器学习从业者的。 这实际上是本书的一个亮点:据我所知,还没有一本书特别关注近的集成方法,如 XGBoost 或 CatBoost。Python 是进行分析的高级语言。这是应用机器学习的现代语言,现代软件和技术很多都是用这种语言开发的。 请注意,Python 是一个开源软件,可以从以下链接下载:https://www.python.org。它允许任何人轻松高效地生产、推广和维护软件。 此外,我相信一旦学习Python,就会很容易跟随机器学习社区的发展和改进。本书结构如下:第1章描述了机器学习算法遵循的标准流程,包括标准预处理和更高级的技术,如用于降维的主成分分析(PCA),并介绍了偏差之间的基本关系和机器学习的方差。所有的技术都附有实际例子。第2章介绍了机器学习中的一个关键概念,即收缩。当人们必须处理许多特征时(如在遗传学中),这非常有用,并且介绍了Ridge 和 Lasso 等技术。此外,本章还区分了分类和回归技术,首先介绍逻辑回归模型,然后介绍支持向量机,这是当数据线性可分时使用的两个分类器。非线性支持向量机也将受到极大的关注。第3章介绍了流行的机器学习技术之一,即集成方法,包括随机森林、梯度提升及相应的应用。本章介绍的XGBoost 算法是任何机器学习者的得力工具,并对 SHAP 值进行了精彩的讨论,这是向非技术读者解释任何模型输出的一个较好工具。第4章介绍了可以进一步研究机器学习的两个主要领域:自然语言处理和深度学习。两者都是非常热门的话题,社区正在不断努力改进可用的模型。我强烈建议有兴趣的读者通过给定的参考资料加深对自然语言处理和深度学习的学习。由于本书的目标受众是广泛的读者,因此还设置了附录APython速成教程:这样不仅介绍了基础知识,而且还介绍了更广泛的概念,例如面向对象的编程。为了便于使用所提出的方法并提高可读性,创建了一个特定于本书的库,称为 egeaML,该库可在GitHub上的https://github.com/andreagiussani/Applied_Machine_Learning_with_Python上公开获得。用户可按照GitHub仓库中的说明进行安装。注意,用户可以直接在任何NoteBook环境中安装它,如Jupyter或Colab,只需输入并运行以下代码段:!pip install git+https://github.com/andreagiussani/Applied_Machine_Learning_with_Python.git这里的“!”操作符用来告诉NoteBook这不是 Python 代码,而是命令行脚本。 本书中使用的数据集可以在Git Hub仓库中轻松访问。 此外,Git Hub仓库将定期更新材料,因此强烈建议读者经常检查它。致谢我要感谢许多帮助我写这本书的人。他们中的大多数人都给予了我继续这个项目的支持和动力,他们中的一些人给出了有趣的见解和建议。如果没有他们的帮助,这个项目永远不会开花结果。其中,我要感谢Alberto Clerici,他是个对这个项目非常感兴趣的人,他帮助我完成了本书的终版本。我还要感谢Marco Bonetti,他对统计学习方法的兴趣极大地帮助了我每天提高自己,这无疑改善了书稿。我还要感谢Egea,他让我有机会以极大的灵活性来编写这本书稿,同时也要感谢Egea对本书的策划和准备提供的支持。后,我还要感谢许多同事和朋友,他们与我讨论了这个项目并给了我重要的见解,其中,我要感谢Alberto Arrigoni,他与我就这个有趣的话题进行了愉快的交谈,以及Giorgio Conte,他帮助我构建了GitHub项目。
|
|