作者 | Badreesh Shetty
整理 | 大数据文摘
来源 | 一文读懂机器学习分类算法(附图文详解)
原文 | An in-depth guide to supervised machine learning classification
说起分类算法,相信学过机器学习的同学都能侃上一二。
可是,你能够如数家珍地说出所有常用的分类算法,以及他们的特征、优缺点吗?比如说,你可以快速地回答下面的问题么:
- KNN算法的优缺点是什么?
- Naive Bayes算法的基本假设是什么?
- entropy loss是如何定义的?
- 最后,分类算法调参常用的图像又有哪些?
答不上来?别怕!一起来通过这篇文章回顾一下机器学习分类算法吧(本文适合已有机器学习分类算法基础的同学)。
机器学习是一种能从数据中学习的计算机编程科学以及艺术,就像下面这句话说得一样。
机器学习是使计算机无需显式编程就能学习的研究领域。——阿瑟·塞缪尔,1959年
不过还有一个更好的定义:
“如果一个程序在使用既有的经验(E)执行某类任务(T)的过程中被认为是“具备学习能力的”,那么它一定需要展现出:利用现有的经验(E),不断改善其完成既定任务(T)的性能(P)的特性。”——Tom Mitchell, 1997
例如,你的垃圾邮件过滤器是一个机器学习程序,通过学习用户标记好的垃圾邮件和常规非垃圾邮件示例,它可以学会标记垃圾邮件。系统用于学习的示例称为训练集。在此案例中,任务(T)是标记新邮件是否为垃圾邮件,经验(E)是训练数据,性能度量(P) 需要定义。例如,你可以定义正确分类的电子邮件的比例为P。这种特殊的性能度量称为准确度,这是一种有监督的学习方法,常被用于分类任务。
监督学习
在监督学习中,算法从有标记数据中学习。在理解数据之后,该算法通过将模式与未标记的新数据关联来确定应该给新数据赋哪种标签。
监督学习可以分为两类:分类和回归。
分类问题预测数据所属的类别;
分类的例子包括垃圾邮件检测、客户流失预测、情感分析、犬种检测等。
回归问题根据先前观察到的数据预测数值;
回归的例子包括房价预测、股价预测、身高-体重预测等。
分类问题
分类是一种基于一个或多个自变量确定因变量所属类别的技术。
▲分类用于预测离散响应
逻辑回归
逻辑回归类似于线性回归,适用于因变量不是一个数值字的情况 (例如,一个“是/否”的响应)。它虽然被称为回归,但却是基于根据回归的分类,将因变量分为两类。
如上所述,逻辑回归用于预测二分类的输出。例如,如果信用卡公司构建一个模型来决定是否通过向客户的发行信用卡申请,它将预测客户的信用卡是否会“违约”。
首先对变量之间的关系进行线性回归以构建模型,分类的阈值假设为0.5。
然后将Logistic函数应用于回归分析,得到两类的概率。
该函数给出了事件发生和不发生概率的对数。最后,根据这两类中较高的概率对变量进行分类。
K-近邻算法(K-NN)
K-NN算法是一种最简单的分类算法,通过识别被分成若干类的数据点,以预测新样