10种常用机器学习算法简介

上传人:hs****ma 文档编号:431097084 上传时间:2023-11-06 格式:DOCX 页数:14 大小:486.76KB
返回 下载 相关 举报
10种常用机器学习算法简介_第1页
第1页 / 共14页
10种常用机器学习算法简介_第2页
第2页 / 共14页
10种常用机器学习算法简介_第3页
第3页 / 共14页
10种常用机器学习算法简介_第4页
第4页 / 共14页
10种常用机器学习算法简介_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《10种常用机器学习算法简介》由会员分享,可在线阅读,更多相关《10种常用机器学习算法简介(14页珍藏版)》请在金锄头文库上搜索。

1、10 种常用机器学习算法简介在机器学习领域,有种说法叫做“世上没有免费的午 餐”,简而言之,它是指没有任何一种算法能在每个问题 上都能有最好的效果,这个理论在监督学习方面体现得尤 为重要。举个例子来说,你不能说神经网络永远比决策树好, 反之亦然。模型运行被许多因素左右,例如数据集的大小 和结构。因此,你应该根据你的问题尝试许多不同的算法,同 时使用数据测试集来评估性能并选出最优项。当然,你尝试的算法必须和你的问题相切合,其中的 门道便是机器学习的主要任务。打个比方,如果你想打扫 房子,你可能会用到吸尘器、扫帚或者拖把,但你肯定不 会拿把铲子开始挖坑吧。对于渴望了解机器学习基础知识的机器学习新人

2、来 说,这儿有份数据科学家使用的十大机器学习算法, 为你 介绍这十大算法的特性,便于大家更好地理解和应用,快 来看看吧。一、线性回归线性回归可能是统计学和机器学习中最知名和最易理 解的算法之一。由于预测建模主要关注最小化模型的误差,或者以可 解释性为代价来做出最准确的预测。 我们会从许多不同领 域借用、重用和盗用算法,其中涉及一些统计学知识。线性回归用一个等式表示,通过找到输入变量的特定权重(B),来描述输入变量(x)与输出变量(y)之间的线性y儿关系。J LE =他一九)勺=他_九)举例:y = BO + B1 * x给定输入x,我们将预测y,线性回归学习算法的目标 是找到系数 B0 和 B

3、1 的值。可以使用不同的技术从数据中 学习线性回归模型,例如用于普通最小二乘和梯度下降优 化的线性代数解。线性回归已经存在了 200 多年,并且已经进行了广泛的研究。 如果可能的话,使用这种技术时的一些经验法则 是去除非常相似(相关)的变量并从数据中移除噪声。 这 是一种快速简单的技术和良好的第一种算法。二、逻辑回归 逻辑回归是机器学习从统计领域借鉴的另一种技术。 这是二分类问题的专用方法(两个类值的问题)。 逻辑回归与线性回归类似,这是因为两者的目标都是 找出每个输入变量的权重值。 与线性回归不同的是,输出 的预测值得使用称为逻辑函数的非线性函数进行变换。逻辑函数看起来像一个大 S,并能将任

4、何值转换为0到 1 的范围内。这很有用,因为我们可以将相应规则应用 于逻辑函数的输出上,把值分类为 0 和 1(例如,如果 IF 小于 0.5 ,那么 输出 1)并预测类别值。Logistic degression Example0.9C.80.4000.40.6* Boundary* False samples* True-samples由于模型的特有学习方式,通过逻辑回归所做的预测 也可以用于计算属于类 0 或类 1 的概率。这对于需要给出 许多基本原理的问题十分有用。与线性回归一样,当你移除与输出变量无关的属性以 及彼此非常相似(相关)的属性时,逻辑回归确实会更 好。 这是一个快速学习和

5、有效处理二元分类问题的模型。三、线性判别分析 传统的逻辑回归仅限于二分类问题。 如果你有两个以 上的类,那么线性判别分析算法( Linear Discriminant Analysis ,简称 LDA )是首选的线性分类技术。LDA 的表示非常简单。它由你的数据的统计属性组成,根据每个类别进行计算。对于单个输入变量, 这包括:每类的平均值。跨所有类别计算的方差。Q 1MD MWMMLLt.P 1J2 Siim_c.oiKJi k-s UEliiTijiduatruWilli#4JMAM此前 UiYQ 百(1及葩 2 占 1 印 nvEQKH!U EI 税gLDA 通过计算每个类的判别值并对具有

6、最大值的类进 行预测来进行。 该技术假定数据具有高斯分布 (钟形曲线),因此最好先手动从数据中移除异常值。这是分类预测建模 问题中的一种简单而强大的方法。四、分类和回归树 决策树是机器学习的一种重要算法。 决策树模型可用二叉树表示。对,就是来自算法和数 据结构的二叉树,没什么特别。 每个节点代表单个输入变 量(x)和该变量上的左右孩子(假定变量是数字)。nrDnonodlecline offeraffera free coffeesalary al leatdwisro-n nodwroot nodeleaf nodesDecision Tree: Should I accept a new

7、job offer?树的叶节点包含用于进行预测的输出变量( y)。 预测是通过遍历树进行的,当达到某一叶节点时停止,并输 出该叶节点的类值。决策树学习速度快,预测速度快。 对于许多问题也经常预测准确,并且你不需要为数据做任何特殊准备。五、朴素贝叶斯 朴素贝叶斯是一种简单但极为强大的预测建模算法。 该模型由两种类型的概率组成,可以直接从你的训练数据 中计算出来: 1)每个类别的概率 ; 2)给定的每个 x 值的 类别的条件概率。 一旦计算出来,概率模型就可以用于使 用贝叶斯定理对新数据进行预测。 当你的数据是数值时, 通常假设高斯分布(钟形曲线),以便可以轻松估计这些 概率。1ACBSample

