• Python机器学习算法
21年品牌 40万+商家 超1.5亿件商品

Python机器学习算法

①一般下午5点前订单,当日发货,开发票联系客服②教材,学习,考试类书默认有笔记(或做过)③其他类书一般无笔记,提前与客服沟通好再下单,否则本店不承担责任)④部分图书籍采用标准图片,可能存在不同印次不同封面,内容一致⑤出版时间过长的书都可能有自然发黄现象。

51.75 7.5折 69 九品

库存2件

天津宝坻
认证卖家担保交易快速发货售后保障

作者赵志勇

出版社电子工业出版社

ISBN9787121313196

出版时间2017-07

装帧平装

开本16开

定价69元

货号1068394648521261072

上书时间2024-11-12

休闲图书吧

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
前言

推荐序

 

志勇是我在新浪微博的同事,刚来的时候坐我的旁边。记得当时志勇喜欢把看过的论文的重点部分剪下来粘到自己的笔记本上,并用五颜六色的笔标注,后来还知道志勇平时会写博客来记录自己在算法学习和实践中的心得。由此可见,志勇是一个非常认真且善于归纳总结的人。2016年志勇告诉我他在写这样一本书的时候,我深以为然,感觉正确的人做了一件正确的事。

 

志勇的书快完成的时候邀请我写序,这对我绝对是个挑战。幸运的是,书中的内容是我所熟悉的,仿佛是发生在自己身边的事。写作风格也和志勇平时交流时一致。所以,我可以从故事参与者的角度去介绍一下这本书。

 

说到机器学习算法,这两年可谓蓬勃发展。AlphaGo战胜世界围棋冠军李世石已经成了大家茶余饭后的谈资,无人驾驶汽车是资本竞相追逐的万亿级市场,这些都源于数据收集能力、计算能力的提升,以及智能设备的普及。机器学习也已经在我们身边一些领域取得了成功,例如,现在已经获得上亿用户使用的今日头条。今日头条通过抓取众多媒体的资讯,利用机器学习算法推荐给用户,从而做到了资讯量大、更新快、更加个性化。

 

作为一个互联网从业者,更是感觉到机器学习算法已经融入到越来越多的产品和功能中。我曾经在一次交流中得知,某个应用为减少用户输入,用了一个团队的力量做输入选项的推荐。这在以前是不曾出现过的,以前的网站更多的是增加功能,让用户选择。现在更多的是推荐给用户,帮助用户选择。这里面既有移动应用屏幕小、操作复杂的原因,也有互联网公司越来越重视用户体验的原因。所以,在此要恭喜这本书的读者,你们选择了一个前途光明的行业。

 

机器学习算法比较典型的应用是推荐、广告和搜索。我们利用协同过滤技术来推荐商品、利用逻辑回归技术来做点击率的预测、利用分类技术来识别“垃圾”网页等。学好、用好每一种算法都很困难,需要掌握背后的理论基础,以及进行大量的实践,否则就会浮于表面,模仿他人,不能根据自己的业务做出合理的选择。

 

而市场上的书通常要么只是一些概要性质的介绍,要么是偏向实战,理论基础介绍得比较少。本书是少有的两者兼具的书,每一种算法都先介绍数学基础,再用Python代码做简单版本的实现,并且算法之间循序渐进,层层深入,读来如沐春风。

 

本书介绍了LR、FM、SVM、协同过滤、矩阵分解等推荐和广告领域常用算法,有很强的实用性。深度学习更是近期主流互联网公司研究的热门领域。无论对机器学习的初学者还是已经具备一些项目经验的人来说,这都是很好的读本。希望本书对更多的人有益,也希望中国的“人工智能+”蓬勃发展。

 

新浪微博算法经理陶辉

 


 

前言

 

起源

 

