zoukankan      html  css  js  c++  java
  • 机器学习笔记-----Fisher判别式

    本文申明:本系列文章为本人原创,如有转载请注明文章原地址。

    今天我们机器学习老师在说到周志华老师的《机器学习》这本书的时候,p60页讲到了LDA,但是其中的公式推导省略了很多,现在我来补充一下。

    一:LDA的思想

    给定两个数据集一个是XX一个是OO,然后我们把XXOO投影到一条直线上,但是啊,这个人是很坏的,人家XXOO本来想分配到一起,但是你非要让人家两类离得越远越好,相同的呢离得越近越好,美其名:异性只是繁衍,同性才是真爱。哎,你说这不是泯灭人性么,好吧,我们先不扯蛋了。说正题:

    1.1首先我们定义mi,它表示这个i类样本d维空间的均值。也就是这个分别代表类xx和oo。mi表示如下。

    那么我们既然知道了这个,我们是不是也要找一个投影到这条直线上的代表点啊,所以就有了:

    那么现在我们就可以知道两个分类之间的距离了:

    从上述式子我们可以看出,改变直线的斜率,也就是方向,可以改变两者之间的大小。

    刚刚我们说了我们的准则就是让类内之间的距离最小,这是不是有点像我们之前的指示函数,那么如下图公式:

    我们前面已经说过,这是一个二分类问题,现在已经给了一般形式的离散度(我们叫他离散度,其实就是真实值与预测值(这里用平方表示预测值)的平方),那我们是不是要把这个两个离散度相加,然后让这个达到最小?

    总得离散度为:

    为了让类内的距离越小,类间的距离越大,我给出下面的判别式。你们看,能不能满足。

    ,现在只要让J(W)达到极大,是不是就可以让我们前面说的两个要求满足?

    那就让我们来求出J(W)的极大值。

    1.2求其中一类的离散度(就是那一类的点到这个类中平均点的距离之和)

    公式:

        二分类问题就是总得离散度为:

    1.2类间的离散度用矩阵表示为:

                

    那么:

    所以总得类内离散度:

        

    有因为:

        

    所以:

        

    这就是广义瑞利商(generalized Rayleigh quotient)。它有如下性质:

    1:,a是一个实数。

    2:大小与w大小无关,只与w的方向有关。

    至于求极值那就从周志华老师的那本书有,我现在截图给大家吧:

    本篇文章就写到这里了,如有疑问请提问,我会解答的。谢谢大家。

  • 相关阅读:
    从句分析
    artDialog ( v 6.0.2 ) content 参数引入页面 html 内容
    Java实现 LeetCode 13 罗马数字转整数
    Java实现 LeetCode 13 罗马数字转整数
    Java实现 LeetCode 13 罗马数字转整数
    Java实现 LeetCode 12 整数转罗马数字
    Java实现 LeetCode 12 整数转罗马数字
    Java实现 LeetCode 12 整数转罗马数字
    Java实现 LeetCode 11 盛最多水的容器
    Java实现 LeetCode 11 盛最多水的容器
  • 原文地址:https://www.cnblogs.com/xiaohuahua108/p/5985826.html
Copyright © 2011-2022 走看看