为你推荐
内容简介
推荐序
前言
0 绪论
0.1 机器学习基础
0.1.1 机器学习的概念
0.1.2 机器学习算法的分类
0.2 监督学习
0.2.1 监督学习
0.2.2 监督学习的流程
0.2.3 监督学习算法
0.3 无监督学习
0.3.1 无监督学习
0.3.2 无监督学习的流程
0.3.3 无监督学习算法
0.4 推荐系统和深度学习
0.4.1 推荐系统
0.4.2 深度学习
0.5 Python和机器学习算法实践
参考文献
第一部分 分类算法
1 Logistic Regression
1.1 Logistic Regression模型
1.1.1 线性可分VS线性不可分
1.1.2 Logistic Regression模型
1.1.3 损失函数
1.2 梯度下降法
1.2.1 梯度下降法的流程
1.2.2 凸优化与非凸优化
1.2.3 利用梯度下降法训练Logistic Regression模型
1.3 梯度下降法的若干问题
1.3.1 选择下降的方向
1.3.2 步长的选择
1.4 Logistic Regression算法实践
1.4.1 利用训练样本训练Logistic Regression模型
1.4.2 最终的训练效果
1.4.3 对新数据进行预测
参考文献
2 Softmax Regression
2.1 多分类问题
2.2 Softmax Regression算法模型
2.2.1 Softmax Regression模型
2.2.2 Softmax Regression算法的代价函数
2.3 Softmax Regression算法的求解
2.4 Softmax Regression与Logistic Regression的关系
2.4.1 Softmax Regression中的参数特点
2.4.2 由Softmax Regression到Logistic Regression
2.5 Softmax Regression算法实践
2.5.1 对Softmax Regression算法的模型进行训练
2.5.2 最终的模型
2.5.3 对新的数据的预测
参考文献
3 Factorization Machine
3.1 Logistic Regression算法的不足
3.2 因子分解机FM的模型
3.2.1 因子分解机FM模型
3.2.2 因子分解机FM可以处理的问题
3.2.3 二分类因子分解机FM算法的损失函数
3.3 FM算法中交叉项的处理
3.3.1 交叉项系数
3.3.2 模型的求解
3.4 FM算法的求解
3.4.1 随机梯度下降(Stochastic Gradient Descent)
3.4.2 基于随机梯度的方式求解
3.4.3 FM算法流程
3.5 因子分解机FM算法实践
3.5.1 训练FM模型
3.5.2 最终的训练效果
3.5.3 对新的数据进行预测
参考文献
4 支持向量机
4.1 二分类问题
4.1.1 二分类的分隔超平面
4.1.2 感知机算法
4.1.3 感知机算法存在的问题
4.2 函数间隔和几何间隔
4.2.1 函数间隔
4.2.2 几何间隔
4.3 支持向量机
4.3.1 间隔最大化
4.3.2 支持向量和间隔边界
4.3.3 线性支持向量机
4.4 支持向量机的训练
4.4.1 学习的对偶算法
4.4.2 由线性支持向量机到非线性支持向量机
4.4.3 序列最小最优化算法SMO
4.5 支持向量机SVM算法实践
4.5.1 训练SVM模型
4.5.2 利用训练样本训练SVM模型
4.5.3 利用训练好的SVM模型对新数据进行预测
参考文献
5 随机森林
5.1 决策树分类器
5.1.1 决策树的基本概念
5.1.2 选择最佳划分的标准
5.1.3 停止划分的标准
5.2 CART分类树算法
5.2.1 CART分类树算法的基本原理
5.2.2 CART分类树的构建
5.2.3 利用构建好的分类树进行预测
5.3 集成学习(Ensemble Learning)
5.3.1 集成学习的思想
5.3.2 集成学习中的典型方法
5.4 随机森林(Random Forests)
5.4.1 随机森林算法模型
5.4.2 随机森林算法流程
5.5 随机森林RF算法实践
5.5.1 训练随机森林模型
5.5.2 最终的训练结果
5.5.3 对新数据的预测
参考文献
6 BP神经网络
6.1 神经元概述
6.1.1 神经元的基本结构
6.1.2 激活函数
6.2 神经网络模型
6.2.1 神经网络的结构
6.2.2 神经网络中的参数说明
6.2.3 神经网络的计算
6.3 神经网络中参数的求解
6.3.1 神经网络损失函数
6.3.2 损失函数的求解
6.3.3 BP神经网络的学习过程
6.4 BP神经网络中参数的设置
6.4.1 非线性变换
6.4.2 权重向量的初始化
6.4.3 学习率
6.4.4 隐含层节点的个数
6.5 BP神经网络算法实践
6.5.1 训练BP神经网络模型
6.5.2 最终的训练效果
6.5.3 对新数据的预测
参考文献
第二部分 回归算法
7 线性回归
7.1 基本线性回归
7.1.1 线性回归的模型
7.1.2 线性回归模型的损失函数
7.2 线性回归的最小二乘解法
7.2.1 线性回归的最小二乘解法
7.2.2 广义逆的概念
7.3 牛顿法
7.3.1 基本牛顿法的原理
7.3.2 基本牛顿法的流程
7.3.3 全局牛顿法
7.3.4 Armijo搜索
7.3.5 利用全局牛顿法求解线性回归模型
7.4 利用线性回归进行预测
7.4.1 训练线性回归模型
7.4.2 最终的训练结果
7.4.3 对新数据的预测
7.5 局部加权线性回归
7.5.1 局部加权线性回归模型
7.5.2 局部加权线性回归的最终结果
参考文献
8 岭回归和Lasso回归
8.1 线性回归存在的问题
8.2 岭回归模型
8.2.1 岭回归模型
8.2.2 岭回归模型的求解
8.3 Lasso回归模型
8.4 拟牛顿法
8.4.1 拟牛顿法
8.4.2 BFGS校正公式的推导
8.4.3 BFGS校正的算法流程
8.5 L-BFGS求解岭回归模型
8.5.1 BGFS算法存在的问题
8.5.2 L-BFGS算法思路
8.6 岭回归对数据的预测
8.6.1 训练岭回归模型
8.6.2 最终的训练结果
8.6.3 利用岭回归模型预测新的数据
参考文献
9 CART树回归
9.1 复杂的回归问题
9.1.1 线性回归模型
9.1.2 局部加权线性回归
9.1.3 CART算法
9.2 CART回归树生成
9.2.1 CART回归树的划分
9.2.2 CART回归树的构建
9.3 CART回归树剪枝
9.3.1 前剪枝
9.3.2 后剪枝
9.4 CART回归树对数据预测
9.4.1 利用训练数据训练CART回归树模型
9.4.2 最终的训练结果
9.4.3 利用训练好的CART回归树模型对新的数据预测
参考文献
第三部分 聚类算法
10 K-Means
10.1 相似性的度量
10.1.1 闵可夫斯基距离
10.1.2 曼哈顿距离
10.1.3 欧氏距离
10.2 K-Means算法原理
10.2.1 K-Means算法的基本原理
10.2.2 K-Means算法步骤
10.2.3 K-Means算法与矩阵分解
10.3 K-Means算法实践
10.3.1 导入数据
10.3.2 初始化聚类中心
10.3.3 聚类过程
10.3.4 最终的聚类结果
10.4 K-Means++算法
10.4.1 K-Means算法存在的问题
10.4.2 K-Means++算法的基本思路
10.4.3 K-Means++算法的过程和最终效果
参考文献
11 Mean Shift
11.1 Mean Shift向量
11.2 核函数
11.3 Mean Shift算法原理
11.3.1 引入核函数的Mean Shift向量
11.3.2 Mean Shift算法的基本原理
11.4 Mean Shift算法的解释
11.4.1 概率密度梯度
11.4.2 Mean Shift向量的修正
11.4.3 Mean Shift算法流程
11.5 Mean Shift算法实践
11.5.1 Mean Shift的主过程
11.5.2 Mean Shift的最终聚类结果
参考文献
12 DBSCAN
12.1 基于密度的聚类
12.1.1 基于距离的聚类算法存在的问题
12.1.2 基于密度的聚类算法
12.2 DBSCAN算法原理
12.2.1 DBSCAN算法的基本概念
12.2.2 DBSCAN算法原理
12.2.3 DBSCAN算法流程
12.3 DBSCAN算法实践
12.3.1 DBSCAN算法的主要过程
12.3.2 Mean Shift的最终聚类结果
参考文献
13 Label Propagation
13.1 社区划分
13.1.1 社区以及社区划分
13.1.2 社区划分的算法
13.1.3 社区划分的评价标准
13.2 Label Propagation算法原理
13.2.1 Label Propagation算法的基本原理
13.2.2 标签传播
13.2.3 迭代的终止条件
13.3 Label Propagation算法过程
13.4 Label Propagation算法实践
13.4.1 导入数据
13.4.2 社区的划分
13.4.3 最终的结果
参考文献
第四部分 推荐算法
14 协同过滤算法
14.1 推荐系统的概述
14.1.1 推荐系统
14.1.2 推荐问题的描述
14.1.3 推荐的常用方法
14.2 基于协同过滤的推荐
14.2.1 协同过滤算法概述
14.2.2 协同过滤算法的分类
14.3 相似度的度量方法
14.3.1 欧氏距离
14.3.2 皮尔逊相关系数(Pearson Correlation)
14.3.3 余弦相似度
14.4 基于协同过滤的推荐算法
14.4.1 基于用户的协同过滤算法
14.4.2 基于项的协同过滤算法
14.5 利用协同过滤算法进行推荐
14.5.1 导入用户-商品数据
14.5.2 利用基于用户的协同过滤算法进行推荐
14.5.3 利用基于项的协同过滤算法进行推荐
参考文献
15 基于矩阵分解的推荐算法
15.1 矩阵分解
15.2 基于矩阵分解的推荐算法
15.2.1 损失函数
15.2.2 损失函数的求解
15.2.3 加入正则项的损失函数即求解方法
15.2.4 预测
15.3 利用矩阵分解进行推荐
15.3.1 利用梯度下降对用户商品矩阵分解和预测
15.3.2 最终的结果
15.4 非负矩阵分解
15.4.1 非负矩阵分解的形式化定义
15.4.2 损失函数
15.4.3 优化问题的求解
15.5 利用非负矩阵分解进行推荐
15.5.1 利用乘法规则进行分解和预测
15.5.2 最终的结果
参考文献
16 基于图的推荐算法
16.1 二部图与推荐算法
16.1.1 二部图
16.1.2 由用户商品矩阵到二部图
16.2 PageRank算法
16.2.1 PageRank算法的概念
16.2.2 PageRank的两个假设
16.2.3 PageRank的计算方法
16.3 PersonalRank算法
16.3.1 PersonalRank算法原理
16.3.2 PersonalRank算法的流程
16.4 利用PersonalRank算法进行推荐
16.4.1 利用PersonalRank算法进行推荐
16.4.2 最终的结果
参考文献
第五部分 深度学习
17 AutoEncoder
17.1 多层神经网络
17.1.1 三层神经网络模型
17.1.2 由三层神经网络到多层神经网络
17.2 AutoEncoder模型
17.2.1 AutoEncoder模型结构
17.2.2 AutoEncoder的损失函数
17.3 降噪自编码器Denoising AutoEncoder
17.3.1 Denoising AutoEncoder原理
17.3.2 Denoising AutoEncoder实现
17.4 利用Denoising AutoEncoders构建深度网络
17.4.1 无监督的逐层训练
17.4.2 有监督的微调
17.5 利用TensorFlow实现Stacked Denoising AutoEncoders
17.5.1 训练Stacked Denoising AutoEncoders模型
17.5.2 训练的过程
参考文献
18 卷积神经网络
18.1 传统神经网络模型存在的问题
18.2 卷积神经网络
18.2.1 卷积神经网络中的核心概念
18.2.2 卷积神经网络模型
18.3 卷积神经网络的求解
18.3.1 卷积层(Convolution Layer)
18.3.2 下采样层(Sub-Sampling Layer)
18.3.3 全连接层(Fully-Connected Layer)
18.4 利用TensorFlow实现CNN
18.4.1 CNN的实现
18.4.2 训练CNN模型
18.4.3 训练的过程
参考文献
第六部分 项目实践
19 微博精准推荐
19.1 精准推荐
19.1.1 精准推荐的项目背景
19.1.2 精准推荐的技术架构
19.1.3 离线数据挖掘
19.2 基于用户行为的挖掘
19.2.1 基于互动内容的兴趣挖掘
19.2.2 基于与博主互动的兴趣挖掘
19.3 基于相似用户的挖掘
19.3.1 基于“@”人的相似用户挖掘
19.3.2 基于社区的相似用户挖掘
19.3.3 基于协同过滤的相似用户挖掘
19.4 点击率预估
19.4.1 点击率预估的概念
19.4.2 点击率预估的方法
19.5 各种数据技术的效果
参考文献
附录A
附录B
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