在读研究生期间,我就对机器学习算法萌生了很浓的兴趣,并对机器学习中的常用算法进行了学习,利用MATLAB对每一个算法进行了实践。在此过程中,每当遇到不懂的概念或者算法时,就会在网上查找相关的资料。也看到很多人在博客中分享算法的学习心得及算法的具体过程,其中有不少内容让我受益匪浅,但是有的内容仅仅是算法的描述,缺少实践的具体过程。

 

注意到这一点之后,我决定开始在博客中分享自己学习每一个机器学习算法的点点滴滴,为了让更多的初学者能够理解算法的具体过程并从中受益,我计划从三个方面出发,第一是算法过程的简单描述,第二是算法理论的详细推导,第三是算法的具体实践。2014年1月10日,我在CSDN上写下了第一篇博客。当时涉及的方向主要是优化算法和简单易学的机器学习算法。

 

随着学习的深入,博客的内容越来越多,同时,在写作过程中,博客的质量也在慢慢提高,这期间也是机器学习快速发展的阶段,在行业内出现了很多优秀的算法库,如Java版本的weka、Python版本的sklearn,以及其他的一些开源程序,通过对这些算法库的学习,我丰富了很多算法的知识,同时,我将学习到的心得记录在简单易学的机器学习算法中。工作之后,越发觉得这些基础知识对于算法的理解很有帮助,积累的这些算法学习材料成了我宝贵的财富。

 

2016年,电子工业出版社博文视点的符隆美编辑联系到我,询问我是否有意向将这些博文汇总写一本书。能够写一本书是很多人的梦想,我也不例外。于是在2016年9月,我开始了对本书的构思,从选择算法开始,选择出使用较多的一些机器学习算法。在选择好算法后,从算法原理和算法实现两个方面对算法进行描述,希望本书能够在内容上既能照顾到初学者,又能使具有一定机器学习基础的读者从中受益。

 

在写作的过程中,我重新查阅了资料,力求保证知识的准确性,同时,在实践的环节中,我使用了目前比较流行的Python语言实现每一个算法,使得读者能够更容易理解算法的过程,在介绍深度学习的部分时,使用到了目前最热门的TensorFlow框架。为了帮助读者理解机器学习算法在实际工作中的具体应用,本书专门有一章介绍项目实践的部分,综合前面各种机器学习算法,介绍每一类算法在实际工作中的具体应用。

 

内容组织

 

本书开篇介绍机器学习的基本概念,包括监督学习、无监督学习和深度学习的基本概念。

 

第一部分介绍分类算法。分类算法是机器学习中最常用的算法。在分类算法中着重介绍Logistic回归、Softmax Regression、Factorization Machine、支持向量机、随机森林和BP神经网络等算法。

 

第二部分介绍回归算法。与分类算法不同的是,在回归算法中其目标值是连续的值,而在分类算法中,其目标值是离散的值。在回归算法中着重介绍线性回归、岭回归和CART树回归。

 

第三部分介绍聚类算法。聚类是将具有某种相同属性的数据聚成一个类别。在聚类算法中着重介绍K-Means算法、Mean Shift算法、DBSCAN算法和Label Propagation算法。

 

第四部分介绍推荐算法。推荐算法是一类基于具体应用场景的算法的总称。在推荐算法中着重介绍基于协同过滤的推荐、基于矩阵分解的推荐和基于图的推荐。

 

第五部分介绍深度学习。深度学习是近年来研究最为火热的方向。深度学习的网络模型和算法有很多种,在本书中,主要介绍最基本的两种算法:AutoEncoder和卷积神经网络。

 

第六部分介绍以上这些算法在具体项目中的实践。通过具体的例子,可以清晰地看到每一类算法的应用场景。

 

附录介绍在实践中使用到的Python语言、numpy库及TensorFlow框架的具体使用方法。

 

小结

 

本书试图从算法原理和实践两个方面来介绍机器学习中的常用算法,对每一类机器学习算法,精心挑选了具有代表性的算法,从理论出发,并配以详细的代码,本书的所有示例代码使用Python语言作为开发语言,读者可以从https://github.com/ zhaozhiyong19890102/Python-Machine-Learning-Algorithm中下载本书的全部示例代码。

 

