Note sth about LDA(Linear Discriminant Analysis)
这篇来说说LDA的复习,LDA在第二次作业的博客中也提及了,但是那是作业思考,所以决定再开一篇只说LDA的。

动机:
  LDA的中文名字——线性判别分析。其主要功能还是降维(N $\rightarrow$ k)。
LDA算法:(用一个二维特征的二分类来说明,因为图好画←_←)
至于多分类,可以参考博客LDA线性分析推广到多分类
  明确LDA是如何进行降维(线性判别的),LDA考虑的和PCA不同之处在于——PCA的样本空间是一个样本,你来做主成分提取;而LDA的样本是一堆样本,你来找轴映射,从而将这些样本分离。于是乎,LDA考虑的目标是——最大化类间距离与最小化类内距离。(即不同类样本尽量离得远,同类尽量离得近)
算法公式概述:

$$ \mu_i = \frac{1}{N_i} \sum_{x \in X_i} x $$
$$ \overline{z_i} = w^T \mu_i = w^T \frac{1}{N_i} \sum_{x \in X_i} x = \frac {1}{N_i} \sum_{x \in X_i} w^Tx $$
Between-calss Scatter:$ J_b = || \overline{z_1} - \overline{z_2} || $
Within-class Scatter:$ J_w = s_1^2 + s_2^2 $,$ s_i = \sum_{z \in Z_i} (z-\overline{z_i})^2 $
  其实,上式中的$\overline{z_i}$就是$i$这类的中心。即下图中的$\overline{x_i}$,显然右图效果更好,因为左图其实两个类的部分样本映射完已经重叠了。


问题:
  显然我们希望最大化$J_b$,而最小化$J_w$,而且是同时的,那么我们应该如何构造我们的优化目标函数?下面提供几个思路:
1、$ arg max J(w) = J_b - J_w $
2、$ arg max J(w) = \frac{J_b}{J_w} = \frac{w^T S_b w}{w^T S_w w} $
  是不是都可以?当$J_b$变大而$J_w$减小的时候,让上述两个值最大,就是我们所需的答案。但是其实$J_b - J_w$是不可以的。因为还要考虑一个问题,虽然$J_b$和$J_w$都是正的,但是谁大谁小我们并不清楚,所以1式是会爆出负数的,而一旦爆出负数,结果就可能会出错,举个例子:$3-100>4-110$,但是$\frac{3}{100}<frac{4}{110}$,显然就出错了。而2因为都是正数,所以可以很好地进行优化。
  紧接着,我们观察一下$ arg max J(w) = \frac{w^T S_b w}{w^T S_w w} $,会发现其实$w$的解是不唯一的,因为如果$w$是解,显然$a*w$也是解,为了方便得解出解,我们添加一个约束,并将问题转化为:$arg max J_b(w) = w^T S_b w$,其中$ w^T S_w w = 1 $,这个和$ arg max J(w) = \frac{w^T S_b w}{w^T S_w w} $是等价的,但是我们可以发现——$arg max J_b(w) = w^T S_b w$,其中$ w^T S_w w = 1 $,又是一个带约束的优化问题,请出Lagrange-multipliers(拉格朗日乘子法)
  我们可以得到:
$$ L(w,\lambda) = w^T S_b w - \lambda(w^T S_w w - 1) $$
$$ \frac{\partial L}{\partial w} = 2S_b w - wS_w w $$
  此时,若$S_w$可逆,则$S_{w}^{-1} S_b w = \lambda w$,又回到了解特征方程的问题,如果$S_w$不可逆呢?我们可以求$S_w$的伪逆,这样问题也是可以解决的。
关于伪逆,即若$X$与$A^T$同型,且满足:$AXA=A$,$XAX=X$,则$X$为$A$的伪逆矩阵。

