总共有多少机器学习的模型?不知道,没人统计过,如果加上各种变体的话,那就更加多了去了。

总共有多少机器学习的模型?不知道,没人核算过,假如加上各种变体的话,那就愈加多了去了。想到这个,你头大不大?那是不是一切都要去学,都要去了解呢?当然不是,不过,下面的这10个算法,假如你是新手的话,必定要去好好学学,搞懂了这些,其他的便是触类旁通的工作了。

在机器学习中,有一个叫做“没有免费午饭”的定理。简而言之,它指出,没有一种算法对每一个问题都是最有用的,它特别适用于监督学习(即猜测建模)。

例如,你不能说神经网络总是比决策树好,反之亦然。有清楚要素在起作用,比如数据集的巨细和结构。

因而,你应该针对你的问题测验许多不同的算法,画蛇添足运用一组保存的“测验集”数据来评价功用并挑选获胜者。

当然,你测验的算法有必要合适你的问题,这便是挑选正确的机器学习使命的原因。打个比如,假如你需求清扫房子,你能够用吸尘器、扫帚或拖把,但你不会拿出铁锹开端挖。

大的准则

但是,一切用于猜测建模的监督机器学习算法都有一个一起的准则。

机器学习算法被描绘为学习一个方针函数(f),该方针函数将输入变量(X)映射到输出变量(Y):Y = f(X)

这是一个一般的学习使命,咱们想在给定输入变量(X)的新样本下对未来的(Y)进行猜测,咱们不知道函数(f)是什么姿态或它的办法,因为假如咱们知道的话,咱们就直接运用它就完了,咱们就不需求运用机器学习算法从数据中学习它了。

最常见的机器学习类型是学习映射Y = f(X),对新的X做出Y的猜测,这被称为猜测建模或猜测剖析,咱们的方针是尽或许做出最精确的猜测。

关于那些巴望了解机器学习基础知识的机器学习新手来说,以下是数据科学家运用的十大机器学习算法的快速介绍。

1 — 线性回归

线性回归或许是核算学和机器学习中最闻名和最简略了解的算法之一。

猜测建模首要重视的是最小化模型的差错,或许尽或许做出最精确的猜测,能够牺牲掉一些可解说性。咱们将从许多不同的范畴借用、重用和盗取算法,包含核算学,并将它们用于这些意图。

线性回归的表明是一个方程,它描绘了一条最合适输入变量(x)和输出变量(y)之间的联系的直线,经过找出称为系数(B)的输入变量的特定权重。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第1张

线性回归

例如: y = B0 + B1 * x

咱们要在给定输入x的情况下猜测y,线性回归学习算法的方针是找到系数B0和B1的值。

从数据中学习线性回归模型能够选用不同的技能,如一般最小二乘的线性代数解和梯度下降优化。

线性回归已有200多年的前史,并得到了广泛的研讨。运用这种技能时,一些好的经历法则是删去十分杂乱(相关)的变量,假如或许的话,从数据中删去噪声。这是一种快速、简略的技能,也是一种很好的首要测验的算法。

2 — 逻辑回归

逻辑回归是机器学习从核算学范畴借用的另一种技能。它是二元分类问题(具有两个类值的问题)的首选办法。

逻辑回归与线性回归杂乱,其方针是找到每个输入变量权重系数的值。与线性回归不同,输出的猜测是运用一个称为logistic函数的非线性函数进行转化的。

logistic函数看起来像一个大S,它将把任何值转化成0到1的规划。这很有用,因为咱们能够对logistic函数的输出运用一个规矩,将值约束到到0和1(例如,假如小于0.5,则输出1)并猜测一个类值。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第2张

逻辑回归

因为模型的学习办法,经过逻辑回归所做的猜测也能够用作给定数据实例归于类0或类1的概率。这关于需求为猜测供给更多解说的问题十分有用。

与线性回归相同,当你删去与输出变量无关的特点以及互相十分杂乱(相关)的特点时,逻辑回归的作用更好。它是一种快速学习和有用处理二元分类问题的模型。

