# 模式识别和机器学习

y=f(x),寻找f

# 数理统计

  • 概率分布:
    • 离散:bernoulli分布硬币,multinoulli分布骰子
    • 连续:均匀分布,高斯分布,t分布
  • 参数估计
    • 极大似然估计
    • map

# 线性判别

# 1. 一对其他(One vs. Rest, OvR)

# 定义

每次将一个类别作为正类,其余所有类别作为负类,训练一个二分类器。最终通过多个二分类器的结果组合得到多分类结果。

# 性质

  • 类别数为 ( C ) 时,共需要训练 ( C ) 个判别函数。
  • 当类别分布不平衡时,分类器会偏向多数类(负类)。
  • 容易出现多个判别函数同时大于0的情况,导致分类失败。

# 判别函数

为每个类别 ( c ) 定义一个函数 ( f_c(x) ),决策规则: [ \hat{y} = c \quad \text{如果只有 } f_c(x) > 0 ] 若多个 ( f_c(x) > 0 ) 或全部 ( \le 0 ),则分类失败。

# 例子

对样本 ( x=(3,5) ),使用函数:

  • ( f_A(x) = -x_1 + x_2 )
  • ( f_B(x) = x_1 - x_2 - 2 )
  • ( f_C(x) = -x_1 + x_2 - 1 )

计算得:( f_A(3,5)=2>0 ),( f_C(3,5)=1>0 ),多个函数大于0 → 分类失败


# 2. 原始一对一(One vs. One, OvO)

# 定义

对每一对类别 ( (c,k) ) 训练一个二分类器,区分这两个类别。最终通过投票机制,选择获胜次数最多的类别。

# 性质

  • 类别数为 ( C ) 时,共需要训练 ( C(C-1)/2 ) 个判别函数。
  • 每个分类器仅处理两个类别,样本分布更平衡。
  • 当多个类别票数相同时,会出现不确定区域。

# 判别函数

为每对类别 ( (c,k) ) 定义一个函数 ( f_{c,k}(x) ),决策规则: [ \hat{y} = \text{获胜次数最多的类别} ] 若票数相同或无全胜类别,则进入不确定区域。

# 例子

对样本 ( x=(3,5) ),使用函数:

  • ( f_{AB}(x) = -x_1 + x_2 )
  • ( f_{AC}(x) = -x_1 + x_2 - 1 )
  • ( f_{BC}(x) = -x_1 + x_2 - 2 )

计算得:( f_{AB}(3,5)=2>0 )(A胜B),( f_{AC}(3,5)=1>0 )(A胜C),( f_{BC}(3,5)=0 )(平局) A获胜2次 → 判定为A类


# 3. 无不确定区域的一对一(基于全局得分)

# 定义

为每个类别定义一个全局得分函数,通过比较得分大小确定类别。任意两类的比较转化为它们得分的差值。

# 性质

  • 类别数为 ( C ) 时,共需要训练 ( C ) 个全局判别函数。
  • 总有一个最大值存在,因此无不确定区域。
  • 计算效率高,决策稳定。

# 判别函数

为每个类别 ( c ) 定义一个全局函数 ( f_c(x) ),决策规则: [ \hat{y} = \arg\max_c f_c(x) ] 任意两类比较:( f_{c,k}(x) = f_c(x) - f_k(x) )

# 例子

对样本 ( x=(3,5) ),使用函数:

  • ( f_A(x) = -x_1 + x_2 )
  • ( f_B(x) = x_1 - x_2 - 2 )
  • ( f_C(x) = -x_1 + x_2 - 1 )

计算得:( f_A(3,5)=2 ),( f_B(3,5)=-4 ),( f_C(3,5)=1 ) 最大值为 ( f_A(x) ) → 判定为A类