二维码

《百面机器学习》电子书下载 - 数据结构 - 机器学习

1545 人阅读 | 时间:2021年01月15日 01:23


《百面机器学习》电子书下载

4228 人参与  2019年04月16日 12:17  分类 : 机器学习电子书  评论

《百面机器学习》电子书下载 - 数据结构 - 机器学习

《百面机器学习》资源CSDN下载

《百面机器学习》kindle电子书下载

《百面机器学习》百度网盘下载(提取码:y0sh)


目  录

版权信息

内容提要

推荐序

前 言

机器学习算法工程师的自我修养

第1章 特征工程

01 特征归一化

02 类别型特征

03 高维组合特征的处理

04 组合特征

05 文本表示模型

06 Word2Vec

07 图像数据不足时的处理方法

第2章 模型评估

01 评估指标的局限性

02 ROC曲线

03 余弦距离的应用

04 A/B测试的陷阱

05 模型评估的方法

06 超参数调优

07 过拟合与欠拟合

第3章 经典算法

01 支持向量机

02 逻辑回归

03 决策树

第4章 降维

01 PCA最大方差理论

02 PCA最小平方误差理论

03 线性判别分析

04 线性判别分析与主成分分析

第5章 非监督学习

01 K均值聚类

02 高斯混合模型

03 自组织映射神经网络

04 聚类算法的评估

第6章 概率图模型

01 概率图模型的联合概率分布

02 概率图表示

03 生成式模型与判别式模型

04 马尔可夫模型

05 主题模型

第7章 优化算法

01 有监督学习的损失函数

02 机器学习中的优化问题

03 经典优化算法

04 梯度验证

05 随机梯度下降法

06 随机梯度下降法的加速

07 L1正则化与稀疏性

第8章 采样

01 采样的作用

02 均匀分布随机数

03 常见的采样方法

04 高斯分布的采样

05 马尔可夫蒙特卡洛采样法

06 贝叶斯网络的采样

07 不均衡样本集的重采样

第9章 前向神经网络

01 多层感知机与布尔函数

深度神经网络中的激活函数

03 多层感知机的反向传播算法

04 神经网络训练技巧

05 深度卷积神经网络

06 深度残差网络

第10章 循环神经网络

01 循环神经网络和卷积神经网络

02 循环神经网络的梯度消失问题

03 循环神经网络中的激活函数

04 长短期记忆网络

05 Seq2Seq模型

06 注意力机制

第11章 强化学习

01 强化学习基础

02 视频游戏里的强化学习

03 策略梯度

04 探索与利用

第12章 集成学习

01 集成学习的种类

02 集成学习的步骤和例子

03 基分类器

04 偏差与方差

05 梯度提升决策树的基本原理

06 XGBoost与GBDT的联系和区别

第13章 生成式对抗网络

01 初识GANs的秘密

02 WGAN:抓住低维的幽灵

03 DCGAN:当GANs遇上卷积

04 ALI:包揽推断业务

05 IRGAN: 生成离散样本

06 SeqGAN:生成文本序列

第14章 人工智能的热门应用

01 计算广告

02 游戏中的人工智能

03 AI在自动驾驶中的应用

04 机器翻译

05 人机交互中的智能计算

后记

作者随笔

参考文献

人工智能领域正在以超乎人们想象的速度发展,本书赶在人工智能彻底“占领”世界之前完成编写,实属万幸。

书中收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景。本书从日常工作、生活中各种有趣的现象出发,不仅囊括了机器学习的基本知识,而且还包含了成为优秀算法工程师的相关技能,更重要的是凝聚了笔者对人工智能领域的一颗热忱之心,旨在培养读者发现问题、解决问题、扩展问题的能力,建立对机器学习的热爱,共绘人工智能世界的宏伟蓝图。

“不积跬步,无以至千里”,本书将从特征工程、模型评估、降维等经典机器学习领域出发,构建一个算法工程师必备的知识体系;见神经网络、强化学习、生成对抗网络等最新科研进展之微,知机器学习领域胜败兴衰之著;“博观而约取,厚积而薄发”,在最后一章为读者展示生活中各种引领时代的人工智能应用。

推荐序

很荣幸有机会推荐清华大学计算机系1991级校友诸葛越和她的团队写的新书《百面机器学习:算法工程师带你去面试》。

