IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 使用线性判别分析(LDA)进行特征降维 -> 正文阅读

[人工智能]使用线性判别分析(LDA)进行特征降维

降维的目的

特征选择的目的是筛选出最为重要,最为关键的特征。很多移动互联网App可以通过埋点获取各种用户信息,然而这些信息并不能够在所有的任务中都发挥出很大的作用——有些作用微小,有些则是毫不相关的噪声。对于模型训练而言,将大量冗余的无用特征加入训练数据会导致模型的训练时间增加,同时模型表现也会被噪声影响。

因此,在训练之前选出最为重要的有效特征,可以帮助模型又快又好的完成训练。

降维需求与维度控制

TODO: 数据降维也不是必须的,如何判断是否需要降维以及维度需要控制在什么范围?

线性判别分析(LDA)

线性判别分析(Linear Discriminant Analysis)是一种机器学习和模式识别中常用的降维技术。LDA的使用依赖数据集中的类别标签,也就是说LDA属于监督学习的一种,可以看作是一种线性分类器。LDA的核心思想是将当前数据在低维度上进行投影,投影结果需要让同一类样本的间距尽可能小,不同类的样本中心间距尽可能大。

LDA的原理

使用LDA处理二分类问题

假设目前要对数据集 D = { ( x i , y i ) } i = 1 m D=\{(x_i, y_i)\}_{i=1}^m D={(xi?,yi?)}i=1m?进行二分类,其中的标签为 y i ∈ { 0 , 1 } y_i\in \{0,1\} yi?{0,1}。对于第 i i i类样本,其总个数为 N i N_i Ni?,该类的所有样本的集合记为 X i X_i Xi?,所有样本的均值向量为 μ i \mu_i μi?,协方差矩阵为 Σ i \Sigma_i Σi?。比如: D = { ( [ ? 1 , 3.5 , 2 ] , 1 ) , ( [ 0 , 2.5 , 1 ] , 1 ) , ( [ 1 , 3 , 1.5 ] , 1 ) , ( [ 4 , 2 , 0 ] , 0 ) , ( [ 2 , 0 , 2 ] , 0 ) } D={\{\\([-1, 3.5, 2], 1),\\([0, 2.5, 1], 1),\\([1, 3, 1.5], 1),\\([4, 2, 0], 0),\\([2, 0, 2], 0)\\\}} D={([?1,3.5,2],1),([0,2.5,1],1),([1,3,1.5],1),([4,2,0],0),([2,0,2],0)}
那么此时的第 0 0 0类样本个数 N 0 = 2 N_0=2 N0?=2,样本集合 X 0 = { [ 4 , 2 , 0 ] , [ 2 , 0 , 2 ] } X_0=\{[4, 2, 0], [2, 0, 2]\} X0?={[4,2,0],[2,0,2]},均值向量 μ 0 = 1 N 0 ∑ x ∈ X 0 x = [ 3 , 1 , 1 ] \mu_0=\frac{1}{N_0}\sum_{x\in X_0}x=[3, 1, 1] μ0?=N0?1?xX0??x=[3,1,1],协方差矩阵 Σ i \Sigma_i Σi?的计算在LDA中是没有 1 N ? 1 \frac{1}{N-1} N?11? 1 N \frac{1}{N} N1?的,直接计算可得: Σ 0 = ∑ x ∈ X 0 ( x ? μ 0 ) T ( x ? μ 0 ) = ( 1 ? 1 1 ? 1 ? 1 1 ) ( 1 1 ? 1 ? 1 ? 1 1 ) = ( 2 2 ? 2 2 2 ? 2 ? 2 ? 2 2 ) \Sigma_0=\sum_{x\in X_0}(x-\mu _0)^T(x-\mu_0)= \begin{pmatrix} 1 & -1\\ 1 & -1\\ -1 & 1 \end{pmatrix} \begin{pmatrix} 1 & 1 & -1\\ -1 & -1 & 1 \end{pmatrix}= \begin{pmatrix} 2 & 2 & -2\\ 2 & 2 & -2\\ -2 & -2 & 2 \end{pmatrix} Σ0?=xX0??(x?μ0?)T(x?μ0?)=???11?1??1?11????(1?1?1?1??11?)=???22?2?22?2??2?22????

