平面两点连线
连线可视化是理解数据点之间关系的基础方法。通过不同的连线方式, 可以展示数据点的分布特征、中心趋势、离散程度和投影关系。
和原点连线
所有数据点与原点(0,0)连线,展示径向距离分布。
质心
所有点与数据质心μ连线,质心是数据的均值点。
簇质心
每个点与所属簇的质心连线,展示簇内结构。
任意两点连线
所有点对之间连线,形成完全图,C(n,2)条边。
水平方向
垂直投影到x轴,展示x坐标的分布。
竖直方向
水平投影到y轴,展示y坐标的分布。
沿y朝任意直线投影
沿y方向投影到斜线y=0.3x+1。
沿x朝任意直线投影
沿x方向投影到斜线y=2x+1。
朝过原点直线正交投影
正交投影到过原点θ=15°的直线,保持垂直关系。
📏 平面两点连线
通过连线可视化数据点之间的关系、距离和投影
当前模式说明
所有点与原点(0,0)连线,展示径向距离
不同方式展示二元欧氏距离
二元欧氏距离函数f(x₁, x₂) = √(x₁² + x₂²)是最常用的距离度量。 可以通过3D网格面、2D等高线、梯度场等多种方式可视化。
二元函数
距离函数定义:f(x₁, x₂) = √(x₁² + x₂²)
这是从原点到点(x₁, x₂)的欧氏距离,等值线是同心圆。
网格面
可以用3种方式展示:3D网格面+等高线、2D等高线、2D填充等高线+梯度向量场。 梯度向量∇f指向距离增长最快的方向(径向)。
📐 二元欧氏距离可视化
f(x₁, x₂) = √(x₁² + x₂²) 是从原点到点(x₁, x₂)的欧氏距离
数学性质
函数定义
f(x₁, x₂) = √(x₁² + x₂²)
等高线
同心圆:x₁² + x₂² = r²
梯度
∇f = (x₁, x₂) / √(x₁² + x₂²)
指向径向,模长为1
🎯 等高线
距离相等的点形成同心圆。 圆心在原点,半径r对应距离值f=r。 间距均匀表示线性增长。
🧭 梯度
梯度向量∇f指向距离增长最快的方向。 对于欧氏距离,就是从原点指向该点的径向。 梯度模长为1(单位向量)。
🌈 热力图
颜色编码距离值:蓝色(近)→绿色(中)→红色(远)。 直观展示距离场的分布。
3D曲面
z = √(x₁² + x₂²)形成圆锥面, 顶点在原点,沿径向线性增长。
等高线
同心圆族,圆心在原点, 半径r对应距离值f=r。
梯度场
∇f = (x₁, x₂)/√(x₁² + x₂²), 指向径向,模长为1。
三维两点连线
在三维空间中可视化鸢尾花数据的距离关系。
导入数据
使用鸢尾花数据的3个特征:sepal_length, sepal_width, petal_length。
散点和投影点连线
将3D散点投影到z=1平面,连线展示垂直距离。 投影点用×标记,连线显示z方向的偏离。
散点和质心连线
计算3D质心μ = (μ₁, μ₂, μ₃), 所有点与质心连线,展示3D空间中的偏离程度。
用切豆腐的方法展示三元欧氏距离
三元函数f(x₁, x₂, x₃) = √(x₁² + x₂² + x₃²)无法直接可视化。 通过"切片法"在三个坐标平面上绘制等高线,像切豆腐一样展开三维结构。
三元函数
定义三元二次型:f(x₁, x₂, x₃) = √(x^T A x),其中A为单位矩阵时退化为欧氏距离。
外立面
在三个坐标平面的边界上同时绘制等高线, 形成3D"盒子"的外立面视图。
切片展开
沿某一坐标轴方向切片, 将多个切片展开排列,完整展示3D结构。
将等高线展开,沿x₃
固定x₃值,在x₁-x₂平面上绘制等高线切片。
将等高线展开,沿x₂
固定x₂值,在x₁-x₃平面上绘制等高线切片。
将等高线展开,沿x₁
固定x₁值,在x₂-x₃平面上绘制等高线切片。
根据欧氏距离远近渲染两点连线
用颜色编码距离:近的点之间连线用冷色(蓝),远的点用暖色(红)。 形成视觉上的"距离地图"。
在单位正方形和圆盘上随机生成点,计算所有点对的欧氏距离, 用RdYlBu色图映射到连线颜色。距离越远,连线越红;距离越近,连线越蓝。
🎨 根据距离渲染连线
用颜色编码两点间的欧氏距离:蓝色(近) → 黄色(中) → 红色(远)
统计信息
总点数: 34
总连线数: 561
连线密度: 100%
颜色编码规则
距离归一化到[0,1],正方形最大距离√2,圆盘最大距离1。
🔍 视觉模式
近距离点对(蓝色连线)形成密集区域, 远距离点对(红色连线)跨越整个空间。 颜色分布揭示点的聚类结构。
📊 应用场景
网络可视化、社交网络分析、 相似度矩阵可视化、聚类结果展示。 直观展示关系强度。
⚡ 复杂度
n个点产生C(n,2) = n(n-1)/2条连线。 30个点产生435条连线。 连线数随点数二次增长。
💡 可视化原理
对于n个点,有C(n,2) = n(n-1)/2条连线。 每条连线的颜色c = colormap(d/d_max), 其中d是两点距离,d_max是最大可能距离。
🎨 应用场景
网络可视化、社交网络分析、聚类结果展示、 相似度矩阵可视化。颜色直观展示关系强度。
平面Lp范数等高线
Lp范数是欧氏距离的推广:||x||_p = (|x₁|^p + |x₂|^p)^(1/p)。 不同的p值定义了不同的"距离"概念。
创建数据
在[-2.5, 2.5] × [-2.5, 2.5]区域生成网格,计算Lp范数值。
自定义Lp范数函数
对于p = ∞,||x||_∞ = max(|x₁|, |x₂|)。 对于有限p,使用通用公式计算。
可视化
📐 Lp范数等高线
Lp范数定义:||x||_p = (|x₁|^p + |x₂|^p)^(1/p)
圆形(欧氏距离)
特殊p值
p = 1 (L1)
曼哈顿距离,出租车几何
||x|| = |x₁| + |x₂|
p = 2 (L2)
欧氏距离,日常几何
||x|| = √(x₁² + x₂²)
p = ∞ (L∞)
切比雪夫距离,棋盘距离
||x|| = max(|x₁|, |x₂|)
📏 0 < p < 1
技术上不是范数(不满足三角不等式)。 "单位球"向内凹,是凹函数。
🔵 1 ≤ p ≤ 2
从菱形(p=1)平滑过渡到圆形(p=2)。 p=1.5常用于稀疏优化。
🔷 p > 2
从圆形(p=2)过渡到正方形(p=∞)。 "单位球"逐渐逼近正方形。
💡 应用场景: L1范数用于稀疏性(LASSO回归)、抗噪声; L2范数用于最小二乘、能量最小化; L∞范数用于最坏情况优化、鲁棒控制。 不同的p值适合不同的应用场景,没有绝对的"最好"。
三维空间Lp范数
三维Lp范数:||x||_p = (|x₁|^p + |x₂|^p + |x₃|^p)^(1/p)。 单位球面(满足||x||_p = 1的所有点x)的形状随p变化:从八面体(p=1)到球(p=2)到立方体(p=∞)。
自定义函数展示隐函数
使用contour函数在XY、XZ、YZ三个平面上绘制等高线, 通过zdir参数指定投影方向。
可视化
展示4种视图:XY平面等高线、XZ平面等高线、YZ平面等高线、三平面组合视图。
p = 1
八面体,6个顶点在坐标轴上, ||x||₁ = |x₁| + |x₂| + |x₃|
p = 2
球面,最常见的单位球, ||x||₂ = √(x₁² + x₂² + x₃²)
p = ∞
立方体,边界平行于坐标平面, ||x||_∞ = max(|x₁|, |x₂|, |x₃|)
基于鸢尾花数据各种距离度量等高线
在真实数据(鸢尾花)上比较不同距离度量的等高线形状。 展示从L1到L∞范数,以及标准化欧氏距离和马氏距离。
导入数据
使用sepal_length和petal_length两个特征,计算协方差矩阵Σ和相关矩阵ρ。
自定函数产生旋转网格
通过特征向量V旋转正交网格,展示数据的主方向。
🌸 鸢尾花数据距离度量对比
在真实数据上比较8种距离度量的等高线形状
当前度量:L2 (欧氏)
最常用,等距线是圆形
📊 Lp范数族
L1到L∞展示了从菱形到正方形的连续过渡。 p值越大,等距线越接近正方形, 各维度的权重越均匀。
🎯 统计距离
标准化欧氏距离考虑方差,马氏距离进一步考虑协方差。 等距线从圆形变为椭圆,沿数据主方向拉伸。
欧氏距离
d = √((x-μ₁)² + (y-μ₂)²),等距线是同心圆。
L1范数
d = |x-μ₁| + |y-μ₂|,等距线是菱形。
L1.5范数
d = (|x-μ₁|^1.5 + |y-μ₂|^1.5)^(1/1.5),介于菱形和圆之间。
L4范数
d = (|x-μ₁|^4 + |y-μ₂|^4)^(1/4),接近正方形。
L8范数
d = (|x-μ₁|^8 + |y-μ₂|^8)^(1/8),更接近正方形。
L_inf范数
d = max(|x-μ₁|, |y-μ₂|),等距线是正方形。
标准欧氏距离
d = √((x-μ₁)²/σ₁² + (y-μ₂)²/σ₂²),考虑不同特征的标准差。
马氏距离
d = √((x-μ)^T Σ^(-1) (x-μ)),考虑特征间的协方差,等距线是椭圆。
🎯 马氏距离的特殊性
马氏距离考虑了特征间的相关性,通过协方差矩阵Σ归一化。 等距线沿数据的主方向(特征向量)拉伸,形成椭圆而非圆。
- • 当Σ为单位矩阵时,退化为欧氏距离
- • 当Σ为对角矩阵时,退化为标准化欧氏距离
- • 马氏距离在统计学、异常检测、聚类分析中广泛应用
💡 核心洞察
距离与范数是数据科学的基石。从最简单的欧氏距离,到考虑不同维度重要性的加权距离, 再到考虑特征相关性的马氏距离,每种距离度量都编码了对"相似性"的不同理解。 Lp范数族展示了从曼哈顿街区(p=1)到欧几里得几何(p=2)再到棋盘距离(p=∞)的连续过渡。 在机器学习中,选择合适的距离度量至关重要:KNN用欧氏距离,聚类可能用马氏距离, 稀疏优化偏爱L1范数,神经网络常用L2正则化。理解距离的几何意义——等距线的形状、 投影的含义、质心的位置——能帮助我们选择正确的度量,构建更好的模型。 每一种连线方式都讲述着数据点之间关系的不同故事,每一个范数都定义了空间的不同结构。