前 言
目前,市面上有关机器学习的图书主要包括两类,分别是面向学术研究的介绍机器学习理论方面的图书和代码手册类的图书。面向学术研究的机器学习理论的图书介绍了在机器学习算法中涉及的数学推导与公式,但对数据的实际应用涉及得很少。对于没有良好的统计或数学方面理论基础的读者来说,很难理解该类图书的内容。这些涉及机器学习原理的图书介绍了数据科学从业人员所面临的现实挑战,却极少谈到机器学习方面的实践。代码手册类图书主要包含代码和相关文档,缺少编码的原因和执行具体任务的逻辑方面的内容。机器学习的学术研究和它如何在工业界使用之间是有一段距离的。因此,我们需要一本书能以机器学习理论为基础并包含与其相关的在工业界的实践,而且在这些实际案例中有符合逻辑的讲解。本书的宗旨是弥补上述两类图书的空白(学术研究与工业界应用之间的空白)。
我们准备写一本让普通读者容易读懂的书。任何初学机器学习的读者都可以从本书开始学习。本书每章的内容分为三部分,第一部分通过类比、实例及可视化的方式来介绍该章涉及的内容,第二部分利用数学公式以一种学术风格来帮助加深理解,第三部分结合数据介绍真实的案例并通过编写代码来解决问题,从而更深入地理解相关概念。
本书以通俗易懂的方式编写,向普通读者解释机器学习与深度学习的概念。作为本书的作者,我们保证无论你是否有学术和编码的背景,都能从第1章学习到最后一章。有时读者可能会觉得解释这些概念用了太多的示例。这是因为本书严格遵循了Python的规则,即:
● 明了胜于晦涩
● 简洁胜于复杂
● 复杂胜于凌乱
● 间隔胜于紧凑
本书的主要内容
(1) Python基础和统计
(2) 基本的机器学习模型
(3) 高级的机器学习模型
(4) 必要的深度学习模型
在开始学习机器学习前,必须要学习Python基础知识和统计方法。本书涵盖了Python基础知识,让较少接触编程和统计学的读者与其他读者站在同一起跑线上。
本书讨论了基本的机器学习算法。基本的机器学习算法分为线性回归、逻辑回归、决策树及聚类分析算法。这些方法并不复杂,易于创建、解释及可视化。对于这些主题,本书将以理论和实践相结合的方式给你带来轻松的阅读体验。
本书深入介绍了一些高级机器学习方法,如随机森林、Boosting(提升方法)及神经网络。你将学会使用这些模型,以及深入了解这些模型中必要的超参数。你还将学习如何在工业界的实际应用中创建和验证这些模型。
本书还将介绍深度学习的概念。与讲解机器学习时使用的框架不同,在介绍深度学习时使用的框架是TensorFlow和Keras。通过在TensorFlow和Keras框架中对深度学习中概念的实践,你将学会使用CNN、RNN和LSTM等深度学习模型。
我们旨在编写一本工作手册,使你可以掌握利用Python语言实现机器学习和深度学习的技能。为了达到阅读本书的最佳效果,建议读者能在阅读本书时动手编写并运行相应的代码。
本书的主要特点
● 深入详尽地涵盖了机器学习和深度学习的概念。
● 作者是具备多年工作经验的该领域的工业界专家。
● 涵盖了原理、工业界的最佳实践,以及专业人员在综合应用这些模型时所遇到的问题。
● 书中实例来源于真实的工业界案例,如银行、保险、电子商务、医疗服务及自动驾驶。
● 即使是较少接触统计、数学和编程的读者,也很容易阅读本书。
● 利用可视化和类比的讲解方法,让复杂的概念变得简单易懂。
● 不需要参考或阅读其他资源即可学习本书的内容。
● 提供了数据集、代码及项目实例的下载链接。
完成本书学习后,你将具备的能力
● 使用Python进行数据处理。
● 使用Python中的统计方法和生成报告进行数据探索。
● 掌握线性回归和逻辑回归模型的创建和验证,并能使用这些模型进行预测。
● 掌握基于树的模型的创建和验证,如决策树和随机森林。
● 理解模型创建的实际应用,如特征工程和模型选择。
● 掌握高级机器学习算法的专业知识,如Boosting和人工神经网络方法。
● 使用TensorFlow和Keras工具编程。
● 在创建深度学习模型时处理超参数。
● 理解计算机视觉并使用CNN模型对数据分类。
● 序列模型的创建和验证,如RNN和LSTM。
目标读者
● 任何想要学习机器学习和深度学习的人
● 数据科学的爱好者和从业人员
● 具有数学或统计学背景的本科生和研究生
● 希望进入数据科学领域的报表分析师
● 希望利用机器学习和深度学习方法创建预测模型的人
● 希望利用机器学习和深度学习方法进行数据可视化的专业人员
● 计算机视觉的爱好者
● 深度学习的爱好者
● 计算机科学工程专业的学生
预备知识
● 本书是机器学习的启蒙内容。没有严格的预备知识。
● 任何具备学士学位的读者都可以阅读本书。
● 具备高中数学知识基础即可阅读本书。
● 不需要具备高级的统计知识。
● 不需要具备高级的编程知识。
书中的实例
本书涵盖了大量的实例和案例研究。具有代表性的案例如下:
● 航空旅客的案例研究——预测一家航空公司的旅客数量
● 客户流失的案例研究——基于客户的使用情况预测一个电信公司的客户流失情况
● 客服中心客户调查案例研究——预测客户对客服中心的满意度
● 金县(King County)房屋价格预测案例——基于房屋特征预测金县的房屋价格
● 皮马印第安人糖尿病案例研究——基于诊断指标预测患者患糖尿病的概率
● 银行贷款案例研究——提供贷款前预测风险客户
● 零售业顾客细分的案例研究——基于零售业公司的顾客购买行为实现顾客细分
● 交通事故预测——基于传感器数据预测致命的交通事故
● 基于美国人口普查数据的收入预测——基于人口普查数据预测高收入人群
● 通过输入带数字的图片实现图片中的数字识别
● 通过输入目标图像实现目标检测
● 根据输入的单词序列预测下一个单词
● 机器翻译——将英语翻译成目标语言
软件和硬件的准备
软件下载链接
● Anaconda:从https://www.anaconda.com/distribution/网站下载Anaconda
软件版本
● Python 3.7及以上版本
● TensorFlow 2.0及以上版本
源码和数据集的下载
源码、数据集和参考文献请扫描封底二维码下载。
更新和勘误
GitHub地址:https://github.com/venkatareddykonasani/ML_DL_py_TF_errata。