1、思想:
线性判别分析(LDA)/Fisher判别分析:设法将样例全部投到一条直线上,使同类样例的投影点尽可能近,异类样例的投影点尽可能远。(找出这条直线)
2、数学基础:
2.1二分类:
LDA利用了数据的均值和协方差矩阵,通过找到一个投影向量w来最大化以下判别准则:
(max J ); ( J 为 和 的“广义瑞利商”)
其中,
-是类间散度矩阵(Between-class scatter matrix),反映类与类之间的差异。
- 是类内散度矩阵(Within-class scatter matrix),反映同一类内部的差异。
解得:
2.2推广至多分类:
通过寻找多个投影方向,形成一个投影矩阵,将数据投影到一个具有多个维度的低维空间。
优化目标:
3、多分类学习:扩展二分类算法到多分类
3.1 一对多策略(One-vs-All,OvA或OVA)
- 在这种策略下,针对每一类创建一个分类器,该分类器的任务是区分这一类和所有其他类。最终,输入样本会被分配给得分最高的分类器对应的类别。
- 每个分类器都视为一个二分类问题,其中“正类”对应于目标类别,“负类”则是所有其他类别的并集。
3.2 一对一策略(One-vs-One,OvO)
- 这种策略为每一对类别构建一个分类器,这样对于k个类别,将会有k(k-1)/2个分类器。
- 当对一个新的样本进行分类时,会使用所有分类器的结果,并且将获得最多胜利的类别作为最终分类结果。
4、多分类算法
4.1错误校正输出编码(Error-Correcting Output Codes,ECOC)
- ECOC是一种通用框架,可以使用任何二分类器来解决多分类问题。它通过构建一个编码矩阵,其中每一行对应一个类别,每一列表示一个二分类器的决策。
- ECOC通过设计不同的编码方式来减少错误的影响,即使某些分类器出错,也可以通过其他分类器的决策来纠正错误。