### 矩阵与距离算法详解:以余弦距离为中心
#### 一、**矩阵举例与余弦相似度/距离**
1. **矩阵示例**
假设用户-商品评分矩阵如下(用户对商品的评分范围为0-5分):
```
| 用户 | 商品A | 商品B | 商品C |
|------|-------|-------|-------|
| 用户1 | 4 | 0 | 3 |
| 用户2 | 5 | 2 | 1 |
| 用户3 | 0 | 4 | 2 |
```
用户1和用户2的评分向量分别为:\( \mathbf{u_1} = [4, 0, 3] \),\( \mathbf{u_2} = [5, 2, 1] \)。
2. **余弦相似度原理**
余弦相似度衡量向量方向的一致性,忽略向量长度差异:
\[
\cos(\theta) = \frac{\mathbf{A} \cdot \mathbf{B}}{\|\mathbf{A}\| \cdot \|\mathbf{B}\|}
\]
**计算示例**:用户1与用户2的余弦相似度:
\[
\cos(\theta) = \frac{4 \times 5 + 0 \times 2 + 3 \times 1}{\sqrt{4^2 + 0^2 + 3^2} \cdot \sqrt{5^2 + 2^2 + 1^2}} = \frac{23}{5 \times 5.477} \approx 0.84
\]
值越接近1,表示用户偏好越相似。
3. **余弦距离**
余弦距离定义为 \( 1 - \cos(\theta) \),用于量化方向差异。上述示例中,余弦距离为 \( 1 - 0.84 = 0.16 \)。
---
#### 二、**其他常见距离算法及原理**
1. **欧氏距离(Euclidean Distance)**
• **原理**:多维空间中两点间的直线距离,反映绝对数值差异。
• **公式**:
\[
d = \sqrt{\sum_{i=1}^n (x_i - y_i)^2}
\]
• **示例**:用户1与用户2的欧氏距离:
\[
d = \sqrt{(4-5)^2 + (0-2)^2 + (3-1)^2} = \sqrt{1 + 4 + 4} \approx 3
\]
• **适用场景**:数值型数据(如用户活跃度分析)。
2. **曼哈顿距离(Manhattan Distance)**
• **原理**:沿坐标轴方向的距离总和,反映“城市街区”路径。
• **公式**:
\[
d = \sum_{i=1}^n |x_i - y_i|
\]
• **适用场景**:稀疏数据或网格结构(如棋盘游戏、物流路径规划)。
3. **切比雪夫距离(Chebyshev Distance)**
• **原理**:取各维度坐标差的最大值,反映极端差异。
• **公式**:
\[
d = \max(|x_i - y_i|)
\]
• **示例**:用户1与用户2的切比雪夫距离为 \( \max(1, 2, 2) = 2 \)。
• **适用场景**:机器人移动、棋盘游戏中的国王步数计算。
4. **闵可夫斯基距离(Minkowski Distance)**
• **原理**:欧氏距离与曼哈顿距离的一般化形式,参数 \( p \) 控制距离类型:
◦ \( p=1 \):曼哈顿距离
◦ \( p=2 \):欧氏距离
◦ \( p \to \infty \):切比雪夫距离
• **公式**:
\[
d = \left( \sum_{i=1}^n |x_i - y_i|^p \right)^{1/p}
\]
• **适用场景**:需灵活调整权重的高维数据分析。
5. **马氏距离(Mahalanobis Distance)**
• **原理**:考虑数据协方差结构,消除特征相关性和尺度影响。
• **公式**:
\[
d = \sqrt{(\mathbf{x} - \mathbf{\mu})^T \mathbf{S}^{-1} (\mathbf{x} - \mathbf{\mu})}
\]
(\(\mathbf{\mu}\)为均值向量,\(\mathbf{S}\)为协方差矩阵)
• **适用场景**:异常检测、多维数据分布分析。
---
#### 三、**不同距离算法的对比与选型**
| **算法** | **核心差异** | **典型应用场景** | **引用来源** |
|----------------|-----------------------------|------------------------------------|-------------|
| 余弦相似度 | 方向差异,忽略长度 | 文本相似度、推荐系统(用户偏好分析) | |
| 欧氏距离 | 绝对数值差异 | 用户活跃度、空间坐标分析 | |
| 曼哈顿距离 | 路径累积差异 | 物流路径优化、稀疏数据聚类 | |
| 马氏距离 | 协方差修正的统计距离 | 金融风险分析、多维数据异常检测 | |
---
#### 四、**总结**
• **余弦相似度/距离**:适用于方向敏感场景(如用户偏好、文本相似度)。
• **欧氏距离**:适合数值绝对差异分析(如地理位置、物理测量)。
• **其他距离**:根据数据特性选择,如曼哈顿距离用于路径规划,马氏距离用于统计修正的高维数据。
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传