前言
我们在前面先学习了线性回归,而后又学习了如何在线性回归的基础上通过Sigmoid函数做分类任务,即对数几率回归,
那么我们知道,并非所有数据集都呈线性关系排列,如何直接对数据集做分类任务?
我们通过线性判别分析(一种经典的二分类算法)进行解答
基本思路:
如上图,我们把样例投影到一条直线上做垂足
我们希望达成以下目标:
- 对于同类的数据,我们希望他们之间的距离尽可能的近
- 对于异类的数据(正类和负类),我们希望他们离得越远越好
首先我们先规定一些表示方法:
-
xi表示输出(即正/负),yi 我们考虑m个样本
-
第0类示例的集合称X1,第1类示例的集合称X2
-
均值向量:在统计学和概率论中是指随机向量所有可能取值的平均值,它是各个随机变量期望值的集合。
-
类内/间散度矩阵(评定同/异类对象内部分散程度)
最大化广义瑞利商:
我们可以看到上下都有w,其实可以消去,重要的是考虑方向,因为我们本来就是把每一个数据在直线这个向量上做投影,向量有两个属性,一是大小,二是方向,对于大小来说,我们就是在向量及其延长线上投影,所以,影响比较大的还是方向。
w是一个常量a,无论如何都不能求出w,上下总是会消去w,而Sw是一个矩阵,所以,我们不妨另
等于1.(这里其实固定分子或者分母都是可以的,但是我们为了后面推导的顺利所以这样规定)
我们在之前的学习中经常提到“优化”的概念,通常是基于凸函数进行最小化,所以这里我们把最大化广义瑞利商的问题转化为最小化问题,只需加一个负号即可。
s.t.:sbject to (约束),上式的含义是在的约束下,最小化,
对于仅含等式约束的优化问题,我们有:
由拉格朗日乘子法,如下式:
对于本文中最小化式子,只有一个约束,经过一定运算,我们得到下列结果,