监督学习最常见的五种算法解析 监督学习算法有哪些

在机器学习中,无监督学习(Unsupervised learning)就是聚类,事先不知道样本的类别,通过某种办法,把相似的样本放在一起归位一类;而监督型学习(Supervised learning)就是有训练样本,带有属性标签,也可以理解成样本有输入有输出 。
所有的回归算法和分类算法都属于监督学习 。回归(Regression)和分类(Classification)的算法区别在于输出变量的类型,定量输出称为回归,或者说是连续变量预测;定性输出称为分类,或者说是离散变量预测 。
以下是一些常用的监督型学习方法 。
一. K-近邻算法(k-Nearest Neighbors,KNN)K-近邻是一种分类算法,其思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别 。K通常是不大于20的整数 。KNN算法中,所选择的邻居都是已经正确分类的对象 。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别 。

监督学习最常见的五种算法解析 监督学习算法有哪些

文章插图
如上图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类 。
算法的步骤为:
(1)计算测试数据与各个训练数据之间的距离;
(2)按照距离的递增关系进行排序;
(3)选取距离最小的K个点;
(4)确定前K个点所在类别的出现频率;
(5)返回前K个点中出现频率最高的类别作为测试数据的预测分类 。
二. 决策树(Decision Trees)决策树是一种常见的分类方法,其思想和“人类逐步分析比较然后作出结论”的过程十分相似 。决策过程和下图类似 。
监督学习最常见的五种算法解析 监督学习算法有哪些

文章插图
决策树是一个树结构(可以是二叉树或非二叉树) 。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别 。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果 。
不同于贝叶斯算法,决策树的构造过程不依赖领域知识,它使用属性选择度量来选择将元组最好地划分成不同的类的属性 。所谓决策树的构造就是进行属性选择度量确定各个特征属性之间的拓扑结构 。
那么如何划分数据呢?各个特征的优先级是怎么排的?常用的划分数据集方法有ID3和C4.5
(1) ID3算法
划分数据集的最大原则就是将数据变得更加有序 。熵(entropy)是描述信息不确定性(杂乱程度)的一个值 。设S是当前数据下的划分,那么S的信息熵的定义如下:
监督学习最常见的五种算法解析 监督学习算法有哪些

文章插图
这里,n是类别的数目,p(xi)表示选择xi类别的概率(可用类别数量除以总数量估计) 。
现在我们假设将S按属性A进行划分,则S的条件信息熵(A对S划分的期望信息)为:
监督学习最常见的五种算法解析 监督学习算法有哪些

文章插图
这里,在属性A的条件下,数据被划分成m个类别(例如,属性A是体重,有轻、中、重三个选项,那么m=3),p(tj)表示类别tj(属性A中所有具有第j个特性的所有数据)的数量与S总数量的比值,H(tj)表示子类别tj的熵 。
信息增益(Information gain)是指在划分数据集之前之后信息发生的变化,其定义如下:
在ID3算法里,每一次迭代过程中会计算所有剩余属性的信息增益,然后选择具有最大增益的属性对数据集进行划分,如此迭代,直至结束 。这里有一个ID3算法的实例过程 。
(2) C4.5算法
D3算法存在一个问题,就是偏向于多值属性,例如,如果存在唯一标识属性ID,则ID3会选择它作为分裂属性,这样虽然使得划分充分纯净,但这种划分对分类几乎毫无用处 。ID3的后继算法C4.5使用增益率(gain ratio)的信息增益扩充,试图克服这个偏倚 。严格上说C4.5是ID3的一个改进算法 。
在按照ID3的中的方法得到了信息增益后,再定义分裂信息(Split Information):
然后定义增益率(Gain Ratio):
监督学习最常见的五种算法解析 监督学习算法有哪些

文章插图