导航:首页 > 文档加密 > 百面机器学习pdf

百面机器学习pdf

发布时间:2023-08-22 08:34:36

A. 如何准备机器学习工程师的面试

机器学习方面的面试主要分成三个部分:
1. 算法和理论基础
2. 工程实现能力与编码水平
3. 业务理解和思考深度

1. 理论方面,我推荐最经典的一本书《统计学习方法》,这书可能不是最全的,但是讲得最精髓,薄薄一本,适合面试前突击准备。

我认为一些要点是:
统计学习的核心步骤:模型、策略、算法,你应当对logistic、SVM、决策树、KNN及各种聚类方法有深刻的理解。能够随手写出这些算法的核心递归步的伪代码以及他们优化的函数表达式和对偶问题形式。

非统计学习我不太懂,做过复杂网络,但是这个比较深,面试可能很难考到。

数学知识方面,你应当深刻理解矩阵的各种变换,尤其是特征值相关的知识。

算法方面:你应当深刻理解常用的优化方法:梯度下降、牛顿法、各种随机搜索算法(基因、蚁群等等),深刻理解的意思是你要知道梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部等等。

2. 工程实现能力与编码水平
机器学习从工程实现一般来讲都是某种数据结构上的搜索问题。

你应当深刻理解在1中列出的各种算法对应应该采用的数据结构和对应的搜索方法。比如KNN对应的KD树、如何给图结构设计数据结构?如何将算法map-red化等等。

一般来说要么你会写C,而且会用MPI,要么你懂Hadoop,工程上基本都是在这两个平台实现。实在不济你也学个python吧。

3. 非常令人失望地告诉你尽管机器学习主要会考察1和2
但是实际工作中,算法的先进性对真正业务结果的影响,大概不到30%。当然算法必须要足够快,离线算法最好能在4小时内完成,实时算法我没搞过,要求大概
更高。

机器学习大多数场景是搜索、广告、垃圾过滤、安全、推荐系统等等。对业务有深刻的理解对你做出来的系统的结果影响超过70%。这里你没做过实际的项目,是
完全不可能有任何体会的,我做过一个推荐系统,没有什么算法上的高大上的改进,主要是业务逻辑的创新,直接就提高了很明显的一个CTR(具体数目不太方便
透露,总之很明显就是了)。如果你做过实际的项目,一定要主动说出来,主动让面试官知道,这才是最大最大的加分项目。

最后举个例子,阿里内部机器学习挑战赛,无数碾压答主10000倍的大神参赛。最后冠军没有用任何高大上的算法而是基于对数据和业务的深刻理解和极其细致
的特征调优利用非常基本的一个算法夺冠。所以啥都不如真正的实操撸几个生产项目啊。

B. 《精通数据科学:从线性回归到深度学习》pdf下载在线阅读全文,求百度网盘云资源

《精通数据科学:从线性回归到深度学习》(唐亘)电子书网盘下载免费在线阅读

链接: https://pan..com/s/1cQ6f79HuCy5Spcrx81DsiQ

提取码: wn5b

书名:精通数据科学:从线性回归到深度学习

作者:唐亘

豆瓣评分:7.2

出版社:人民邮电出版社

出版年份:2018-5-8

页数:432

内容简介:

数据科学是一门内涵很广的学科,它涉及到统计分析、机器学习以及计算机科学三方面的知识和技能。本书深入浅出、全面系统地介绍了这门学科的内容。

本书分为13章,最初的3章主要介绍数据科学想要解决的问题、常用的IT工具Python以及这门学科所涉及的数学基础。第4-7章主要讨论数据模型,主要包含三方面的内容:一是统计中最经典的线性回归和逻辑回归模型;二是计算机估算模型参数的随机梯度下降法,这是模型工程实现的基础;三是来自计量经济学的启示,主要涉及特征提取的方法以及模型的稳定性。接下来的8-10章主要讨论算法模型,也就是机器学习领域比较经典的模型。这三章依次讨论了监督式学习、生成式模型以及非监督式学习。目前数据科学最前沿的两个领域分别是大数据和人工智能。本书的第11章将介绍大数据中很重要的分布式机器学习,而本书的最后两章将讨论人工智能领域的神经网络和深度学习。

本书通俗易懂,而且理论和实践相结合,可作为数据科学家和数据工程师的学习用书,也适合对数学科学有强烈兴趣的初学者使用。同时也可作为高等院校计算机、数学及相关专业的师生用书和培训学校的教材。

作者简介:

唐亘,数据科学家,专注于机器学习和大数据,热爱并积极参与Apache Spark、scikit-learn等开源项目。作为讲师和技术顾问,为多家机构(包括惠普、华为、复旦大学等)提供百余场技术培训。

