机器学习必学10大算法

2023-05-29 0 840

责任编辑如是说了 10 大常见电脑自学演算法,主要包括线性重回、Logistic 重回、线性基本概念、朴实可计算性、KNN、乱数丛林等。

LizierMedium,译者:garvitanand2,电脑之心校对,参与:Geek AI、路。

1. 线性重回

在语言学和电脑自学应用领域,线性重回可能是最为人所知也很易认知的演算法之一。

许多其他应用领域的演算法(主要包括语言学)来实现这些最终目标。

线性重回数学模型被表示为两个方程组,它为输入表达式找出某一的权重股(即常数 B),从而叙述一条最差插值了输入表达式(x)和输入表达式(y)之间关系的直角。

机器学习必学10大算法
线性重回

例如: y = B0 + B1 * x

他们将在取值输入值 x 的条件下预估 y,线性重回自学演算法的目地是找出常数 B0 和 B1 的值。

他们能采用相同的控制技术来从统计数据中自学线性重回数学模型,比如一般最轻二乘法的非数学分析解和势能下降强化。

线性重回约有 200 十多年的历史,并已被广为地研究。在采用这类控制技术时,有一些较好的实战经验准则:他们能删掉非常类似于(相关)的表达式,并尽量去除统计数据中的噪音。线性重回是一类运算速度迅速的单纯控制技术,也是一类适宜新手试著的经典之作演算法。

2. Logistic 重回

Logistic 重回是电脑自学从语言学应用领域先进实战经验回来的另一类控制技术。它是二进行分类问题的必选方法。

像线性重回一样,Logistic 重回的目地也是找出每一输入表达式的权重股常值。但相同的是,Logistic 重回的输入预估结果是通过两个叫做「logistic 表达式」的非线性表达式切换得来的。

logistic 表达式的花纹看起来像两个大的「S」,它会把任何值切换至 0-1 的区段内。这十分管用,因为他们能把两个准则应用于 logistic 表达式的输入,从而得到 0-1 区段内的抓取值(比如,将共振频率增设为 0.5,则如果函值小于 0.5,则输入值为 1),并预估类别的值。

机器学习必学10大算法
Logistic 重回

由于数学模型的自学方式,Logistic 重回的预估结果也能用作取值统计数据实例属于类 0 或类 1 的概率。这对于需要为预估结果提供更多理论依据的问题非常管用。

与线性重回类似于,当删掉与输入表达式无关以及彼此之间非常相似(相关)的属性后,Logistic 重回的效果更好。该数学模型自学速度快,对二进行分类问题十分有效。

3. 线性基本概念

Logistic 重回是一类传统的进行分类演算法,它的采用场景仅限于二进行分类问题。如果你有两个以上的类,那么线性基本概念演算法(LDA)是必选的线性进行分类控制技术。

LDA 的表示方法非常直接。它包含为每一类计算的统计数据统计属性。对于单个输入表达式而言,这些属性主要包括:

每一类的均值。所有类的方差。
机器学习必学10大算法
线性基本概念

预估结果是通过计算每一类的判别值、并将类别预估为判别值最大的类而得出的。该控制技术假设统计数据符合高斯分布(钟形曲线),因此最好预先从统计数据中删掉异常值。LDA 是一类单纯而有效的进行分类预估建模方法。

4. 进行分类和重回树

决策树是一类重要的电脑自学预估建模演算法。

决策树能被表示为一棵二叉树。这种二叉树与演算法设计和统计数据结构中的二叉树是一样的,没有什么特别。每一节点都代表两个输入表达式(x)和两个基于该表达式的分叉点(假设该表达式是值型的)。

机器学习必学10大算法
决策树

决策树的叶子结点包含两个用于做出预估的输入表达式(y)。预估结果是通过在树的各个分叉路径上游走,直到到达两个叶子结点并输入该叶子结点的类别值而得出。

决策树的自学速度迅速,做出预估的速度也迅速。它们在大量问题中往往都很准确,而且不需要为统计数据做任何特殊的预处理准备。

5. 朴实可计算性

朴实可计算性是一种单纯而强大的预估建模演算法。

该数学模型由两类可直接从训练统计数据中计算出来的概率组成:1)统计数据属于每一类的概率;2)取值每一 x 值,统计数据从属于每一类的条件概率。一旦这两个概率被计算出来,就能采用可计算性定理,用概率数学模型对新统计数据进行预估。当你的统计数据是实值的时候,通常假设统计数据符合高斯分布(钟形曲线),这样你就能很容易地估计这些概率。

机器学习必学10大算法
可计算性定理

朴实可计算性之所以被称为「朴实」,是因为它假设每一输入表达式相互之间是独立的。这是一类很强的、对于真实统计数据并不现实的假设。不过,该演算法在大量的复杂问题中十分有效。

6. K 最近邻演算法

K 最近邻(KNN)演算法是非常单纯而有效的。KNN 的数学模型表示就是整个训练统计数据集。这很单纯吧?

对新统计数据点的预估结果是通过在整个训练集上搜索与该统计数据点最相似的 K 个实例(近邻)并且总结这 K 个实例的输入表达式而得出的。对于重回问题来说,预估结果可能就是输入表达式的均值;而对于进行分类问题来说,预估结果可能是众数(或最常见的)的类的值。

关键之处在于如何判定统计数据实例之间的相似程度。如果你的统计数据特征尺度相同(比如,都以英寸为单位),那么最单纯的度量控制技术就是采用欧几里得距离,你能根据输入表达式之间的差异直接计算出该值。

