← 返回 Day 110 正文

Day 110 · 图解

Day 110 — SVM 与 KNN 图解

1. SVM 最大间隔原理

            ○ ○ ○                    ← 类别 A(正类,y=+1)
          ○   ○
        ○  ══════════════            ← 最优超平面: w·x + b = 0
      ○   ↕  间隔/2
        ↕  间隔 (margin = 2/||w||)
      ↕  间隔/2
        ●   ●                      ← 类别 B(负类,y=-1)
          ● ● ●

    支持向量(○ 和 ● 标记的)决定了超平面的位置
    最大间隔 = 最好的泛化能力

2. 核技巧原理

┌─────────────────────────────────────────────────────┐
│  原始空间(2D,线性不可分)                           │
│                                                     │
│     ○ ● ○ ● ○                                      │
│     ● ○ ● ○ ●     →  无法用一条直线分开              │
│                                                     │
└──────────────────────┬──────────────────────────────┘
                       │  映射 φ(x) 到高维空间
                       ▼
┌─────────────────────────────────────────────────────┐
│  高维空间(3D,线性可分)                             │
│                                                     │
│     ○ ○ ○                                           │
│     ○ ○ ○  ──────  超平面可分开                      │
│     ● ● ●                                           │
│                                                     │
│  核技巧:不用真正计算 φ(x),直接算 K(x,y) = φ(x)·φ(y)│
└─────────────────────────────────────────────────────┘

3. KNN 分类流程

    ┌──────────────┐
    │  待预测样本 ?  │
    └──────┬───────┘
           │
           ▼
    ┌──────────────┐
    │ 计算与所有   │
    │ 训练样本的距离│
    └──────┬───────┘
           │
           ▼
    ┌──────────────┐
    │  选择最近的   │
    │  K 个邻居     │
    └──────┬───────┘
           │
           ▼
    ┌──────────────┐
    │  投票决定     │
    │  类别         │
    └──────────────┘

    示例 (K=3):
    ○ 距离=1.2  ● 距离=1.5  ○ 距离=1.8
    → 2个○, 1个● → 预测为 ○

4. K 值对决策边界的影响

    K=1 (过拟合)              K=5 (适中)              K=20 (欠拟合)
    ┌─────────────┐          ┌─────────────┐          ┌─────────────┐
    │ ○○○○        │          │ ○○○○○       │          │ ○○○○○○      │
    │ ○○○○        │          │ ○○○○○       │          │ ○○○○○○      │
    │ ○○○●●       │          │ ○○○○●●●     │          │ ○○○○○●●●●   │
    │ ○●●●●       │          │ ○○○●●●●     │          │ ○○○○●●●●●   │
    │  ●●●●       │          │ ○○●●●●      │          │ ○○●●●●●●    │
    │   ●●●●      │          │  ●●●●●      │          │  ●●●●●●●    │
    │    ●●●●     │          │   ●●●●      │          │   ●●●●●●    │
    └─────────────┘          └─────────────┘          └─────────────┘
    决策边界复杂               决策边界合理             决策边界简单
    对噪声敏感                 泛化能力好               欠拟合

5. SVM 核函数效果对比

    线性核                    RBF 核                    多项式核
    ┌─────────────┐          ┌─────────────┐          ┌─────────────┐
    │ ○ ○         │          │   ○ ○ ○     │          │ ○ ○         │
    │ ○ ○         │          │  ○ ○ ○ ○    │          │ ○ ○         │
    │ ───────     │          │ ○ ○ ○ ○ ○   │          │ ──────      │
    │             │          │ ● ● ● ● ●   │          │    ─────    │
    │ ● ●         │          │  ● ● ● ●    │          │ ● ●         │
    │ ● ●         │          │   ● ● ●     │          │ ● ●         │
    └─────────────┘          └─────────────┘          └─────────────┘
    适合线性可分数据           最通用,效果最好           适合有多项式特征的数据

6. 算法选择决策流程

    ┌──────────────┐
    │  有多少数据?  │
    └──────┬───────┘
           │
     ┌─────┴─────┐
     │           │
   <1万        >1万
     │           │
     ▼           ▼
  ┌──────┐   ┌──────────┐
  │  KNN  │   │ 特征维度?│
  └──────┘   └────┬─────┘
                  │
            ┌─────┴─────┐
            │           │
          高维        低维
            │           │
            ▼           ▼
        ┌──────┐   ┌──────┐
        │ SVM  │   │ SVM  │
        │(核)  │   │(线性)│
        └──────┘   └──────┘

7. 数据标准化效果对比

    不做标准化                    做标准化
    ┌─────────────┐              ┌─────────────┐
    │             │              │  ○ ○         │
    │   ○○○       │              │ ○ ○ ○        │
    │             │              │ ─────────    │
    │ ●●●●●●●●●●  │              │ ● ● ●        │
    │             │              │  ● ●         │
    └─────────────┘              └─────────────┘
    特征1: 0.1-1.0               特征1: -2 到 +2
    特征2: 100-10000             特征2: -2 到 +2

    → 特征2 主导距离计算          → 各特征均衡贡献
    → KNN 效果差                  → KNN 效果好