我试图为学术目的解决文本分类问题。我需要将推文分类为" cloud" ,"冷","干","热","潮湿","飓风","冰","下雨","下雪","暴风雨","风"和"其他"。训练数据中的每条推文都具有针对所有标签的概率。说出消息"已经可以告诉它将是一个艰难的得分日。它现在像昨天下午一样刮风。"有21%的几率炙手可热,79%的几率有风。我已经研究过分类问题,可以预测它是风还是热或其他。但是在这个问题中,每个训练数据都具有针对所有标签的概率。我之前使用过mahout朴素贝叶斯分类器,它为给定的文本采用特定标签来构建模型。如何将各种标签的输入概率转换为任何分类器的输入?
答案 0 :(得分:3)
在概率设置中,这些概率反映了训练实例的类标签的不确定性。这会影响分类器中的参数学习。
有一种自然的方法可以合并它:例如,在Naive Bayes中,在估算模型中的参数时,而不是每个单词对于文档所属的类计数为1,它会得到概率。因此,具有属于类的高概率的文档对该类的参数贡献更多。这种情况与使用EM学习多项式模型的混合时完全相同,其中您的概率与实例的成员/指标变量相同。
或者,如果您的分类器是具有softmax输出的神经网络,而不是目标输出是具有单个[1]和大量零的向量,则目标输出将成为您提供的概率向量。
不幸的是,我不知道任何可以让你融入这些想法的标准实现。
答案 1 :(得分:2)
如果您需要现成的解决方案,您可以使用支持多类分类和实例权重的学习者。假设您有k
个概率为p_1, ..., p_k
的类。对于每个输入实例,创建具有相同功能的k
个新培训实例,并使用标签1, ..., k
,并分别指定权重p_1, ..., p_k
。
Vowpal Wabbit就是这样一个学习者,支持使用实例权重进行多类分类。