首页 > 其他分享 >无监督学习之降维

无监督学习之降维

时间:2023-01-19 22:55:27浏览次数:55  
标签:协方差 数据 矩阵 学习 降维 监督 PCA Sigma

点头出品 ,必属精品!!!嘿嘿嘿( ̄y▽, ̄)╭image


一、降维概述

降维是指将训练数据中的样本从高维空间转到低维空间。那么降维有什么好处呢?当然是好处多多,首先高维空间中的搜索更加困难,其次高维空间下使得模型泛化能力弱,降维往往能去除那些不重要的特征减少泛化误差,但同时会有一些损失,增大了训练误差,能够解决过拟合问题,最后低维空间能增加数据可读性,利于发掘数据的有意义的结构。
主要作用:
1.减少冗余特征,降低数据维度。
2.有利于数据可视化
缺点:损失一些数据信息

二、主要的降维算法

1. 奇异值分解(SVD)

SVD可以将一个矩阵分解为三个矩阵的乘积:

  • 一个正交矩阵\(U\)
  • 一个对角矩阵\(\Sigma\)
  • 一个正交矩阵\(V\)的转置\(V^T\)
    SVD的基本形式如下:

\[A = U\Sigma V^T \]

其中,A是m行n列的矩阵,U是m行m列的正交矩阵,\(\Sigma\)是m行n列的对角矩阵,\(V^T\)是n行n列的正交矩阵。
U中的每个特征向量都被称为左奇异向量,\(\Sigma\)中主对角线元素被称为奇异值,V中的每个特征向量被叫做右奇异向量。
对角矩阵起到一个拉伸的作用,正交矩阵起到旋转的作用。
至于U和V怎么来的这里就不详细写了,V是\(A^TA\)得到的,U是\(AA^T\)得到的,他们的特征值相同,并且是\(\Sigma\)中的奇异值。

2. 主成分分析(PCA)

image

主成分分析即保留主要的成分,省略不重要的成分。观察上图,如果我们要将二维降维至一维,可以投影到那个坐标轴更好呢?我们很容易认为投影到\(F_1\)轴上更好,因为投影到这个轴上样本的损失最小,因此我们的目的就是降维时保留的信息尽可能的多。
如果需要PCA将n维降到k维,那么第一步就是均值归一化(Z-score标准化),去除不同量纲带来的影响(max-min标准化会改变数据分布,而Z-score并不会,它只是为了不同量纲的数据具有可比性),第二步就是计算协方差矩阵\(\Sigma\),其特征向量就是我们要得到的主成分,那么我们就有两种方法求解协方差矩阵

(1)基于SVD分解协方差矩阵实现PCA算法

image
不用多说了吧,从图中来看就是从m降到了n维,损失了U和\(\Sigma\)中的部分信息。

(2)基于特征值分解协方差矩阵实现PCA算法

SVD求解协方差矩阵适用所有矩阵,但是特征值分解只适用于正交且不具有多个重根的矩阵,限制较大。

由于PCA追求降维后最大化保留数据内在信息,并且通过衡量投影方向上数据的方差大小来衡量该方向的重要性,但这样方法对于以后数据的区分会造成影响,反而会使本来容易分离的数据混淆在一起,因此使用PCA后再进行分类的效果不好,因此这时候可以选择LDA降维,它往往将数据投影到一条分离数据的直线或超平面上,即按照轴\(F_2\)进行降维

3. t分布领域嵌入(t-SNE)

明天再弄。

标签:协方差,数据,矩阵,学习,降维,监督,PCA,Sigma
From: https://www.cnblogs.com/WangChe/p/17062258.html

相关文章

  • LINUX学习之文件压缩和解压命令(六)
    gzip/gunzip命令描述gzip:压缩文件,将文件压缩为.gz文件gunzip:解压.gz文件使用此命令要注意以下几点:只能压缩文件,不能压缩目录不保留原先文件若有多个文件会产生多......
  • LINUX学习之时间日期类命令(五)
    date命令命令描述date命令用于在Linux系统中显示或设置当前系统时间。它可以显示当前日期和时间,并允许用户格式化输出。它还可以用于将系统时间设置为指定的日期和时间。......
  • 2023.1.19 学习初识 JAVA
    C语言1972年诞生了C语言,1982年诞生了C++  1995年诞生了JAVA。C语言贴近硬件,运行速度快,效率极高  (指针和内存管理)操作系统编译器数据库网络系统等C++面向对象......
  • Datawhale组队学习——人工智能:一种现代方法(第四版)Task01学习笔记
    1.1什么是人工智能对于智能的理解:有些人将智能视为内部思维过程和推理的属性,有些人则关注智能的外部特征,也就是智能行为。emmmm,看书之前,我本以为看完之后了会收获很多......
  • Markdown语法学习 精简版
    Markdown语法学习精简版文章开头介绍一下Markdown:Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown语言在2004由约翰·格鲁......
  • Jmeter学习:控制器--临界区域控制器/ForEach控制器/包含控制器
    一、临界区域控制器功能:通过该组件,我们可以对指定代码块增加同步锁,确保此代码块由单线程执行。 临界区控制器保证其下的所有组件只能由单线程执行。二、ForEach控制器......
  • fabric学习笔记8
    fabric学习笔记820201303张奕博2023.1.19具体结构:Wallet中的X.509数字证书将组织和持有者联系起来,使得持有者能够有权限连接到网络,不同的持有者身份拥有不同的权限,并......
  • LINUX学习之查看文件常用命令(四)
    cat命令描述cat命令是一种用于查看文件内容的命令,它可以将文件的内容直接输出到标准输出以下是cat命令常用参数:-A:显示所有字符,包括特殊字符-b:显示行号,仅针对非空白......
  • JMeter BeanShell 学习
    JMeterBeanShell学习Beanshell分为:JMeter有如下BeanShell组件:定时器:BeanShellTimer前置处理器:BeanShellPreProcessor采样器:BeanShellSampler后置处理器......
  • [ 4--雪花算法学习 | 青训营笔记]
    这是我参与「第五届青训营」伴学笔记创作活动的第4天背景在大自然雪花(snowflake)形成过程中,会形成不同的结构分支,所以说不存在两片完全一样的雪花,表示生成的id如雪花般......