📜  机器学习算法

📅  最后修改于: 2020-09-29 04:43:16             🧑  作者: Mango

机器学习算法

机器学习算法是可以从数据中学习隐藏模式,预测输出并根据自身经验提高性能的程序。可以在机器学习中针对不同的任务使用不同的算法,例如可以用于诸如股票市场预测之类的预测问题的简单线性回归,而可以将KNN算法用于分类问题。

在本主题中,我们将概述一些流行且最常用的机器学习算法,以及它们的用例和类别。

机器学习算法的类型

机器学习算法大致可分为三类:

  • 监督学习算法
  • 无监督学习算法
  • 强化学习算法

下图说明了不同的ML算法以及类别:

1)监督学习算法

监督学习是机器学习的一种类型,其中机器需要外部监督来学习。监督学习模型使用标记的数据集进行训练。训练和处理完成后,通过提供样本测试数据来检查模型,以检查模型是否预测正确的输出。

监督学习的目标是将输入数据与输出数据进行映射。监督学习是基于监督的,这与学生在老师的监督下学习事物一样。监督学习的示例是垃圾邮件过滤。

监督学习可以进一步分为两类问题:

  • 分类
  • 回归

一些流行的监督学习算法的示例包括简单线性回归,决策树,逻辑回归,KNN算法等。阅读更多..

2)无监督学习算法

这是一种机器学习,其中机器不需要任何外部监督即可从数据中学习,因此称为无监督学习。可以使用未分类,也未分类的未标记数据集训练无监督模型,并且算法需要在没有任何监督的情况下对数据进行操作。在无监督学习中,该模型没有预定义的输出,而是尝试从大量数据中找到有用的见解。这些用于解决关联和聚类问题。因此,进一步可以将其分为两种类型:

  • 聚类
  • 协会

某些无监督学习算法的示例包括K-均值聚类,Apriori算法,Eclat等。

3)强化学习

在强化学习中,代理通过产生动作与环境互动,并在反馈的帮助下学习。反馈以奖励的形式提供给代理,例如,对于每个好的行为,他都会获得积极的奖励,而对于每个不良的行为,他都会得到消极的奖励。没有为代理提供监督。 Q学习算法用于强化学习。阅读更多…

流行的机器学习算法列表

  • 线性回归算法
  • 逻辑回归算法
  • 决策树
  • 支持向量机
  • 朴素贝叶斯
  • 知识网络
  • K均值聚类
  • 随机森林
  • 阿普里里
  • PCA

1.线性回归

线性回归是用于预测分析的最受欢迎和最简单的机器学习算法之一。在这里,预测分析定义了某种事物的预测,而线性回归则是对连续数字(例如工资,年龄等)的预测。

它显示了因变量和自变量之间的线性关系,并显示了因变量(y)根据自变量(x)的变化。

它试图最合适地拟合因变量和自变量之间的线,并且该最合适的线被称为回归线。

回归线的等式为:

此处,y =因变量

x =自变量

a0 =线的截距。

线性回归进一步分为两种类型:

  • 简单线性回归:在简单线性回归中,单个自变量用于预测因变量的值。
  • 多元线性回归:在多元线性回归中,多个自变量用于预测因变量的值。

下图显示了根据身高预测体重的线性回归:阅读更多..

2. Logistic回归

Logistic回归是监督学习算法,用于预测分类变量或离散值。它可以用于机器学习中的分类问题,逻辑回归算法的输出可以是“是”或“否”,0或1,“红色”或“蓝色”等。

Logistic回归与线性回归相似,不同之处在于如何使用逻辑回归,例如,线性回归用于解决回归问题并预测连续值,而逻辑回归用于解决分类问题并预测离散值。

它没有形成最佳拟合线,而是形成了一条介于0和1之间的S形曲线。S形曲线也被称为使用阈值概念的逻辑函数 。任何高于阈值的值将趋向于1,而低于阈值的值将趋向于0。阅读更多..

3.决策树算法

决策树是一种监督学习算法,主要用于解决分类问题,但也可以用于解决回归问题。它可以与分类变量和连续变量一起使用。它显示了一个包括节点和分支的树状结构,并从根节点开始,该根节点在进一步的分支上扩展直至叶节点。内部节点用于表示数据集的特征,分支用于表示决策规则,叶节点用于表示问题的结果。