3 — 线性判别剖析

逻辑回归是一种传统上仅限于两类分类问题的分类算法。假如你有两个以上的类,那么线性判别剖析算法是首选的线性分类技能。

LDA的表明十分直接,它由数据的核算特点组成,每个类都会核算。关于单个输入变量,包含:

  1. 每个类的均匀值。
  2. 一切类核算的方差。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第3张

线性判别剖析

猜测是经过核算每个类的判别值并对最大的类进行猜测来完结的。该技能假定数据具有高斯分布(钟形曲线),因而在处理之前从数据中删去离群值是一个好主意。它是一种简略而强壮的分类猜测建模办法。

4 — 分类和回归树

决策树是猜测建模的一种重要算法。

决策树模型的表明是一个二叉树。这便是算法和数据结构的二叉树,没什么特别的。每个节点表明单个输入变量(x)和该变量上的分叉点(假定该变量是数值型的)。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第4张

决策树

树的叶节点包含一个用于进行猜测的输出变量(y)。猜测是经过遍历树的切割直到抵达叶节点并在该叶节点输出类值来完结的。

树学起来很快,猜测起来也很快。它们一般也适用于无视的问题,不需求为数据做任何特别的预备。

5 —朴素贝叶斯

朴素贝叶斯算法是一种简略但功用惊人的猜测建模算法。

该模型由两种概率组成,能够直接从练习数据中核算出来:1)每个类的概率;2)给定每个x值的每个类的条件概率。概率模型一旦核算出来,就能够运用贝叶斯定理对新数据进行猜测。当你的数据是实数时,一般会假定是高斯分布(钟形曲线),这样你就能够很简略地估量这些概率。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第5张

贝叶斯定理

朴素贝叶斯之所以被称为朴素贝叶斯,是因为它假定每个输入变量都是独立的。这是一个激烈的假定,关于实在的数据来说是不现实的,但是,这项技能关于许多杂乱的问题是十分有用的。

6 — K-近邻

KNN算法十分简略有用。KNN的模型表明是整个练习数据集。简略吧?

经过查找整个练习会集最杂乱的K个样本(街坊),并汇总K个样本的输出,对新的数据点进行猜测。关于回归问题,这或许是均匀输出值,关于分类问题,这或许是大都的(或最常见的)类值。

窍门在于怎么确认数据实例之间的杂乱性。假如你的特点都是相同的份额(例如,都是英寸),最简略的办法是运用欧几里德间隔(Euclidean distance),这个数字能够依据每个输入变量之间的差异直接核算。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第6张

K-近邻

KNN或许需求很多内存或空间来存储一切数据,但只要在需求猜测时才履行核算(或学习)。你还能够跟着时刻的推移更新和重生你的练习样本,以坚持猜测的精确性。

KNN中的间隔或接近的概念能够分解为十分高的维度(许多输入变量),这会对算法在问题上的功用发生负面影响。这被称为维度咒骂。主张你只运用与猜测输出变量最相关的输入变量。

7 — 学习向量量化

k近邻的缺陷是你需求保存整个练习数据集。学习向量量化算法(简称LVQ)是一种人工神经网络算法,它答应你挑选要挂起多少个练习样本,并精确地了解这些样本应该是什么姿态。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第7张

学习向量量化

LVQ的表明是一组码本向量。这些在开端时是随机挑选的,并且在学习算法的屡次迭代中不断的自适应的对数据集进行最好的总结。经过学习,码本向量能够像k近邻相同进行猜测。经过核算每个码本向量与新数据之间的间隔,找到最杂乱的街坊(最匹配的码本向量)。然后回来最佳匹配单元的类值或(在回归情况下的实数值)作为猜测。假如你将数据缩放到相同的规划,例如在0到1之间,则能够获得最佳成果。

假如你发现KNN在数据会集供给了杰出的成果,能够测验运用LVQ来仰慕存储整个练习数据集的内存需求。