此前的工作和研究集中于经济和量化金融,曾参与经济合作与发展组织(OECD)的研究项目并发表论文,并担任英国知名在线出版社Packt的技术审稿人。

曾获得复旦大学的数学和计算机双学士学位;巴黎综合理工的金融硕士学位;法国国立统计与经济管理学校的数据科学硕士学位。

C. 《终极算法机器学习和人工智能如何重塑世界》epub下载在线阅读全文,求百度网盘云资源

《终极算法机器学习和人工智能如何重塑世界》([美]佩德罗·多明戈斯)电子书网盘下载免费在线阅读

链接:

提取码:BZVU

书名:终极算法机器学习和人工智能如何重塑世界

作者:[美] 佩德罗·多明戈斯
出版社:中信出版集团
副标题:机器学习和人工智能如何重塑世界
原作名:The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
译者:黄芳萍
出版年:2017-1-1
页数:402

内容简介

算法已在多大程度上影响我们的生活?购物网站用算法来为你推荐商品,点评网站用算法来帮你选择餐馆,GPS系统用算法来帮你选择最佳路线,公司用算法来选择求职者……当机器最终学会如何学习时,将会发生什么?不同于传统算法,现在悄然主导我们生活的是“能够学习的机器”,它们通过学习我们琐碎的数据,来执行任务;它们甚至在我们还没提出要求,就能完成我们想做的事。

作者简介

佩德罗•多明戈斯(Pedro Domingos)美国华盛顿大学计算机科学教授,加州大学欧文分校信息与计算机科学博士,在机器学习与数据挖掘方面着有200多部专业着作和数百篇论文。国际机器学习学会联合创始人,《机器学习》杂志编委会成员,JAIR前副主编。美国人工智能协会院士(AAAI Fellow,国际人工智能界的最高荣誉),荣获SIGKDD创新大奖(数据科学领域的最高奖项)、斯隆奖(Sloan Fellowship)、美国国家科学基金会成就奖(NSF CAREER Award)、富布赖特奖学金、IBM学院奖以及多个顶级论文奖项。

D. 几种常见的循环神经网络结构RNN、LSTM、GRU

传统文本处理任务的方法中一般将TF-IDF向量作为特征输入。显而易见,这样的表示实际上丢失了输入的文本序列中每个单词的顺序。在神经网络的建侍空模过程中,一般的前馈神经网络,如卷积神经网络,通常接受一个定长的向量作为输入。卷积神经网络对文本数据建模时,输入变长的字符串或者单词串,然后通过滑动窗口加池化的方式将原先的输入转换成一个固定长度的向量表示,这样做可以捕捉到原文本中的一些局部特征,但是两个单词之间的长距离依赖关系还是很难被学习到。
循环神经网络却能很好地处理文本数据变长并且有序的输入序列。它模拟了人阅读一篇文章的顺序,从前到后阅读文章中的每一个单词,将前面阅读到的有用信息编码到状态变量中去,从而拥有了一定的记忆能力,可以更好地理解之后的文本。
其网络结构如下图所示:

由图可见,t是时刻,x是输入层,s是隐藏层,o是输出层,矩阵W就是隐藏层上一次的值作为这一次的输入的权重。

如果反复把式 2 带入到式 1,将得到:

其中f和g为激活函数,U为输入层到隐含层的权重矩阵,W为隐含层从上一时刻到下一时刻状态转移的权重矩阵。在文本分类任务中,f可以选取Tanh函数或者ReLU函数,g可以采用Softmax函数。

通过最小化损失误差(即输出的y与真实类别之间的距离),我们可以不断训练网络,使得得到的循环神经网络可以准确地预测文本所属的类别,达到分类目的。相比于卷积神经网络等前馈神经网络,循环神经网络由于具备对序列顺序信息的刻画能力,往往能得到更准确的结果。

RNN的训练算法为:BPTT
BPTT的基本原理和BP算法是一样的,同样是三步:
1.前向计算每个神经元的输出值;
2.反向计算每个神经元的误差项值,它是误差函数E对神经元j的加权输入的偏导数;
3.计算每个权重的梯度。
最后再用随机梯度下降算法更新权重。
具体参考: https://www.jianshu.com/p/39a99c88a565
最后由链式法则得到下面以雅可比矩阵来表达的每个权重的梯度:

由于预测的误差是沿着神经网络的每一层反向传播的,因此当雅克比矩阵的最大特征值大于1时,随着离输出越来越远,每层的梯度大小会呈指数增长,导致梯度爆炸;反之,若雅克比矩阵的最大特征值小于1,梯度的大小会呈指数缩小,产生梯度消失。对于普通的前馈网络来说,梯度消失意味着无法通过加深网络层次来改善神经网络的预测效果,因为无论如何加深网络,只有靠近输出的若干层才真正起到学习的作用。 这使得循环神经网络模型很难学习到输入序列中的长距离依赖关系