由于时间仓促,书中难免存在错误,欢迎广大读者和专家批评、指正,同时,欢迎大家提供意见和反馈。本书作者的电子邮箱:zhaozhiyong1989@126.com。

 

致谢

 

首先,我要感谢陶辉和孙永生这两位良师益友,在本书的写作过程中,为我提供了很多意见和建议,包括全书的组织架构。感谢陶辉抽出宝贵的时间帮我写序,感谢孙永生帮我检查程序。

 

其次,我要感谢符隆美编辑和董雪编辑在写作和审稿的过程中对我的鼓励和悉心指导。

 

再次,我要感谢姜贵彬、易慧民、潘文彬,感谢他们能够抽出宝贵的时间帮本书写推荐语,感谢他们在读完本书后给出的宝贵意见和建议。

 

然后,我要感谢July在本书的写作过程中对本书提出的宝贵意见,感谢张俊林、王斌在读完本书初稿后对本书的指点。

 

最后,感谢我的亲人和朋友,是你们的鼓励才使得本书能够顺利完成。

 

赵志勇

 

2017年6月6日于北京

 




作者简介
赵志勇,毕业于武汉大学计算机学院,CSDN博主,现就职于新浪微博,从事计算广告的算法工作。对机器学习、优化算法具有浓厚的兴趣。

目录

0绪论1

 

0.1机器学习基础1

 

0.1.1机器学习的概念1

 

0.1.2机器学习算法的分类2

 

0.2监督学习3

 

0.2.1监督学习3

 

0.2.2监督学习的流程3

 

0.2.3监督学习算法4

 

0.3无监督学习4

 

0.3.1无监督学习4

 

0.3.2无监督学习的流程4

 

0.3.3无监督学习算法5

 

0.4推荐系统和深度学习6

 

0.4.1推荐系统6

 

0.4.2深度学习6

 

0.5Python和机器学习算法实践6

 

参考文献7

 


 

第一部分分类算法

 

1Logistic Regression10

 

1.1Logistic Regression模型10

 

1.1.1线性可分VS线性不可分10

 

1.1.2Logistic Regression模型11

 

1.1.3损失函数13

 

1.2梯度下降法14

 

1.2.1梯度下降法的流程14

 

1.2.2凸优化与非凸优化15

 

1.2.3利用梯度下降法训练Logistic Regression模型17

 

1.3梯度下降法的若干问题18

 

1.3.1选择下降的方向18

 

1.3.2步长的选择19

 

1.4Logistic Regression算法实践20

 

1.4.1利用训练样本训练Logistic Regression模型20

 

1.4.2最终的训练效果22

 

1.4.3对新数据进行预测23

 

参考文献26

 

2Softmax Regression27

 

2.1多分类问题27

 

2.2Softmax Regression算法模型28

 

2.2.1Softmax Regression模型28

 

2.2.2Softmax Regression算法的代价函数28

 

2.3Softmax Regression算法的求解29

 

2.4Softmax Regression与Logistic Regression的关系31

 

2.4.1Softmax Regression中的参数特点31

 

2.4.2由Softmax Regression到Logistic Regression31

 

2.5Softmax Regression算法实践32

 

2.5.1对Softmax Regression算法的模型进行训练33

 

2.5.2最终的模型34

 

2.5.3对新的数据的预测35

 

参考文献39

 

3Factorization Machine40

 

3.1Logistic Regression算法的不足40

 

3.2因子分解机FM的模型42

 

3.2.1因子分解机FM模型42

 

3.2.2因子分解机FM可以处理的问题43

 

3.2.3二分类因子分解机FM算法的损失函数43

 

3.3FM算法中交叉项的处理43

 

3.3.1交叉项系数43

 

3.3.2模型的求解44

 

3.4FM算法的求解45

 

3.4.1随机梯度下降(Stochastic Gradient Descent)45

 

