书籍信息

  • 书名:零基础学机器学习
  • 作者:黄佳
  • 出版社: 人民邮电出版社
  • 出版日期:2020-12-1
  • 格式:mobi
  • 文件大小:5856.36 KB
  • 评分:9

内容简介

本书的目标,是让非机器学习领域甚至非计算机专业出身但有学习需求的人,轻松地掌握机器学习的基本知识,从而拥有相关的实战能力。本书通过AI“小白”小冰拜师程序员咖哥学习机器学习的对话展开,内容轻松,实战性强,主要包括机器学习快速上手路径、数学和Python 基础知识、机器学习基础算法(线性回归和逻辑回归)、深度神经网络、卷积神经网络、循环神经网络、经典算法、集成学习、无监督和半监督等非监督学习类型、强化学习实战等内容,以及相关实战案例。本书所有案例均通过Python及Scikit-learn 机器学习库和Keras 深度学习框架实现,同时还包含丰富的数据分析和数据可视化内容。本书适合对AI 感兴趣的程序员、项目经理、在校大学生以及任何想以零基础学机器学习的人,用以入门机器学习领域,建立从理论到实战的知识通道。

书籍大纲

前言资源与支持引子 AI菜鸟的挑战——100天上线智能预警系统第1课 机器学习快速上手路径——唯有实战1.1 机器学习的家族谱1.1.1 新手入门机器学习的3个好消息1.1.2 机器学习就是从数据中发现规律1.1.3 机器学习的类别——监督学习及其他1.1.4 机器学习的重要分支——深度学习1.1.5 机器学习新热点——强化学习1.1.6 机器学习的两大应用场景——回归与分类1.1.7 机器学习的其他应用场景1.2 快捷的云实战学习模式1.2.1 在线学习平台上的机器学习课程1.2.2 用Jupyter Notebook直接实战1.2.3 用Google Colab开发第一个机器学习程序1.2.4 在Kaggle上参与机器学习竞赛1.2.5 在本机上“玩”机器学习1.3 基本机器学习术语1.3.1 特征1.3.2 标签1.3.3 模型1.4 Python和机器学习框架1.4.1 为什么选择用Python1.4.2 机器学习和深度学习框架1.5 机器学习项目实战架构1.5.1 第1个环节:问题定义1.5.2 第2个环节:数据的收集和预处理1.5.3 第3个环节:选择机器学习模型1.5.4 第4个环节:训练机器,确定参数1.5.5 第5个环节:超参数调试和性能优化1.6 本课内容小结1.7 课后练习第2课 数学和Python基础知识——一天搞定2.1 函数描述了事物间的关系2.1.1 什么是函数2.1.2 机器学习中的函数2.2 捕捉函数的变化趋势2.2.1 连续性是求导的前提条件2.2.2 通过求导发现y如何随x而变2.2.3 凸函数有一个全局最低点2.3 梯度下降是机器学习的动力之源2.3.1 什么是梯度2.3.2 梯度下降:下山的隐喻2.3.3 梯度下降有什么用2.4 机器学习的数据结构——张量2.4.1 张量的轴、阶和形状2.4.2 标量——0D(阶)张量2.4.3 向量——1D(阶)张量2.4.4 矩阵——2D(阶)张量2.4.5 序列数据——3D(阶)张量2.4.6 图像数据——4D(阶)张量2.4.7 视频数据——5D(阶)张量2.4.8 数据的维度和空间的维度2.5 Python的张量运算2.5.1 机器学习中张量的创建2.5.2 通过索引和切片访问张量中的数据2.5.3 张量的整体操作和逐元素运算2.5.4 张量的变形和转置2.5.5 Python中的广播2.5.6 向量和矩阵的点积运算2.6 机器学习的几何意义2.6.1 机器学习的向量空间2.6.2 深度学习和数据流形2.7 概率与统计研究了随机事件的规律2.7.1 什么是概率2.7.2 正态分布2.7.3 标准差和方差2.8 本课内容小结2.9 课后练习第3课 线性回归——预测网店的销售额3.1 问题定义:小冰的网店广告该如何投放3.2 数据的收集和预处理3.2.1 收集网店销售额数据3.2.2 数据读取和可视化3.2.3 数据的相关分析3.2.4 数据的散点图3.2.5 数据集清洗和规范化3.2.6 拆分数据集为训练集和测试集3.2.7 把数据归一化3.3 选择机器学习模型3.3.1 确定线性回归模型3.3.2 假设(预测)函数——h(x)3.3.3 损失(误差)函数——L(w,b)3.4 通过梯度下降找到最佳参数3.4.1 训练机器要有正确的方向3.4.2 凸函数确保有最小损失点3.4.3 梯度下降的实现3.4.4 学习速率也很重要3.5 实现一元线性回归模型并调试超参数3.5.1 权重和偏置的初始值3.5.2 进行梯度下降3.5.3 调试学习速率3.5.4 调试迭代次数3.5.5 在测试集上进行预测3.5.6 用轮廓图描绘L、w和b的关系3.6 实现多元线性回归模型3.6.1 向量化的点积运算3.6.2 多变量的损失函数和梯度下降3.6.3 构建一个线性回归函数模型3.6.4 初始化权重并训练机器3.7 本课内容小结3.8 课后练习第4课 逻辑回归——给病患和鸢尾花分类4.1 问题定义:判断客户是否患病4.2 从回归问题到分类问题4.2.1 机器学习中的分类问题4.2.2 用线性回归+阶跃函数完成分类4.2.3 通过Sigmiod函数进行转换4.2.4 逻辑回归的假设函数4.2.5 逻辑回归的损失函数4.2.6 逻辑回归的梯度下降4.3 通过逻辑回归解决二元分类问题4.3.1 数据的准备与分析4.3.2 建立逻辑回归模型4.3.3 开始训练机器4.3.4 测试分类结果4.3.5 绘制损失曲线4.3.6 直接调用Sklearn库4.3.7 哑特征的使用4.4 问题定义:确定鸢尾花的种类4.5 从二元分类到多元分类4.5.1 以一对多4.5.2 多元分类的损失函数4.6 正则化、欠拟合和过拟合4.6.1 正则化4.6.2 欠拟合和过拟合4.6.3 正则化参数4.7 通过逻辑回归解决多元分类问题4.7.1 数据的准备与分析4.7.2 通过Sklearn实现逻辑回归的多元分类4.7.3 正则化参数——C值的选择4.8 本课内容小结4.9 课后练习第5课 深度神经网络——找出可能流失的客户5.1 问题定义:咖哥接手的金融项目5.2 神经网络的原理5.2.1 神经网络极简史5.2.2 传统机器学习算法的局限性5.2.3 神经网络的优势5.3 从感知器到单隐层网络5.3.1 感知器是最基本的神经元5.3.2 假设空间要能覆盖特征空间5.3.3 单神经元特征空间的局限性5.3.4 分层:加入一个网络隐层5.4 用Keras单隐层网络预测客户流失率5.4.1 数据的准备与分析5.4.2 先尝试逻辑回归算法5.4.3 单隐层神经网络的Keras实现5.4.4 训练单隐层神经网络5.4.5 训练过程的图形化显示5.5 分类数据不平衡问题:只看准确率够用吗5.5.1 混淆矩阵、精确率、召回率和F1分数5.5.2 使用分类报告和混淆矩阵5.5.3 特征缩放的魔力5.5.4 阈值调整、欠采样和过采样5.6 从单隐层神经网络到深度神经网络5.6.1 梯度下降:正向传播和反向传播5.6.2 深度神经网络中的一些可调超参数5.6.3 梯度下降优化器5.6.4 激活函数:从Sigmoid到ReLU5.6.5 损失函数的选择5.6.6 评估指标的选择5.7 用Keras深度神经网络预测客户流失率5.7.1 构建深度神经网络5.7.2 换一换优化器试试5.7.3 神经网络正则化:添加Dropout层5.8 深度神经网络的调试及性能优化5.8.1 使用回调功能5.8.2 使用TensorBoard5.8.3 神经网络中的过拟合5.8.4 梯度消失和梯度爆炸5.9 本课内容小结5.10 课后练习第6课 卷积神经网络——识别狗狗的图像6.1 问题定义:有趣的狗狗图像识别6.2 卷积网络的结构6.3 卷积层的原理6.3.1 机器通过“模式”进行图像识别6.3.2 平移不变的模式识别6.3.3 用滑动窗口抽取局部特征6.3.4 过滤器和响应通道6.3.5 对特征图进行卷积运算6.3.6 模式层级结构的形成6.3.7 卷积过程中的填充和步幅6.4 池化层的功能6.5 用卷积网络给狗狗图像分类6.5.1 图像数据的读入6.5.2 构建简单的卷积网络6.5.3 训练网络并显示误差和准确率6.6 卷积网络性能优化6.6.1 第一招:更新优化器并设置学习速率6.6.2 第二招:添加Dropout层6.6.3 “大杀器”:进行数据增强6.7 卷积网络中特征通道的可视化6.8 各种大型卷积网络模型6.8.1 经典的VGGNet6.8.2 采用Inception结构的GoogLeNet6.8.3 残差网络ResNet6.9 本课内容小结6.10 课后练习第7课 循环神经网络——鉴定留言及探索系外行星7.1 问题定义:鉴定评论文本的情感属性7.2 循环神经网络的原理和结构7.2.1 什么是序列数据7.2.2 前馈神经网络处理序列数据的局限性7.2.3 循环神经网络处理序列问题的策略7.2.4 循环神经网络的结构7.3 原始文本如何转化成向量数据7.3.1 文本的向量化:分词7.3.2 通过One-hot编码分词7.3.3 词嵌入7.4 用SimpleRNN鉴定评论文本7.4.1 用Tokenizer给文本分词7.4.2 构建包含词嵌入的SimpleRNN7.4.3 训练网络并查看验证准确率7.5 从SimpleRNN到LSTM7.5.1 SimpleRNN的局限性7.5.2 LSTM网络的记忆传送带7.6 用LSTM鉴定评论文本7.7 问题定义:太阳系外哪些恒星有行星环绕7.8 用循环神经网络处理时序问题7.8.1 时序数据的导入与处理7.8.2 建模:CNN和RNN的组合7.8.3 输出阈值的调整7.8.4 使用函数式API7.9 本课内容小结7.10 课后练习第8课 经典算法“宝刀未老”8.1 K最近邻8.2 支持向量机8.3 朴素贝叶斯8.4 决策树8.4.1 熵和特征节点的选择8.4.2 决策树的深度和剪枝8.5 随机森林8.6 如何选择最佳机器学习算法8.7 用网格搜索超参数调优8.8 本课内容小结8.9 课后练习第9课 集成学习“笑傲江湖”9.1 偏差和方差——机器学习性能优化的风向标9.1.1 目标:降低偏差与方差9.1.2 数据集大小对偏差和方差的影响9.1.3 预测空间的变化带来偏差和方差的变化9.2 Bagging算法——多个基模型的聚合9.2.1 决策树的聚合9.2.2 从树的聚合到随机森林9.2.3 从随机森林到极端随机森林9.2.4 比较决策树、树的聚合、随机森林、极端随机森林的效率9.3 Boosting算法——锻炼弱模型的“肌肉”9.3.1 AdaBoost算法9.3.2 梯度提升算法9.3.3 XGBoost算法9.3.4 Bagging算法与Boosting算法的不同之处9.4 Stacking/Blending算法——以预测结果作为新特征9.4.1 Stacking算法9.4.2 Blending算法9.5 Voting/Averaging算法——集成基模型的预测结果9.5.1 通过Voting进行不同算法的集成9.5.2 通过Averaging集成不同算法的结果9.6 本课内容小结9.7 课后练习第10课 监督学习之外——其他类型的机器学习10.1 无监督学习——聚类10.1.1 K均值算法10.1.2 K值的选取:手肘法10.1.3 用聚类辅助理解营销数据10.2 无监督学习——降维10.2.1 PCA算法10.2.2 通过PCA算法进行图像特征采样10.3 半监督学习10.3.1 自我训练10.3.2 合作训练10.3.3 半监督聚类10.4 自监督学习10.4.1 潜隐空间10.4.2 自编码器10.4.3 变分自编码器10.5 生成式学习10.5.1 机器学习的生成式10.5.2 生成式对抗网络10.6 本课内容小结10.7 课后练习第11课 强化学习实战——咖哥的冰湖挑战11.1 问题定义:帮助智能体完成冰湖挑战11.2 强化学习基础知识11.2.1 延迟满足11.2.2 更复杂的环境11.2.3 强化学习中的元素11.2.4 智能体的视角11.3 强化学习基础算法Q-Learning详解11.3.1 迷宫游戏的示例11.3.2 强化学习中的局部最优11.3.3 ε-Greedy策略11.3.4 Q-Learning算法的伪代码11.4 用Q-Learning算法来解决冰湖挑战问题11.4.1 环境的初始化11.4.2 Q-Learning算法的实现11.4.3 Q-Table的更新过程11.5 从Q-Learning算法到SARSA算法11.5.1 异策略和同策略11.5.2 SARSA算法的实现11.6 用SARSA算法来解决冰湖挑战问题11.7 Deep Q Network算法:用深度网络实现Q-Learning11.8 本课内容小结11.9 课后练习尾声 如何实现机器学习中的知识迁移及持续性的学习练习答案

下载地址

下载零基础学机器学习电子书