5种机器学习的分类器算法

5种机器学习的分类器算法

分类是一项依赖于机器学习算法(Machine Learning Algorithm)的自然语言处理任务。

你可以执行不同的分类任务,其中最有代表的可以说是情绪分析了。每项任务通常需要不同的算法,因为每个任务都用于解决不同的问题。

计算机科学家 David Wolpert 在他的论文《The Lack of A Priori Distinctions Between Learning Algorithms》中解释了什么是神经计算:

“对于每一个问题,你必须选择正确的算法。接下来的问题问题就是如何操作。如果你有足够的计算资源,你可以测试多个算法和参数设置。通过这种方法,你所需要解决的主要问题就是如何可靠地估计、并比较这些算法的运行情况。”

在介绍不同的分类算法之前,我们来快速了解一下什么是分类。

  • 什么是分类?
  • 机器学习(ML)中的 5 种分类算法
  • 4 种分类算法的应用

如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
Python机器学习库:pycarets新增时间序列模块
机器学习VS深度学习:有什么区别?
如何回答ML机器学习的面试问题?
机器学习面试,你必须知道这些数学知识

什么是分类(Classification)

分类是识别、理解,并将想法、对象分到预设类别或“子群”的过程。机器学习程序使用预先分类的训练数据集,通过各种算法对未来的数据集进行分类。

机器学习中的分类算法,是用训练数据来预测后续数据会归类于一个类别的可能性。分类最常见的用途之一是将电子邮件过滤为“垃圾邮件”或“非垃圾邮件”。

简而言之,分类是“模式识别”的一种形式,将分类算法应用于训练数据,在未来的数据集中找到相同的模式(比如相似的单词、情绪、或数字序列等)

使用分类算法,文本分析软件可以执行如基于表象的情绪分析(aspect-based sentiment analysis)的任务,根据主题和意见的极性(正面、负面、中立和其他)对非结构化文本进行分类。

你可以尝试使用上述预训练情绪分类器,了解分类算法在实践中的工作原理,然后学习更多有关不同类型的分类算法。

机器学习(ML)中的 5 种算法

统计学中的分类研究范围广泛,数据集不同,可以使用分类算法也就不同。下面是机器学习中最常见的五种算法。

流行的分类算法:

  • 逻辑回归(Logistic Regression)
  • 朴素贝叶斯(Naive Bayes)
  • 最近邻(K-Nearest Neighbors)
  • 决策树(Decision Tree)
  • 支持向量机(Support Vector Machines)

逻辑回归(Logistic Regression)

逻辑回归是一种用于预测二元结果的算法:要么发生,要么不发生。具体表现为为 Yes/No、Pass/Fail、Alive/Dead 等。

对自变量进行分析,以确定二进制结果,主要有两种结果。自变量可以是分类变量,也可以是数值变量,但因变量必须是分类变量。表示为:

P(Y=1|X) 或 P(Y=0|X)

假设自变量为 X,该公式可以计算因变量 Y 的概率。

该公式可用于计算一个单词具有正面或负面含义(0、1 或介于两者之间)的概率,或者用于确定照片中包含的对象(树、花、草等),而每个对象出现的概率介于 0 和 1 之间。

朴素贝叶斯(Naive Bayes)

朴素贝叶斯计算一个数据点是否属于某个类别的可能性。在文本分析中,朴素贝叶斯可用于将单词或短语归类为是否属于预设的“标签”(分类)例如:

要确定一个短语是否应该被标记为“Sports”,你需要计算:

或者,如果 B 为真,那么A 的概率等于 B 的概率;如果 A 为真,乘以 A 为真的概率,再除以 B 为真的概率。

K-最近邻(K-Nearest Neighbors)

K-最近邻 (k-NN) 是一种模式识别算法,通过训练数据集在未来示例中找到 k 个最近邻。

当 k-NN 用于分类时,你需要计算将数据放在哪个类别中(即最近邻的类别中)。如果 k = 1,那么数据将被放在最接近 1 的类别中。通过对其近邻的多轮进行计算,从而得出K值,进行分类。

决策树(Decision Tree)

决策树是一种监督学习算法,非常适合解决分类问题,因为该算法能够精确地对类别进行排序。其工作原理类似于流程图,一次性将数据点分成两个相似的类别,从“树干”到“树枝”,再到“叶子”,让这些类别在有限范围内变得更加相似。通过决策树,你可以在类别中创建类别,在有限的人工监督下进行有机分类。

继续以Sports为例,下图是决策树的工作原理:

随机森林(Random Forest)