3.4.2基于随机梯度的方式求解45

 

3.4.3FM算法流程46

 

3.5因子分解机FM算法实践49

 

3.5.1训练FM模型50

 

3.5.2最终的训练效果53

 

3.5.3对新的数据进行预测55

 

参考文献57

 

4支持向量机58

 

4.1二分类问题58

 

4.1.1二分类的分隔超平面58

 

4.1.2感知机算法59

 

4.1.3感知机算法存在的问题61

 

4.2函数间隔和几何间隔61

 

4.2.1函数间隔62

 

4.2.2几何间隔62

 

4.3支持向量机63

 

4.3.1间隔最大化63

 

4.3.2支持向量和间隔边界64

 

4.3.3线性支持向量机65

 

4.4支持向量机的训练66

 

4.4.1学习的对偶算法66

 

4.4.2由线性支持向量机到非线性支持向量机68

 

4.4.3序列最小最优化算法SMO69

 

4.5支持向量机SVM算法实践74

 

4.5.1训练SVM模型74

 

4.5.2利用训练样本训练SVM模型81

 

4.5.3利用训练好的SVM模型对新数据进行预测85

 

参考文献88

 

5随机森林89

 

5.1决策树分类器89

 

5.1.1决策树的基本概念89

 

5.1.2选择最佳划分的标准91

 

5.1.3停止划分的标准94

 

5.2CART分类树算法95

 

5.2.1CART分类树算法的基本原理95

 

5.2.2CART分类树的构建95

 

5.2.3利用构建好的分类树进行预测98

 

5.3集成学习(Ensemble Learning)99

 

5.3.1集成学习的思想99

 

5.3.2集成学习中的典型方法99

 

5.4随机森林(Random Forests)101

 

5.4.1随机森林算法模型101

 

5.4.2随机森林算法流程102

 

5.5随机森林RF算法实践104

 

5.5.1训练随机森林模型105

 

5.5.2最终的训练结果109

 

5.5.3对新数据的预测110

 

参考文献113

 

6BP神经网络114

 

6.1神经元概述114

 

6.1.1神经元的基本结构114

 

6.1.2激活函数115

 

6.2神经网络模型116

 

6.2.1神经网络的结构116

 

6.2.2神经网络中的参数说明117

 

6.2.3神经网络的计算117

 

6.3神经网络中参数的求解118

 

6.3.1神经网络损失函数118

 

6.3.2损失函数的求解119

 

6.3.3BP神经网络的学习过程120

 

6.4BP神经网络中参数的设置126

 

6.4.1非线性变换126

 

6.4.2权重向量的初始化126

 

6.4.3学习率127

 

6.4.4隐含层节点的个数127

 

6.5BP神经网络算法实践127

 

6.5.1训练BP神经网络模型128

 

6.5.2最终的训练效果132

 

6.5.3对新数据的预测133

 

参考文献136

 


 

第二部分回归算法

 

7线性回归138

 

7.1基本线性回归138

 

7.1.1线性回归的模型138

 

7.1.2线性回归模型的损失函数139

 

7.2线性回归的最小二乘解法140

 

7.2.1线性回归的最小二乘解法140

 

7.2.2广义逆的概念141

 

7.3牛顿法141

 

7.3.1基本牛顿法的原理141

 

7.3.2基本牛顿法的流程142

 

7.3.3全局牛顿法142

 

7.3.4Armijo搜索144

 

7.3.5利用全局牛顿法求解线性回归模型145

 

7.4利用线性回归进行预测146

 

7.4.1训练线性回归模型147

 

7.4.2最终的训练结果149

 

7.4.3对新数据的预测150

 

7.5局部加权线性回归152

 

7.5.1 局部加权线性回归模型152

 

7.5.2局部加权线性回归的最终结果153

 

参考文献154

 

8岭回归和Lasso回归155

 

8.1线性回归存在的问题155

 

8.2岭回归模型156

 

