机器学习知识体系

1.什么是机器学习
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计- 3 g b 9 v h算机怎样模拟或实现人类的学习行为,以获取x Z | R E _ L p H新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

上述为百度百科定义,而在现实生活中,我们主要会碰到两类问题。一类是我们知道怎么去通过算法将输入转化为输出,通过 d = w O学习此类模式得到相q * h A应输出结果。另一& u n ( ? K j S q类是寻找Q i Z k H i F不到此类模式,通过深度学习去做。

给定一定的输入,通过施加一定条件或算法,得到最终的输出,类似于下图模式。
图片01

以字符识别? W b a .为例,输入的是手写数字图片,输出0-9字符串,我们并不知道怎o L % Y _ H Q / =么把输入转换成输出,因为手写体因人而异,随机性很大。换句话说就是我们缺的是知识如何映射,不过幸运的是我们有实例数据,而把这个知识通过机器学出来的过程叫U s b A m机器学习
图片02

2.机器学习体系概括
机器学习包含多交叉学科,同时也在很k 3 w c D w V多方面得到应用,如自然语言处理、图像处理、数据挖掘、推荐系统领域等。机器学习包含监督学习、无监督学习、半监督% C Z学习、强化学习、深度学习、迁移学习等,还有各种工具和框架的应用,因此Mac{ S Rhine Learning的过程也是漫长而有趣的。

图片03

下图为开发者平台CSD* K $ l 4 ( m MN上王小雷整理的机器6 X Y ~ y学习算法汇总,其中包含很多机器学习算法,知识体系较为庞大。目前个人已掌握知识点主要在监督学习、无监督学习、集成学习算法、降维方面,所以先给大{ O M家介绍这几类机器学习算法,半监督学习、强化学习、深度学习和迁移学习个人c H 1 : T会继续学习。

图片04

机器学习算法中常用到的便是监督学习和无监E ^ # + a P [ 3督学习,监督学习包含回归和分类两方面,无监督学习为聚类。

监督学习(Supervised Learning)

当你有一些问题和他们的答案时,你要做的有监督学习就是学习这些已经知道答案的问题,当你具备此类学习的经验时,便是学习的成果。然后当你接受到一个新的此类问题时,便可通过学习得到的经验,4 @ 3 C得出新问题的答案。当我们有一些样本数据集 w t %时,对于每个单一的数据根据他的特? C h O y向量@ D i ? H = 5 P们要去判断他的标签,那么就是监督学习。监3 T Z ] ~ n Y 1督学习分为回归分析(Regression AnalysE W m `is)和分类(Classification)两类。

回归分析(Regressionx h ` E Analysis):其数据集是给定一个函数和他的一些坐标点S # b ^ m,然后通过回归分析的算法,来估计原函数的模型,求得最符合这些数据集的函数解析式。然后我们就可以用来预估未知数据,输入一个自变量便会根据这个模型解析式输出因变量,这些自变量就是特征向量,因变量即为标签,而且标签的值是建立在连续范围的。
分类(Claq A n . _ & K 7ssfication):其数据集由特征变量和标签组成,当你学习这些数据之后,给你一个只知F P - C 6 _ J道特征向m ^ J量不知道标签的数据,让你求他的标签是哪一个?分类和回归的主要区别就是输出结果是连续还是离散。
无监督学: & @ ; N %习(Unsupervised Learning)

我们有一些问题,但是不知道答案,我们要做的无监督学习就是按照他们的性质把他们自动地分成很多组{ % ! ` 2 @ w c,每组的问题是具有类似性质的(比如数学问题会聚集在一组,英语问题聚集在一组……)。

所有的数据只有特征向量没有标签,但是可以发现这些数据呈现出聚群的结构,本质是相似的类T | d w型会聚集在一起。把这些没有标签的数据t e = F t -分成各个组合便是聚类。比如每天都会搜到大量新闻,然后把它们全部聚类,就会自动分成几十个不同的组(比如娱乐、科技、政治…f . G p 4 M T % (),每个组内新闻都具有相似的f 2 b z内容结构。

3.如何开始学习
开始机器学习之前必须要有一定的# $ K 8 _ , D数学知识,因为各算法之中涉及很多公式推导,用到的主要数学知识点为微积分、概率论、大学中高等数学知识点,忘记的同学可以在学习算法的过程中复习下。另外我们还需要g 0 7 A掌握一门编程语言,这里推荐大家学习Python,为什么选择Python在这儿也就不讨论了,知乎平台上有很多介绍。

很好,我们掌握一门编程语言和数学知识之后便可开始Machine Learning,此过程中将使用相应Python标准库和第三方库,大家可以参考我以前写的文章,Python之NumPy使用教程、Python之Pandas使用教程、PyD P 0 : A , | o Sthon之MatPlotLib使用教程。中间过程中如涉及到其他Python库的使用,会及时写出相应教程。接下来一段时间将持续更新各种机器学习算法,包括线性回归、Logistic回归、支Z Z 4 6 Z 2 h 2持向量机SVM、决策树、Eu D R f M b A FM等( 1 D _算法。