数据的空间感:点集拓扑

动因

拓扑学是数学里以几何空间为研究对象的分支,和几何学不同的关键在于拓扑学只对某个空间所具备的全局的,比较恒定的属性感兴趣。在拓扑学家眼里,一个马克杯和一个甜甜圈在形状上是一回事:马克杯的整体形状可以在连续的变换调整后变成一个甜甜圈的样子,反之亦然,两者的整体形状都具备一个比较恒定的属性:当中有且只有一个洞。

在大数据的语境里,研究的对象是数据:巨量的数据,通常带着噪音。对于这样的研究对象,一开始就朝着局部或是精确的方向去分析承受着盲人摸象的风险,于是拓扑学与生俱来的对于全局空间不变性的执着有了理所当然的用武之地。但首先,我们必须退回到最初的前提:什么是数据?

集合:一切数据分析的开始

一个大数据分析的对象,首先是一个集合。

在『小数据』的时代(姑且我们这样称呼大数据被世界界定出来之前的时代),每一条数据都可以是研究对象,每一条留言,每一笔交易,每一个图像,可以以『工人智能』的模式去『分析』;然而大数据之所以为大数据,是因为我们研究的对象是一群数据,一大群数据,它是一个集合,也就是数据集。

集合

在数据分析的语境下,我们这样来定义集合:

集合 $X:=$ 来自同一个研究对象全体 $P$ 的一些个体 $X$ 合成的集体。

$X:= {x|x\space \in \space P \space}$

这个对象全体 $P$ (population)可以是一个医院所有的病人,一所学校的所有学生,一个电商所有的交易记录或者甚至是所有以电商为元素个体以交易记录为内容的集合——集合的集合。

元素 $x:=$ 集合 $S$ 里的每一个个体

子集

子集 $:=$ 如果集合 $A$ 的所有元素都是集合 $B$ 的元素,将集合 $A$ 称之为集合 $B$ 的子集,记作$A\subset B$.

如果$ \space x \in A \Rightarrow \space x\in B$ 成立 $\Rightarrow A\subset B$

交集

交集 $:=$ 如果集合 $C$ 的所有元素既都是 $A$ 的元素,也都是 $B$ 的元素,则将集合 $C$ 称为集合 $A$ 和集合 $B$ 的交集,记作 $C=A\cap B$。

并集

并集 $:=$ 如果集合 $C$ 的所有元素由 $A$ 的所有元素以及 $B$ 的所有元素组成,则将集合 $C$ 称为集合 $A$ 和集合 $B$ 的并集,记作 $C=A\cup B$。

补集(余集)

补集(余集) $:=$ 假设集合 $A$ 是集合 $X$ 的子集,则所有属于 $X$ 但不属于 $A$ 的元素的集合称为集合 $A$ 在集合 $X$ 里的补集,或者余集,记作 $A'= X - A$。

空集

空集 $:=$ 不包含任何元素的一个特殊的集合,记作 $\emptyset$

全集

全集 $:=$ 包含一个集合的所有元素的子集,称为该集合的全集。

全集是特殊的子集,即指对象集合自己。

集族:集合的集合

有时候,我们在研究一个业务数据的时候,需要多次抽样,获得多个样本数据。这时候,每一个样本数据作为一个数据集需要去分析它自身的特性,但更有意义的是这多个样本之间的关系:它们的相似性,分布,统计特征的比较等等,这时候我们进入了以样本为个体的样本的集合,即以数据集的集合为研究对象的上下文当中,这样的集合的集合我们也称作集族

集族 $\mathscr{X}:=$ 来自同一个研究对象全体 $P$ 的一些集合 $X$ 合成的集体。

$$\mathscr{X}:= {X|X \subset \space P \space}$$

子集族 $:=$ 当我们把以上定义中的研究对象全体替换成某个集合(数据样本) $X$ 时,所有的子集都来自这样一个已知的集合(全体对象 $P$ 通常都是未知的),我们称由这样的子集构成的集族为 $X$ 的子集族。

冥集

冥集是一个特别的子集族,在给定一个集合$X$的情况下,$X$ 的冥集定义为$X$的所有子集的集合,记作 $\mathscr{P}(X)$。

假如$X$中元素的个数为 $n$,$X$ 的冥集 $\mathscr{P}(X)$ 中的元素(即所有 $X$ 的子集)的个数则为 $2ˆn$。

直积/笛卡尔积

直积 $:=$ 假设 $X$ 和 $Y$ 为两个集合,集合

$${(x,y)|x\in X, y\in Y } $$

称为 $X$ 和 $Y$ 的直积,或笛卡尔积,记作$X \times Y$。

有限集

有限集 $:=$ 元素数量有限的集合。

无限集

无限集 $:=$ 元素数量无限的集合。

