我已经计算了两个向量之间的余弦相似度。例如,每个向量可以有 x 个元素V = {v[0], v[1], ...}
,例如{age, height, ...}
目前,我没有对每个元素进行标准化。换句话说,具有更高绝对值的元素在相似度计算中往往更重要。例如,如果您有一个身高 180 厘米且只有 10 岁的人,则身高对相似性的影响大于年龄。
我正在考虑从 wiki ( http://en.wikipedia.org/wiki/Feature_scaling ) 借来的三种特征缩放变体:
- 重新缩放(减去最小值并除以范围)
- 标准化(减去平均值并除以标准差)
- 使用百分位数(获取特定元素的所有值的分布并计算绝对值所在的百分位数)
如果有人可以解释每个人的好处以及我将如何确定什么是正确的标准化使用方法,那将会很有帮助。完成所有三个操作后,我得到的示例结果是:
none: 1.0
standardized: 0.963
scaled: 0.981
quantile: 0.878