









Python
1.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.5Python的张量运算
2.5.1机器学习中张量的创建
2.5.2通过索引和切片访问张量中的数据
2.5.3张量的整体操作和逐元素运算
2.5.4张量的变形和转置
2.5.5Python中的广播
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到ReLU
5.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使用TensorBoard
5.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经典的VGGNet
6.8.2采用Inception结构的GoogLeNet
6.8.3残差网络ResNet
6.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构建包含词嵌入的SimpleRNN
7.4.3训练网络并查看验证准确率
7.5从SimpleRNN到LSTM
7.5.1SimpleRNN的局限性
7.5.2LSTM网络的记忆传送带
7.6用LSTM鉴定评论文本
7.7问题定义:太阳系外哪些恒星有行星环绕
7.8用循环神经网络处理时序问题
7.8.1时序数据的导入与处理
7.8.2建模:CNN和RNN的组合
7.8.3输出阈值的调整
7.8.4使用函数式API
7.9本课内容小结
7.10课后练习
第8课经典算法“宝刀未老”
8.1K最近邻
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.2Bagging算法——多个基模型的聚合
9.2.1决策树的聚合
9.2.2从树的聚合到随机森林
9.2.3从随机森林到极端随机森林
9.2.4比较决策树、树的聚合、随机森林、极端随机森林的效率
9.3Boosting算法——锻炼弱模型的“肌肉”
9.3.1AdaBoost算法
9.3.2梯度提升算法
9.3.3XGBoost算法
9.3.4Bagging算法与Boosting算法的不同之处
9.4Stacking/Blending算法——以预测结果作为新特征
9.4.1Stacking算法
9.4.2Blending算法
9.5Voting/Averaging算法——集成基模型的预测结果
9.5.1通过Voting进行不同算法的集成
9.5.2通过Averaging集成不同算法的结果
9.6本课内容小结
9.7课后练习
第10课监督学习之外——其他类型的机器学习
10.1无监督学习——聚类
10.1.1K均值算法
10.1.2K值的选取:手肘法
10.1.3用聚类辅助理解营销数据
10.2无监督学习——降维
10.2.1PCA算法
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.4Q-Learning算法的伪代码
11.4用Q-Learning算法来解决冰湖挑战问题
11.4.1环境的初始化
11.4.2Q-Learning算法的实现
11.4.3Q-Table的更新过程
11.5从Q-Learning算法到SARSA算法
11.5.1异策略和同策略
11.5.2SARSA算法的实现
11.6用SARSA算法来解决冰湖挑战问题
11.7DeepQNetwork算法:用深度网络实现Q-Learning
11.8本课内容小结
11.9课后练习
尾声如何实现机器学习中的知识迁移及持续性的学习
练习答案