毋庸置疑,人工智能现在正在蓬勃兴起,就像生机勃发的春天,就其热度而言,说它处在夏天也十分贴切,但我更愿意把它比作收获的金秋。目前席卷全球的人工智能大潮,实际上是机器学习二三十年来理论和算法研究厚积薄发的结果(当然,还要加上与大数据和强大计算能力的风云际会),其本质属于“弱人工智能”范畴。这一波大潮恣肆到极致后一旦消退,我们期望的下一波大潮必然将是“强人工智能”所催发的,但由于其理论探索的高度困难性,尚难以设想下一波大潮什么时候才会再次奔涌而至。所以当下的我们,一定要把握住这难得的机遇,抓紧收获“弱人工智能”慷慨馈赠的足够丰硕的“果实”。可以想象,形形色色的人工智能应用将在近一两年走进千家万户,会像互联网一样,给人们的生活,给社会和经济带来深远的影响。

然而,收获并不是唾手可得的,只有有能耐摘取“果实”的人才能尽享丰收的喜悦—这就是在一线从事人工智能和机器学习工作的人们(通常也被称作算法工程师)。正是这些人,针对不同的实际应用,在不断地尝试新的方法,不断地实现新的算法。他们了解需求、收集数据、设计算法、反复实验并持续优化。他们是人工智能新一代技术的“弄潮儿”和推动者。

那么,你是否想成为他们中的一员呢?你又如何能快速成为他们中的一员呢?

也许这本书可以帮你前进一步。在人工智能技术如火如荼的时代,大批优秀的研究员和程序员正辛勤致力于解决人工智能和机器学习的实际应用问题,市场上急需这方面的技术实操书。而本书刚好填补了这方面的空白。它的内容由简至繁依次展开,涵盖了机器学习各个实用领域,并采取了举例和问答的形式,生动活泼,使每个读者既能了解人工智能从业者所需要的技能,又能学会掌握这些技能。

我从事人工智能研究已有三十余年了,研究兴趣比较广泛,涵盖了自然语言理解、机器学习、社会人文计算等,与这个领域相知相行。我认识诸葛越多年,她是我们系有名的“学霸”,曾经获得美国计算机学会数据库专业委员会十年最佳论文奖(ACM SIGMOD Test of Time Award)。回国后她也常常来系里参加活动。我了解到她的团队中的每一位成员都有非常优秀的背景。本书是工业界每天从事机器学习工作的数据科学家一起撰写的著作,它一定不会让你失望。

希望更多的朋友通过读这本书,成为更好的算法工程师、数据科学家和人工智能的实践者。我带领的研究小组最近研制了一个“九歌”古诗自动写作系统,2017年登录央视大型科学挑战类节目《机智过人》,它在节目中的表现初步达到了与人类诗人难分伯仲的程度,而其基本框架正是得益于本书讲述了的长短期记忆网络和Seq2Seq 模型。这里我姑且借用“九歌”写作的一首五绝集句诗,祝本书的所有读者都能在这

个激动人心的技术新时代更上一层楼:

更上一层楼《登鹳雀楼》唐•王之涣

蝉声满树头《闲二首》唐•元稹

春光无限好《感皇恩•春水满池塘》宋•叶景山

月涌大江流《旅夜书怀》唐•杜甫

孙茂松

清华大学计算机系教授,博导,前系主任,前党委书记

2018年6月2日于清华园

人工智能的三次浪潮

2018年年初,招聘季正如火如荼地进行,而“数据科学家”和“算法工程师”绝对算得上热门职业。

“人工智能”“机器学习”“深度学习”“建模”“卷积神经网络”等关键词,不仅仅是人们茶余饭后的谈资,而且更会像“数据结构”“排序”和“链表”一样,成为软件工程师的必备技能。

人工智能技术正在对社会结构、职场、教育等带来革命性的变化。 未来几年是人工智能技术全面普及化的时期,也是该技术的相关人才最为稀缺的时期。所以,我们希望能够通过这本书,帮助对人工智能和机器学习感兴趣的朋友更加深入地了解这个领域的基本技能,帮助已经有计算机技术基础的同行们,成为驾驭人工智能和机器学习的高手。

写在书的前面,我先简单介绍一下我了解的人工智能和机器学习的背景和历史,解释为什么现在是学习机器学习算法的大好时机。

■ 我与人工智能

我的本科专业是人工智能。当年我上大学时,清华大学的计算机系每个年级有6个班,入学的时候就把每个班的专业分好。我们三班的专业是人工智能。所以在本科的时候,我就接触到许多当时人工智能领域的前沿技术。我的人工智能入门课的导师是可亲可敬的林尧瑞教授,也是《人工智能导论》的作者。这门课被我们戏谑为“猴子摘香蕉”,因为最开始的问题就是一只智能的猴子,如何自己组合积木去拿到天花板上挂着的香蕉。

