文本分类 - 如何找到对决策影响最大的特征
Posted
技术标签:
【中文标题】文本分类 - 如何找到对决策影响最大的特征【英文标题】:Text Classification - how to find the features that most affected the decision 【发布时间】:2014-01-16 19:58:44 【问题描述】:当使用SVMlight
或LIBSVM
将短语分类为正面或负面时(情绪分析),有没有办法确定哪些是影响算法决策的最有影响力的词?例如,发现单词"good"
有助于确定一个短语是积极的,等等。
【问题讨论】:
【参考方案1】:如果您使用线性内核,那么可以 - 只需计算权重向量:
w = SUM_i y_i alpha_i sv_i
地点:
sv
- 支持向量
alpha
- 使用 SVMlight 找到的系数
y
- 对应的班级(+1 或 -1)
(在某些实现中,alpha
已经乘以 y_i
,因此它们是正/负)
一旦您拥有w
,它的维度为1 x d
,其中d
是您的数据维度(词袋中的词数/tfidf 表示)只需选择具有高绝对值的维度(无论是正数或否定)以找到最重要的特征(单词)。
如果您使用某些内核(如 RBF),那么答案是否定的,因为分类过程以完全不同的方式执行,所以没有直接的方法可以取出最重要的特征。
【讨论】:
【参考方案2】:正如@lejlot 提到的,在 SVM 中使用线性核,其中一种特征排名策略是基于模型中权重的绝对值。另一种简单有效的策略是基于 F-score。它单独考虑每个特征,因此不能揭示特征之间的相互信息。您还可以通过删除该特征并观察分类性能来确定该特征的重要性。
您可以查看此article 了解有关功能排名的更多详细信息。
对于 SVM 中的其他内核,功能排名不是那么简单,但仍然是 feasible。您可以在核空间中构造一组正交基向量,并通过核浮雕计算权重。然后可以根据权重的绝对值进行隐式特征排序。最后将数据投影到学习的子空间中。
【讨论】:
以上是关于文本分类 - 如何找到对决策影响最大的特征的主要内容,如果未能解决你的问题,请参考以下文章