对于第 1 1 1类样本做同样的运算后,可以得到相应的值:
N 1 = 3 , N_1=3, N1?=3, X 1 = { [ ? 1 , 3.5 , 2 ] , [ 0 , 2.5 , 1 ] , [ 1 , 3 , 1.5 ] } , X_1 = \{[-1, 3.5, 2], [0, 2.5, 1], [1, 3, 1.5]\}, X1?={[?1,3.5,2],[0,2.5,1],[1,3,1.5]}, μ 1 = [ 0 , 3 , 1.5 ] , \mu_1 = [0, 3, 1.5], μ1?=[0,3,1.5], Σ 1 = ( 2 ? 0.5 ? 0.5 ? 0.5 0 0.5 ? 0.5 0.5 0.5 ) \Sigma_1 = \begin{pmatrix} 2 & -0.5 & -0.5\\ -0.5 & 0 & 0.5\\ -0.5 & 0.5 & 0.5 \end{pmatrix} Σ1?=???2?0.5?0.5??0.500.5??0.50.50.5????
将数据集 D D D投影到一条直线 w w w上,则对于样本 x i x_i xi?,它在 w w w上的投影为 w T x i w^Tx_i wTxi?。因此对于两个类的数据中心 μ 0 \mu_0 μ0? μ 1 \mu_1 μ1?,其在 w w w上的投影分别为 w T μ 0 w^T\mu_0 wTμ0? w T μ 1 w^T\mu_1 wTμ1?。我们要寻找的目标 w w w需要使不同类间的样本中心间距尽可能的大,因此也就是要最大化 ∥ w T μ 0 ? w T μ 1 ∥ \| w^T\mu_0-w^T\mu_1\| wTμ0??wTμ1?,整理后变为最大化 w T ( μ 0 ? μ 1 ) ( μ 0 ? μ 1 ) T w w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw wT(μ0??μ1?)(μ0??μ1?)Tw。同时保证同一类的样本点在投影后尽可能接近,因此对于第 i i i类样本,需要最小化 ∑ x ∈ X i ( w T x ? μ i ) 2 \sum_{x\in X_i}(w^Tx-\mu_i)^2 xXi??(wTx?μi?)2,整理后得 w T Σ i w w^T\Sigma_i w wTΣi?w。即对于二分类问题,最小化 w T Σ 0 w + w T Σ 1 w w^T\Sigma_0w+w^T\Sigma_1w wTΣ0?w+wTΣ1?w。因此,LDA的目标函数可以被设计为: J ( w ) = w T ( μ 0 ? μ 1 ) ( μ 0 ? μ 1 ) T w w T ( Σ 0 + Σ 1 ) w J(w)=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w} J(w)=wT(Σ0?+Σ1?)wwT(μ0??μ1?)(μ0??μ1?)Tw?
S b = ( μ 0 ? μ 1 ) ( μ 0 ? μ 1 ) T S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb?=(μ0??μ1?)(μ0??μ1?)T S w = Σ 0 + Σ 1 S_w=\Sigma_0+\Sigma_1 Sw?=Σ0?+Σ1?,则优化目标可表示为:
a r g m a x w ? J ( w ) = w T S b w w T S w w \underset{w}{\mathrm{argmax}} \ J(w)=\frac{w^TS_bw}{w^TS_ww} wargmax??J(w)=wTSw?wwTSb?w?
即目标函数 J ( w ) J(w) J(w) S b S_b Sb? S w S_w Sw?的广义瑞利商(generalized Rayleigh quotient)。根据瑞利商的性质

使用LDA处理多分类问题

LDA的实现

降维效果的评价

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:38:10  更:2021-07-29 11:41:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 9:54:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码