机器学习必学10大算法
K 最近邻

KNN 可能需要大量的内存或空间来存储所有统计数据,但只有在需要预估时才实时执行计算(或自学)。随着时间的推移,你还能更新并管理训练实例,以保证预估的准确率。

采用距离或接近程度的度量方法可能会在维度非常高的情况下(有许多输入表达式)崩溃,这可能会对演算法在你的问题上的性能产生负面影响。这就是所谓的维数灾难。这告诉他们,应该仅仅采用那些与预估输入表达式最相关的输入表达式。

7. 自学向量量化

KNN 演算法的两个缺点是,你需要处理整个训练统计数据集。而自学向量量化演算法(LVQ)允许选择所需训练实例数量,并确切地自学这些实例。

机器学习必学10大算法
自学向量量化

LVQ 的表示是一组码本向量。它们在开始时是随机选择的,经过多轮自学演算法的迭代后,最终对训练统计数据集进行最好的总结。通过自学,码本向量可被用来像 K 最近邻那样执行预估。通过计算每一码本向量与新统计数据实例之间的距离,能找出最相似的邻居(最匹配的码本向量)。然后返回最匹配单元的类别值(进行分类)或实值(重回)作为预估结果。如果将统计数据重新放缩放到相同的范围中(比如 0 到 1 之间),就能获得最差的预估结果。

如果你发现 KNN 能够在你的统计数据集上得到不错的预估结果,那么不妨试一试 LVQ 控制技术,它能减少对内存空间的需求,不需要像 KNN 那样存储整个训练统计数据集。

8. 支持向量机

支持向量机(SVM)可能是目前最流行、被讨论地最多的电脑自学演算法之一。

超平面是一条对输入表达式空间进行划分的「直角」。支持向量机会选出两个将输入表达式空间中的点按类(类 0 或类 1)进行最差分割的超平面。在二维空间中,你能把他想象成一条直角,假设所有输入点都能被这条直角完全地划分开来。SVM 自学演算法旨在寻找最终通过超平面得到最差类别分割的常数。

机器学习必学10大算法
支持向量机

超平面与最近统计数据点之间的距离叫做间隔(margin)。能够将两个类分开的最差超平面是具有最大间隔的直角。只有这些点与超平面的定义和进行分类器的构建有关,这些点叫做支持向量,它们支持或定义超平面。在实际应用中,人们采用一类强化演算法来寻找使间隔最大化的常值。

支持向量机可能是目前能直接采用的最强大的进行分类器之一,值得你在自己的统计数据集上试一试。

9. 袋装法和乱数丛林

乱数丛林是最流行也最强大的电脑自学演算法之一,它是一类集成电脑自学演算法。

自助法是一类从统计数据样本中估计某个量(比如平均值)的强大语言学方法。你需要在统计数据中取出大量的样本,计算均值,然后对每次取样计算出的均值再取平均,从而得到对所有统计数据的真实均值更好的估计。

Bagging 采用了相同的方法。但是最常见的做法是采用决策树,而不是对整个统计数学模型进行估计。Bagging 会在训练统计数据中取多个样本,然后为每一统计数据样本构建数学模型。当你需要对新统计数据进行预估时,每一数学模型都会产生两个预估结果,Bagging 会对所有数学模型的预估结果取平均,以便更好地估计真实的输入值。

机器学习必学10大算法
随机丛林

乱数丛林是这种方法的改进,它会创建决策树,这样就不用选择最优分割点,而是通过引入乱数性来进行次优分割。

因此,为每一统计数据样本创建的数学模型比在其他情况下创建的数学模型更加独特,但是这种独特的方式仍能保证较高的准确率。结合它们的预估结果能更好地估计真实的输入值。

如果你采用具有高方差的演算法(比如决策树)获得了良好的结果,那么你通常能通过对该演算法执行 Bagging 获得更好的结果。

10. Boosting 和 AdaBoost

Boosting 是一类试图利用大量弱进行分类器创建两个强进行分类器的集成控制技术。要实现 Boosting 方法,首先你需要利用训练统计数据构建两个数学模型,然后创建第二个数学模型(它企图修正第一个数学模型的误差)。直到最后数学模型能够对训练集进行完美地预估或加入的数学模型数量已达上限,他们才停止加入新的数学模型。

AdaBoost 是第两个为二进行分类问题开发的真正成功的 Boosting 演算法。它是人们入门认知 Boosting 的最差起点。当下的 Boosting 方法建立在 AdaBoost 基础之上,最著名的就是乱数势能提升机。

机器学习必学10大算法
AdaBoost

AdaBoost 采用浅层决策树。在创建第一棵树之后,采用该树在每一训练实例上的性能来衡量下一棵树应该对每一训练实例赋予多少权重股。难以预估的训练统计数据权重股会增大,而易于预估的实例权重股会减小。数学模型是两个接两个依次创建的,每一数学模型都会更新训练实例权重股,影响序列中下一棵树的自学。在构建所有的树之后,他们就能对新的统计数据执行预估,并根据每棵树在训练统计数据上的准确率来对其性能进行加权。

由于演算法在纠正错误上投入了如此多的精力,因此删掉统计数据中的异常值在统计数据清洗过程中是非常重要的。

机器学习必学10大算法

原文链接:https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Fblog.goodaudience.com%2Ftop-10-machine-learning-algorithms-2a9a3e1bdaff

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务