数据挖掘导论 第2章 数据类型

第2章 数据类型

通常,数据集可以看作数据对象的集合。数据对象有时也叫做记录向量模式事件案例样本观测实体。数据对象用一组刻画对象基本特性的属性描述。属性有时也叫做变量特征字段特征

 

属性(attribute)是对象的性质或特征,它因对象而异,或随时间而变化。

测量标度(measurement scale)是将数值或符号值与对象的属性相关联的规则(函数)。

 

四种属性类型:标称(nominal)序数(ordinal)区间(interval)比率(ratio)

标称和序数属性统称分类的(categorical)定性的(qualitative)属性。区间和比率属性,统称定量的(quantitative)数值的(numeric)属性。

 

用值的个数描述属性

离散的(discrete):离散属性具有有限个值或无限可数个值。这样的属性可以是分类的,也可以是数值的,如计数。二元属性(binary attribute)是离散属性的一种特殊情况。

连续的(continuous):连续属性是取实数值的属性。

 

非对称的属性

对于非对称的属性(asymmetric attribute),出现非零属性值才是重要的。

 

数据集的一般特性:维度稀疏性分辨率

维度(dimensionality):数据集的维度是数据集中的对象具有的属性数目。

稀疏性(sparsity):有些数据集,如具有非对称特征的数据集,一个对象的大部分属性上的值都为0。

分辨率(resolution):常常可以在不同的分辨率下得到数据,并且在不同的分辨率下数据的性质也不同。

 

常将数据集类型分成三组:记录数据基于图形的数据有序的数据

 

数据质量

1、测量误差和数据收集错误

术语测量误差(measurement error)是指测量过程中导致的问题。一个常见的问题是:在某种程度上,记录的值与实际值不同。对于连续属性,测量值与实际值的差称为误差(error)

术语数据收集错误(data collection error)是指诸如遗漏数据对象或属性值,或不当地包含了其他数据对象等错误。

2、噪声和伪像

噪声是测量误差的随机部分。数据错误可能是更确定性现象的结果,如一组照片在同一地方出现条纹。数据的这种确定性失真常称作伪像(artifact)

3、精度、偏倚和准确率

精度(precision)(同一个量的)重复测量值之间的接近程度。精度通常用值集合的标准差度量。

偏倚(bias)测量值与被测量之间的系统的变差。偏倚用值集合的均值与测出的已知值之间的差度量。

准确率(accuracy)被测量的测量值与实际值之间的接近度。

4、离群点

离群点(outlier)是在某种意义上具有不同于数据集中其他大部分数据对象的特征的数据对象,或是相对于该属性的典型值来说不寻常的属性值。我们也称其为异常(anomalous)对象或异常值。

区别噪声和离群点这两个概念是非常重要的。离群点可以是合法的数据对象或值。因此,不像噪声,离群点本身有时是人们感兴趣的对象。例如,欺诈和网络攻击检测中,目标就是从大量正常对象或事件中发现不正常的对象和事件。

5、遗漏值

6、不一致的值

7、重复数据

 

数据预处理:聚集抽样维归约特征子集选择特征创建离散化和二元化变量变化

1、聚集

聚集(aggregation)将两个或多个对象合并成单个对象。定量属性(如价格)通常通过求和或求平均值进行聚集。定性属性(如商品)可以忽略或汇总成在一个商店销售的所有商品的集合。

2、抽样

抽样是一种选择数据对象子集进行分析的常用方法。数据挖掘使用抽样是因为处理所有的数据的费用太高、太费时间。在某些情况下,使用抽样的算法可以压缩数据量,以便可以使用更好但开销较大的数据挖掘算法。

3、维归约

术语“维归约”通常用于这样的技术:通过创建新属性,将一些旧属性合并在一起来降低数据集的维度。通过选择旧属性的子集得到新属性,这种维归约称为特征子集选择或特征选择。

4、特征子集选择

降低维度的另一种方法是仅使用特征的一个子集。特征加权是另一种保留或删除特征的办法。特征越重要,所赋予的权值越大,而不太重要的特征赋予较小的权值。

5、特征创建