8.2.1岭回归模型156

 

8.2.2岭回归模型的求解156

 

8.3Lasso回归模型157

 

8.4拟牛顿法158

 

8.4.1拟牛顿法158

 

8.4.2BFGS校正公式的推导158

 

8.4.3BFGS校正的算法流程159

 

8.5L-BFGS求解岭回归模型162

 

8.5.1BGFS算法存在的问题162

 

8.5.2L-BFGS算法思路162

 

8.6岭回归对数据的预测165

 

8.6.1训练岭回归模型166

 

8.6.2最终的训练结果168

 

8.6.3利用岭回归模型预测新的数据168

 

参考文献171

 

9CART树回归172

 

9.1复杂的回归问题172

 

9.1.1线性回归模型172

 

9.1.2局部加权线性回归173

 

9.1.3CART算法174

 

9.2CART回归树生成175

 

9.2.1CART回归树的划分175

 

9.2.2CART回归树的构建177

 

9.3CART回归树剪枝179

 

9.3.1前剪枝179

 

9.3.2后剪枝180

 

9.4CART回归树对数据预测180

 

9.4.1利用训练数据训练CART回归树模型180

 

9.4.2最终的训练结果182

 

9.4.3利用训练好的CART回归树模型对新的数据预测185

 

参考文献187

 


 

第三部分聚类算法

 

10K-Means190

 

10.1相似性的度量190

 

10.1.1闵可夫斯基距离191

 

10.1.2曼哈顿距离191

 

10.1.3欧氏距离191

 

10.2K-Means算法原理192

 

10.2.1K-Means算法的基本原理192

 

10.2.2K-Means算法步骤193

 

10.2.3K-Means算法与矩阵分解193

 

10.3K-Means算法实践195

 

10.3.1导入数据196

 

10.3.2初始化聚类中心197

 

10.3.3聚类过程198

 

10.3.4最终的聚类结果199

 

10.4K-Means++算法200

 

10.4.1K-Means算法存在的问题200

 

10.4.2K-Means++算法的基本思路202

 

10.4.3K-Means++算法的过程和最终效果204

 

参考文献205

 

11Mean Shift206

 

11.1Mean Shift向量206

 

11.2核函数207

 

11.3Mean Shift算法原理209

 

11.3.1引入核函数的Mean Shift向量209

 

11.3.2Mean Shift算法的基本原理210

 

11.4Mean Shift算法的解释212

 

11.4.1概率密度梯度212

 

11.4.2Mean Shift向量的修正213

 

11.4.3Mean Shift算法流程213

 

11.5Mean Shift算法实践217

 

11.5.1Mean Shift的主过程218

 

11.5.2Mean Shift的最终聚类结果219

 

参考文献221

 

12DBSCAN222

 

12.1基于密度的聚类222

 

12.1.1基于距离的聚类算法存在的问题222

 

12.1.2基于密度的聚类算法225

 

12.2DBSCAN算法原理225

 

12.2.1DBSCAN算法的基本概念225

 

12.2.2DBSCAN算法原理227

 

12.2.3DBSCAN算法流程228

 

12.3DBSCAN算法实践231

 

12.3.1DBSCAN算法的主要过程232

 

12.3.2Mean Shift的最终聚类结果234

 

参考文献236

 

13Label Propagation237

 

13.1社区划分237

 

13.1.1社区以及社区划分237

 

13.1.2社区划分的算法238

 

13.1.3社区划分的评价标准239

 

13.2Label Propagation算法原理239

 

13.2.1Label Propagation算法的基本原理239

 

13.2.2标签传播240

 

13.2.3迭代的终止条件242

 

13.3Label Propagation算法过程244

 

13.4Label Propagation算法实践244

 

13.4.1导入数据245

 

13.4.2社区的划分246

 

13.4.3最终的结果247

 

参考文献248

 


 

第四部分推荐算法

 

14协同过滤算法250

 

14.1推荐系

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP