k-NN分类器:挑战与优化策略
1. 无关属性与缩放问题
在使用k - NN分类器时,即使我们已经掌握了其基本原理并能编写实现代码,但直接机械地应用该软件可能无法达到预期效果。下面来详细探讨其中的原因。
1.1 无关属性的影响
最近邻范式的核心原则是“如果描述对象的向量之间的几何距离小,则对象相似”。然而,并非所有属性都是平等的,在机器学习中,有些属性与给定示例的类别无关,但却会影响向量之间的几何距离。
例如,在一个训练集中,示例由两个数值属性描述:体温(横轴)和鞋码(纵轴)。所有正例都位于“水平”属性上由两个临界点界定的阴影区域内,而“垂直”属性(鞋码)在整个范围内分布着正例和反例,无法反映一个人的健康状况。若仅使用第一个属性(体温),两个示例之间的欧几里得距离为 (d_E(x; y) = \sqrt{(x_1 - y_1)^2} = |x_1 - y_1|);若使用两个属性,则欧几里得距离为 (d_E(x; y) = \sqrt{(x_1 - y_1)^2 + (x_2 - y_2)^2})。如果第二个属性(鞋码)无关紧要,那么 ((x_2 - y_2)^2) 这一项就是多余的,但它却会对k - NN的相似性概念产生不利影响,可能导致对象被错误分类。
无关属性造成的损害程度取决于用于描述示例的无关属性数量。在具有数百个属性的领域中,只有一个无关属性时,不必过于担心;但随着无关属性百分比的增加,几何距离可能变得几乎毫无意义,分类器的性能也会变得很差。
1.2 属性值的缩放问题
属性值的缩放也会对k - NN分类器的行为产生重大影响。例如,要评估两个示例 (x = (t; 0.2; 254))
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