决策树算法在现实世界中的一些应用是在癌细胞与非癌细胞之间的识别,对客户购买汽车的建议等。阅读更多..

4.支持向量机算法

支持向量机或SVM是一种监督学习算法,也可用于分类和回归问题。但是,它主要用于分类问题。 SVM的目标是创建一个超平面或决策边界,以将数据集分离为不同的类。

帮助定义超平面的数据点称为支持向量,因此被称为支持向量机算法。

SVM的一些实际应用是人脸检测,图像分类,药物发现等。请考虑下图:

如上图所示,超平面将数据集分为两个不同的类。阅读更多..

5.朴素贝叶斯算法:

朴素贝叶斯分类器是一种监督学习算法,用于根据物体的概率进行预测。该算法基于贝叶斯定理,被称为朴素贝叶斯算法,它遵循朴素的假设,即“变量彼此独立”。

贝叶斯定理是基于条件概率的。这意味着如果已知事件(B)已经发生,则事件(A)发生的可能性。贝叶斯定理的方程式为:

朴素贝叶斯分类器是为给定问题提供良好结果的最佳分类器之一。建立朴素的贝叶斯模型很容易,并且非常适合大量数据集。它主要用于文本分类。阅读更多..

6. K最近邻居(KNN)

K最近邻居是一种监督学习算法,可用于分类和回归问题。该算法通过假设新数据点和可用数据点之间的相似性来工作。基于这些相似性,将新数据点归为最相似的类别。它也被称为惰性学习器算法,因为它存储了所有可用的数据集,并借助K邻居对每个新案例进行分类。新案例被分配给最相似的最接近的类别,并且任何距离函数测量数据点之间的距离。根据要求,距离函数可以是欧几里得距离,明可夫斯基距离,曼哈顿距离或汉明距离。阅读更多..

7. K-均值聚类

K-means聚类是最简单的无监督学习算法之一,用于解决聚类问题。根据相似性和相异性将数据集分为K个不同的聚类,这意味着具有大多数共性的数据集保留在一个聚类中,而其他聚类之间的共性很少或没有。在K均值中,K指的是聚类的数量,均值是指对数据集求平均以找到质心。

它是基于质心的算法,每个聚类与质心相关联。该算法旨在减小群集中数据点及其质心之间的距离。

该算法从一组随机选择的质心开始,这些质心在启动时形成簇,然后执行迭代过程以优化这些质心的位置。

它可以用于垃圾邮件检测和过滤,假新闻的标识等。阅读更多..

8.随机森林算法

随机森林是一种监督学习算法,可用于机器学习中的分类和回归问题。它是一种集成学习技术,通过组合多个分类器来提供预测并提高模型的性能。

它包含给定数据集的子集的多个决策树,并找到平均值以提高模型的预测准确性。随机森林应包含64-128棵树。树的数量越多,算法的准确性越高。

为了对新的数据集或对象进行分类,每棵树都会给出分类结果,并基于多数投票,算法会预测最终的输出。

随机森林是一种快速算法,可以有效处理丢失和不正确的数据。阅读更多..

9. Apriori算法

Apriori算法是用于解决关联问题的无监督学习算法。它使用频繁的项目集生成关联规则,并且设计用于包含事务的数据库。借助这些关联规则,它确定两个对象相互连接的强弱。该算法使用广度优先搜索和哈希树来有效地计算项目集。

该算法反复进行处理,以从大型数据集中查找频繁项集。

Apriori算法由R. Agrawal和Srikant在1994年提出。它主要用于市场分析,有助于了解可以一起购买的产品。它也可以用于医疗保健领域,以发现患者的药物反应。阅读更多..

10.主成分分析

主成分分析(PCA)是一种无监督的学习技术,用于降维。它有助于减少包含许多相互关联的特征的数据集的维数。这是一个统计过程,借助正交变换将相关特征的观察结果转换为一组线性不相关特征。它是用于探索性数据分析和预测建模的流行工具之一。

PCA通过考虑每个属性的方差来工作,因为高方差表明类别之间的良好划分,因此降低了维数。

PCA的一些实际应用是图像处理,电影推荐系统,可以优化各种通信渠道中的功率分配。阅读更多..