ML-KNN(多标签分类)
来源:互联网 发布:胖次 知乎 编辑:程序博客网 时间:2024/05/02 02:45
ML-kNN 多标签k近邻算法 MLL Week 1
- ML-kNN 多标签k近邻算法 MLL Week 1
- 传统kNN
- 多标签kNN
学习张敏灵老师的《ML-kNN: a lazy learning approach to multi-label learning》的学习笔记。
传统kNN
k近邻算法(k-Nearest Neighbour, KNN)是机器学习中最基础,最简单的常用算法之一。其思想非常直接:如果一个样本在特征空间中的k个最相似(即特征空间中距离最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
如下图的
这个思想很容易理解,就是俗话中常说的“近朱者赤,近墨者黑”。在单标签学习中,与一个实例在特征空间中越相近(即距离越近)的实例,他们之间标签相同的可能性就越大。
多标签kNN
而在多标签问题中,我们仍可根据这个思想推导出多标签学习的kNN算法,即ML-kNN算法。
多标签kNN的主要思想是对于每一个新实例(instance),距离它最近的k个实例(特征空间中与它的距离最小的k个实例)可以首先得到,然后得到这些实例的标签集合,之后通过最大后验概率准则来确定新实例的标签集合。
这里给出算法的具体数学计算方法:
变量定义:
然后,我们可以得到对应
这里,
则,对于新的实例
其中,
本人注释:注意,这里的Elj 千万不要理解为针对实例t,而是针对整个数据集而言的,即任一数据点,其k近邻中有j个包含标签l这一事件,因此后边的条件概率就是在实例t的状态下
()
因此上述式子本质上是个联合概率,参数是b,即实例t含l标签或者不含l标签,目标是实例t的状态和与t同一状态(指与t同含标签l或者同不含标签l)的任一的数据点k近邻中标签l数量与实例t相等这一事件的联合分布.
其实这个问题可以这样考虑,给定实例t,考察其是否含有标签l,假设其k近邻中含有标签l的有j个,那么我们就考察任抽一数据点其含有标签l&&其k近邻有j个含有标签l这个事件的概率P1,以及任抽一数据点其不含有标签l&&其k近邻有j个含有标签l这个事件的概率P2。若P1概率大,则我们认定实例t应含有标签l,否则实例t应不含有标签l.
Elj
其中
本人注释:此处似乎有误,H右下标应为b,而不是1,虽然b要么是0要么是1.这里的先验概率实际上有两个值,分别对应b=0和b=1.
后验概率
本人注释:上述公式有误,左边条件概率中H右下标应为b,所以这个后验概率实际上有两个值,分别对应b=0和b=1.
其中
则
由此,
算出
本文转载自:http://blog.csdn.net/Kodoo/article/details/49905877
- ML-KNN(多标签分类)
- ML-kNN 多标签k近邻算法
- ML-kNN 多标签k近邻算法
- ML-kNN 多标签k近邻算法 MLL Week 1
- ML-kNN 多标签k近邻算法 MLL (转)
- ML-KNN
- ML算法-kNN
- opencv7-ml之KNN
- ML实验-KNN
- 【ML算法】KNN算法
- 【ML】分类
- ML->分类
- 分类:KNN
- KNN分类
- knn分类
- ML实验-KNN(续)
- ML基础---KNN的应用
- ML贝叶斯分类算法
- Ask Me Anything: Dynamic Memory Networks for Natural Language Processing 阅读笔记及tensorflow实现
- Sourcetree 切换其他分支导致最近的提交丢失
- NOI2008志愿者招募,奇妙的费用流
- 数据结构实验之栈与队列六:下一较大值(二)
- 6-2 数组元素的区间删除
- ML-KNN(多标签分类)
- sendRedirect()和forward()方法有什么区别?
- jdk配置成功,但是tomcat仍无法启动解决办法!(一)
- 一步步实现三方操作功能模块封装(二),三方分享
- Flux 架构入门教程
- TP5 修改数据
- Java开发Opencv之(一)开发环境安装与配置
- IPProxyPool部署
- 汉诺塔的递归算法