多标签学习模型(一):Multi Label Knn

1.什么是多标签分类问题

最近在读论文的的过程中接触到多标签分类(multi-label classification)的任务,必须要强调的是多标签(multi-label)分类任务 和 多分类(multi-class)任务的区别:
多标签分类任务指的是一条数据可能有一个或者多个标签,举个例子:比如一个病人的体检报告,它可能被标记上,高血压,高血糖等多个标签。

多分类任务指的是一条数据只有一个标签,但是标签有多种类别。机器学习中比较经典的iris鸢尾花数据集就是标准的多分类任务,一条数据喂给模型,模型需判断它是3个类别中的哪一个。

多标签分类任务的两个特点:

  • 类别标的数量是不确定的:有些样本可能只有一个类标,有些样本可能存在多个类别标签。
  • 类别标签之间可能存在相互依赖关系:还是拿我上述的例子来说:如果一个人患有高血压,他有心血管疾病的概率也会变大,所以高血压这个label和心血管疾病的那些labels是存在一些依赖关系的。

多标签分类算法比较常用的有ML-KNN、ML-DT、Rank-SVM、CML等。

2.传统的KNN算法

k-近邻(k-Nearest Neighbour,简称KNN),常用于有监督学习。

KNN的工作原理很简单:存在一个训练样本集合A,在给定测试样本b时,基于某种距离度量,找出训练集A中与测试样本b最靠近的k个训练样本(通常k≤20且为整数),之后,基于这k个训练样本的信息来预测种类或值。

其中,在分类问题中,KNN用来预测种类。一般使用“投票法”,选择这k个样本中出现最多的类别来作为测试样本的类别。

在回归问题中,KNN预测一个值。使用“平均法”,将k个样本的实值输出的平均值作为测试样本的输出。一般情况下,距离度量选择欧式距离.
在这里插入图片描述

3.为什么传统的KNN算法不适合处理多标签问题

从前面的算法中,我们可以发现,KNN是基于投票法对一个未知的实例进行分类。这里的K值

4.ML KNN的推导

ML-KNN是基于最大后验估计规则(MAP),利用测试集中实例对应的训练集中近邻点的标签信息进行预测。
首先,对于预测集中一个未知的实例,对于一个标签j。我们用如下公式计算在它的近邻点中,有多少个属于这个标签j:
在这里插入图片描述
其中 C j C_j Cj就是属于标签 y j y_j yj的x的近邻点的个数。

H j H_j Hj表示事件:x有标签 y j y_j yj

于是 P ( H j ∣ C j ) P(H_j|C_j) P(HjCj),表示对于未知实例x恰好有 C j C_j Cj个近邻点属于标签 y j y_j

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值