基本信息

编辑推荐
从生活案例中理解算法,发现算法的乐趣,再把算法应用到机器学习中。
零基础掌握算法精髓,快速进入人工智能开发领域。
内容简介
目录
第1章 机器学习概述 1
1.1 什么是机器学习 1
1.2 机器学习的几个需求层次 3
1.3 机器学习的基本原理 5
1.4 机器学习的基本概念 7
1.4.1 书中用到的术语介绍 7
1.4.2 机器学习的基本模式 11
1.4.3 优化方法 12
1.5 机器学习问题分类 14
1.6 常用的机器学习算法 15
1.7 机器学习算法的性能衡量指标 16
1.8 数据对算法结果的影响 18
第2章 机器学习所需的环境 20
2.1 常用环境 20
2.2 Python简介 21
2.2.1 Python的安装 23
2.2.2 Python的基本用法 24
2.3 Numpy简介 25
2.3.1 Numpy的安装 26
前言
但是,学习机器学习的路途是坎坷和颠簸的,唯一不缺的就是让你半途而废的借口。机器学习今日的成就是站在巨人的肩膀上取得的,因此,当你终于下定决心学习机器学习时,很多人会给你开出一串长长的学习清单:机器学习涉及大量向量和矩阵运算,所以线性代数是肯定要学的;机器学习的很多模型算法都以统计知识作为背景,所以统计学和概率论也是必修的;许多重要环节依赖微分运算,那本好久不看的《高等数学》是不是到了重出江湖的时候了?
想想看,如果告诉你学习机器学习,首先得把《线性代数》《概率统计》《高等数学》统统翻一遍,然后你才只是刚刚摸到学习机器学习的起跑线,如果不擅长数学,你得需要多大的毅力才能坚持下来,把机器学习学明白?
真的很难,如果开始学习机器学习时我就知道后面会承受这么多“痛苦”,也许我根本就不会开始。特别是如果你也是利用业余时间来自学机器学习,那么真的称得上煎熬:当你已经为别的事情绞尽脑汁,好不容易有了那么一点属于自己的时间,想要学习充电时,结果鼓起勇气翻开书本,扑面而来的全是各种难以理解的数学公式和闻所未闻的专业术语,你就能立即体会到什么是无力感。
那时我总是在想,能不能有一本教机器学习的书对读者友好一点。首先不要假设读者擅长数学,认为读者一上来就可以看懂各种高深的数学公式,在介绍机器学习具体模型算法时要能按照从宏观到微观的顺序介绍。刚接触新的知识领域,先把模型算法的主要原理和基本结构讲清楚,让读者在脑海里勾勒出基本的轮廓,明确各种概念之间的关系,然后才深入各个细枝末节展开介绍,这样读者才不至于觉得自己一直在各种陌生的公式里转来转去,最后看得晕头转向。最后我还想再贪心一点,希望这本书的文字能够稍微有趣一点,最好能像弹幕评论那样在不经意间引人会心一笑,毕竟我是利用睡前的时间来学习机器学习,辛苦了一天,身体和精神都很疲惫,文字太生硬的话恐怕是啃不动的。
我找了很久,可惜直到最后也未能找到这样的一本书。现在,我决定自己动手来写一本。不过,这本书也并不能让你在短期内就全面掌握机器学习的各种知识。机器学习不但自成体系,自身就拥有枝繁叶茂的知识结构,而且也从多门大学科里汲取养分,又带有交叉学科的一些特点,可能将一个子问题深入研究下去就能发展成一门新学科—从神经网络发展到深度学习就是一个很好的例子。弱水三千,一本书哪怕写得再凝练透彻,也只能取一瓢饮。学习机器学习犹如建造大厦,总是需要从最基础的开始学,筑牢根基,然后一本一本地往上堆叠各有侧重的书本,才可能最终构建出完整的知识体系。
每一本书都有自己的使命。初学机器学习时,遇到的最大问题是迷茫,我深有体会。面对机器学习领域数量繁多又互有交叉的知识点,就像身处一大片繁茂的森林,没有指南设备很难不迷失方向,而大量好不容易挤出来的宝贵时间就浪费在辨别方向上了。在本书中,我负责为你踹开机器学习世界的大门,绘制出这个庞大而陌生的世界中的“山河湖海”,总体是怎样的,哪里是重点,哪里是难点,哪些点用到了哪些学科知识,点和点之间的关系又是怎样的,我都迫不及待想要一一清楚地告诉你。为了完成这个使命,我会竭尽全力,但也请原谅我无法“送佛到西”,正如前面所述,每个知识点深入下去,可能又是一片茂密的森林,机器学习涉及的知识点众多,我希望通过本书能让你清楚地看到兴趣所在,不过知识点背后仍然有很长很长的路,还请加倍努力。
最后,我想谈一谈“要不要亲手实现一遍机器学习算法”这个争议很大的问题。我推崇学以致用,用机器学习算法解决实际问题才是本书的最终目的,所以本书将会涉及如何在实际中使用书中提及的机器学习算法的问题。对于这个问题,一般会有两种选择,一种是让读者亲手从头实现一遍算法,另一种则是直接使用现成的算法库。对于这个问题,如何选择争议很大,本书中选择的是后者。
学习机器学习的动机很多,可能是实际工作需要,可能是兴趣爱好,也可能是学业要求,从每种动机的角度看,这个问题都可能有不同的答案。我认同许多人所说的求知不能太功利这一观点,不过大家的时间和精力毕竟有限,就算不去追求投入产出比,至少也应该有一个学这门知识想要达到的目的。机器学习是更偏重于应用的学问,在当下的发展也确实使得机器学习越来越像一门技能,而不仅仅是技术。初学算法时我最想学的是里面的“最强算法”,不过在第1章我将介绍,机器学习算法没有最强的,只有最合适的,对于不同的问题,对应会有不同的最合适算法。所以,我们更需要关注的应该是问题,而不是算法本身。在本书中我选择介绍市面上成熟的机器学习算法包,通过现成的算法包,就能够根据实际要解决的问题直接选择所需要的机器学习算法,从而把注意力集中在对不同算法的选择上。
本书的目标读者是想要学习机器学习的学生、程序员、研究人员或者爱好者,以及想要知道机器学习是什么、为什么和怎么用的所有读者。本书第1章介绍机器学习总体背景,第2章介绍配置环境,第3章到第10章彼此独立,每一章介绍一种具体的机器学习算法,读者可以直接阅读想要了解的算法,第11章介绍了集成学习方法,这是一种组合机器学习算法的方法,也是当前在实际使用中常见又十分有效的提升性能的做法。
各章详细内容如下:
第1章首先介绍机器学习究竟是什么,特别是与“人工智能”“深度学习”这些经常在一起出现的术语究竟有什么关系,又有什么区别。本章也将对机器学习知识体系里的一些常用术语进行简要说明,如果读者此前并不了解机器学习,则可以通过本章了解相关背景知识。
第2章对当前机器学习算法常用的Python编程语言以及相关的Python库进行介绍,同时列举一些常用的功能。
第3章开始正式介绍机器学习算法,要介绍的第一款机器学习算法是线性回归,本章将对回归问题、线性模型和如何用线性模型解决回归问题,以及对机器学习解决问题的主要模式进行介绍。
从第4章开始,介绍当下机器学习应用最广的分类问题,第一款解决分类问题的算法是Logistic回归分类算法,即用线性模型结合Logistic函数解决分类问题。
第5章介绍KNN分类算法,这款算法不依赖太复杂的数学原理,因此一般被认为是最直观好懂的分类算法之一。
第6章介绍朴素贝叶斯分类算法,它基于贝叶斯公式设计,理论清晰、逻辑易懂,是一款典型的基于概率统计理论解决分类问题的机器学习算法。
第7章介绍决策树分类算法,这是一款很重要的算法,从思想到结构都对程序员非常友好,当前XGBoost等主流机器学习算法就是在决策树算法的基础上,结合集成学习方法设计而成的。
第8章介绍支持向量机分类算法,这是一款在学术界和工业界都有口皆碑的机器学习模型。在深度学习出现之前,支持向量机被视作最被看好的机器学习算法,能力强、理论美,也是本书中最为复杂的机器模型。
第9章介绍无监督学习的聚类问题,以及简单好懂的聚类算法—K-means聚类
媒体评论
本书主要特色:
生动——语言生动幽默,通过分析大量生活案例,帮助读者理解机器学习的算法。
简单——让很多听起来高大上的名词更加贴近实际应用。
实用——精选了最主要的机器学习算法,如线性回归算法、Logistic回归算法、KNN算法、朴素贝叶斯算法、决策树算法、支持向量机算法、K-means聚类算法、神经网络、集成学习方法等。
系统——从概念、原理、Python实现、应用场景几个方面,详细剖析机器学习中主要的算法。