作者 | 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算法是⼀种最简单的分类算法,通过识别被分成若⼲类的数据点,以预测新样本点的分类。K-N
N是⼀种⾮参数的算法,是“懒惰学习”的著名代表,它根据相似性(如,距离函数)对新数据进⾏分类。
abs082
K-NN能很好地处理少量输⼊变量(p)的情况,但当输⼊量⾮常⼤时就会出现问题。
⽀持向量机(SVM)
⽀持向量机既可⽤于回归也可⽤于分类。它基于定义决策边界的决策平⾯。决策平⾯(超平⾯)可将⼀组属于不同类的对象分离开。
在⽀持向量的帮助下,SVM通过寻超平⾯进⾏分类,并使两个类之间的边界距离最⼤化。
SVM中超平⾯的学习是通过将问题转化为使⽤⼀些某种线性代数转换问题来完成的。(上图的例⼦是
⼀个线性核,它在每个变量之间具有线性可分性)。
对于⾼维数据,使⽤可使⽤其他核函数,但⾼维数据不容易进⾏分类。具体⽅法将在下⼀节中阐述。
核⽀持向量机
核⽀持向量机将核函数引⼊到SVM算法中,并将其转换为所需的形式,将数据映射到可分的⾼维空间。
核函数的类型包括:
前⽂讨论的就是线性SVM
线性SVM。
多项式核中需要指定多项式的次数。它允许在输⼊空间中使⽤曲线进⾏分割。
多项式核