机器学习(五) -- 无监督学习(2) --降维1

news2024/12/26 22:10:09

系列文章目录及链接

上篇:机器学习(五) -- 无监督学习(1) --聚类2
下篇:机器学习(五) -- 无监督学习(2) --降维2


前言

tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看的,可自行跳过。文章内容被“文章内容”删除线标记的,也可以自行跳过。“!!!”一般需要特别注意或者容易出错的地方。

本系列文章是作者边学习边总结的,内容有不对的地方还请多多指正,同时本系列文章会不断完善,每篇文章不定时会有修改。

由于作者时间不算富裕,有些内容的《算法实现》部分暂未完善,以后有时间再来补充。见谅!

文中为方便理解,会将接口在用到的时候才导入,实际中应在文件开始统一导入。


一、通俗理解及定义

1、什么叫降维(What)

在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程

降维方式:

        特征选择
        主成分分析 (PCA,可以理解一种特征提取的方式)

        线性判别分析(LDA)

        t-SNE

LDA是一种有监督的数据降维方法,降维的同时考虑了类别信息,使得投影后的数据类内方差最小,类间方差最大。

PCA是一种无监督的数据降维方法,仅基于数据的方差进行降维,通过最大化投影方差来保留数据的主要信息,但可能忽略了与类别相关的信息。

t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于高维数据可视化的降维方法。通过保留数据点之间的局部相似性来将高维数据映射到二维或三维空间中,以便进行可视化。t-SNE在可视化复杂结构和发现数据中的簇群方面表现出色,但计算成本较高,且对参数的选择较为敏感。

2、降维的目的(Why)

如果特征本身存在问题或者特征之间相关性较强,对于算法学习预测会影响较大。降维是为了降低这种影响。

为了在尽量保证“信息量不丢失”的情况下,对原始特征进行降维,也就是尽可能将原始特征往具有最大投影信息量的维度上进行投影。将原特征投影到这些维度上,使降维后信息量损失最小。

3、怎么做(How)

PCA:

  1. 数据标准化:将原始数据进行标准化处理,消除量纲和数值大小对分析结果的影响。
  2. 计算协方差矩阵:计算标准化后数据的协方差矩阵,反映各变量之间的相关性。
  3. 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
  4. 选择主成分:根据特征值的大小选择前k个主成分,通常选择累计贡献率达到一定阈值(如80%)的前k个主成分。
  5. 转换数据:将原始数据转换到由前k个主成分构成的新坐标系中,得到降维后的数据。

二、原理理解及公式

1、基本概念

1.1、数据线性变换

拉伸

旋转 

1.2、协方差

1.2.1、公式

协方差表示的是两个变量的总体的误差。

1.2.2、相关性 

反映两个变量 X 和 Y 的相互关系。这种相互关系大致分为三种:正相关负相关不相关。 

        Y 在整体趋势上是随着 X 的增加而增加的,即 Y 与 X 的变化是同向的。这种情况,我们就称 X 与 Y 是正相关的。

        Y 在整体趋势上是随着 X 的增加而减少的,即 Y 与 X 的变化是反向的。这种情况,我们就称 X 与 Y 是负相关的。

        Y 在整体趋势上与 X 的并无正相关或者负相关的关系。这种情况,我们就称 X 与 Y 是不相关的。

 如下图所示,红线为x期望EX,绿线为y期望EY,每个图被EX、EY分割为四个区域

正相关关系中:

        在区域 I 中,满足 X>EX,Y>EY,则有 (X-EX)(Y-EY)>0;
        在区域 II 中,满足 X<EX,Y>EY,则有 (X-EX)(Y-EY)<0;
        在区域 III 中,满足 X<EX,Y<EY,则有 (X-EX)(Y-EY)>0;
        在区域 IV 中,满足 X>EX,Y<EY,则有 (X-EX)(Y-EY)<0。

