线性分类器理论基础、Fisher判别算法、Iris数据集实战

一、线性分类器理论基础

假设对一模式X已抽取n个特征,表示为:
X = ( x 1 , x 2 , x 3 , . . . . x n ) T X=(x_1,x_2,x_3,....x_n)^T X=x1,x2,x3,....xnT
X是n维空间的一个向量
模式识别问题就是根据模式X的n个特征来判别模式属于ω1 ,ω2 , … , ωm类中的那一类。
例如这个图:三类的分类问题,它们的边界线就是一个判别函数
在这里插入图片描述
用判别函数进行模式分类,取决两个因素:
判别函数的几何性质:线性与非线性
判别函数的参数确定:判别函数形式+参数
判别函数包含两类:
一类是线性判别函数:
线性判别函数:线性判别函数是统计模式识别的基本方法之一,简单且容易实现。
广义线性判别函数:
所谓广义线性判别函数就是把非线性判别函数映射到另外一个空间(高维)变成线性判别函数
分段线性判别函数:
另一类是非线性判别函数
这里我们举一个多类问题的例子
在这里插入图片描述
先手工推导一下
首先确定判别边界
在这里插入图片描述
作图如下:有点丑,大概意思是对的
在这里插入图片描述
将X代入判别函数方程组并得到结果
在这里插入图片描述
下面我们用python代码来实现一下
代码如下

def dragin(x1,x2):
    #三个判别式
    d1=-1*x1+x2+1
    d2=x1+x2-4
    d3=-1*x2+1
    if d1>0:
        print("属于第一类!")
    elif d2>0:
        print("属于第二类!")
    elif d3>0:
        print("属于第三类!")
while True:
    temp=input("输入要判定的一个模式的第一个参数:")
    one=int(temp)
    temp1=input("输入要判定的一个模式的第二个参数:")
    two=int(temp1)
    dragin(one,two)

结果如下:
在这里插入图片描述
结果相同,证明我们算的还是没问题的。
理解了这些让我们开始进行更深层次的分类吧。

二、Fisher判别

1.算法描述

Fisher线性判别分析的基本思想:选择一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,同时变换后的一维数据满足每一类内部的样本尽可能聚集在一起,不同类的样本相隔尽可能地远。
Fisher线性判别分析,就是通过给定的训练数据,确定投影方向W和阈值w0, 即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。
线性判别函数的一般形式可表示成 g ( X ) = w T X + w 0 g(X)=w^TX+w_0 gX=wTX+w0 其中
X = { X 1 . . . X d } (1) X= \begin{Bmatrix} X_1 \\ ... \\ X_d \end{Bmatrix} \tag{1} X=X1...Xd(1)
W = { W 1 W 2 . . . W d } (2) W= \begin{Bmatrix} W_1 \\ W_2\\ ...\\ W_d \end{Bmatrix} \tag2{} W=W1W2...Wd(2)
Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求。

2.推导过程

Fisher判别分析是要实现有最大的类间距离,以及最小的类内距离
在这里插入图片描述
对于给定的数据集,D(已经设置好分类标签),Xi,Ui,∑i,分别表示给定类别ii 的集合,均值向量,协方差矩阵。现将数据投影到直线x=0上,则样本中心的投影为 0 = w 1 ∗ u 1 + w 2 ∗ u 2 + ⋯ + w n ∗ u n 0=w_1∗u_1+w_2∗u_2+⋯+w_n∗u_n 0=w1u1+w2u2++wnun(n 为样本维度,接下来的讨论中将统一设置为2),写成向量形式则为 w T u = 0 w^Tu=0 wTu=0如果将所有的样本都投影到直线上,则两类样本的协方差分别为 w T ∑ 0 w w^T\sum^{}_{}0w wT0w
w T ∑ 1 w w^T\sum^{}_{}1w wT

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值