关于RNN梯度下降的详细推导可以参考: https://zhuanlan.hu.com/p/44163528

梯度爆凳缺炸的问题可以通过梯度裁剪来缓解,即当梯度的范式大于某个给定值时,对梯度进行等比收缩。而梯度消失问题相对比较棘手,需要对模型本身进行改进。深度残差网络是对前馈神经网络的改进,通过残差学习的方式缓解了梯度消失的现象,从而使得我们能够学习到更深层的网络表示;而对于循环神经网络来说,长短时记忆模型及其变种门控循环单元等模型通过加入门控机制,很大程度上弥补了梯度消失所带来的损失。

LSTM的网络机构图如下所示:

与传统的循环神经网络相比,LSTM仍然是基于xt和ht−1来计算ht,只不过对内部的结构进行了更加精心的设计,加入了输入门it 、遗忘门ft以及输出门ot三个门和一个内部记忆单元ct。输入门控制当前计算的新状态以多大程度更新到记忆单元中;遗老粗瞎忘门控制前一步记忆单元中的信息有多大程度被遗忘掉;输出门控制当前的输出有多大程度上取决于当前的记忆单元。

在经典的LSTM模型中,第t层的更新计算公式为

其中it是通过输入xt和上一步的隐含层输出ht−1进行线性变换,再经过激活函数σ得到的。输入门it的结果是向量,其中每个元素是0到1之间的实数,用于控制各维度流过阀门的信息量;Wi 、Ui两个矩阵和向量bi为输入门的参数,是在训练过程中需要学习得到的。遗忘门ft和输出门ot的计算方式与输入门类似,它们有各自的参数W、U和b。与传统的循环神经网络不同的是,从上一个记忆单元的状态ct−1到当前的状态ct的转移不一定完全取决于激活函数计算得到的状态,还由输入门和遗忘门来共同控制。

在一个训练好的网络中,当输入的序列中没有重要信息时,LSTM的遗忘门的值接近于1,输入门的值接近于0,此时过去的记忆会被保存,从而实现了长期记忆功能;当输入的序列中出现了重要的信息时,LSTM应当把其存入记忆中,此时其输入门的值会接近于1;当输入的序列中出现了重要信息,且该信息意味着之前的记忆不再重要时,输入门的值接近1,而遗忘门的值接近于0,这样旧的记忆被遗忘,新的重要信息被记忆。经过这样的设计,整个网络更容易学习到序列之间的长期依赖。

GRU是在LSTM上进行简化而得到的,GRU的网络结构如下所示:

Zt代表更新门,更新门的作用类似于LSTM中的遗忘门和输入门,它能决定要丢弃哪些信息和要添加哪些新信息。
Rt代表重置门,重置门用于决定丢弃先前信息的程度。

要注意的是,h只是一个变量,因此在每个时刻,包括最后的线性组合,h都是在用以前的自己和当前的备选答案更新自己。举例来说,这一个变量好比一杯酒,每次我们要把一部分酒倒出去,并把倒出去的酒和新加入的原料混合,然后在倒回来,这里的reset控制的就是要倒出去的,并且混合好之后再倒回来的酒的比例,而update控制的则是用多大的比例混合新原料和倒出来的之前调制好的酒。同理,也可以以此理解LSTM,LSTM的遗忘门功能上和reset相似,而输入门与update相似,不同之处在于LSTM还控制了当前状态的exposure,也就是输出门的功能,这是GRU所没有的。

1.百面机器学习
2. https://zhuanlan.hu.com/p/45649187
3. https://www.jianshu.com/p/39a99c88a565

阅读全文

与百面机器学习pdf相关的资料

热点内容
android模拟器调试 浏览:129
sap命令大全 浏览:290
mysql导出数据命令 浏览:949
文件夹隐藏了出不来 浏览:562
电信网上大学源码 浏览:204
rr轮转调度算法 浏览:253
我的世界无法登入服务器怎么办 浏览:148
文件加密授权特定隐藏访问控制 浏览:801
程序员剑灵官网 浏览:516
php调用static方法 浏览:934
天正命令版 浏览:86
聚合支付加密币 浏览:313
蜜源app是什么时候创立的 浏览:706
计算机专业学51单片机 浏览:210
程序员不接受反驳 浏览:298
微软自带的压缩软件 浏览:289
中国玩家在日本服务器做什么 浏览:51
12864和单片机 浏览:898
25匹空调压缩机 浏览:649
adkandroid下载 浏览:310