目录
前言
传统的方法
论文方法
总结
前言
一般来说我们的标签数据都是硬标签,非0即1,如one-hot或multi-one-hot,但是一些软标签有时候更具有意义,含有的信息也越丰富,即标签分布如【0.1,0.2,0.7】而不是【0,0,1】,那么该如何学习得到这样的标签分布呢?
有一篇论文对此进行了讨论和研究
Label Enhancement for Label Distribution Learning
这是发表在IJCAI-18的一篇,即标签增强技术,已有中文解读
https://mp.weixin.qq.com/s/cXiR-UeJkcdkljJvE2eERw
下面简单总结一下
传统的方法
(1)Fuzzy C-Means(FCM)
kmeans的软聚类版本,相较于硬聚类,其会给出每个样本属于各个簇中心的概率分布。原理上述知乎已经说得很清楚了,关于实现,大家可以手动实现,也可以调用一些现成的包,比如scikit-fuzzy
安装:pip install -U scikit-fuzzy
怎么使用,可以看看
https://blog.csdn.net/frankiehello/article/details/79581315
(2)Label Propagation(LP)
通过矩阵不断进行标签传播,这里需要说明的是,在社区划分中也用到了LP,其都不用前提知道社区个数会自动聚出来,想法很简单就是knn,可以看看
https://blog.csdn.net/google19890102/article/details/50186831
(3)Mainifold Learning(LM)
流式学习,可以看看
https://blog.csdn.net/sinat_25346307/article/details/79101556
论文方法
最重要的就是加了第二部分
总结
总的来说吧,标签分布要说的就是:不要判别的那么绝对,比如对年轻的判定,假如30岁算做年轻分界线,那31就是不年轻了吗?是不是说是有点年轻的,所以这场景下非0即1有点不合适了。