涉及到了象数到术数问题的关键——象(几何)与数(数据结构)的数据转化与判断算法。
「数字相似」需要定义:是量接近还是位接近?
量接近也需要指出其判断算法(Comparator),如绝对值差值,平方差值,或比例差值等。
• 量接近:指两个数字在数值上的接近程度。可以通过以下几种方式来度量:
绝对值差值:定义为 |α – b| ,即两个数字的差的绝对值。
平方差值:定义为 (α – b)² ,这种度量方式在统计学中常用,如均方误差(MSE)。
比例差值:定义为
|α – b|
───,
|b|
即两个数字的相对差异,特别适用于大小悬殊的数值比较。
• 位接近:指两个数字在表示形式上的接近程度,尤其是在十进制或其他进制中的表示。比如,3.14159 和 3.14160 在小数点后五位上非常接近,即位接近。
数字本身可以与一维几何映射成数轴。许多实数无法用简单的十进制表示,如超越数 π 和 e,它们超越了一般的计数法,无法通过有限的十进制数表示。这些数只能通过符号直接标记,或通过无穷小数、连分数等形式来表示。
十进制计数法数字与四则运算同构,其同构的就是一个收敛的无穷级数,因此只能完整标记四则运算的「结果」:
ₙ bⱼ
x=∑αᵢ × 10ⁱ+∑∞ⱼ₌₁ ──
ᵢ₌₀ 10ʲ
面临开方、取对数等超越四则运算的计算操作时,十进制计数法就很可能无法完整标记其计算结果了。而且其小数部分由于以「10」为基,会出现循环节问题。为此有连分数( 连分数)计数法,其计算过程有两类「距离」计算方式,一为欧式差值距离,二是比例距离。
因此,一维的几何图形(线)就已经超越一般计数法的标记范围了。但如果我们不关注其完整信息,只关注其度量信息的话,在特定空间(欧式空间,黎曼空间)下其长度关系也可以投射为数量关系。
二维的图形则更难直接映射。然而,既然线可以构成面,那数字理论上也可以构成数字面——矩阵!
将几何图形映射成相似数字的方法都涉及矩阵运算。矩阵包含标准网格结构,这样的结构可以通过 一定规则投射到任意几何面上。数字可以看作一维空间中的点,矩阵不仅可以表示二维平面信息,还可以通过适当的设计和操作,扩展到高维空间。也就是说,矩阵可以在低维空间(数字+位置关系)映射高维空间的信息。
自然语言通常包含复杂的、高维度的信息。AI 系统通过特定的矩阵操作(如张量运算、深度学习网络中的隐藏层操作等)将这些信息展开、压缩,并映射到矩阵中。这样,AI 能够在高维空间中「看见」人类通过直观、线性推理难以捕捉到的模式和关系。
原几何图形:处于某维度的特定空间坐标系中,包含其维度下的完整信息,具有绝对完整的矢量描述,可以判断彼此是否相同。
数字化:一般只能描述一个维度的信息,如针对「边数」、「内角和」、「曲率」进行计数。
矩阵化:可以保留完整信息,如保留其顶点、弧度信息组织成可还原的数据结构矩阵。
可比矩阵:矩阵化得到的矩阵往往是难以「直接」(像比较数字大小一样)比较的,需要设计算法进行比较,这个算法也包含了低维对高维的计算过程,也就是上面的「数字化」的过程。
因此,题主的问题中,隐藏了「数字相似」背后自然的比较算法。对于复杂几何体,其间比较算法并不是一维的,而是高维的,人的理性不支持这样的直接比较,但可以拆解成算法进行比较——即整个算法可以作为整体「比较器」来实现比较功能。
对于三维世界中的几何体,人脑具有硬件加速(枕叶为主)的视觉计算加速机制,可以高速高效地提取其中特征,判断形状、质地(texture)、颜色等特征的相似性——这些判断能力可以比作神经层面类 Transformer 堆叠机制。
也就是说,一切「自然」的比较,最后都可以落实到明确的算法,才可以执行。
其中「基本运算」由硬件提供,即计算机组成(CPU 部分为主)中的 ALU(arithmetic and logic unit) 部分: 算术逻辑单元。
那硬件由由什么驱动?由物理。这意味着其根本算力是从宇宙中「借」(引导)来的。
因此,重定向一下问题 Prompt:
全局问题
有没有一种将几何图形映射成一个数字的方法,要求相似的图形映射出的数字也相似?
建议步骤
1、如何基于不同坐标系来描述一个几何图形,不同坐标系主要描述什么特征?
• 笛卡尔坐标系:描述顶点坐标、边、面。
• 极坐标系/球坐标系:描述半径、角度、方位。
• 齐次坐标系:表示仿射变换(平移、旋转、缩放)。
• 傅里叶描述符:频域表示
2、这样的描述在数据结构上是什么样的?
• 点集/顶点表:顶点的坐标列表。
• 邻接矩阵:表示拓扑结构。
• 面片列表/曲率矩阵:描述几何结构和曲率。
3、能否将他们统一在同样的数据结构下,如矩阵(张量)?
• 张量:如顶点坐标矩阵、邻接矩阵。用于组合多维特征,表示更复杂的几何信息。
• 点云(Point Cloud):无序点集合,每个点可以包含多种属性,适用于表示3D扫描或复杂形状,与对复杂问题的暴力(进化/退火)算法。关键区域可以增加点密度,使其整体更具代表性。
• 图/树(Graph/Tree)结构:图/树结构可以保留其形态上的通路特征,往往是具体算法过程中的关键结构(同构映射)。
4、统一后的矩阵之间怎么设计不同的比较算法?
• 欧氏距离:直接比较点集的距离。
• 特征值比较:比较邻接矩阵的谱特征。
• 张量相似度:通过分解后的低维表示来比较。
5、这些算法在高维空间中的语意是什么?
• 拓扑相似性:通过邻接矩阵和谱分析。
• 形状相似性:通过曲率或顶点坐标矩阵。
• 全局与局部特征:反映几何图形的整体与细节相似性。
6、这些矩阵能否直接压缩成一维数字?
• 主成分分析(PCA):数据降维压缩技术,旨在将高维数据投影到一个低维空间,同时尽可能保留数据的主要信息(即最大化数据的方差)。
• 哈希函数:感知哈希、局部敏感哈希。
• 特征值聚合:通过特征值/奇异值聚合(如求和、取最大值等),用于简化矩阵之间的比较。
• 自编码器(Autoencoder):在几何形状编码中,自编码器可以学习到形状的紧凑表示,这个表示可以作为形状的"数字签名"。
• 矩阵范数:矩阵范数是将矩阵映射到非负实数的函数,用于度量矩阵的"大小"。如Frobenius范数(计算矩阵所有元素平方和的平方根),谱范数(矩阵最大奇异值),1-范数(最大列和范数),∞-范数(最大行和范数)。
7、压缩后需要用什么的样的计算方式来比较,以度量其间的相似度?
• 欧氏距离:直接比较压缩后的数字,|a - b|。
• 哈希碰撞率:比较哈希值的相似性。
• 特征值差异:通过差值或比例度量相似性。
• 余弦相似度:(a · b) / (||a|| ||b||)
• 核函数:K(a, b) = exp(-γ||a - b||²)
具体实现示例(ChatGPT-4o-Latest 辅助):
1.Hausdorff 距离(Hausdorff Distance)
数据结构
• 点集:用于表示两个几何图形的边界轮廓或顶点集。
• 向量:每个点的位置可以用向量表示,描述其在空间中的坐标。
概要算法
Hausdorff 距离用于衡量两个点集之间的最大最小距离,能够反映两个图形在空间中的相似程度。
1. 对于两个点集 A 和 B,计算集合 A 中每个点到集合 B 中所有点的最小距离。
2. 在所有计算出的最小距离中,找到最大值,作为集合 A 到集合 B 的 Hausdorff 距离。
3. 交换 A 和 B 的角色,重复步骤 1 和 2,得到集合 B 到集合 A 的 Hausdorff 距离。
4. 最终的 Hausdorff 距离是这两个距离的最大值。
适用场景:适用于轮廓点或离散点集的相似度比较,能够处理旋转、平移等变换。
2.Frechet 距离(Frechet Distance)
数据结构
• 曲线:表示几何图形的路径或边界。
• 点集序列:曲线可以离散化为一个有序的点集序列。
概要算法
Frechet 距离用于衡量两条曲线(或路径)的相似度,考虑了曲线的顺序和形状。
1. 给定两条曲线 P 和 Q,分别由点集序列 P={p1,p2,…,pn} 和 Q={q1,q2,…,qm} 表示。
2. 定义一个匹配函数 δ(i,j) 表示从曲线 P 中的点 pi 到曲线 Q 中的点 qj 的距离。
3. Frechet 距离通过动态规划计算最小化的最大距离,即找到一条路径,使得路径上的最大距离最小。
适用场景:广泛用于路径、曲线的相似度比较,特别适合于需要考虑顺序的情况。
3.形状上下文(Shape Contexts)
数据结构
• 极坐标直方图:用于表示每个点相对于其他点的空间分布。
• 点集:表示几何图形的轮廓或关键点。
概要算法
形状上下文用于描述图形轮廓点的分布,捕捉形状的整体特征。
1. 对几何图形的轮廓或特征点集进行采样,选择若干个关键点。
2. 对于每个关键点,计算其相对于其他点的极坐标(距离和角度),并构建直方图。
3. 通过比较不同图形的形状上下文直方图来度量它们的相似度。通常采用 χ2 距离或 Earth Mover's Distance (EMD) 来比较直方图。
4. 通过最优匹配算法(如匈牙利算法)找到两组点之间的最佳对应关系,计算总相似度。
适用场景:适用于轮廓和形状的整体相似度比较,能够处理形变和噪声。
4.Zernike 矩(Zernike Moments)
数据结构
• 极坐标系:用于将图形转换到极坐标系中,计算其在不同阶次下的矩。
• 特征向量:Zernike 矩形成的特征向量用于表示图形。
概要算法
Zernike 矩是一组正交多项式,能够捕捉图形的旋转不变特征。
1. 将图形二值化,并将其中心对齐到坐标系的原点。
2. 使用极坐标系表达图形,并计算 Zernike 矩。Zernike 矩由一系列复数构成,其绝对值构成旋转不变的特征向量。
3. 比较两个图形的 Zernike 矩特征向量,常用欧氏距离或余弦相似度来度量相似性。
适用场景:适用于图像和二维几何形状的相似度比较,特别是需要旋转不变性的场景。
5.傅里叶描述符(Fourier Descriptors)
数据结构
• 频域表示:通过傅里叶变换,将图形的轮廓表示为频域特征。
• 特征系数:傅里叶系数作为特征向量表示图形。
概要算法
傅里叶描述符通过对图形轮廓进行傅里叶变换来捕捉图形的形状特征。
1. 对图形的轮廓进行采样,得到一系列连续的点。
2. 对这些点的序列进行傅里叶变换,得到一组傅里叶系数。
3. 使用这组傅里叶系数作为图形的特征向量,通过比较不同图形的傅里叶系数来度量它们的相似度。常用的度量方式包括欧氏距离、余弦相似度等。
适用场景:适用于轮廓光滑且具有周期性特征的图形,特别适合处理旋转、缩放和平移。
6.ICP 算法(Iterative Closest Point)
数据结构
• 点云:用于表示三维几何体的表面或体积。
• 变换矩阵:用于记录几何体在空间中的旋转、平移等变换。
概要算法
ICP 算法用于对齐两个点云,计算它们的相似性或匹配度。
1. 对两组点云进行初始化,设定初始变换矩阵。
2. 在每次迭代中,寻找第一组点云中每个点在第二组点云中的最近邻点。
3. 计算最佳刚性变换矩阵,使第一组点云最接近第二组点云。
4. 应用该变换矩阵并更新点云位置,重复迭代直到收敛。
5. 最终的变换误差表示两组点云(几何体)之间的相似度。
适用场景:适用于三维点云的配准与相似度比较,广泛应用于三维扫描与建模。
7.Earth Mover's Distance (EMD)
数据结构
• 直方图:用于描述图形的特征分布,如颜色、纹理、形状等。
• 流量矩阵:用于计算两个直方图之间的最小流量。
概要算法
EMD 用于衡量两个分布之间的距离,常用于形状上下文、颜色直方图等特征的比较。
1. 将图形的特征表示为直方图,如颜色直方图、形状上下文直方图等。
2. 定义一种距离度量,用于衡量直方图之间的点对点距离。
3. 通过求解最小流量问题,找到将一个直方图变换为另一个直方图的最小代价。这个最小代价即为 EMD 值。
4. EMD 值越小,两个图形的相似度越高。
适用场景:适用于各种直方图特征的相似度比较,尤其适用于分布不均匀或有偏移的情况。
数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。