ML-kNN 多标签k近邻算法 MLL Week 1
学习张敏灵老师的《ML-kNN: a lazy learning approach to multi-label learning》的学习笔记。
传统kNN
k近邻算法(k-Nearest Neighbour, KNN)是机器学习中最基础,最简单的常用算法之一。其思想非常直接:如果一个样本在特征空间中的k个最相似(即特征空间中距离最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
如下图的 Xu ,它最近的邻居中属于 ω1 的最多,因此他被归类于 ω1 类。
这个思想很容易理解,就是俗话中常说的“近朱者赤,近墨者黑”。在单标签学习中,与一个实例在特征空间中越相近(即距离越近)的实例,他们之间标签相同的可能性就越大。
多标签kNN
而在多标签问题中,我们仍可根据这个思想推导出多标签学习的kNN算法,即ML-kNN算法。
多标签kNN的主要思想是对于每一个新实例(instance),距离它最近的k个实例(特征空间中与它的距离最小的k个实例)可以首先得到,然后得到这些实例的标签集合,之后通过最大后验概率准则来确定新实例的标签集合。
这里给出算法的具体数学计算方法:
变量定义:
k 为取最近邻个数
x 为一个实例
y⃗ x 为 x 的标记向量,是一个
N(x) 记录 x 的
然后,我们可以得到对应 k