描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121355219
《机器学习基础:从入门到求职》的定位是帮助求职者快速入门并掌握机器学习相关的基础核心知识,降低学习成本,节省更多的时间。
但是《机器学习基础:从入门到求职》并未介绍如何求职、如何面试,而是把机器学习算法相关岗位的常见问题罗列在前言,读者可阅读前言后自行判断哪些方面需要提升,然后学习本书中的相关章节,带你走近机器学习求职的起点。
1.1 机器学习介绍 1
1.1.1 机器学习的特点 1
1.1.2 机器学习的对象 2
1.1.3 机器学习的应用 4
1.2 机器学习分类 5
1.2.1 按任务类型分类 5
1.2.2 按学习方式分类 7
1.2.3 生成模型与判别模型 9
1.3 机器学习方法三要素 11
1.3.1 模型 11
1.3.2 策略 13
1.3.3 算法 14
1.3.4 小结 23
第2章 机器学习工程实践 24
2.1 模型评估指标 24
2.1.1 回归模型的评估指标 24
2.1.2 分类模型的评估指标 25
2.1.3 聚类模型的评估指标 33
2.1.4 常用距离公式 37
2.2 模型复杂度度量 40
2.2.1 偏差与方差 40
2.2.2 过拟合与正则化 42
2.3 特征工程与模型调优 47
2.3.1 数据挖掘项目流程 47
2.3.2 特征工程 50
2.3.3 模型选择与模型调优 57
第3章 线性回归 63
3.1 问题引入 63
3.2 线性回归模型 64
3.2.1 模型建立 64
3.2.2 策略确定 65
3.2.3 算法求解 66
3.2.4 线性回归模型流程 67
3.3 线性回归的scikit-learn实现 67
3.3.1 普通线性回归 68
3.3.2 Lasso回归 69
3.3.3 岭回归 70
3.3.4 ElasticNet回归 71
3.4 线性回归实例 73
3.5 小结 75
第4章 朴素贝叶斯 77
4.1 概述 77
4.2 相关原理 77
4.2.1 朴素贝叶斯基本原理 77
4.2.2 原理的进一步阐述 79
4.2.3 后验概率化的含义 82
4.2.4 拉普拉斯平滑 83
4.3 朴素贝叶斯的三种形式及scikit-learn实现 84
4.3.1 高斯型 84
4.3.2 多项式型 85
4.3.3 伯努利型 86
4.4 中文文本分类项目 87
4.4.1 项目简介 87
4.4.2 项目过程 87
4.4.3 完整程序实现 94
4.5 小结 100
第5章 K近邻 102
5.1 概述 102
5.2 K近邻分类原理 102
5.2.1 K值的选择 103
5.2.2 距离度量 103
5.2.3 分类决策规则 104
5.2.4 K近邻分类算法过程 105
5.3 K近邻回归原理 106
5.3.1 回归决策规则 106
5.3.2 K近邻回归算法过程 106
5.4 搜索优化——KD树 107
5.4.1 构造KD树 107
5.4.2 搜索KD树 108
5.5 K近邻的scikit-learn实现 110
5.5.1 K近邻分类 110
5.5.2 K近邻回归 112
5.6 K近邻应用实例 112
5.7 小结 115
第6章 决策树 117
6.1 概述 117
6.2 特征选择 119
6.2.1 信息增益 119
6.2.2 信息增益比 122
6.2.3 基尼指数 123
6.3 决策树生成 124
6.3.1 ID3决策树 124
6.3.2 C4.5决策树 125
6.3.3 CART决策树 126
6.4 决策树剪枝 131
6.5 决策树的scikit-learn实现 133
6.6 决策树应用于文本分类 135
6.7 小结 138
第7章 Logistic回归 140
7.1 Logistic回归概述 140
7.2 Logistic回归原理 140
7.2.1 Logistic回归模型 140
7.2.2 Logistic回归学习策略 141
7.2.3 Logistic回归优化算法 142
7.3 多项Logistic回归 144
7.4 Logistic回归的scikit-learn实现 144
7.5 Logistic回归实例 146
7.6 小结 153
第8章 支持向量机 155
8.1 感知机 155
8.1.1 感知机模型 155
8.1.2 感知机学习策略 157
8.1.3 感知机优化算法 159
8.1.4 感知机模型整体流程 159
8.1.5 小结 160
8.2 硬间隔支持向量机 160
8.2.1 引入 160
8.2.2 推导 161
8.3 软间隔支持向量机 169
8.4 合页损失函数 176
8.5 非线性支持向量机 177
8.6 SVM的scikit-learn实现 180
8.6.1 线性SVM 180
8.6.2 非线性SVM 181
8.7 SVM实例 182
8.8 小结 184
第9章 随机森林 186
9.1 Bagging 186
9.2 随机森林概念 188
9.3 RF的推广——extra trees 188
9.4 RF的scikit-learn实现 189
9.5 RF的scikit-learn使用实例 192
9.5.1 程序 193
9.5.2 结果及分析 195
9.5.3 扩展 198
9.6 小结 200
第10章 AdaBoost 202
10.1 AdaBoost的结构 202
10.1.1 AdaBoost的工作过程 203
10.1.2 AdaBoost多分类问题 204
10.1.3 AdaBoost回归问题 208
10.2 AdaBoost的原理 210
10.3 AdaBoost的scikit-learn实现 212
10.4 AdaBoost应用实例 214
10.5 AdaBoost模型的优缺点 217
第11章 提升树 218
11.1 提升树的定义 218
11.2 梯度提升树 223
11.2.1 梯度提升树的原理推导 224
11.2.2 GBDT和GBRT模型的处理过程 226
11.2.3 梯度提升模型的scikit-learn实现 227
11.2.4 梯度提升模型的scikit-learn使用实例 230
11.2.5 GBDT模型的优缺点 236
11.3 XGBoost 236
11.3.1 XGBoost的原理 236
11.3.2 XGBoost调参 239
11.3.3 XGBoost与GBDT的比较 241
第12章 聚类 243
12.1 聚类问题介绍 243
12.2 K-Means聚类 244
12.2.1 K-Means聚类过程和原理 244
12.2.2 K-Means算法优化 247
12.2.3 小结 248
12.2.4 K-Means应用实例 248
12.3 层次聚类 252
12.3.1 层次聚类的过程和原理 252
12.3.2 小结 254
12.3.3 层次聚类应用实例 254
12.4 密度聚类算法 256
12.4.1 密度聚类算法过程和原理 256
12.4.2 密度聚类小结 258
12.4.3 密度聚类应用实例 259
12.5 谱聚类 262
12.5.1 谱聚类的过程和原理 262
12.5.2 谱聚类小结 269
12.5.3 谱聚类应用实例 270
12.6 高斯混合模型 272
12.6.1 高斯混合聚类过程和原理 272
12.6.2 EM算法 274
12.6.3 小结 279
12.6.4 GMM应用实例 279
第13章 降维 282
13.1 奇异值分解 282
13.1.1 矩阵的特征分解 282
13.1.2 奇异值分解 283
13.2 主成分分析 286
13.2.1 PCA原理推导 287
13.2.2 核化PCA 293
13.2.3 PCA/KPCA的scikit-learn实现 293
13.3 线性判别分析 300
13.3.1 LDA原理推导 300
13.3.2 LDA与PCA的比较 305
13.3.3 LDA应用实例 306
13.4 局部线性嵌入 309
13.4.1 局部线性嵌入介绍 309
13.4.2 局部线性嵌入过程和原理 309
13.4.3 LLE应用实例 314
第14章 Word2Vec和Doc2Vec词向量模型 317
14.1 Word2Vec 317
14.1.1 Word2Vec概述 317
14.1.2 基于Hierarchical Softmax方法的CBOW模型 318
14.1.3 基于Hierarchical Softmax方法的Skip-Gram模型 322
14.1.4 基于Negative Sampling方法的CBOW模型 323
14.1.5 基于Negative Sampling方法的Skip-Gram模型 326
14.1.6 Word2Vec应用实例 327
14.2 Doc2Vec模型 329
14.2.1 Doc2Vec模型原理 329
14.2.2 Doc2Vec应用实例 331
第15章 深度神经网络 335
15.1 深度学习 335
15.1.1 概述 335
15.1.2 深度学习发展历史 336
15.2 神经网络原理 341
15.2.1 前向传播 341
15.2.2 反向传播 343
15.2.3 实例 347
15.2.4 几种常用激活函数 354
15.2.5 梯度消失与梯度爆炸 357
15.2.6 几种常用的优化算法 358
15.3 神经网络应用实例 363
15.4 小结 366
首先解答读者可能产生的一个疑问:本书的书名是《机器学习基础:从入门到求职》,但本书几乎通篇都在讲机器学习各种模型的原理推导和应用实例,这是为什么呢?其实本书的定位是帮助求职者快速入门并掌握机器学习相关的基础核心知识,降低学习成本,节省更多的时间。
为什么要这样做呢?原因也很简单。机器学习算法相关的岗位待遇比一般的开发岗位要好一些,但要求也变得更多。从目前的行情来看,站在公司招聘的角度,是一个既要、又要、还要的过程,即:既要掌握比较扎实的机器学习理论基础,又要有实践经验、懂业务场景,还要能编码、会计算机算法题。
对求职者来说,要求确实是太高了些。但这个岗位待遇好,有前途,也有“钱途”,因而很多人都报以极高的热情涌入,导致这个行业的招聘水涨船高,毕竟企业永远都是择优而选,优中取优!亲历过这几年求职或招聘的人可能会比较有感触:
2015年,机器学习在国内市场刚兴起的时候,懂机器学习算法的人不多,那时候企业招聘,只要是懂些皮毛的,可能都有机会去试一试。
2016年,市场开始火热,只懂些皮毛就不行了,必须还要懂得比较系统一点,要求求职者能够“手推”模型原理,再附加一些业务实践经验和计算机基础知识。
2017年,招聘的人不仅会问手推算法原理,还会细问项目内容及对业务的理解,再附加两道算法题。
2018年,招聘方希望你既要像算法工程师一样能“手推”模型原理,又要像传统程序员一样会写代码,还要像有工作经验的员工一样,有一些比较拿得出手的项目。
看到这里,如果你被这么多的要求吓到了,那么恭喜你,借这个心理转换过程重新定位自己,你可以学习本书;如果你决定迎难而上,那么也恭喜你,借这个机会赶紧查漏补缺,同样可以阅读本书。但是,如果你是计算机科班出身,已经信心满满,手握重点高校学历,重大科研项目经历,各种大厂实习经验,还有多篇“顶会”论文,那么这本书真的不适合你。
回到关于本书的定位问题上。上面说了既要、又要、还要的过程,也就是理论基础 业务能力 工程实践能力的过程。理论基础就是我们一直所说的机器学习算法理论,业务能力是指相关的项目或者工作经验,工程实践能力就是动手写代码的能力。对于一个想求职机器学习相关岗位的应届生,或者是想将机器学习应用到自己专业领域的人士,再或者是一个有一定编程经验想要转算法岗位的人来说,机器学习理论可能都是拦路虎。本书希望可以帮助读者用短的时间、少的精力,攻克这难的一关。所以,再次提醒大家,本书并没有讲述如何面试求职,而是可以带你快速入门并应用机器学习,带你走近机器学习求职的起点,帮你节省一些学习和摸索的时间,本书并不是一本机器学习岗位求职大全,也绝非是你求职准备的终点。
如果看到这里,还不确定是否适合学习本书,那么看看本书的“机器学习求职60问”吧,这些都是求职过程中可能遇到的高频问题,也是机器学习需要掌握的核心理论基础,而这些问题,在本书中都有较为详细的推导和解答。如果你看了这些问题以后觉得都已经掌握了,那么本书不适合你。如果对一半以上问题觉得没什么概念或者似懂非懂,那么建议你看一看本书,相信你会有所收获的!
机器学习求职60问
类型一:基础概念类
问题1:过拟合与欠拟合(定义、产生的原因、解决的方法各是什么)。
问题2:L1正则与L2正则(有哪些常见的正则化方法?作用各是什么?区别是什么?为什么加正则化项能防止模型过拟合)。
问题3:模型方差和偏差(能解释一下机器学习中的方差和偏差吗?哪些模型是降低模型方差的?哪些模型是降低模型偏差的?举例说明一下)。
问题4:奥卡姆剃刀(说一说机器学习中的奥卡姆梯刀原理)。
问题5:模型评估指标(回归模型和分类模型各有哪些常见的评估指标?各自的含义是什么?解释一下AUC?你在平时的实践过程中用到过哪些评估指标?为什么要选择这些指标)。
问题6:风险函数(说一下经验风险和结构风险的含义和异同点)。
问题7:优化算法(机器学习中常见的优化算法有哪些?梯度下降法和牛顿法的原理推导)。
问题8:激活函数(神经网络模型中常用的激活函数有哪些?说一下各自的特点)。
问题9:核函数(核函数的定义和作用是什么?常用的核函数有哪些?你用过哪些核函数?说一下高斯核函数中的参数作用)。
问题10:梯度消失与梯度爆炸(解释一下梯度消失与梯度爆炸问题,各自有什么解决方案)。
问题11:有监督学习和无监督学习(说一下有监督学习和无监督学习的特点,举例说明一下)。
问题12:生成模型与判别模型(你知道生成模型和判别模型吗?各自的特点是什么?哪些模型是生成模型,哪些模型是判别模型)。
类型二:模型原理类
问题13:线性回归(线性回归模型的原理、损失函数、正则化项)。
问题14:KNN模型(KNN模型的原理、三要素、优化方案以及模型的优缺点)。
问题15:朴素贝叶斯(朴素贝叶斯模型的原理推导,拉普拉斯平滑,后验概率化的含义以及模型的优缺点)。
问题16:决策树(决策树模型的原理、特征评价指标、剪枝过程和原理、几种常见的决策树模型、各自的优缺点)。
问题17:随机森林模型(RF模型的基本原理,RF模型的两个“随机”。从偏差和方差角度说一下RF模型的优缺点,以及RF模型和梯度提升树模型的区别)。
问题18:AdaBoost(AdaBoost模型的原理推导、从偏差和方差角度说一下AdaBoost、AdaBoost模型的优缺点)。
问题19:梯度提升树模型(GBDT模型的原理推导、使用GBDT模型进行特征组合的过程、GBDT模型的优缺点)。
问题20:XGBoost(XGBoost模型的基本原理、XGBoost模型和GBDT模型的异同点、XBGoost模型的优缺点)。
问题21:Logistic回归模型(LR模型的原理、本质,LR模型的损失函数,能否使用均方损失、为什么)。
问题22:支持向量机模型(SVM模型的原理,什么是“支持向量”?为什么使用拉格朗日对偶性?说一下KKT条件、软间隔SVM和硬间隔SVM的异同点。SVM怎样实现非线性分类?SVM常用的核函数有哪些?SVM模型的优缺点各是什么)。
问题23:K-Means聚类(K-Means聚类的过程和原理是什么?优化方案有哪些?各自优缺点是什么)。
问题24:层次聚类(层次聚类的过程、原理和优缺点)。
问题25:密度聚类(密度聚类的基本原理和优缺点)。
问题26:谱聚类(谱聚类的基本原理和优缺点)。
问题27:高斯混合聚类(高斯混合聚类的原理和优缺点)。
问题28:EM算法(EM算法的推导过程和应用场景)。
问题29:特征分解与奇异值分解(特征分解与奇异值分解的原理、异同点、应用场景)。
问题30:主成分分析(PCA模型的原理、过程、应用场景)。
问题31:线性判别分析(LDA模型的原理、过程、应用场景)。
问题32:局部线性嵌入(LLE模型的原理、过程、应用场景)。
问题33:词向量(Word2Vec模型和Doc2Vec模型的类别,各自原理推导、应用和参数调节)。
问题34:深度神经网络(深度神经网络模型的原理,反向传播的推导过程,常用的激活函数,梯度消失与梯度爆炸问题怎么解决?说一下深度神经网络中的Dropout、早停、正则化)。
类型三:模型比较类
问题35:LR模型与SVM模型的异同点。
问题36:LR模型与朴素贝叶斯模型的异同点。
问题37:KNN模型与K-Means模型的异同点。
问题38:ID3、C4.5、CART模型的异同点。
问题39:PCA模型与LDA模型的异同点。
问题40:Bagging方式和Boosting模型的异同点。
问题41:GBDT模型与XGBoost模型的异同点。
问题42:Word2Vec模型中CWOB模式与Skip模式的异同点。
问题43:Word2Vec模型和Doc2Vec模型的异同点。
类型四:模型技巧类
问题44:模型调参(随便选一个上述涉及的模型,说一下它的调参方式与过程)。
问题45:特征组合(常见的特征组合方式有哪些?各自特点是什么)。
问题46:特征工程(结合实践解释一下你所理解的特征工程)。
问题47:缺失值问题(说一下你遇到的缺失值处理问题,你知道哪些缺失值处理方式?你使用过哪些,效果怎样)。
问题48:样本不平衡问题(你知道样本不平衡问题吗?你是怎样处理的?效果怎么样?除上采样和下采样外,你还能自己设计什么比较新颖的方式吗)。
问题49:特征筛选(特征筛选有哪几种常见的方式?结合自己的实践经验说一下各自的原理和特点。)
问题50:模型选择(你一般怎样挑选合适的模型?有实际的例子吗?)
问题51:模型组合(你知道哪些模型组合方式?除了运用AdaBoost和RF等模型,你自己有使用过Bagging和Embedding方式组合模型吗?结合实际例子说明一下)。
问题52:AB测试(了解AB测试吗?为什么要使用AB测试)。
问题53:降维(为什么要使用降维?你知道哪些降维方法?你用过哪些降维方式?结合实际使用说明一下)。
问题54:项目(你做过哪些相关的项目?挑一个你觉得印象深刻的说明一下)。
问题55:踩过的坑(你在使用机器学习模型中踩过哪些坑?后你是如何解决的)。
类型五:求职技巧类
问题56:机器学习求职要准备哪些项?各项对应如何准备?
问题57:机器学习相关的学习内容有哪些?学习路线应该怎么定?有什么推荐的学习资料?
问题58:机器学习岗求职的投递方式有哪些?什么时间投递合适?投递目标应该怎样选择?
问题59:机器学习岗求职的简历好写哪些内容?所做的项目应该如何描述?
问题60:面试过程中自我介绍如何说比较合适?求职心态应该如何摆正?如果遇到压力该如何面对?面试过程中如何掌握主导权?怎样回答面试官后的“你还有什么要问我的”问题?怎样面对后的人力资源面试?
致谢
首先,我要感谢每一位为此书做出贡献的人和每一位读者,你们的认可与鼓励是我坚持写作的源动力,希望本书的内容可以给你们带来一份惊喜!
评论
还没有评论。