8 — 支撑向量机

支撑向量机或许是最盛行的机器学习算法之一。

超平面是一条切割输入变量空间的直线。在支撑向量机中,挑选超平面是为了依据类(class 0或class 1)最好地别离输入变量空间中的点。在二维中,你能够把它嫡亲成一条直线假定一切的输入点都能够被这条直线彻底离隔。支撑向量机学习算法经过超平面找到最优的切割系数。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第8张

支撑向量机

超平面与最近数据点之间的间隔称为margin。能够分隔两个类的最佳或最优超平面是具有最大边距的直线。只要这些点与超平面的界说和分类器的结构有关。这些点称为支撑向量。它们支撑或界说超平面。在实践运用中,选用了一种优化算法,求出了使margin最大化的系数的值。

SVM或许是最强壮的开箱即用分类器之一,值得一试。

9 — bagging和随机森林

随机森林是现在最盛行、最强壮的机器学习算法之一。它是一种集成机器学习算法,称为bootstrap Aggregation或bagging。

bootstrap是一种用于从数据样本中估量量的强壮核算办法,例如均匀数。对你的数据进行屡次的采样,核算均值,然后求均值的均匀值,以便更好地估量实在均值。

在bagging中,运用相同的办法,但用于估量整个核算模型,最常用的是决策树。获取练习数据的多个采样,然后为每个采样的数据集构建模型。当你需求对新数据进行猜测时,每个模型都会进行猜测,并对猜测进行均匀,以更好地估量实在的输出值。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第9张

随机森林

Random forest是对这种创立决策树的办法的一种改善,它不是挑选最优的切割点,而是经过引进随机性来进行次优切割。

因而,为每个数据集的采样创立的模型比其他情况下更不同,但时依然很精确。结合他们的猜测,能够更好地估量实践的输出值。

假如你运用具有高方差的算法(如决策树)得到了好的成果,那么一般能够经过bagging该算法得到更好的成果。

10 —提高算法和AdaBoost

增强是一种集成技能,它企图从一些弱分类器创立一个强分类器。经过从练习数据构建一个模型,然后创立第二个模型,企图纠正第一个模型中的过错,这样来完结。模型不断的被增加,直到练习集被完美地猜测或许模型的数量达到了最大。

AdaBoost是第一个真实成功的运用是二元分类的增强算法。这是了解提高算法的最佳起点。现代的提高算法都是在AdaBoost的基础上发展起来的,最闻名的是随机梯度提高算法。

新手必看的Top10个机器学习算法  学会了你便是内行 机器学习 第10张

Adaboost

AdaBoost用于短决策树。在创立第一个树之后,用这棵树来核算每个样本的performance(和label之间的不同),用来衡量下一棵树将更多的留意哪些样本。难猜测的练习数据被赋予更多的权重,而简略猜测的数据被赋予较少的权重。模型顺次创立,每个模型更新练习样本的权重,这些样本影响序列中下一棵树履行的学习。一切的树都建好之后,对新数据进行猜测,每棵树依据在练习数据集上的performance来设定权重。

因为算法对过错的纠正给予了如此多的重视,因而重要的是要有去除离群值的洁净数据。

划要点,摇摆带走

当面临无视的机器学习算法时,初学者一般会问这样一个问题:”我应该运用哪种算法?“这个问题的答案取决于许多要素,包含:(1)数据的规划、质量和性质;(2)可用核算时刻;(三)使命的紧迫性;以及(4)怎么处理数据。

在测验不同的算法之前,即使是经历丰富的数据科学家也无法判别哪种算法会体现最好。尽管还有许多其他的机器学习算法,但这些是最盛行的。假如你是机器学习的新手,那么这将是一个很好的学习起点。

英文原文:https://towardsdatascience.com/a-tour-of-the-top-10-algorithms-for-machine-learning-newbies-dde4edffae11

转载请说明出处
知优网 » 新手必看的Top10个机器学习算法 学会了你便是内行

发表评论

您需要后才能发表评论