在聚类、离散点分析等应用场景,我们往往需要度量数据之间的相似程度,提高模型的泛化性。
(一)首先,我们先从用于数据相似性度量的基本数据结构开始:数据矩阵和相异性矩阵。
- 数据矩阵:或称对象-属性结构,矩阵每一行代表一个数据对象,每一列代表一个属性。
- 相异性矩阵:或称对象-对象结构,顾名思义,矩阵的行与列均为数据对象,但是矩阵每一个单元的值d(i,j)代表着i与j这两个数据对象之间的邻近度,其值越大则相似程度越低。易知,该矩阵必是一个对角线元素为0的对称矩阵。
由此,我们可得相似性度量:sim(i,j)=1-d(i,j)
(二)下面我们来介绍各种不同的数据类型采用的相似度量方法。
- 标称属性:标称属性即可以取多种状态的属性,如颜色(红、白、黑等等)。
m是i和j取值相同的属性数,p是属性总数。
假设有四个对象,一个属性为test-1,其值如下表所示:
对象 | 1 | 2 | 3 |