请选择 进入手机版 | 继续访问电脑版
从零开始 从零开始 查看内容

机械进修十大算法之旅

2020-6-13 23:30| 发布者: 丶百里流云| 查看: 143| 评论: 9

摘要: 在机器学习中,有一种称为“ 无免费午餐 ”的定理。简而言之,它表明没有一种算法能够最好地解决每个问题,而且它对于监督学习(即预测建模)尤为重要。例如,你不能说神经网络总是比决策树更好,反之亦然。有许多因 ...

在机械进修中,有一种称为“ 无免费午饭 ”的定理。简而言之,它表白没有一种算法可以最好地处理每个题目,而且它对于监视进修(即猜测建模)尤其重要。

例如,你不能说神经收集总是比决议树更好,反之亦然。有很多身分在起感化,例如数据集的巨细和结构。

是以,你应当针对你的题目尝试很多分歧的算法,同时利用数据的保存“测试集”来评价性能并挑选得胜者。

固然,尝试的算法必须合适你的题目,这是挑选正确的机械进修使命的地方。作为类比,假如需要清算衡宇,可以利用真空吸尘器,扫帚或拖把,但你不会破坏铲子并起头挖掘。

大原则


但是,有一个配合的原则是一切监视机械进修算法的根本,用于猜测建模。

机械进修算法被描写为进修方针函数(f),其最好地将输入变量(X)映照到输出变量(Y):Y = f(X)

这是一个通用的进修使命,我们希望在未来(Y)中可以给出新的输入变量(X)的成果。我们不晓得函数(f)的表面或形式。假如我们这样做,我们将间接利用它,我们不需要利用机械进修算法从数据中进修它。

最多见的机械进修范例是进修映照Y = f(X)来猜测新X的Y。这称为猜测建模或猜测分析,我们的方针是使最正确的猜测成为能够。

对于渴望领会机械进修根本的机械进修新手,这里是数据科学家利用的十大机械进修算法的快速阅读。

1 - 线性回归


线性回归能够是统计学和机械进修中最著名且易于了解的算法之一。

猜测建模首要关注最小化模子的误差或使能够性最正确的猜测,但价格是可诠释性。我们将从很多分歧的范畴借用,重用和窃取算法,包括统计数据并将其用于这些目标。

线性回归的暗示是经过查找称为系数(B)的输入变量的特定权重来描写最合适输入变量(x)和输出变量(y)之间关系的线的等式。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

线性回归

例如:y = B0 + B1 * x

我们将在给定输入x的情况下猜测y,而且线性回归进修算法的方针是找到系数B0和B1的值。

可以利用分歧的技术从数据中进修线性回归模子,例如用于普通最小二乘的线性代数解和梯度下降优化。

线性回归已经存在了200多年,而且已经被普遍研讨。利用此技术时,一些好的经历法例是删除很是类似(相关)的变量,并尽能够消除数据中的噪声。这是一种快速而简单的技术和杰出的第一种算法。

2 - Logistic回归


逻辑回归是从统计范畴的机械进修中借用的另一种技术。它是二分类题目标首选方式。

逻辑回归就像线性回归一样,方针是找到每个输入变量的系数的值。与线性回归分歧,利用称为逻辑函数的非线性函数来转换输出的猜测。

逻辑函数看起来像一个大S并将任何值转换为0到1的范围。这很有用,由于我们可以将一个法则利用于逻辑函数的输出以将值捕捉到0和1(例如IF小于0.5然后输出1)并猜测一个类值。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

Logistic回归

由于进修模子的方式,逻辑回归所做的猜测也可以用作属于0级或1级的给定数据实例的几率。这对于需要给出更多根基道理的题目很是有用。

与线性回归一样,当您删除与输出变量无关的属性以及相互很是类似(相关)的属性时,逻辑回归确切更有用。这是进修二元分类题目并快速有用的快速模子。

3 - 线性辨别分析