正相关时,数据大部分是分布在 I、III 区域内,只有少部分分布在 II、IV 区域。因此,从平均角度来看,正相关满足:

同理得:负相关满足:

不相关满足:

及有:

  • 当 Cov(X,Y) > 0 时,X 与 Y 正相关;

  • 当 Cov(X,Y) < 0 时,X 与 Y 负相关;

  • 当 Cov(X,Y) = 0 时,X 与 Y 不相关。

1.2.3、协方差矩阵

 不相关时,cov(x,y)=0;正相关时,cov(x,y)>0;负相关时,cov(x,y)<0。

  

 1.3、特征值和特征向量

A为n阶矩阵,若数λ和n维非0列向量x满足Ax=λx,那么数λ称为A的特征值,x称为A的对应于特征值λ的特征向量。式Ax=λx也可写成( A-λE)x=0,并且|λE-A|叫做A 的特征多项式。当特征多项式等于0的时候,称为A的特征方程,特征方程是一个齐次线性方程组,求解特征值的过程其实就是求解特征方程的解。,

eg:

 特征值:

特征矩阵:

1、特征选择和主成分分析(PCA)

 特征选择和PCA详情可以转至:机器学习(三) -- 特征工程(2)

特征选择是在原有特征中选择一部分“无关”特征,PCA则是高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量。

2、主成分分析(PCA)

主成分分析(Principal Component Analysis)通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性

2.1、目标及方法

 

目标:只保留一个轴时(2维降到1维),信息保留最多

方法:找到数据分布最分散的方向(方差最大),作为主成分(坐标轴)

PCA==找坐标系

2.2、原理

去中心化(把坐标原点放在数据中心)、找坐标系(找到方差最大的方向)

2.2.1、白数据与手上数据转换

 白数据

手上的数据 

拉伸的方向就是方差最大的方向 ,旋转的角度决定了方差最大的方向的角度

2.2.2、求协方差矩阵的特征向量==R 

 去中心化后Ex=Ey=0

代入协方差矩阵

 

2.2.3、协方差的特征向量

C‘是2x2的矩阵,有两个特征值和两个特征向量

 

2.2.4、协方差的特征值

2.3、补充

2.3.1、3维降2维

2.3.2、标准差椭圆/置信椭圆

2.4、奇异值分解(SVD)

奇异值分解(Singular Value Decomposition)

2、线性判别分析(LDA)

线性判别分析(Linear Discriminant Analysis)是机器学习中用于监督分类问题的最流行的降维技术之一。

LDA想法和PCA非常相似,但LDA是有监督的,要确保投影后各个类别的类内方差小,而类间方差大。

2.1、原理

投影到维度更低的空间中,使得投影后的点,会形成按类别区分, 一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近方法。二分类LDA最早有Fisher提出,因此也称为 Fisher判别分析。

2.2、目标

核心思想:类内小,类间大

使得不同类别之间的距离越远越好, 同一类别之中的距离越近越好。 (让投影后的类中心之间的距离尽可能大,从而增强样本的可分性。)
下图所示,右图要比左图效果好。

3、PCA优缺点

3.1、优点:

  1. 以方差衡量信息的无监督学习,不受样本标签限制。
  2. 由于协方差矩阵对称,因此k个特征向量之间两两正交,也就是各主成分之间正交,正交就肯定线性不相关,可消除原始数据成分间的相互影响
  3.  可减少指标选择的工作量
  4. 用少数指标代替多数指标,利用PCA降维是最常用的算法
  5. 计算方法简单,易于在计算机上实现。

3.2、缺点:

  1. 主成分解释其含义往往具有一定的模糊性,不如原始样本完整
  2. 贡献率小的主成分往往可能含有对样本差异的重要信息,也就是可能对于区分样本的类别(标签)更有用
  3. 特征值矩阵的正交向量空间是否唯一有待讨论

