坐标、距离、直线、平面与超平面
层级:A|必学
1. 从数据表到几何空间
一个有 d 个数值特征的样本可以看成 d 维空间中的点。线性分类器寻找把类别分开的超平面,k 近邻寻找附近的点,聚类寻找紧密的点群,PCA 寻找数据延展最大的方向。几何不是额外的比喻,而是这些算法的直接数学结构。
2. 一维、二维与三维坐标
数轴上的点由一个数 x 表示。平面上的点用有序对 (x1,x2) 表示,空间中的点用 (x1,x2,x3) 表示。推广到 d 维:
x=(x1,x2,…,xd)T∈Rd.
例如样本的两个特征是身高与体重,(175,70) 是平面上的一个点。但两个坐标的单位和尺度不同,直接计算距离可能让数值范围大的特征支配结果,因此常需要标准化。
3. 两点之间的 Euclidean 距离
二维勾股定理给出
d(x,y)=(x1−y1)2+(x2−y2)2.
d 维推广为
∥x−y∥2=j=1∑d(xj−yj)2.
例如 x=(1,2)、y=(4,6),距离为 32+42=5。
Euclidean 距离不是唯一选择。Manhattan 距离把绝对差相加,Mahalanobis 距离还考虑尺度与特征相关性。范数与距离章节会系统讨论。
4. 直线的多种表示
斜截式
y=kx+b.
k 是斜率,b 是与纵轴交点。竖直线无法用有限斜率表示,因此这种形式不够统一。
一般式
w1x1+w2x2+b=0.
写成向量形式:
wTx+b=0.
w=(w1,w2)T 垂直于直线,称为法向量。若 v 是沿直线的方向,则 wTv=0。
参数式
给定直线上一点 x0 和方向 v:
x=x0+tv,t∈R.
它表达“从起点沿某个方向移动任意距离”。
5. 平面与超平面
三维平面写成
w1x1+w2x2+w3x3+b=0.
在 d 维中,
H={x∈Rd:wTx+b=0}
称为超平面,其中 w=0。它通常是 d−1 维:二维空间里的超平面是直线,三维空间里是普通平面。
超平面把空间分为两侧:
wTx+b>0,wTx+b<0.
线性分类器据此预测正类或负类。
6. 点到超平面的有符号距离
对超平面 wTx+b=0,点 x0 的有符号距离为
∥w∥2wTx0+b.
普通距离取绝对值:
∥w∥2∣wTx0+b∣.
为什么要除以 ∥w∥?因为 (w,b) 与 (cw,cb)(c=0)描述同一个超平面,但未归一化的打分会放大 ∣c∣ 倍。除以法向量长度后才得到与表示尺度无关的真实几何距离。
7. 决策边界与打分函数
线性分类器常用
f(x)=wTx+b.
- f(x)=0:点在边界上;
- f(x)>0:在法向量指向的一侧;
- f(x)<0:在另一侧;
- ∣f(x)∣/∥w∥:到边界的几何距离。
f(x) 本身通常不是概率。逻辑回归再用 Sigmoid 把它映射为概率;SVM 则利用带符号间隔训练分类边界。
8. 圆、球与邻域
二维中,中心 c、半径 r 的圆周满足
∥x−c∥2=r,
圆盘满足 ≤r。高维推广称为球面与球。k 近邻、核方法和局部密度估计都在研究某种距离下的邻域。
不同范数产生不同形状的“球”:二维 L2 球是圆,L1 球是菱形,L∞ 球是正方形。正则化解的几何差异由这些形状产生。
9. 维度与“看不见的空间”
高维空间不能直接画出来,但代数规则没有改变。应坚持两个习惯:
- 标注对象的维度与形状;
- 用二维或三维特例建立几何直觉,再用公式推广。
高维还有反直觉现象:距离可能趋于集中,数据空间变得极其稀疏,局部邻域需要更多样本。这是“维数灾难”的一部分。
10. 特征缩放如何改变几何
假设两个特征是年收入(数十万)与年龄(几十)。未经缩放的 Euclidean 距离几乎完全由收入决定。标准化
zj=σjxj−μj
把每个特征转成以标准差为单位的相对偏离。它会改变点之间的几何关系,因此预处理不是无关紧要的清洗步骤,而是模型假设的一部分。
易错点
- 点与向量常用同一坐标表示,但概念角色不同:点是位置,向量是位移;在 Euclidean 空间可方便地互相表示。
- w 是超平面的法向量,不是沿平面的方向。
- wTx+b 是打分,不经归一化不是几何距离。
- 维度数与样本数不同;n 个样本、d 个特征通常形成 n×d 矩阵。
- 类别型特征的整数编码通常没有自然 Euclidean 几何。
常见问答
Q1:为什么线性模型叫“线性”,明明有偏置 b?
严格说 wTx+b 是仿射函数;机器学习惯例仍称线性模型。把输入添加一个恒为 1 的坐标后,可把偏置并入扩展权重。
Q2:高维超平面真的存在吗?
存在,定义完全由线性方程给出。不能可视化不等于不能计算;点到超平面的距离、投影和两侧判断都能直接运算。
Q3:特征缩放对树模型也重要吗?
普通决策树按单特征阈值切分,通常对单调缩放不敏感;但距离模型、SVM、线性模型正则化和梯度优化往往明显受影响。
练习
- 求点 (1,2) 与 (4,6) 的 Euclidean 距离和 Manhattan 距离。
- 直线 2x1−x2+3=0 的一个法向量是什么?点 (0,3) 是否在直线上?
- 判断点 (2,0) 位于该直线的哪一侧。
- 求点 (2,0) 到该直线的距离。
- 将 x2=2x1+1 写成 wTx+b=0。
- 解释为什么把 w,b 同时乘 10 不改变决策边界。
答案与提示
- 5 与 7。
- (2,−1)T;代入得 0,在直线上。
- 打分 2×2−0+3=7>0,在正侧。
- 7/5。
- 2x1−x2+1=0。
- 方程两边整体乘非零常数不改变零点集合,符号在乘正数时也不变。