常常可以由原来的属性创建新的属性集,更有效地捕获数据集中的重要信息。此外,新属性的数目可能比原属性少,使得我们可以获得前面介绍的维规约带来的所有好处。

特征提取:由原始数据创建新的特征集称作特征提取(feature extraction),如照片识别技术。

映射数据到新的空间:使用一种完全不同的视觉挖掘数据可能揭示出重要和有趣的特征,如傅里叶变换。

特征构造:一个或多个由原始特征构造的新特征可能比原特征更有用,如质量和体积构造的密度。

6、离散化和二元化

有些数据挖掘算法,特别是某些分类算法,要求数据是分类属性形式。发现关联模式的算法要求数据是二元属性形式。这样,常常需要将连续属性变换成分类属性(离散化,discretization),并且连续和离散属性可能都需要变换成一个或多个二元属性(二元化,binarization)

非监督离散化:用于分类的离散化方法之间的根本区别在于使用类信息(监督,supervised)还是不使用类信息(非监督,unsupervised)。如果不使用类信息,则常使用一些相对简单的方法。例如,等宽(equal width)方法将属性的值域划分成具有相同宽带的区间,而区间的个数由用户指定。这种方法可能受离群点的影响而性能不佳,因此等频率(equal frequncy)等深(equal depth)方法通常更为可取。等频率方法将试图将相同数量的对象放进每个区间。

监督离散化:使用附加的类信息(类标号)常常能够产生更好的结果。这并不奇怪,因为未使用类标号知识所构造的区间常常包含混合的类标号。基于熵的方法是最有前途的离散化方法之一。

分类属性有时可能具有过多的值。如果分类属性是序数属性,则可以使用类似于处理连续属性的技术,以减少分类值的个数。

7、变量变换

变量变换(variable transformation)是指用于变量的所有值的变换。两种重要的变量变换类型:简单函数变换规范化

标准化(standardization)规范化(normalization)