旧梦可以重温,且看:机器学习(五) -- 无监督学习(1) --聚类2
欲知后事如何,且看:机器学习(五) -- 无监督学习(2) --降维2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1960528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

热门超声波清洗机有哪些?小型超声波清洗机推荐

在繁忙的工作和生活中&#xff0c;许多人常常会因为种种原因忽略日常的小事&#xff0c;比如忘记清洁手表、眼镜、首饰等常用物品。实际上&#xff0c;这些物品表面不仅积累了灰尘和污垢&#xff0c;特别是跟眼部朝夕相处的眼镜&#xff0c;还可能滋生各种致病细菌&#xff0c;…

Vue3-如何自己写一个“返回顶部”功能

功能描述&#xff1a; 在屏幕的右下角固定一个“返回顶部”按钮&#xff0c;只有当用户滚动屏幕一定程度后出现&#xff0c;否则隐藏。 点击按钮&#xff0c;网页平滑的滚动到页面顶部。 环境&#xff1a;Vue3,js&#xff0c;antd 具体思路&#xff1a; 1、给窗口挂载滚动事…

Python 学习中的 API,如何调用API ?

1.1 API的定义 API&#xff0c;全称是Application Programming Interface&#xff08;应用程序编程接口&#xff09;。它是一组定义好的协议和工具&#xff0c;用于在软件应用程序之间进行通信。API可以简化软件开发&#xff0c;使不同的应用程序能够相互协作。它是软件开发中…

阿里云服务器 Ubuntu18.04 安装 mysql8.0并允许外部连接

参考教程&#xff1a; 官网教程 参考教程一 首先彻底删除mysql5.7 dpkg --list|grep mysql #查看 sudo apt-get remove mysql-common #卸载 sudo apt-get autoremove --purge mysql-server-5.7 #版本自己修改 dpkg -l|grep ^rc|awk {print$2}|sudo xargs dpkg -P #清除残留数…

LeetCode Hot100 将有序数组转换为二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确…

电商老司机教您批量下载1688高清主图、详情图、sku及视频信息

图片在电商中至关重要&#xff0c;高质量的商品图片能吸引顾客注意&#xff0c;提升购买欲望。它们是展示商品特性和细节的主要方式&#xff0c;有助于增强消费者信任&#xff0c;减少退换货率。好的图片还能优化搜索排名&#xff0c;提高转化率。简而言之&#xff0c;图片是电…

Luma AI的战略转向:从Nerf到视频生成领域的背后故事

引言 今天我们将深入探讨Luma AI近期引发关注的视频生成模型——Dream Machine。Luma AI从最初的3D重建和生成业务逐步转向视频生成领域的背后&#xff0c;隐藏着什么样的战略考量和技术演进&#xff1f;让我们通过Luma AI首席科学家宋佳铭的最新访谈&#xff0c;揭开这场技术…

【每日一题 | 数据结构】时间复杂度计算

题目 解题方法 对于二重循环求时间复杂度&#xff1a; 写出外层i的变化值写出内层循环语句执行次数&#xff08;看j&#xff09;对次数求和找到频度和n的关系 笔记 视频跳转&#xff1a; 【每日一题 | 数据结构】时间复杂度计算

手写操作系统:二级引导程序

项目简介 在上篇博客&#xff0c;我们完成了主引导扇区的编写&#xff0c;在主引导扇区我们初始化了寄存器&#xff0c;加载了二级引导程序到内存地址 0x8000处&#xff0c;并跳转至0x8000处执行&#xff0c;在本文我们将继续编写二级引导程序。 在二级引导程序将完成以下任务…

Unity UGUI 实战学习笔记(6)

仅作学习&#xff0c;不做任何商业用途 不是源码&#xff0c;不是源码! 是我通过"照虎画猫"写的&#xff0c;可能有些小修改 不提供素材&#xff0c;所以应该不算是盗版资源&#xff0c;侵权删 因为注册和登录面板的逻辑与数据存储方面已经相对完善 服务器面板逻辑…

