10 个常用机器学习算法

2023-05-29 0 522

(给演算法发烧友加星标,修练程式设计心法

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

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

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

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

– EOF –

10 个常用机器学习算法

推荐阅读  点击标题可跳转

1、演算法题447:双指针解旋转链表

2、「手撕演算法」锁定大厂看这就可

3、什么是 RSA 演算法

觉得责任编辑有帮助?请分享给更多人

10 个常用机器学习算法

好文章,我在看❤️

相关文章

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

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