3

我将 Twitter 消息手动标记为正面、负面、中性。我试图理解是否有一些逻辑可以用来识别训练集的消息比例应该是积极/消极和中性?

因此,例如,如果我正在训练一个带有 1000 条推特消息的朴素贝叶斯分类器,那么 pos : neg :neut 的比例应该是 33 % : 33% : 33% 还是应该是 25 % : 25 % : 50 %

从逻辑上讲,在我看来,我训练(即为中性提供更多样本)系统会更好地识别中性句子,然后是它们是积极的还是消极的——这是真的吗?或者我在这里遗漏了一些理论?

谢谢拉胡尔

4

2 回答 2

3

您所指的问题称为不平衡问题。许多机器学习算法在面对不平衡的训练数据时表现不佳,即当一个类的实例数量大大超过另一类的实例时。阅读这篇文章以便对问题以及如何解决问题有一个很好的了解。对于像朴素贝叶斯或决策树这样的技术,以某种方式平衡数据总是一个好主意,例如通过随机过采样(在参考文件中解释)。我不同意 mjv 的建议,即让训练集与现实世界中的比例相匹配。这在某些情况下可能是合适的,但我非常有信心它不在您的设置中。对于像您描述的分类问题,类集的大小差异越大,大多数 ML 算法在正确区分类时遇到的问题就越多。但是,您始终可以通过将其作为后备来使用有关哪个类在现实中最大的信息,这样当分类器对特定实例的置信度较低或该实例不能“

进一步的评论:在 Twitter 消息中找到积极/消极/中立对我来说似乎是一个程度问题。因此,它可能被视为回归问题而不是分类问题,即您可能想要计算一个分数来告诉您消息的正面/负面程度,而不是三类方案

于 2010-01-14T11:27:09.120 回答
1

还有许多其他因素......但一个重要的因素(在确定合适的比例和训练数据量时)是现实世界中每个消息类别(正面、中性、负面)的预期分布。实际上,训练集(和控制集)的良好基线是

  • [定性地]尽可能代表整个“人口”
  • [定量地] 足够大,以至于从这些集合中进行的测量具有统计意义。

训练集中某一类消息的[相对]丰度的影响很难确定;在任何情况下,它都是一个较小的因素——或者更确切地说是一个对其他因素高度敏感的因素。分类器准确性的改进,作为一个整体,或者关于特定类别,通常更多地与分类器的具体实现相关(例如,它是贝叶斯,什么是标记,消除了噪声标记,接近度一个因素,我们是否使用二元语法等...)而不是训练集的纯粹定量特征。

虽然上述内容通常是事实,但对选择训练集的大小和组成有一定帮助,但有一些方法可以事后确定何时提供了足够大小和组成的训练数据。
实现这一目标的一种方法是引入一个控制集,即一个手动标记但不属于训练集的一部分,并使用训练集的各种子集测量不同的测试运行,为每个类别(或一些类似的精度测量),为此控制集的分类。当这些测量值没有改善或降低时,超出了统计代表性,训练 [子] 集的大小和组成可能是正确的(除非它是一个过拟合集:-(,但这完全是另一个问题。 ..)

这种方法意味着人们使用的训练集可能是有效需要的训练子集大小的 3 到 5 倍,因此可以随机(在每个类别中)为各种测试构建许多不同的子集。

于 2010-01-13T17:26:28.700 回答