新書推薦:
《
唐宋绘画史 全彩插图版
》
售價:NT$
449.0
《
“御容”与真相:近代中国视觉文化转型(1840-1920)
》
售價:NT$
505.0
《
鸣沙丛书·大风起兮:地方视野和政治变迁中的“五四”(1911~1927)
》
售價:NT$
454.0
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:NT$
485.0
《
铝合金先进成型技术
》
售價:NT$
1214.0
《
英雄之旅:把人生活成一个好故事
》
售價:NT$
398.0
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
|
編輯推薦: |
这是一本讲解算法的书籍,从生活中的常见例子来讲解,使读者发现算法的乐趣,能快速把算法应用到机器学习中。
|
內容簡介: |
本书由工程师撰写,系统介绍机器学习中需要的主要数学知识,以及机器学习算法的实现和应用场景,为机器学习初学者制定了如何夯实基础的方案。本书以机器学习的算法为主线,深入剖析算法的概念和数学原理,以通俗形象的语言进行介绍,让读者无需了解太多前置数学知识,就能看懂数学公式的表达意思,从而深度掌握机器学习的思想和原理。主要内容包括:首先介绍机器学习基本概念及工具,然后从概念、原理、Python实现、应用场景几个方面,详细剖析机器学习中*主要的算法,如线性回归算法、逻辑回归算法、KNN、朴素贝叶斯、决策分类、支持向量机分类、K-means聚类、神经网络分类、集成学习等。
|
關於作者: |
莫凡
新技术深度爱好者,曾经从事信息安全前沿技术跟踪研究和数据分析工作,在各类信息安全类技术期刊杂志发表文章五十余篇,现转为投身高端知识白菜化项目,希望能让将更多听起来高大上的名词沾一沾人间烟火,成为日常中生活真正用得上的知识。
|
目錄:
|
前言
第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
2.3.2 Numpy的基本用法26
2.4 Scikit-Learn简介27
2.4.1 Scikit-Learn的安装28
2.4.2 Scikit-Learn的基本用法28
2.5 Pandas简介29
2.5.1 Pandas的安装30
2.5.2 Pandas的基本用法31
第3章 线性回归算法33
3.1 线性回归:“钢铁直男”解决回归问题的正确方法33
3.1.1 用于预测未来的回归问题35
3.1.2 怎样预测未来38
3.1.3 线性方程的“直男”本性40
3.1.4 最简单的回归问题—线性回归问题44
3.2 线性回归的算法原理46
3.2.1 线性回归算法的基本思路46
3.2.2 线性回归算法的数学解析48
3.2.3 线性回归算法的具体步骤53
3.3 在Python中使用线性回归算法54
3.4 线性回归算法的使用场景60
第4章 Logistic回归分类算法61
4.1 Logistic回归:换上“S型曲线马甲”的线性回归61
4.1.1 分类问题:选择困难症患者的自我救赎63
4.1.2 Logistic函数介绍66
4.1.3 此回归非彼回归:“LR”辨析70
4.2 Logistic回归的算法原理71
4.2.1 Logistic回归算法的基本思路71
4.2.2 Logistic回归算法的数学解析74
4.2.3 Logistic回归算法的具体步骤78
4.3 在Python中使用Logistic回归算法78
4.4 Logistic回归算法的使用场景81
第5章 KNN分类算法82
5.1 KNN分类算法:用多数表决进行分类82
5.1.1 用“同类相吸”的办法解决分类问题84
5.1.2 KNN分类算法的基本方法:多数表决86
5.1.3 表决权问题89
5.1.4 KNN的具体含义89
5.2 KNN分类的算法原理90
5.2.1 KNN分类算法的基本思路90
5.2.2 KNN分类算法的数学解析93
5.2.3 KNN分类算法的具体步骤94
5.3 在Python中使用KNN分类算法95
5.4 KNN分类算法的使用场景96
第6章 朴素贝叶斯分类算法98
6.1 朴素贝叶斯:用骰子选择98
6.1.1 从统计角度看分类问题99
6.1.2 贝叶斯公式的基本思想102
6.1.3 用贝叶斯公式进行选择104
6.2 朴素贝叶斯分类的算法原理106
6.2.1 朴素贝叶斯分类算法的基本思路106
6.2.2 朴素贝叶斯分类算法的数学解析108
6.2.3 朴素贝叶斯分类算法的具体步骤111
6.3 在Python中使用朴素贝叶斯分类算法111
6.4 朴素贝叶斯分类算法的使用场景112
第7章 决策树分类算法114
7.1 决策树分类:用“老朋友”if-else进行选择114
7.1.1 程序员的选择观:if-else116
7.1.2 如何种植一棵有灵魂的“树”118
7.1.3 决策条件的选择艺术119
7.1.4 决策树的剪枝问题122
7.2 决策树分类的算法原理125
7.2.1 决策树分类算法的基本思路125
7.2.2 决策树分类算法的数学解析127
7.2.3 决策树分类算法的具体步骤133
7.3 在Python中使用决策树分类算法134
7.4 决策树分类算法的使用场景135
第8章 支持向量机分类算法137
8.1 支持向量机:线性分类器的“王者”137
8.1.1 距离是不同类别的天然间隔139
8.1.2 何为“支持向量”140
8.1.3 从更高维度看“线性不可分”142
8.2 支持向量机分类的算法原理146
8.2.1 支持向量机分类算法的基本思路146
8.2.2 支持向量机分类算法的数学解析150
8.2.3 支持向量机分类算法的具体步骤153
8.3 在Python中使用支持向量机分类算法154
8.4 支持向量机分类算法的使用场景156
第9章 K-means聚类算法157
9.1 用投票表决实现“物以类聚”157
9.1.1 聚类问题就是“物以类聚”的实施问题159
9.1.2 用“K”来决定归属类别162
9.1.3 度量“相似”的距离164
9.1.4 聚类问题中的多数表决165
9.2 K-means聚类的算法原理168
9.2.1 K-means聚类算法的基本思路168
9.2.2 K-means聚类算法的数学解析169
9.2.3 K-means聚类算法的具体步骤170
9.3 在Python中使用K-means聚类算法171
9.4 K-means聚类算法的使用场景172
第10章 神经网络分类算法174
10.1 用神经网络解决分类问题174
10.1.1 神经元的“内心世界”177
10.1.2 从神经元看分类问题180
10.1.3 神经网络的“细胞”:人工神经元181
10.1.4 构成网络的魔力184
10.1.5 神经网络与深度学习188
10.2 神经网络分类的算法原理188
10.2.1 神经网络分类算法的基本思路188
10.2.2 神经网络分类算法的数学解析190
10.2.3 神经网络分类算法的具体步骤193
10.
|
內容試閱:
|
这是一本介绍机器学习的书,按常理来说,我应该首先介绍学习机器学习的重要性。可是,有必要吗?我记得约五年前,机器学习还是一个很有科幻色彩的术语,而现在技术学习圈几乎整版都换成了机器学习的各种模型,国内很多大学已经开始设立人工智能专业,机器学习当仁不让地成为核心课程。据说相关学者已经将该知识编制成课本,即将走入中学课堂。机器学习的火热,连带着让长年不温不火的Python语言也借机异军突起,甚至掀起一阵Python语言的学习热潮。机器学习已经成为“技术宅”的一种必备技能,因此,实在没必要再占篇幅介绍它的重要性。
但是,学习机器学习的路途是坎坷和颠簸的,唯一不缺的就是让你半途而废的借口。机器学习今日的成就是站在巨人的肩膀上取得的,因此,当你终于下定决心学习机器学习时,很多人会给你开出一串长长的学习清单:机器学习涉及大量向量和矩阵运算,所以线性代数是肯定要学的;机器学习的很多模型算法都以统计知识作为背景,所以统计学和概率论也是必修的;许多重要环节依赖微分运算,那本好久不看的《高等数学》是不是到了重出江湖的时候了?
想想看,如果告诉你学习机器学习,首先得把《线性代数》《概率统计》《高等数学》统统翻一遍,然后你才只是刚刚摸到学习机器学习的起跑线,如果不擅长数学,你得需要多大的毅力才能坚持下来,把机器学习学明白?
真的很难,如果开始学习机器学习时我就知道后面会承受这么多“痛苦”,也许我根本就不会开始。特别是如果你也是利用业余时间来自学机器学习,那么真的称得上煎熬:当你已经为别的事情绞尽脑汁,好不容易有了那么一点属于自己的时间,想要学习充电时,结果鼓起勇气翻开书本,扑面而来的全是各种难以理解的数学公式和闻所未闻的专业术语,你就能立即体会到什么是无力感。
那时我总是在想,能不能有一本教机器学习的书对读者友好一点。首先不要假设读者擅长数学,认为读者一上来就可以看懂各种高深的数学公式,在介绍机器学习具体模型算法时要能按照从宏观到微观的顺序介绍。刚接触新的知识领域,先把模型算法的主要原理和基本结构讲清楚,让读者在脑海里勾勒出基本的轮廓,明确各种概念之间的关系,然后才深入各个细枝末节展开介绍,这样读者才不至于觉得自己一直在各种陌生的公式里转来转去,最后看得晕头转向。最后我还想再贪心一点,希望这本书的文字能够稍微有趣一点,最好能像弹幕评论那样在不经意间引人会心一笑,毕竟我是利用睡前的时间来学习机器学习,辛苦了一天,身体和精神都很疲惫,文字太生硬的话恐怕是啃不动的。
我找了很久,可惜直到最后也未能找到这样的一本书。现在,我决定自己动手来写一本。不过,这本书也并不能让你在短期内就全面掌握机器学习的各种知识。机器学习不但自成体系,自身就拥有枝繁叶茂的知识结构,而且也从多门大学科里汲取养分,又带有交叉学科的一些特点,可能将一个子问题深入研究下去就能发展成一门新学科—从神经网络发展到深度学习就是一个很好的例子。弱水三千,一本书哪怕写得再凝练透彻,也只能取一瓢饮。学习机器学习犹如建造大厦,总是需要从最基础的开始学,筑牢根基,然后一本一本地往上堆叠各有侧重的书本,才可能最终构建出完整的知识体系。
每一本书都有自己的使命。初学机器学习时,遇到的最大问题是迷茫,我深有体会。面对机器学习领域数量繁多又互有交叉的知识点,就像身处一大片繁茂的森林,没有指南设备很难不迷失方向,而大量好不容易挤出来的宝贵时间就浪费在辨别方向上了。在本书中,我负责为你踹开机器学习世界的大门,绘制出这个庞大而陌生的世界中的“山河湖海”,总体是怎样的,哪里是重点,哪里是难点,哪些点用到了哪些学科知识,点和点之间的关系又是怎样的,我都迫不及待想要一一清楚地告诉你。为了完成这个使命,我会竭尽全力,但也请原谅我无法“送佛到西”,正如前面所述,每个知识点深入下去,可能又是一片茂密的森林,机器学习涉及的知识点众多,我希望通过本书能让你清楚地看到兴趣所在,不过知识点背后仍然有很长很长的路,还请加倍努力。
最后,我想谈一谈“要不要亲手实现一遍机器学习算法”这个争议很大的问题。我推崇学以致用,用机器学习算法解决实际问题才是本书的最终目的,所以本书将会涉及如何在实际中使用书中提及的机器学习算法的问题。对于这个问题,一般会有两种选择,一种是让读者亲手从头实现一遍算法,另一种则是直接使用现成的算法库。对于这个问题,如何选择争议很大,本书中选择的是后者。
学习机器学习的动机很多,可能是实际工作需要,可能是兴趣爱好,也可能是学业要求,从每种动机的角度看,这个问题都可能有不同的答案。我认同许多人所说的求知不能太功利这一观点,不过大家的时间和精力毕竟有限,就算不去追求投入产出比,至少也应该有一个学这门知识想要达到的目的。机器学习是更偏重于应用的学问,在当下的发展也确实使得机器学习越来越像一门技能,而不仅仅是技术。初学算法时我最想学的是里面的“最强算法”,不过在第1章我将介绍,机器学习算法没有最强的,只有最合适的,对于不同的问题,对应会有不同
|
|