8、s (x i, y i with v f = ySamples (x i, y i) with w i = x朴素贝叶斯被称为朴素的原因,在于它假设每个输入 变量是独立的。 这是一个强硬的假设,对于真实数据来说 是不切实际的,但该技术对于大范围内的复杂问题仍非常 有效。六、K近邻KNN 算法非常简单而且非常有效。 KNN 的模型用整个训练数据集表示。 是不是特简单?通过搜索整个训练集内 K 个最相似的实例(邻居), 并对这些 K 个实例的输出变量进行汇总,来预测新的数据 点。 对于回归问题,新的点可能是平均输出变量,对于分 类问题,新的点可能是众数类别值。成功的诀窍在于如何确定数据实例之间的相

9、似性。如果你的属性都是相同的比例,最简单的方法就是使用欧几里德距离,它可以根据每个输入变量之间的差直接计算。KNN 可能需要大量的内存或空间来存储所有的数据, 但只有在需要预测时才会执行计算(或学习)。你还可以 随时更新和管理你的训练集,以保持预测的准确性。距离或紧密度的概念可能会在高维环境(大量输入变量)下崩溃,这会对算法造成负面影响。这类事件被称为 维度诅咒。它也暗示了你应该只使用那些与预测输出变量 最相关的输入变量。七、学习矢量量化K-近邻的缺点是你需要维持整个训练数据集。学习矢量量化算法(或简称 LVQ )是一种人工神经网络算法,允 许你挂起任意个训练实例并准确学习他们。LMPVT L

10、AYERCOMPETITIVE LAYBRLIKEAR LAYERLVQ 用 codebook 向量的集合表示。开始时随机选择向量,然后多次迭代,适应训练数据集。 在学习之后,codebook向量可以像K-近邻那样用来预测。通过计算每个 codebook 向量与新数据实例之间的距离来找到最相似 的邻居(最佳匹配),然后返回最佳匹配单元的类别值或 在回归情况下的实际值作为预测。 如果你把数据限制在相 同范围(如 0 到 1 之间),则可以获得最佳结果。如果你发现 KNN 在您的数据集上给出了很好的结果, 请尝试使用 LVQ 来减少存储整个训练数据集的内存要求。八、支持向量机支持向量机也许是最受欢

11、迎和讨论的机器学习算法之超平面是分割输入变量空间的线。 在 SVM 中,会选 出一个超平面以将输入变量空间中的点按其类别 ( 0 类或 1 类)进行分离。在二维空间中可以将其视为一条线,所有的输入点都可以被这条线完全分开。 SVM 学习算法就是要 找到能让超平面对类别有最佳分离的系数。超平面和最近的数据点之间的距离被称为边界,有最 大边界的超平面是最佳之选。同时,只有这些离得近的数 据点才和超平面的定义和分类器的构造有关,这些点被称 为支持向量,他们支持或定义超平面。在具体实践中,我 们会用到优化算法来找到能最大化边界的系数值。SVM 可能是最强大的即用分类器之一,在你的数据集 上值得一试。九

12、、bagging和随机森林随机森林是最流行和最强大的机器学习算法之一。 它 是一种被称为 Bootstrap Aggregation 或 Bagging 的集 成机器学习算法。bootstrap 是一种强大的统计方法,用于从数据样本 中估计某一数量,例如平均值。 它会抽取大量样本数据, 计算平均值,然后平均所有平均值,以便更准确地估算真 实平均值。在 bagging 中用到了相同的方法, 但最常用到的是决 策树,而不是估计整个统计模型。它会训练数据进行多重 抽样,然后为每个数据样本构建模型。当你需要对新数据 进行预测时,每个模型都会进行预测,并对预测结果进行 平均,以更好地估计真实的输出值。随

13、机森林是对决策树的一种调整,相对于选择最佳分割点,随机森林通过引入随机性来实现次优分割。因此,为每个数据样本创建的模型之间的差异性会更 大,但就自身意义来说依然准确无误。结合预测结果可以 更好地估计正确的潜在输出值。如果你使用高方差算法(如决策树)获得良好结果, 那么加上这个算法后效果会更好。10 Boosting 和 AdaBoostBoosting 是一种从一些弱分类器中创建一个强分类 器的集成技术。 它先由训练数据构建一个模型,然后创建 第二个模型来尝试纠正第一个模型的错误。 不断添加模 型,直到训练集完美预测或已经添加到数量上限。AdaBoost 是为二分类开发的第一个真正成功的Boo

14、sting 算法,同时也是理解Boosting 的最佳起点。前基于 AdaBoost 而构建的算法中最著名的就是随机梯度boosting 。AdaBoost 常与短决策树一起使用。 在创建第一棵树之后,每个训练实例在树上的性能都决定了下一棵树需要 在这个训练实例上投入多少关注。难以预测的训练数据会 被赋予更多的权重,而易于预测的实例被赋予更少的权 重。 模型按顺序依次创建,每个模型的更新都会影响序列 中下一棵树的学习效果。在建完所有树之后,算法对新数 据进行预测,并且通过训练数据的准确程度来加权每棵树 的性能。因为算法极为注重错误纠正,所以一个没有异常值的 整洁数据十分重要。初学者在面对各种各样的机器学习算法时提出的一个 典型问题是“我应该使用哪种算法?”问 题的答案取决于 许多因素,其中包括: 数据的大小,质量和性质;可用的计算时间;任务的紧迫性;你想要对数据做什么。即使是一位经验丰富的数据科学家,在尝试不同的算 法之前,也无法知道哪种算法会表现最好。 虽然还有很多 其他的机器学习算法,但这些算法是最受欢迎的算法。 如 果你是机器学习的新手,这是一个很好的学习起点。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号