无限集又分可数集合不可数集。

注意:由于我们在数据分析的应用场景里,所有的样本都是可观察到的有限数量的个体的集合,因此我们在余下的wiki里(包括定义,属性,推论和运算等等)假设针对的都是有限集。

集合的空间结构:拓扑

有了集合的概念,为了能够自然严谨的从全局去分析我们的数据对象,接下来我们需要能提供一个规则去描述一个数据集里数据点和数据点之间的关系,进而从全局的视角将它们概括起来一览无余。

通常这个规则是默认的,比如这个数据集默认处在一个欧式空间里,那每个数据点自动赋予了坐标,彼此之间的关系,或者说距离,就是自带的。但这样的默认规则可以太过精确和僵硬,比如,如何在一个欧式空间里描述两个数据集之间的关系呢?另一方面,在点集拓扑下定义的拓扑结构,提供一个最基本的描述数据点关系的规则:

拓扑结构

拓扑结构 $\mathscr{T}:=$ 假设 $\mathscr{T}$ 是集合 $X$ 的一个子集族,并且满足以下三个条件时,我们称 $\mathscr{T}$ 为 $X$ 的拓扑结构:
(1) $X,\emptyset \in \mathscr{T}$
(2) $A,B \in \mathscr{T} \Rightarrow A\cap B \in \mathscr{T}$
(3) $A,B \in \mathscr{T} \Rightarrow A\cup B \in \mathscr{T}$

一个集合(数据集)的拓扑结构提供了最简洁的规范来一致统一的规定每一个元素(数据点)与周围元素(数据点)的归属与区隔的关系,不管这个关系有多少个层级,在总体来看都互不冲突,而且能够支撑和其他具备拓扑结构的集合(数据集)进行比较的工作。

以上的例子,尤其是最后两个反例,比较形象直观的凸显了拓扑结构中想要规范的一致性:例如最后一个作为反例的例子,元素1和元素2归属于同一个子集 ${1,2 }$ 的『关系』里,同样元素2和元素3亦归属于同一个子集 ${2,3 }$ 的『关系』里,意味着在这一个层面的关系里元素1和元素3共享元素2的这层『子关系』,也因此在更高一层级的母关系 ${1,2,3 }$ 中,元素2和元素3得以归属到一起。然而,元素2这层呼之欲出的『子关系』居然没有被『制定』在这个拓扑结构中!!!就好像两个人在微信里因为一个共同的朋友而被拉到一个群里,之后居然发现这个『共同朋友』是虚构不存在的,那这个2度关系建立的朋友关系也自然因为第一度关系的未定义而失去了基础,分崩离析了。

拓扑空间 $:=$ 当一个集合 $X$ 被赋予了一个拓扑结构 $\mathscr{T}$,我们又称这样的一个偶对为一个拓扑空间,记作 $(X,\mathscr{T})$。

拓扑结构的基

拓扑结构的例子

数据点之间最基本的关系是『邻域关系』

邻域关系

空间里的距离感:度量

在一个数据集里,描述数据点之间的关系不需要知道点和点之间量化的確切的距离;反之,当一个数据集已经具备了度量,当中的数据点的关系就被自动描述了。

度量

度量 $:=$ 假设 $X$ 是一个集合,我们将满足以下三个条件的 $X \times X $ 直积的函数 $d:X\times X \to \mathbb{R}$ 称为 $X$ 的度量:

(1)(正定性)$d(x,y)\geq 0, \forall x,y \in X$,并且 $d(x,y)=0 \Leftrightarrow x = y$
(2)(对称性)$d(x,y) = d(y,x)$
(3)(三角不等式)$d(x,z)\leq d(x,y) + d(y,z)$

度量空间 $:=$ 当一个集合 $X$ 被赋予了一个度量 $d$,我们又称这样的一个偶对为一个度量空间,记作 $(X,d)$。

在这一节开始的时候提到的『数据点的关系被自动描述』,在度量的定义下,通过拓扑结构的基,即根据所赋予的度量来选择一个半径为r,每个元素(数据点)为中心的开球作为基,即可生成一个基于已赋予的度量的拓扑结构。

用集合的语言可以很简洁明了的描述度量空间和拓扑空间的关系:一个集合 $X$ 有一个度量空间 $(X,d)$ $\Rightarrow$ 一个集合 $X$ 有一个拓扑空间 $(X,\mathscr{T})$

$${ (X,d_X)} \subset {(X,\mathscr{T})}$$

映射和连续性

当数据集具备了基本的拓扑结构,将一个数据集和另一个数据集进行比较就变得有意义。

映射

开集

闭集

连续性

同胚

集合与集合间的距离: Hausdorff 度量

$$e^{i\pi} + 1 = 0$$

results matching ""

    No results matching ""