为什么现在的家具很多带缓冲器?

在当今的家具市场中&#xff0c;我们不难发现&#xff0c;很多的家具配备了缓冲器。这一现象的背后&#xff0c;有着多方面的原因。首先&#xff0c;随着人们生活水平的提高&#xff0c;对于生活品质的追求也日益增强。缓冲器能够有效地减少家具关闭时产生的噪音&#xff0c;为…

如何通过✅ IPIDEA代理IP,轻松实现数据采集和市场拓展工作(下)

如何通过✅ IPIDEA代理IP&#xff0c;轻松实现数据采集和市场拓展工作 如何通过✅ IPIDEA代理IP&#xff0c;轻松实现数据采集和市场拓展工作前言IPIDEA爬虫实战实战Demo演示总结 如何通过✅ IPIDEA代理IP&#xff0c;轻松实现数据采集和市场拓展工作 前言 在当今全球化市场的…

【Qt】QTextEdit

QTextEdit是Qt中用于编辑和显示文本内容的类。其提供了丰富的用户界面控件&#xff0c;可以用于创建和包含格式化文本、图片和链接的文本编辑器 常用属性 属性说明markdown输入框内持有的内容。支持markdown格式&#xff0c;能自动的对markdown文本进行渲染成htmlhtml输入框持…

性能提升20%,字节跳动HTTPDNS从中心下沉到边缘

摘要&#xff1a;本文介绍了HTTPDNS服务从中心迁移至边缘详细的落地过程。主要内容为&#xff1a; HTTPDNS下沉边缘实践遇到的挑战&#xff0c;包括服务放置、流量调度 HTTPDNS下沉边缘解决方案 从性能、成本出发&#xff0c;谈谈HTTPDNS下沉边缘后的收益 传统的DNS流程中…

Python的语法糖及其进化,带范例

话说python也算是多年媳妇熬成婆的典范了。 1&#xff09;3.6以后引入的f-格式化字符串&#xff0c;现在写代码更像写小作文了&#xff0c;而且折行顺眼多了。 print(f"""Hello, {"World".upper()}""") 2&#xff09;3.5以后引入的:…

普通人如何抓住AI浪潮的入局之路?

前言 随着生成式AI的迅速普及&#xff0c;不仅科技巨头们纷纷投入重金布局&#xff0c;招聘市场也随之发生了显著变化。对于程序员而言&#xff0c;掌握AI技术已成为提升个人竞争力的关键。然而&#xff0c;面对复杂的理论和技术栈&#xff0c;很多人仍然感到迷茫&#xff0c;…

Windows11安装MySQL8.4.2版本详细过程记录

下载 地址&#xff1a;https://dev.mysql.com/downloads/mysql/8.0.html 我选择下载zip版本&#xff1a; 点击下载需要登录&#xff1a; 于是我登录&#xff1a; 接着点下载&#xff1a; 被迅雷拦截了&#xff0c;直接使用迅雷下载&#xff1a; 下载好了&#xff1…

用Python来DIY一个AI面部情绪识别API的简单方案

基于人工智能的面部情绪识别API在很多场景都得到了应用&#xff0c;在人们情绪化消费、兴趣化消费的当下&#xff0c;如何察言观色&#xff0c;洞察用户真实的心理活动非常必要&#xff0c;对于大多数的人来说&#xff0c;这事非常有挑战&#xff0c;好在以ChatGPT为代表的大语…

如何实现ECharts图表根据屏幕大小自适应?

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue篇专栏内容:Vue-ECharts自适应 目录 前言 1920*1080分辨率示图 8184*2432分辨率示图 以vue3ts开发为例 (…

CSS 如何实现彩色渐变效果的文字

效果图如下&#xff1a;实现文字的字体颜色由 #ad4bd7 向 #6351fe 的颜色渐变效果。 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widt…