Logistic回归是一种传统上仅限于两类分类题目标分类算法。倘使有两个以上的类,那末线性辨别分析算法是首选的线性分类技术。

LDA的代表很是简单。它包括数据的统计属性,为每个类计较。对于单个输入变量,这包括:

1. 每个种此外均匀值。

2. 在一切种别入彀较的方差。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

线性辨别分析

经过计较每个类的辨别值并对具有最大值的类停止猜测来停止猜测。该技术假定数据具有高斯散布(钟形曲线),是以最好事前从数据中删除异常值。它是分类猜测建模题目标一种简单而强大的方式。

4 - 分类和回归树


决议树是猜测建模机械进修的一种重要算法。

决议树模子的暗示是二叉树。这是来自算法和数据结构的二叉树,没什么太花哨的。每个节点代表一个输入变量(x)和该变量上的割裂点(假定变量是数字)。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

决议树

树的叶节点包括用于停止猜测的输出变量(y)。经过遍历树的割裂直到到达叶节点并在该叶节点处输出类值来停止猜测。

树木进修速度快,猜测速度很是快。它们凡是对于普遍的题目也是正确的,而且不需要对您的数据停止任何特别预备。

5 - 朴实贝叶斯


Naive Bayes是一种简单但使人惊奇的强大的猜测建模算法。

该模子由两品种型的几率组成,可以间接按照您的练习数据计较:1)每个类的几率; 2)给出每个x值的每个类的条件几率。一旦计较,几率模子可用于利用贝叶斯定理对新数据停止猜测。当您的数据是实值时,凡是假定高斯散布(钟形曲线),以便您可以轻松估量这些几率。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

贝叶斯定理

朴实贝叶斯被称为朴实,由于它假定每个输入变量是自力的。这是一个强有力的假定,对于现实数据是不现实的,但是,该技术对于大范围的复杂题目很是有用。

6 - K-Nearest Neighbors


KNN算法很是简单且很是有用。KNN的模子暗示是全部练习数据集。简单吧?

经过搜索K个最类似的实例(邻人)的全部练习集并总结那些K个实例的输出变量,对新数据点停止猜测。对于回归题目,这能够是均匀输出变量,对于分类题目,这能够是形式(或最多见)类值。

窍门在于若何肯定数据实例之间的类似性。假如属性都具有不异的比例(例如以英寸为单元),则最简单的技术是利用欧几里德间隔,你可以按照每个输入变量之间的差别间接计较该数字。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

K-Nearest Neighbors

KNN能够需要大量内存或空间来存储所稀有据,但只在需要猜测时才停止计较(或进修),实时。还可以随着时候的推移更新和策划您的练习实例,以连结猜测正确。

间隔或接近度的概念可以在很是高的维度(很多输入变量)平分化,这会对算法在您的题目上的性能发生负面影响。这被称为维度的诅咒。它倡议你仅利用与猜测输出变量最相关的输入变量。

7 - 进修矢量量化


K-Nearest Neighbors的弱点是你需要对峙全部练习数据集。进修矢量量化算法(或简称LVQ)是一种野生神经收集算法,答应您选摘要挂起的练习实例数目,并正确领会这些实例应当是什么样子。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

进修矢量量化

LVQ的暗示是码本向量的调集。这些是在起头时随机挑选的,而且适于在进修算法的屡次迭代中最好地总结练习数据集。在进修以后,可以利用码本向量来停止与K-Nearest Neighbors类似的猜测。经过计较每个码本矢量和新数据实例之间的间隔来找到最类似的邻人(最好婚配码本矢量)。然后返回最好婚配单元的类值或(回归情况下的现实值)作为猜测。假如将数据重新缩放至不异范围(例如0到1之间),则可获得最好成果。

假如你发现KNN在您的数据集上供给了杰出的成果,请尝试利用LVQ来下降存储全部练习数据集的内存要求。

8 - 支持向量机


支持向量机能够是最风行和最受关注的机械进修算法之一。

