线性判别分析

全称是Linear Discriminant Analysis (LDA)。

原理

给定训练样例集,通过降维的思路进行分类。将样例投影到一条直线上,使得同类样例的投影点接近,异类样例的投影点尽可能远离。LDA降维最多降到类别数K-1的维数。

输入

训练集数据D=(x1,y1)...(xM,yM)D = {(x_1,y_1) ... (x_M,y_M)}D=(x1​,y1​)...(xM​,yM​),xi∈X⊆Rnx_i \in \mathcal{X} \subseteq R^nxi​∈X⊆Rn,yi∈Y⊆RKy_i \in \mathcal{Y} \subseteq R^Kyi​∈Y⊆RK,二分类yi∈{−1,+1}y_i \in \{-1, +1\}yi​∈{−1,+1}

Xi,μi,ΣiX_i, \mu_i, \Sigma_iXi​,μi​,Σi​ 分别表示第i类样例的集合、均值向量、协方差矩阵。

输出

每个分类的均值向量,各分类数据在总体中所占比例,降维矩阵,降维后各分量的权重。如果是二分类就是{+1, -1}。

损失函数

在下面的属于中b代表between class(类间),w代表within class(类内)。

定义全局散度矩阵St=∑i=1M(xi−μ)(xi−μ)TS_t = \sum_{i=1}^M(x_i-\mu)(x_i-\mu)^TSt​=∑i=1M​(xi​−μ)(xi​−μ)T

定义类内散度矩阵Sw=∑k=1KSwkS_{w} = \sum_{k=1}^K S_{w_k}Sw​=∑k=1K​Swk​​。每个类的散度矩阵Swk=∑x∈Xk(x−μk)(x−μk)TS_{w_k} = \sum_{x \in X_k}(x-\mu_k)(x-\mu_k)^TSwk​​=∑x∈Xk​​(x−μk​)(x−μk​)T

定义类间散度矩阵Sb=St−Sw=∑i=1K(μi−μ)(μi−μ)TS_b = S_t - S_w = \sum_{i=1}^K(\mu_i-\mu)(\mu_i-\mu)^TSb​=St​−Sw​=∑i=1K​(μi​−μ)(μi​−μ)T

最大化目标,两个矩阵的广义瑞丽商J=∣∣wTμ0−wTμ1∣∣22wTΣ0w+wTΣ1w=wTSbwwTSwwJ = \frac {||w^T\mu_0 - w^T\mu_1||_2^2}{w^T\Sigma_0w+w^T\Sigma_1w} = \frac{w^TS_bw}{w^TS_ww}J=wTΣ0​w+wTΣ1​w∣∣wTμ0​−wTμ1​∣∣22​​=wTSw​wwTSb​w​

定义多分类优化目标 J(w)=wTSbwwTSwwJ(w) = \frac{w^T S_b w}{w^T S_w w}J(w)=wTSw​wwTSb​w​. 我们希望argmaxwJ(w)argmax_w J(w)argmaxw​J(w)。tr表示矩阵的迹(trace),是对角线元素总和,我们有时候简化成J(w)=tr(wTSbw)tr(wTSww)J(w) = \frac{tr(w^T S_b w)}{tr(w^T S_w w)}J(w)=tr(wTSw​w)tr(wTSb​w)​。

对目标函数进行求导,
∂J(w)∂w=2Sbw(wTSww)−1+(wTSbw)(wTSww)−2(−2)(Sww)=0Sbw(wTSww)−(wTSbw)Sww=0Sww=(wTSww)(wTSbw)Sbww=Sw−1Sbw(常数被约掉,因为大小不重要)\frac{\partial J(w)}{\partial w} = 2 S_b w (w^T S_w w)^{-1} + (w^T S_b w) (w^T S_w w)^{-2}(-2)(S_w w) = 0 \\\\ S_b w (w^T S_w w) - (w^T S_b w) S_w w = 0 \\\\ S_w w = \frac {(w^T S_w w)} {(w^T S_b w)} S_b w \\\\ w = S_w^{-1} S_b w\ (常数被约掉,因为大小不重要) ∂w∂J(w)​=2Sb​w(wTSw​w)−1+(wTSb​w)(wTSw​w)−2(−2)(Sw​w)=0Sb​w(wTSw​w)−(wTSb​w)Sw​w=0Sw​w=(wTSb​w)(wTSw​w)​Sb​ww=Sw−1​Sb​w (常数被约掉,因为大小不重要)
分子分母只跟w的二次向有关,与w长度无关。如果将问题简化成二分类,则w的方向是

argminw−wTSbwargmin_w -w^TS_bwargminw​−wTSb​w s. t. wTSww=1w^TS_ww=1wTSw​w=1 => w=Sw−1(μ0−μ1)w = S_w^{-1}(\mu_0-\mu_1)w=Sw−1​(μ0​−μ1​)

