我目前在多类别分类问题中使用了scikit-learn的LogisticRegression。我选择使用LogisticRegression是因为我读了几篇文章,这些文章描述它在预测概率方面是一个校准良好的算法。
对于分类器的每个结果,我都会检查其预测概率以及分类观察值与训练集中具有相同决策类别的其他示例之间的距离。
令我惊讶的是,对于某些结果,尽管一个类别的预测置信度超过90%,但余弦相似度测量表明给定的示例平均几乎与训练集中相同类别的示例集正交。
能否有人提供一些线索,解释为什么会观察到这种差异?
我期望对于那些与同一类别的其他观察值相距甚远的示例,LogisticRegression算法会返回较低的预测概率。
回答:
逻辑回归/分类将根据决策边界提供结果,但不能保证位于边界同一侧的点(即属于同一类别)的余弦距离(甚至欧几里得距离)会很小。
考虑x-y平面上的点,所有y=0以下的点属于一个类别,所有y=0以上的点属于另一个类别。点(-1000, 1)和(1000, 1)属于同一类别,但它们之间的余弦距离相对较大。另一方面,点(1000, 1)和(1000, -1)属于不同类别,但它们的余弦距离非常小。