标准化或规范化的目标是使整个值的集合具有特定的性质。一个传统的例子是统计学中的“对变量标准化”。如果$\overline{x}$是属性值的均值,而$s_{x}$是它们的标准差,则变换$x^{'}=(x-\overline{x})/s_{x}$创建一个新的变量,它具有均值0和标准差1.如果要以某种方法组合不同的变量,则为了避免具有较大值域的变量左右计算结果,这种变换常常是必要的。

均值和标准差受离群点的影响很大,因此通常需要修改上述变换。首先,用中位数(median)取代均值。其次,用绝对标准差(absolute standard deviation)取代标准差。例如,如果$x$是变量,则$x$的绝对标准差为$\sigma_{A}=\sum_{i=1}^{m}|x_{i}-\mu|$,其中$x_{i}$是变量$x$的第$i$个值,$m$是对象的个数,而$\mu$是均值或中位数。

 

相似性和相异性的度量

我们使用术语临近度(proximity)表示相似性和相异性。两个对象之间的邻近度是两个对象对应属性之间的临近度的函数。这包括相关欧几里得距离度量,以及Jaccard余弦相似性度量。前二者使用与时间序列这样的稠密数据或二维点,后二者适用于像文档这样的稀疏数据。

相似度(similarity):两个对象之间的相似度的非正式定义是这两个对象相似程度的数值度量。因而,两个对象越相似,它们的相似度就越高。通常,相似度是非负的,并常常在0(不相似)和1(完全相似)之间取值。

相异度(dissimilarity):两个对象之间的相异度是这两个对象差异程度的数值度量。对象越类似,它们的相异度就越低。通常,术语距离(distance)用作相异度的同义词。距离常常用来表示特定类型的相异度。有时,相异度在区间[0,1]中取值,但是相异度在0和∞之间取值也很常见。

 

相似度到[0,1]区的变化由如下表达式给出:$s^{'}=(s-s_{min})/(s_{max}-s_{min})$,其中$s_{max}$和$s_{min}$分别是相似度的最大值和最小值。类似地,具有有限值域的相异度也能用$d^{'}=(d-d_{min})/(d_{max}-d_{min})$映射到[0,1]区间。

如果相似度(相异度)落在[0,1]区间,则相异度(相似度)可以定义为$d=1-s$(或$s=1-d$)。另一种简单的方法是定义相似度为负的相异度(或相反)。

负变化产生的相似度结果不必局限于[0,1]区间,但是,如果希望的话,则可以使用变换$s=1/(d+1)$,$s=e^{-d}$或$s=1-\frac{d-d_{max}}{d_{max}-d_{min}}$

 

简单属性之间的相似度和相异度

具有若干属性的对象之间的邻近度用单个属性的邻近度的组合来定义,因此我们首先讨论具有单个属性的对象之间的邻近度。

 

数据对象之间的相异度

一维、二维、三维或高纬空间中两个点xy之间的欧几里得距离(Euclidean distance)$d$由如下公式定义:

$$d(\mathbf{x},\mathbf{y})=\sqrt{\sum_{k=1}^{n}(x_{k}-y_{k})^{2}}$$ 

其中,$n$是维数,而$x_{k}$和$y_{k}$分别是xy的第$k$个属性值(分量)。

 

欧几里得距离公式可以用闵可夫斯基距离(Minkowski distance)来推广:

$$d(\mathbf{x},\mathbf{y})=(\sum_{k=1}^{n}|x_{k}-y_{k}|^{r})^{1/r}$$

● $r=1$,城市街区(也称曼哈顿、出租车、$L_1$范数)距离。一个常见的例子是汉明距离(Hamming distance),它是两个具有二元属性的对象(即两个二元向量)之间不同的二进制位个数。

● $r=2$,欧几里得距离($L_2$范数)

● $r=\infty$,上确界($L_{max}$或$L_{\infty}$范数)距离。这是对象属性之间的最大距离。更正式地,$L_{max}$距离由下列公示定义:

$$d(\mathbf{x},\mathbf{y})=\lim_{r\rightarrow\infty}(\sum_{k=1}^{n}|x_{k}-y_{k}|^{r})^{1/r}$$

 

距离(如欧几里得距离)具有一些总所周知的性质。如果$d(\mathbf{x},\mathbf{y})$是两个点xy之间的距离,则如下性质成立。

(1)非负性。(a)对于所有xy,$d(\mathbf{x},\mathbf{y})\geq0$  (b)仅当$\mathbf{x}=,\mathbf{y}$ 时$d(\mathbf{x},\mathbf{y})=0$

(2)对称性。对于所有xy,$d(\mathbf{x},\mathbf{y})=d(\mathbf{y},\mathbf{x})$ 

(3)三角不等式。对于所有xyz,$d(\mathbf{x},\mathbf{z})\leq(\mathbf{x},\mathbf{y})+d(\mathbf{y},\mathbf{z})$

满足以上三个性质的测度称为度量(metric)。尽管如此,许多相异度都不满足一个或多个度量性质。

 

数据对象之间的相似度

 对于相似度,三角不等式(或类似的性质)通常不成立,但是对称性和非负性通常成立。更明确地说,如果$s(\mathbf{x},\mathbf{y})$是数据点xy之间的相似度,则相似度具有如下典型性质。

(1)仅当$\mathbf{x}=\mathbf{y}$时$s(\mathbf{x},\mathbf{y})=1$  ($0\leq1$)

(2)对于所有xy,$d(\mathbf{x},\mathbf{y})=d(\mathbf{y},\mathbf{x})$  (对称性)

对于相似度,没有与三角不等式对应的一般性质。然而,有时可以将相似度简单地变换成一种度量距离。稍后讨论的余弦相似性度量Jaccard相似性度量就是两个例子。此外,对于特定的相似性度量,还可能在两个对象相似性上导出本质上与三角不等式类似的数学约束。

 

1、二元数据的相似性度量

两个仅包含二元属性的对象之间的相似性度量也称为相似系数(similarity coefficient),并且通常在0和1直接取值,值为1表明两个对象完全相似,而值为0表明对象一点也不相似。

xy是两个对象,都由n个二元属性组成。这样的两个对象(即两个二元向量)的比较可生成如下四个量(频率):

$f_{00}=\mathbf{x}取0并且\mathbf{y}取0的属性个数$

$f_{01}=\mathbf{x}取0并且\mathbf{y}取1的属性个数$

$f_{10}=\mathbf{x}取1并且\mathbf{y}取0的属性个数$

$f_{11}=\mathbf{x}取1并且\mathbf{y}取1的属性个数$

简单匹配系数(Simple Matching Coefficient,SMC)一种常用的相似性系数是简单匹配系数,定义如下:

$$SMC=\frac{f_{11}+f_{00}}{f_{01}+f_{10}+f_{11}+f_{00}}$$

该度量对出现和不出现都进行计数。因此,SMC可以在一个仅包含是非题的测验中用来发现回答问题相似的学生。

Jaccard系数(Jaccard Coefficient)假定xy是两个数据对象,代表一个事务矩阵的两行(两个事务)。如果每个非对称的二元属性对应于商店的一种商品,则1表示该商品被购买,而0表示该商品未被购买。由于未被顾客购买的商品数远大于被其购买的商品数,因而像SMC这样的相似性度量将会判定所有的事务都是类似的。这样,常常使用Jaccard系数来处理仅包含非对称的二元属性的对象。Jaccard系数通常用符号J表示,由如下等式定义:

$$J=\frac{匹配的个数}{不设计0-0匹配的属性个数}=\frac{f_{11}}{f_{01}+f_{10}+f_{11}}$$

 

2、余弦相似度

文档的相似性度量不仅应当像Jaccard度量一样需要忽略0-0匹配,而且还必须能够处理非二元向量。下面定义的余弦相似度(cosine similarity)就是文档相似性最常用的度量之一。如果xy是两个文档向量,则

$$\cos(\mathbf{x},\mathbf{y})=\frac{\mathbf{x}\cdot\mathbf{y}}{|| \mathbf{x} || || \mathbf{y} ||}$$

其中,“▪”表示向量点积,$\mathbf{x}\cdot\mathbf{y}=\sum_{k=1}^{n}x_{k}y_{k}$,$||\mathbf{x}||$是向量x的长度,$||\mathbf{x}||=\sqrt{\sum_{k=1}^{n}x_{k}^{2}}=\sqrt{\mathbf{x}\cdot\mathbf{x}}$

余弦相似度公式还可以写为:

$$\cos(\mathbf{x},\mathbf{y})=\frac{\mathbf{x}}{||\mathbf{x}||}\cdot\frac{\mathbf{y}}{||\mathbf{y}||}=\mathbf{x}^{'}\cdot\mathbf{y}^{'}$$

xy被它们的长度除,将它们规范化成具有长度1。这意味在计算相似度时,余弦相似度不考虑两个数据对象的量值。(当量值是重要的时,欧几里得距离可能是一种更好的选择)

 

3、广义Jaccard系数

 广义Jaccard系数可以用于文档数据,并在二元属性情况下归约为Jaccard系数。该系数用EJ表示:

$$EJ(\mathbf{x},\mathbf{y})=\frac{\mathbf{x}\cdot\mathbf{y}}{||\mathbf{x}||^{2}+||\mathbf{y}||^{2}-\mathbf{x}\cdot\mathbf{y}}$$

 

4、相关性

两个具有二元变量或连续变量的数据对象之间的相关性是对象属性之间线性联系的度量。两个数据对象xy之间的皮尔森相关(Pearson's correlation)系数由下式定义:

$$corr(\mathbf{x},\mathbf{y})=\frac{covariance(\mathbf{x},\mathbf{y})}{standard\_deviation(\mathbf{x})\times standard\_deviation(\mathbf{y})}$$

这里我们使用标准的统计学记号和定义(covariance协方差,standard_deviation标准差):

$$covariance(\mathbf{x},\mathbf{y})=s_{xy}=\frac{1}{n-1}\sum_{k=1}^{n}(x_{k}-\overline{x})(y_{k}-\overline{y})$$

$$standard\_deviation(\mathbf{x})=s_{x}=\sqrt{\frac{1}{n-1}\sum_{k=1}^{n}(x_{k}-\overline{x})^{2}}$$

$$standard\_deviation(\mathbf{y})=s_{y}=\sqrt{\frac{1}{n-1}\sum_{k=1}^{n}(y_{k}-\overline{y})^{2}}$$

$$\overline{x}=\frac{1}{n}\sum_{k=1}^{n}x_{k}是\mathbf{x}的均值$$

$$\overline{y}=\frac{1}{n}\sum_{k=1}^{n}y_{k}是\mathbf{y}的均值$$

完全相关:相关度总是在-1和1之间取值。相关度为1(-1)意味着xy具有完全正(负)线性关系,即$x_{k}=ay_{k}+b$,其中$a$和$b$是常数。

非线性关系:如果相关度为0,则两个数据对象的属性之间不存在线性关系。然而,仍然可能存在非线性关系。

 

临近度计算问题

1、距离度量的标准化和相关性

距离度量的一个重要问题是当属性具有不同的值域时如何处理(这种情况通常称作“变量具有不同的尺度”)。前面,使用欧几里得距离,基于年龄和收入两个属性来度量人之间的距离。除非这两个属性是标准化的,否则两个人之间的距离将被收入所左右。

一个相关的问题是,除值域不同外,当某些属性之间还相关时,如何计算距离。当属性相关、具有不同的值域(不同的方差)、并且数据分布近似高斯(正态)分布时,欧几里得距离的拓广,Mahalanobis距离是有用。

$$mahalanobis(\mathbf{x},\mathbf{y})=(\mathbf{x}-\mathbf{y})\sum^{-1}(\mathbf{x}-\mathbf{y})^{T}$$

其中$\sum^{-1}$是数据协方差矩阵的逆。注意,协方差矩阵$\sum$是这样的矩阵,它的第$ij$个元素是第$i$个和第$j$个属性的协方差。

计算Mahalanobis距离的费用昂贵,但是对于其属性相关的对象来说是值得的。如果属性相对来说不相关,只是具有不同的值域,则只需要对变量进行标准化就足够了。

 

2、组合异种属性的相似度

前面的相似度定义所基于的方法都假定所有属性具有相同类型。当属性具有不同类型时,就需要更一般的方法。直截了当的方法是使用上文的表分别计算出每个属性之间的相似度,然后使用一种导致0和1之间相似度的方法组合这些相似度。总相似度一般定义为所有属性相似度的平均值。

不幸的是,如果某些属性是非对称属性,这种方法效果不好。处理该问题的最简单方法是:如果两个对象在非对称属性上的值都是0,则在计算对象相似度时忽略它们。类似的方法也能很好地处理遗漏值。

概括地说,下面的算法可以有效地计算具有不同类型属性的两个对象xy之间的相似度。修改该过程可以很轻松地处理相异度。

算法:

1:对于第$k$个属性,计算相似度$s_{k}(\mathbf{x},\mathbf{y})$,在区间[0,1]中

2:对于第$k$个属性,定义一个指示变量$\delta_{k}$,如下:

     $\delta_{k}=0$,如果第$k$个属性是非对称属性,并且两个对象在该属性上的值都是0,或者如果一个对象的第$k$个属性具有遗漏值

     $\delta_{k}=0$,否则

3:使用如下公式计算两个对象之间的总相似度:

$$similarity(\mathbf{x},\mathbf{y})=\frac{\sum_{k=1}^{n}\delta_{k}s_{k}(\mathbf{x},\mathbf{y})}{\sum_{k=1}^{n}\delta_{k}}$$

 

3、使用权值

在前面的大部分讨论中,所有的属性在计算临近度时都会被同等对待。但是,当某些属性对临近度的定义比其他属性更重要时,我们并不希望这种同等对待的方式。为了处理这种情况,可以通过对每个属性的贡献加权来修改临近度公式。

如果权$w_{k}$的和为1,则上面的公式变成:

$$similarity(\mathbf{x},\mathbf{y})=\frac{\sum_{k=1}^{n}w_{k}\delta_{k}s_{k}(\mathbf{x},\mathbf{y})}{\sum_{k=1}^{n}\delta_{k}}$$

闵可夫斯基距离的定义也可以修改为:

$$d(\mathbf{x},\mathbf{y})=(\sum_{k=1}^{n}w_{k}|x_{k}-y_{k}|^{r})^{1/r}$$

 

posted @ 2017-12-12 20:09  浮生未stay  阅读(2295)  评论(0编辑  收藏  举报