当时清华大学的本科是5年制,正要开始改革,有少部分学生可以在四年级的时候开始接触研究生的一些活动,6年可以拿到硕士学位。我有幸被选为这几个学生之一,在本科四年级的时候,我进入了清华大学的人工智能实验室,师从张钹老师,做一些简单的研究。 从张老师和高年级的同学们那里,我学到人工智能领域不少当时国际先进的知识。

或许你不知道,“人工智能”(Artificial Intelligence)这个词,就来自约翰·麦卡锡。

因为本科是人工智能专业,所以我对人工智能一直比较感兴趣,在斯坦福又去学了一次人工智能课CS140。当时教这个课的是尼尔斯·尼尔森 (Nils Nilsson)教授。他是另外一位人工智能的学科创始人和世界级专家,写作了被广泛引用的经典之作——《对人工智能的探索》(The Quest for Artificial Intelligence)。尼尔森教授的课非常有趣,我还跟他做了一个小的项目,规划一个扫地机器人的路径。至今,我还保留了这门课的笔记。

说实话,我年轻的时候每天做作业、做课题,没有意识到,能和这些顶级科学家同堂是多么幸运的事,也未必知道自己正在见证某个技术领域的世界前沿。最顶尖的技术,开始都是只有小众才能理解和欣赏的。

然而,我的博士论文并没有专攻人工智能,反而做的是大数据方向,做了最早的数据仓库和数据挖掘工作。现在看来,我这几次和人工智能以及人工智能大咖的偶遇,刚好和人工智能的三次浪潮有关。第一次人工智能的浪潮就是约翰·麦卡锡那一代人。他们从20世纪50年代开始,打下了计算机学科和人工智能的理论基础。 第二次是我在清华大学期间,研究者们看到了一些人工智能应用的可能性,比如机械手、机器人、专家系统。最近,基于大数据、机器学习的人工智能再次兴起,可以称为人工智能的第三次浪潮 。

■ 人工智能的三次浪潮

我来简单定义和解释一下本书用到的概念。

人工智能泛指让机器具有人的智力的技术。这项技术的目的是使机器像人一样感知、思考、做事、解决问题 。人工智能是一个宽泛的技术领域,包括自然语言理解、计算机视觉、机器人、逻辑和规划等,它可以被看作计算机专业的子领域,除了和计算机相关,它还和心理学、认知科学、社会学等有不少交叉。

机器学习指计算机通过观察环境,与环境交互,在吸取信息中学习、自我更新和进步。 大家都了解计算机程序是怎么回事,一个程序是计算机可以执行的一系列的指令,比如打印一张图。那么机器学习跟我们熟知的程序的本质区别是什么呢?你可以想象,某个程序是机器写的,而不是一个程序员写的。那么机器怎么知道如何写这个程序呢?这个机器就是从大量的数据当中学到的。

我们先来短暂地回顾一下人工智能的三次浪潮。它们有什么特点?又有什么不同?它们又是怎样互相联系,如何在前一次的基础之上建立的?

第一次人工智能浪潮大约在20世纪50年代。1956年,在达特茅斯的人工智能研讨会上,约翰·麦卡锡正式提出“人工智能”这个概念,被公认是现代人工智能学科的起始。麦卡锡与麻省理工学院的马文·明斯基(Marvin Minsky)被誉为“人工智能之父”。

在计算机被发明的早期,许多计算机科学家们就认真地思考和讨论这个人类发明出来的机器,和人类有什么根本区别。图灵机和图灵测试,就是这个思考的一个最典型结果。最初的那批思考人工智能的专家,从思想和理论上走得非常前沿,内行的专家很早就看到了计算机的潜力。我们现在所问的这些问题,他们其实都问过了。比如,什么叫“推理”(reasoning), 机器如何推理;什么叫“懂得”(understanding),机器如何懂得;什么叫知识(knowledge),机器如何获取和表达知识;什么时候,我们无法分辨出机器和人。这个阶段产生了许多基础理论,不仅是人工智能的基础理论,也是计算机专业的基石。

从技术上来说,第一次人工智能的大发展,主要是基于逻辑的。1958年麦卡锡提出了逻辑语言 LISP。从20世纪50年代到20世纪80年代,研究者们证明了计算机可以玩游戏,可以进行一定程度上的自然语言理解。 在实验室里,机器人可以进行逻辑判断、搭积木;机器老鼠可以针对不同的路径和障碍做出决定;小车可以在有限的环境下自己驾驶。研究者们发明了神经网络,可以做简单的语言理解和物体识别。