ML_Review_LDA(Ch5)的更多相关文章

  1. Mongodb Manual阅读笔记:CH5 安全性

    5 安全性 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读 ...

  2. 《代码整洁之道》ch5~ch9读书笔记 PB16110698(~3.15) 第二周

    <代码整洁之道>ch5~ch9读书笔记 本周我阅读了本书的第5~9章节,进一步了解整洁代码需要注意的几个方面:格式.对象与数据结构.错误处理.边界测试.单元测试和类的规范.以下我将分别记录 ...

  3. 《图解机器学习-杉山将著》读书笔记---CH5

    CH5 稀疏学习 重点提炼 提出稀疏学习的缘故: 虽然带有约束条件的最小二乘学习法结合交叉验证法,在实际应用中是非常有效的回归方法,但是,当参数特别多时,计算参数以及预测值需要大量时间.此时,我们要解 ...

  4. 计算机体系结构——CH5 标量处理机

    计算机体系结构--CH5 标量处理机 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH5 标量处理机 先行控制技术 指令得重叠执行方式 顺序执行方式 一次重叠执行方式 二次重叠技术 ...

  5. SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

    5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 ...

  6. ch5 MySQL 备份与恢复

    第 5 章 MySQL 备份与恢复 前言 数据库的备份与恢复一直都是 DBA 工作中最为重要的部分之一,也是基本工作之一.任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍 My ...

  7. linux 私房菜 CH5 笔记

    知识点 linux 大小写敏感 接口的切换 [Ctrl] + [Alt] + [F1] ~ [F6] :文字接口登入 tty1 ~ tty6 终端机: [Ctrl] + [Alt] + [F7] :图 ...

  8. C++ Primer 5 CH5 语句

    5.1 简单语句 空语句: ; 5.2 语句作用域 5.3 条件语句 switch 语句:表达式与某个 case 匹配成功,执行 case 之后的语句直到 break 或者 switch 结尾,cas ...

  9. [HBase Manual]CH5 HBase运行模式:单实例和分布式

    HBase运行模式:单实例和分布式 HBase运行模式:单实例和分布式 1.单实例模式 1.1 单实例在HDFS下 2.分布式 2.1 伪分布式 3完全分布式 HBase有2种运行模式,单实例和分布式 ...

随机推荐

  1. HTTP协议超级详解

    HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的基础. ...

  2. 关于INT_MIN

    来自为知笔记(Wiz)

  3. Oracle GoldenGate(ogg)安装经验大汇总,采坑总结,绝对干货!

    一下是安装ogg过程中遇到的问题和解决办法,绝对良心干货,抽空会写更详细的安装教程.更多精彩内容请点击 OGG-00685 begin time prior to oldest log in log ...

  4. Linux 之 软件安装

    单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作.生活需求.一般情况下,Linux常用的安装方式有两种,以CentOS为例: 1.从源代码安装软件 将软件源代码编 ...

  5. roles

    nginx 官方下载 [root@ansible roles]# tree yngx yngx ├── defaults ├── files │   ├── blog.conf │   ├── edu ...

  6. 用js刷剑指offer(从上到下打印二叉树)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 牛客网链接 js代码 /* function TreeNode(x) { this.val = x; this.left = null ...

  7. CQRS项目

    CQRS+ES项目解析-Diary.CQRS   在<当我们在讨论CQRS时,我们在讨论些神马>中,我们讨论了当使用CQRS的过程中,需要关心的一些问题.其中与CQRS关联最为紧密的模式莫 ...

  8. VGG网络的Pytorch实现

    1.文章原文地址 Very Deep Convolutional Networks for Large-Scale Image Recognition 2.文章摘要 在这项工作中,我们研究了在大规模的 ...

  9. 通过 cross apply 实现函数转换成表并与原表进行关联

    create table tb_cross_apply ( id int identity, multivalue ) ) insert into tb_cross_apply VALUES ('A| ...

  10. JDK源码那些事儿之并发ConcurrentHashMap下篇

    上一篇文章已经就ConcurrentHashMap进行了部分说明,介绍了其中涉及的常量和变量的含义,有些部分需要结合方法源码来理解,今天这篇文章就继续讲解并发ConcurrentHashMap 前言 ...