机器学习的主要方法

简单的说,

监督学习就像义务教育,学校决定你学什么,老师教你怎么学,学不好要被老师罚站,考不好,回家还要被父母揍一顿,实在学不好,也可以被终止(休学);无监督学习就像大学教育,爱学学,不学滚,爱考60分考60分,爱考80分考80分,业余还可以学点儿自己的爱好,缺点是可能出现死循环,毕不了业。可以说,无监督学习比有监督学习要高级些。

文章版权为作者所有,转载请保留链接

机器学习是一种用来甄别问题模型的方法,让机器把一堆数据按某种规则进行识别分类,最后得到我们想要结果。这听上去很简单,是吗? 实际上,使用机器学习对未知的数据进行识别分类是非常困难的,机器需要运算很长的时间。问题越复杂,给数据寻找恰当模型的可能性就越低, 因为对数据模型的分类方式几乎是无穷的,有已知的,有未知的。

Supervised and Unsupervised learning
有监督学习和无监督学习

对于分类问题,最关键的是找到类型的边界,即便是一个简单的分类问题,也可能存在几百万种边界,我们无法说哪一种边界是最恰当的。因为,即使我们能够做到对已知的数据进行分类或建模,但对于未知的数据,已有的模型是否仍然有效,我们不得而知。虽然如此,但是我们依然可以通过一些方法提高我们模型的正确率。机器学习的各种方法为我们探寻更好的模型和边界问题设立了标准,来提高准确率。

机器学习大体上分为有监督学习和无监督学习,这两种方式的区别在于数据集是否有标签。

有监督学习,机器将根据已有数据标记,模型化每一种可被分类数据,在分析未知数据时,机器将根据已知的模型和数据分类来执行。
举个栗子:
比如在图像识别领域, 你可以收集一组猫的图片,标记为cat,一组人的图片,标记为human,机器可以通过学习这些图片,当分析一张新的图片时,它可以自己识别图片是属于cat 还是human,或者两者都不是,这个栗子在实际使用中似乎没什么价值;但是这个理论却可以用在一些领域,例如在电商平台,通过系统自动对图片分类,对新上传的图片标记或者校验。从这个栗子里,我们可以看到,有监督学习需要我们预先准备正确的数据。

相对而言,另外一种方式是无监督学习,机器将使用无标记的数据,在这种场景下,我们只需要提供输入数据,机器学习的关键点是通过计算找出数据隐含的特性。通过数据的共有特性来把数据分组,找出数据的内在联系,我们把这种方式叫做聚类分析。举个栗子,在金融行业中,我们通常会做信用评估,为了减轻信用审核人员的工作量,我们会上一些自动化的评估系统,系统会自动的对数据归类,比如会员信息中含有性别,年龄,居住地,职业等信息,通过对历史数据分析归类,就可得出信用好的和信用差的的特性标签,然后当一个新会员进来,就可以自动化的算出用户的信用评分。大家一定听过一个老掉牙的例子,超市通过对历史数据进行无监督学习,发现很多男性去超市给婴儿买尿布的时候,会顺便买啤酒,然后就把婴儿尿布和啤酒摆放在一起。其实这个梗,在推大数据时也屡次被人提到,可见机器学习和大数据的紧密联系。

现在我们已经知道了监督学习和无监督学习最大的不同点,但这并不是全部,监督学习和无监督学习都有些不同的方法。

Supported Vector Machine
SVM 支持向量机

可以说SVM是监督学习中最流行方法之一,也广泛的用于数据挖掘领域。在支持向量机中,每一个数据分类都以最接近其它已标记数据的分类作为标准,并且运用这个标准作为决策边界的界定条件,使每个已标记数据的边界与边界之间的距离的欧几里得距离之和是最大化的。已标记的数据叫做支持向量。简而言之,SVM 设置了每个模型的边界与边界之间最大距离的中点,那么,为什么SVM的算法能够知道这个边界的最大值呢?
要想知道SVM为什么这么神奇,就需要我们了解一个非常有价值的方法 -- kernel trick 或者叫做 kernel method。 现在肯定有读者会问,你在说什么鸟语。。。

喜欢看科幻小说的人肯定会知道一个名词 -- 降维打击,在空间物理学中,当高维空间的物体处于低维度空间时,物体自身的微观粒子间的相互作用公式可能会发生改变,从而变得不稳定发生分解。所以降维打击,就是让目标物体本身所处的空间维度降低,从而毁灭目标物体, 这玩意听起来是不是比核弹或者飓风听起来更可怕。
我个人比较喜欢看寻宝类的电影,这种电影常用的套路是,发现一张藏宝图,在特定的时间,到达特定的位置,阳光穿过某个孔,照射到某处机关,放上一把钥匙,打开的入口,闯过迷宫 ... 如果把这些套路中的每一个因素都做为一维信息空间的话,那么寻找宝藏这一整套事情就叠加成一个高维度信息空间问题。用一维信息空间的思维或方法是无法完成寻宝这一整间事的, 你必须从高维信息空间的思维才能完成这件事。比如盗墓笔记里的主角,可以通过山川大海和日月星辰定位墓穴,如果你没有这种高一维的知识技能,找墓穴基本是抓瞎。

好了,废话说了不少,kernel method 与降维打击相反,就是一种把低维度问题放在高维度空间中建模的一种方法。

Hidden Markov Model
HMM 隐马尔科夫模型
HMM是一种无监督学习方法,假设数据遵循马尔科夫处理过程. 马尔科夫处理是一种随机处理过程,是指下一个系统的状态只与当前状态有关,和上一个状态无关.
HMM 经常用在频率分析,或时间序列数据的分析, 常用的领域有NLP(自然语言处理) 和 SSP(语音处理).

Neural networks
NN 神经网络
神经网络同其它的机器学习有很大不同,当其它的机器学习方法还在使用概率或统计的时候,神经网络已经延伸到生物学,神经网络算法通过模拟人类大脑的结构来实现的。大脑的神经单元互相连接,通过生物电信号传输。
神经网络是个统称,传统的神经网络是有监督学习,随着各种算法被研究出来,特别是在深度学习领域,很多算法也实现了无监督学习。

Logistic Regression
LR 逻辑回归
逻辑回归是一种统计回归模型,统计变量伯努利分布(离散分布),SVM 和NN 属于分类模型,而LR是回归模型,也是有监督学习。尽管LR和NN有本质上的区别,但是,LR被认为是NN的一种,他们在公式上有些类似的地方。

每一个机器学习的方法都有自己独特的用处,最重要的是,你要知道你有的数据是什么,将要用来做什么,然后以此为据,选择适当的方法; 通过不同的场景,选择恰当的算法,如果选择错了方法,只能送你一句:

苦海无涯,回头是岸 ...

你可能感兴趣的:(机器学习的主要方法)