然而,在人工智能的前二三十年里,它虽然是一个硕果累累的科研领域,人们实际生活中的用处却几乎没有。20世纪80年代初,人工智能因为缺乏应用而进入“冬季”。到80年代末和90年代初,在我刚入大学的那段时间里,人工智能科学家们决定另辟蹊径,从解决大的普适智能问题,转向解决某些领域的单一问题。“专家系统”这个概念被提了出来,它让这些研究成果找到了第一个可能的商业出路。

计算机技术经过了30年左右的发展,数据存储和应用有了一定的基础。研究者们看到人工智能和数据结合的可能性,而结合得最好的应用就是“专家系统”。如果我们能把某一个行业的数据,比如说关于心脏病的所有数据,都告诉一个机器,再给它一些逻辑,那这个机器岂不是就成了“心脏病专家”,如果我们要看病,是否就可以问它?

看病、预报天气等各行各业的专家系统,听起来非常有希望、有意义,也确实有实际的应用场景,所以当时学术界对人工智能又掀起了一阵热潮。然而,比较有意思的是,当我们想要用这些专家系统来做一些聪明的诊断的时候,我们发现遇到的问题并不是如何诊断,而是大部分的数据在当时还不是数字化的。病人的诊断历史还停留在看不懂的医生手写处方上。有些信息就算是已经开始数字化,也都是在一些表格里面,或者是在一些不互相连接的机器里面,拿不到,用不了。

于是,我们这一批想去做自动诊断的人,反而去做了一些基础的工作。这个基础的工作用一句话说,就是把世界上所有的信息数字化。

在一批人致力于把世界上每一本书、每一张图、每一个处方都变成电子版的时候,互联网的广泛应用,又把这些信息相互联接了起来,成了真正的大数据。同时,摩尔定律(Moore’s law)预测的计算性能增加一直在起作用。随着计算能力的指数增长,那些只能在实验室里或有限场景下实现的应用,离现实生活越来越近了。1997年,“深蓝”打败当时的世界象棋冠军Garry Kasparov,和2017年AlphaGo围棋打败李世石一样,被公认是一个里程碑 。其实,随着计算能力的提高,在这些单一的、有确定目标的事情上机器打败人,都只是个时间问题。

第三次的人工智能浪潮就是基于另外两个技术领域的大发展,一个是巨大的计算能力,一个是海量的数据。巨大的计算能力来自于硬件、分布式系统、云计算技术的发展。最近,专门为神经网络制作的硬件系统(neural-network-based computing)又一次推动了人工智能软硬件结合的大进步。海量的数据来源于前几十年的数据积累和互联网技术的发展。比如,2001年上市的GPS系统,带来前所未有的大量出行数据;智能手机带来了前所未有的人们生活习性的数据,等等。计算能力和数据的结合,促进、催化了机器学习算法的飞跃成长。

这次的人工智能浪潮起始于近10年。技术的飞跃发展,带来了应用前所未有的可能性。最近这次人工智能浪潮和前两次最基本的不同是它的普遍应用和对普通人生活的影响。也就是说,人工智能离开了学术实验室,真正走进大众的视野。

■ 人工智能全面逼近人类能力?

为什么这次人工智能浪潮如此凶猛?人工智能真的全面逼近了人类的能力吗?人工智能技术现在发展到什么阶段?我们先来看3个简单的事实。

首先,历史上第一次,计算机在很多复杂任务的执行上超过人类或者即将超过人类,比如图像识别、视频理解、机器翻译、汽车驾驶、下围棋,等等。这些都是人们容易理解的,一直由人类完成的任务。所以,人工智能取代人类的话题开始出现在各种头条。

其实,在单一技术方面,许多计算相关的技术早已超过人类的能力,而且被广泛应用,比如导航、搜索、搜图、股票交易。不少人已经习惯于用语音给简单指令操作。但是,这些相对单纯的技术主要是“完成一个任务”,计算机没有过多地涉猎人的感知、思考、复杂判断,甚至于情感。

然而,近几年来机器完成的任务,从复杂性和形式越来越逼近人类。比如,基于机器学习的自动驾驶技术已经趋于成熟,这项技术不仅会对人们的出行方式有革命性的影响,而且会影响到城市建设、个人消费、生活方式。人们也许再也不需要拥有汽车,再也不需要会开车。大家对这类新技术的快速到来既兴奋又恐惧,一方面享受技术带来的便利,另一方面又对太快的变化有些手足无措。

另外,计算机的自学习能力不断增强。现代机器学习算法,尤其深度学习类机器学习算法的发展,使机器的行为不再是相对可预测的“程序”或者“逻辑”,而更像“黑盒思考”,有了近乎人类的难以解释的思考能力。


取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
关闭广告
关闭广告
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×