1 min read

无监督学习:主题模型:潜在狄利克雷分配(LDA)详解

# knitr::opts_chunk$set(warning = FALSE, message = FALSE, cache = T)
knitr::opts_chunk$set(warning = FALSE, message = FALSE, eval=F)
library(tidyverse)
## Error in `library()`:
## ! there is no package called 'tidyverse'
library(formattable)
## Error in `library()`:
## ! there is no package called 'formattable'

新增

  • LDA和PCA的优劣

LDA

  • Linear Discriminant Analysis
  • 线性判别分析

LDA介绍

类似于PCA,投影到一个降维的平面上或者直线上。 使得 投影后类内方差最小,类间方差最大 [@宏基因组LDA]

如图[@刘建平2016]

  • 分类变量y用颜色表示
  • 特征变量分别是横纵轴,图中点的坐标,反映特征向量决定样本在空间相对位置。

每幅图都出现了一条直线,这条直线的被决定的,

  • 它将每个样本投影在这条直线上,
  • 使得同颜色的样本彼此靠近
  • 不同颜色的样本彼此远离
  • 完成以上两个最优化问题后,直线位置决定
  • 整个过程就是LDA形成的过程

LDA可视化

# Installation
devtools::install_github('fawda123/ggord')
# 按物种分组LDA排序
ord <- MASS::lda(Species ~ ., iris, prior = rep(1, 3)/3)

# 展示LDA分析
library(ggord)
ggord(ord, iris$Species)

@ggord 可以可视化LDA的结果。

LDA与PCA比较

如图[@刘建平2016], 实现方式不一样,

  • PCA 寻找最大方差方向
  • LDA 寻找投影后类内方差最小,类间方差最大

因此分类和降维的时候,会发现两者的产生平面和直线会差异到垂直。

@刘建平2016 认为,

  • LDA要求投影后类内方差最小,类间方差最大,因此如果样本分类信息依赖均值,那么LDA的效果好。
  • PCA是comp 1 是选择方差最大的地方,因此如果样本分类信息依赖方差,那么PCA的效果好。