Reference

  • 《美团机器学习实践》by美团算法团队,第三章
  • 《机器学习》by周志华,第三、四章
  • 白板推导系列,shuhuai007

机器学习基础专题:线性判别器相关推荐

  1. 【机器学习】Fisher线性判别与线性感知机

    来源 | AI小白入门 作者 | 文杰 编辑 | yuquanle 原文链接 Fisher线性判别与线性感知机 ​ Fisher线性判别和线性感知机都是针对分类任务,尤其是二分类,二者的共同之处在于都 ...

  2. 机器学习基础专题:分类

    线性分类 分类方式 硬分类 使用的是非概率模型,分类结果是决策函数的决策结果. 代表:线性判别分析.感知机 软分类 分类结果是属于不同类别的概率. 生成式 通过贝叶斯定理,使用MAP比较P(Y=0∣X ...

  3. 机器学习基础专题:特征工程

    特征工程 特征提取 将原始数据转化为实向量之后,为了让模型更好地学习规律,对特征做进一步的变换.首先,要理解业务数据和业务逻辑. 其次,要理解模型和算法,清楚模型需要什么样的输入才能有精确的结果. 探 ...

  4. 机器学习基础专题:感知机

    感知机 原理 思想是错误驱动.一开始赋予w一个初始值,通过计算被错误分类的样本不断移动分类边界. 输入 训练集数据D=(x1,y1)...(xM,yM)D = {(x_1,y_1) ... (x_M, ...

  5. 机器学习基础专题:评估指标

    评估指标 线下使用机器学习评估指标,线上使用的是业务指标.需要进行多轮模型迭代使两个指标变化趋势相同. 分类指标 精确率和召回率 用于二分类问题,结合混淆矩阵. 精确率 P = TPTP+FP\fra ...

  6. 【机器学习基础】线性基函数模型

    本系列为<模式识别与机器学习>的读书笔记. 一,线性基函数模型 1,线性基函数 回归问题的⽬标是在给定 D D D 维输⼊(input) 变量 x \boldsymbol{x} x 的情况 ...

  7. 机器学习基础专题:高斯混合模型和最大期望EM算法以及代码实现

    高斯混合模型 混合模型是潜变量模型的一种,是最常见的形式之一.而高斯混合模型(Gaussian Mixture Models, GMM)是混合模型中最常见的一种.zzz代表该数据点是由某一个高斯分布产 ...

  8. 机器学习基础专题:支持向量机SVM

    支持向量机 全称Support Vector Machine (SVM).可以分为硬间隔(hard margin SVM),软间隔(soft margin SVM),和核支持向量机(kernel ma ...

  9. 机器学习基础专题:随机变量

    术语 样本空间(sample space):Ω\OmegaΩ,包含了所有可能出现的结果的集合.比如在掷一次骰子的样本空间可以用{1,2,3,4,5,6}表示. 事件集(event space): FF ...

最新文章

  1. 【云周刊】第126期:硬货!云存储成本到底省在哪儿
  2. [Database] 数据库范式理论
  3. 【机器学习】情侣、基友、渣男和狗-基于时空关联规则的影子账户挖掘
  4. 根据当月数据库自动生成下个月数据库--3
  5. java多线程同步synchronized——对象监视器
  6. leetcode - 538. 把二叉搜索树转换为累加树
  7. 征稿 | 计算机视觉与数据挖掘-EI会议 ICCVDM2020
  8. Linux安装mysql(解决E: Package ‘mysql-server‘ has no installation candidate与ERROR 1698 (28000))
  9. 二十年的编程,教会我的五件事!
  10. linux 查看内存条详情命令
  11. Linux卡巴斯基杀毒(kesl)基础操作
  12. 智能锁常见的8种开锁方式及其安全性介绍
  13. java socket输入输出流
  14. mybatis 3.x 缓存Cache的使用
  15. 一文读懂nginx charset
  16. APM,云时代的应用性能优化神器
  17. Linux DRM(一)Display Server
  18. 如何提高外贸询单转化率
  19. 【电商】电商后台设计—购物车
  20. 面试部分梳理 - 计算机网络

热门文章

  1. jenkins 命令找不到
  2. “国际软件自由日”介绍
  3. 美国银行将 AI 应用于企业应收账款处理;联合国或将利用机器学习技术帮助救灾工作...
  4. 乌兰浩特市大数据平台助力就业脱贫
  5. Maven实践:版本管理 SNAPSHOT
  6. Spring bean 的生命周期
  7. 怎么高效的运用金蝶软件
  8. webpack 实践笔记(一)--- 入门
  9. 查出引起死锁的进程和SQL语句
  10. Linux环境下c语言静态链接库和动态链接库创建和使用