这本书通过数学解释和编程例子描述了机器学习的概念。每一章的内容都是从技术的基本原理和基于真实数据集工作实例开始的。在应用算法的指导下,每种技术都有各自的优点和缺点。本书提供了python中的代码示例。Python现在已经被全世界所接受。首先,它是免费、开源的。
Python机器学习算法
✍ Scribed by 赵志勇 著
- Publisher
- 电子工业出版社
- Year
- 2017
- Tongue
- Chinese
- Leaves
- 363
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书是一本机器学习入门读物,注重理论与实践的结合。全书主要包括6个部分,每个部分均以典型的机器学习算法为例,从算法原理出发,由浅入深,详细介绍算法的理论,并配合目前流行的Python语言,从零开始,实现每一个算法,以加强对机器学习算法理论的理解、增强实际的算法实践能力,最终达到熟练掌握每一个算法的目的。与其他机器学习类图书相比,本书同时包含算法理论的介绍和算法的实践,以理论支撑实践,同时,又将复杂、枯燥的理论用简单易懂的形式表达出来,促进对理论的理解。
✦ Table of Contents
扉页
版权页
推荐序
前言
目录
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
📜 SIMILAR VOLUMES
机器学习是计算机智能围棋博弈系统、无人驾驶汽车和工业界人工智能助理等新兴技术的灵魂,特别是深度学习理论更是诸多高精尖人工智能技术的核心。掌握机器学习理论与实践技术是学习现代人工智能科学最重要的一步。 本书既讲述机器学习算法的理论分析,也结合具体应用介绍它们在Python中的实现及使用方法。本书的第2到第9章主要介绍监督式学习算法。其中包括:监督式学习算法基础、线性回归算法、机器学习中的搜索算法、Logistic回归算法、支持向量机算法、决策树、神经网络和深度学习。随后,在第10与11这两章,着重介绍无监督学习算法。其中包括:降维算法和聚类算法。第12章中讲述强化学习的相关知识。在本书的附录中还
<p>《机器学习:从公理到算法(中国计算机学会学术著作丛书)》是一本基于公理研究学习算法的书。共17章,由两部分组成。第一部分是机器学习公理以及部分理论演绎,包括第1、2、6、8章,论述学习公理以及相应的聚类、分类理论。第二部分关注如何从公理推出经典学习算法,包括单类、多类和多源问题。第3~5章为单类问题,分别论述密度估计、回归和单类数据降维。第7、9~16章为多类问题,包括聚类、神经网络、K近邻、支持向量机、Logistic回归、贝叶斯分类、决策树、多类降维与升维等经典算法。最后第17章研究了多源数据学习问题。</p> <p>《机器学习:从公理到算法(中国计算机学会学术著作丛书)》可以作为
本书系统地讲解了机器学习的基本知识,以及在实际项目中使用机器学习的基本步骤和方法;详细地介绍了在进行数据处理、分析时怎样选择合适的算法,以及建立模型并优化等方法,通过不同的例子展示了机器学习在具体项目中的应用和实践经验,是一本非常好的机器学习入门和实践的书籍。不同于很多讲解机器学习的书籍,本书以实践为导向,使用 scikit-learn 作为编程框架,强调简单、快速地建立模型,解决实际项目问题。读者通过对本书的学习,可以迅速上手实践机器学习,并利用机器学习解决实际问题。本书非常适合于项目经理、有意从事机器学习开发的程序员,以及高校相关专业在的读学生阅读。