超平面是朋分输入变量空间的线。在SVM中,挑选超平面以最好地将输入变量空间中的点与它们的类(0级或1级)分隔。在二维中,你可以将其视为一条线,并假定我们的一切输入点都可以被这条线完全分隔。SVM进修算法找到致使超平面最好地分手类的系数。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

支持向量机

超平面和比来数据点之间的间隔称为间隔。可以分手两个类的最好或最好超平面是具有最大边距的线。只要这些点与界说超平面和分类器的机关有关。这些点称为支持向量。它们支持或界说超平面。现实上,优化算法用于找到使余裕度最大化的系数的值。

SVM能够是最强大的开箱即用分类器之一,值得尝试。

9 - 套袋和随机森林


随机森林是最风行和最强大的机械进修算法之一。它是一种称为Bootstrap Aggregation或bagging的集成机械进修算法。

Bootstrap是用于从数据样本估量数目的强大统计方式。比如一个意义。你可以获得大量数据样本,计较均匀值,然后均匀一切均匀值,以便更好地估量实在均匀值。

在装袋中,利用不异的方式,可是用于估量全部统计模子,最多见的是决议树。获得练习数据的多个样本,然后为每个数据样本构建模子。当您需要对新数据停止猜测时,每个模子城市停止猜测,并对猜测停止均匀以更好地估量实在输出值。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

随机森林

随机森林是对这类方式的一种调剂,其中建立决议树,使得不是挑选最好割裂点,而是经过引入随机性来停止次优朋分。

是以,为每个数据样本建立的模子与其他情况相比加倍分歧,但仍然以其怪异和分歧的方式正确。连系他们的猜测可以更好地估量实在的根本值。

假如利用具有高方差的算法(如决议树)获得杰出的成果,凡是可以经过bagging算法获得更好的成果。

10 - Boosting和AdaBoost


Boosting是一种调集技术,试图从很多弱分类器中建立一个强分类器。这是经过从练习数据构建模子,然后建立第二个模子来尝试从第一个模子中改正毛病来完成的。增加模子直到完善猜测练习集或增加最大数目的模子。

AdaBoost是第一个为二进制分类开辟的真正成功的增强算法。这是了解助力的最好起点。现代助推方式建立在AdaBoost上,最着名的是随机梯度增强机。

机械进修十大算法之旅__2020-6-13 23:30发布_从零开始_143

AdaBoost的

AdaBoost用于短决议树。在建立第一个树以后,每个练习实例上的树的性能用于加权建立的下一个树应当关注每个练习实例的留意力。难以猜测的练习数据被赋予更多权重,而易于猜测的实例被赋予更少的权重。模子是一个接一个地顺序建立的,每个模子更新练习实例上的权重,这些权重影响序列中下一个树所履行的进修。构建完一切树以后,将对新数据停止猜测,并按照练习数据的正确性对每棵树的性能停止加权。

由于经过算法如此关注改正毛病,所以必须删除带有异常值的清洁数据。

最初


当面临各类百般的机械进修算法时,初学者提出的一个典型题目是“我应当利用哪类算法?”题目标答案因很多身分而异,包括:
  1. 维度,质量和性质数据的;
  2. 可用的计较时候;
  3. 使命的紧急性;
  4. 想要对数据做什么。

即使是经历丰富的数据科学家也没法肯定哪类算法在尝试分歧的算法之前表示最好。虽然还有很多其他机械进修算法,但这些算法最受接待。


鲜花

握手

雷人

路过

鸡蛋
  • 联系我们
  • 邮箱:admin@c0ks.com(请把#改成@)
  • 电话:18530790808
  • QQ客服 1031180668
  • 工作时间:周一至周五(早上9点至下午5点)
  • 微信二维码

  • 扫描访问手机版

Archiver|手机版|小黑屋|从零开始

GMT+8, 2020-7-4 06:27 , Processed in 0.187650 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

  • QQ: 1031180668

    客服电话

    18530790808

    电子邮件

    admin@c0ks.com

    在线时间:8:00-16:00