随机森林算法是决策树的扩展,首先通过训练数据构建大量决策树,然后将新数据作为“随机森林”放入其中一棵树中。

从本质上讲,随机森林可以对数据进行平均,并将其连接到数据规模上最近的树。随机森林模型非常有用,因为它可以解决决策树在不必要的情况下,强制对数据点进行归类的问题。

支持向量机(Support Vector Machines)

支持向量机 (SVM) 使用算法训练,并分类不同极性的数据,使其超出 X/Y 的预测范围。

为了更形象地解释什么是支持向量机,我们使用两种不同地标记颜色:红色和蓝色,两者具有两个数据特征:X 和 Y,然后训练分类器将 X/Y 坐标输出为红色或蓝色。

然后, SVM 分配一个最能分隔标签的超平面。在二维平面,这只是一条线。线的一边是红色,另一边是蓝色。例如,在情绪分析中,表现为正面和负面。

为了将机器学习效益最大化,最好的超平面到每个标签之间距离最大:

然而,随着数据集变得越来越复杂,你可能无法画一条线将数据分为两大阵营:

通过 SVM,数据越复杂,预测器就越准确。想象一下,在三维空间加上一个Z轴,上图就会变成一个圆。

用最好的超平面映射回二维,显示如下:

我们可以通过SVM 提高机器学习准确度,因为它是多维的。

4种算法的应用

现在,我们已经了解了一些分类背后的数学原理,但是这些机器学习算法可以对现实世界的数据进行哪些操作?

  • 情绪分析(Sentiment Analysis)
  • 垃圾邮件分类(Email Spam Classification)
  • 文件分类(Document Classification)
  • 图像分类(Image Classification)

情绪分析(Sentiment Analysis)

情绪分析是机器学习种的文本分析技术,在正面、负面或中性的极性范围内将情绪(观点、感觉或情绪)分配给文本或正片文本中的单词。

通过情绪分析,可以实现几分钟内自动阅读数千页文本,或不间断监控社交媒体上有关你的帖子。例如,下面这条推文与应用程序 Slack 有关,据分析,与之相关的个人陈述的情绪都为正面情绪。分析结果可以帮助公司实时跟踪产品发布和营销活动,了解客户的反应。

通过先进的机器学习算法,你可以训练情绪分析模型,读取讽刺、误用、拼写错误等内容。如果训练得当,通过该模型,我们可以快速获得准确结果。

你可以试着使用预训练情绪分类工具,或者学习如何根据你的业务语言和需求,构建属于自己的情绪分类器。

垃圾邮件分类(Email Spam Classification)

分类的最常见用途之一是垃圾邮件分类,该功能可以不间断工作,且几乎不需要人工交互,无需人工执行繁琐地删除任务,有时甚至还可以帮助我们避免网络钓鱼诈骗。

电子邮件应用程序使用上述的算法,来计算电子邮件不是发送至收件人,或者是垃圾邮件的可能性。使用文本分析分类技术,垃圾邮件从常规收件箱中被删除:原因可能是收件人姓名拼写错误,或者使用了某些欺诈的关键字。

垃圾邮件分类器仍然需要进行一定程度的训练,类似于我们在注册账户时找不到邮件,最终出现在垃圾邮件文件夹中的电子邮件。

文件分类(Document Classification)

文档分类是根据文档内容对文档进行分类。以前这些操作需要人工完成,就像在图书馆科学或手动排序法律文件。然而,机器学习分类算法可以自动执行此操作。

文档分类不同于文本分类。文档分类是对整个文档进行分类,而不仅仅是对单词或短语进行分类。在使用在线搜索引擎、在法律文件中交叉引用主题以及根据药物和诊断搜索医疗记录时,我们经常使用文档分析。

图像分类(Image Classification)

图像分类将之前训练的类别分配给给定的图像,包括图像主题、数值、主题等。图像分类甚至可以使用多标签图像分类器,其工作方式类似于多标签文本分类器,用于标记流(Stream)的图像,将其标上不同的标签,如“溪流”、“水”、“户外”等。

使用监督学习算法,你可以标记图像,训练模型,进行适当的分类。与所有机器学习模型一样,训练得越多,效果也就越好。

总结

机器学习分类使用数学证明的算法执行分析任务,而这些任务需要人类花费数百小时才能完成。一旦这些模型的算法准确,同时接受了适当的训练,其分类程序的准确度是人类永远无法达到的。感谢你的阅读!你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Rachel Wolff
翻译作者:Lia
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://monkeylearn.com/blog/classification-algorithms/