1.Fisher线性判别
线性判别分析是一种经典的线性学习方法,其思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异样样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的直线上,再根据投影点的位置来确定新样本的类别

基本原理:

分析w1方向之所以比w2方向优越,可以归纳出这样一个准则,即向量w的方向选择应能使两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。这就是Fisher准则函数的基本思路。
Fisher准则的基本原理,就是要找到一个最合适的投影轴,使两类样本在该轴上投影的交迭部分最少,从而使分类效果为最佳。
最佳W值的确定:
最佳w值的确定实际上就是对Fisher准则函数求取其达极大值时的。
对于这个问题可以采用拉格朗日乘子算法解决,保持分母为一非零常数c的条件下,求其分子项的极大值。


这个函数称为Fisher准则函数。应该寻找使分子尽可能大,分母尽可能小的w作为投影向量。

定义函数Lagrange函数:

对拉格朗日函数分别对w求偏导并置为0来求w的解。



这是一个求矩阵

的特征值问题。





其中(m1-m2)Tw*=R
实际上我们关心的只是向量w*的方向,其数值大小对分类器没有影响。因此在忽略了数值因子R/λ 后,可得:

上式就是使用Fisher准则求最佳法线向量的解。
向量w就是使Fisher准则函数JF(w)达极大值的解,也就是按Fisher准则将d维X空间投影到一维Y空间的最佳投影方向,该向量w的各分量值是对原d维特征向量求加权和的权值。
阈值的确定
对于两类问题的线性分类器可以采用下属决策规则:
g(x)=g1(x)-g2(x)
如果g(x)>0,则决策x属于W1;如果g(x)<0,则决策x属于W2;如果g(x)=0,则可将x任意分到某一类,或拒绝。
Fisher线性判别的决策规则
根据上述式子:

可以得到最后决策规则,如果:

则

对于某一个未知类别的样本向量x,如果y=WT·x>y0,则x∈w1;否则x∈w2。
“群内离散度”与“群间离散度”
样本类内离散度矩阵Si
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YkS0yY2i-1588653485704)(attachment:image.png)]](https://i-blog.csdnimg.cn/blog_migrate/edb0477a73632419144c393b417d772c.png)
样本类间离散度矩阵Sb

2.Python代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
path=r'F:/人工智能与机器学习/iris.csv'
df = pd.read_csv(path, header=0)
Iris1=df.values[0:50,0:4]
Iris2=df.values[50:100,0:4]
Iris3=df.values[100:150,0:4]
m1=np.mean(Iris1,axis=0)
m2=np.mean(Iris2,axis=0

本文详细介绍了Fisher线性判别分析的基本原理,包括最佳投影方向的确定、阈值设定及决策规则,并通过Python代码实现对鸢尾花数据集的分类,展示了如何寻找最优投影轴以最大化分类效果。
最低0.47元/天 解锁文章
3590

被折叠的 条评论
为什么被折叠?



