欧宝娱乐平台网站:数据科学家最常用的十大机器学习算法
欧宝娱乐app下载 发布时间:2021-08-05

  在机器学习范畴,有种说法叫做“世上没有免费的午饭”,简而言之,它是指没有任何一种算法能在每个问题上都能有最好的作用,这个理论在监督学习方面体现得尤为重要

  举个比如来说,你不能说神经网络永远比决策树好,反之亦然。模型运转被许多要素左右,例如数据集的巨细和结构

  因而,你应该依据你的问题测验许多不同的算法,一同运用数据测试集来评价功能并选出最优项

  当然,你测验的算法有必要和你的问题相切合,其间的门路便是机器学习的首要使命。打个比如,假如你想清扫房子,你或许会用到吸尘器、扫帚或许拖把,但你必定不会拿把铲子开端挖坑吧

  因为猜测建模首要重视最小化模型的差错,或许以可解释性为价值来做出最精确的猜测。 咱们会从许多不同范畴借用、重用和盗用算法,其间触及一些核算学常识

  线性回归用一个等式表明,经过找到输入变量的特定权重(B),来描绘输入变量(x)与输出变量(y)之间的线性关系。

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

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

  线多年,而且现已进行了广泛的研讨。 假如或许的话,运用这种技能时的一些经历法则是去除十分类似(相关)的变量并从数据中移除噪声。 这是一种快速简略的技能和杰出的第一种算法。

  逻辑回归是机器学习从核算范畴学习的另一种技能。 这是二分类问题的专用办法(两个类值的问题)。

  逻辑回归与线性回归类似,这是因为两者的方针都是找出每个输入变量的权重值。 与线性回归不同的是,输出的猜测值得运用称为逻辑函数的非线性函数进行改换。

  逻辑函数看起来像一个大S,并能将任何值转换为0到1的规模内。这很有用,因为咱们能够将相应规矩应用于逻辑函数的输出上,把值分类为0和1(例如,假如IF小于0.5,那么 输出1)并猜测类别值。

  因为模型的特有学习办法,经过逻辑回归所做的猜测也能够用于核算归于类0或类1的概率。这关于需求给出许多基本原理的问题十分有用。

  与线性回归相同,当你移除与输出变量无关的特点以及互相十分类似(相关)的特点时,逻辑回归的确会更好。 这是一个快速学习和有用处理二元分类问题的模型。

  传统的逻辑回归仅限于二分类问题。 假如你有两个以上的类,那么线性判别分析算法(Linear Discriminant Analysis,简称LDA)是首选的线性分类技能。

  LDA的表明十分简略。 它由你的数据的核算特点组成,依据每个类别进行核算。 关于单个输入变量,这包含:

  LDA经过核算每个类的判别值并对具有最大值的类进行猜测来进行。该技能假定数据具有高斯分布(钟形曲线),因而最好先手动从数据中移除异常值。这是分类猜测建模问题中的一种简略而强壮的办法。

  决策树模型可用二叉树表明。对,便是来自算法和数据结构的二叉树,没什么特别。 每个节点代表单个输入变量(x)和该变量上的左右孩子(假定变量是数字)。

  树的叶节点包含用于进行猜测的输出变量(y)。 猜测是经过遍历树进行的,当到达某一叶节点时中止,并输出该叶节点的类值。

  决策树学习速度快,猜测速度快。 关于许多问题也常常猜测精确,而且你不需求为数据做任何特别预备。

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

  朴素贝叶斯被称为朴素的原因,在于它假定每个输入变量是独立的。 这是一个强硬的假定,关于实在数据来说是不切实践的,但该技能关于大规模内的复杂问题仍十分有用。

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

  经过查找整个练习集内K个最类似的实例(街坊),并对这些K个实例的输出变量进行汇总,来猜测新的数据点。 关于回归问题,新的点或许是均匀输出变量,关于分类问题,新的点或许是众数类别值。

  成功的窍门在于怎么确认数据实例之间的类似性。假如你的特点都是相同的份额,最简略的办法便是运用欧几里德间隔,它能够依据每个输入变量之间的差直接核算。

  KNN或许需求许多的内存或空间来存储一切的数据,但只要在需求猜测时才会履行核算(或学习)。 你还能够随时更新和办理你的练习集,以坚持猜测的精确性。

  间隔或紧密度的概念或许会在高维环境(许多输入变量)下溃散,这会对算法形成负面影响。这类事情被称为维度咒骂。它也暗示了你应该只运用那些与猜测输出变量最相关的输入变量。

  K-近邻的缺陷是你需求保持整个练习数据集。 学习矢量量化算法(或简称LVQ)是一种人工神经网络算法,答应你挂起恣意个练习实例并精确学习他们。

  LVQ用codebook向量的调集表明。开端时随机挑选向量,然后屡次迭代,习惯练习数据集。 在学习之后,codebook向量能够像K-近邻那样用来猜测。 经过核算每个codebook向量与新数据实例之间的间隔来找到最类似的街坊(最佳匹配),然后回来最佳匹配单元的类别值或在回归情况下的实践值作为猜测。 假如你把数据约束在相同规模(如0到1之间),则能够取得最佳成果。

  假如你发现KNN在您的数据集上给出了很好的成果,请测验运用LVQ来削减存储整个练习数据集的内存要求。

  超平面是切割输入变量空间的线。 在SVM中,会选出一个超平面以将输入变量空间中的点按其类别(0类或1类)进行别离。在二维空间中能够将其视为一条线,一切的输入点都能够被这条线彻底分隔。 SVM学习算法便是要找到能让超平面临类别有最佳别离的系数。

  超平面和最近的数据点之间的间隔被称为鸿沟,有最大鸿沟的超平面是最佳之选。一同,只要这些离得近的数据点才和超平面的界说和分类器的结构有关,这些点被称为支撑向量,他们支撑或界说超平面。在详细实践中,咱们会用到优化算法来找到能最大化鸿沟的系数值。

  随机森林是最盛行和最强壮的机器学习算法之一。 它是一种被称为Bootstrap Aggregation或Bagging的集成机器学习算法。

  bootstrap是一种强壮的核算办法,用于从数据样本中估量某一数量,例如均匀值。 它会抽取许多样本数据,核算均匀值,然后均匀一切均匀值,以便更精确地预算实在均匀值。

  在bagging顶用到了相同的办法,但最常用到的是决策树,而不是估量整个核算模型。它会练习数据进行多重抽样,然后为每个数据样本构建模型。当你需求对新数据进行猜测时,每个模型都会进行猜测,并对猜测成果进行均匀,以更好地估量实在的输出值。

  随机森林是对决策树的一种调整,相关于挑选最佳切割点,随机森林经过引进随机性来完成次优切割。

  因而,为每个数据样本创立的模型之间的差异性会更大,但就本身含义来说仍然精确无误。结合猜测成果能够更好地估量正确的潜在输出值。

  假如你运用高方差算法(如决策树)取得杰出成果,那么加上这个算法后作用会更好。

  Boosting是一种从一些弱分类器中创立一个强分类器的集成技能。 它先由练习数据构建一个模型,然后创立第二个模型来测验纠正第一个模型的过错。 不断增加模型,直到练习集完美猜测或现已增加到数量上限。

  AdaBoost是为二分类开发的第一个真实成功的Boosting算法,一同也是了解Boosting的最佳起点。 现在根据AdaBoost而构建的算法中最闻名的便是随机梯度boosting。

  AdaBoost常与短决策树一同运用。 在创立第一棵树之后,每个练习实例在树上的功能都决议了下一棵树需求在这个练习实例上投入多少重视。难以猜测的练习数据会被赋予更多的权重,而易于猜测的实例被赋予更少的权重。 模型按次序顺次创立,每个模型的更新都会影响序列中下一棵树的学习作用。在建完一切树之后,算法对新数据进行猜测,而且经过练习数据的精确程度来加权每棵树的功能。

  初学者在面临各式各样的机器学习算法时提出的一个典型问题是“我应该运用哪种算法?”问题的答案取决于许多要素,其间包含:(1)数据的巨细,质量和性质; (2)可用的核算时刻; (3)使命的紧迫性; 和(4)你想要对数据做什么。

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