深度神经网络——什么是降维?

news2024/7/2 3:35:38

引言

什么是降维? 降维是用于降低数据集维度的过程,采用许多特征并将它们表示为更少的特征。 例如,降维可用于将二十个特征的数据集减少到仅有几个特征。 降维通常用于无监督学习任务

降维是一个用于降低数据集维度的过程,采用许多特征并将它们表示为更少的特征。 例如,降维可用于将二十个特征的数据集减少到仅有几个特征。 降维常用于 无监督学习 从许多功能中自动创建类的任务。 为了更好地理解 为什么以及如何使用降维,我们将了解与高维数据相关的问题以及最流行的降维方法。

更多维度导致过度拟合

维度是指数据集中的特征/列的数量。

人们通常认为,在机器学习中,特征越多越好,因为它可以创建更准确的模型。然而,更多的功能并不一定意味着更好的模型。

数据集的特征对于模型的有用程度可能有很大差异,其中许多特征并不重要。 此外,数据集包含的特征越多,需要的样本就越多,以确保数据中能够很好地表示特征的不同组合。 因此,样本数量与特征数量成比例增加。 更多的样本和更多的特征意味着模型需要更加复杂,并且随着模型变得更加复杂,它们对过度拟合变得更加敏感。 该模型对训练数据中的模式学习得很好,但无法推广到样本数据之外。

降低数据集的维数有几个好处。 如前所述,更简单的模型不太容易过度拟合,因为模型必须对特征之间的相互关系做出更少的假设。 此外,维度越少意味着训练算法所需的计算能力就越少。 类似地,维度较小的数据集需要较少的存储空间。 降低数据集的维数还可以让您使用不适合具有许多特征的数据集的算法。

常见的降维方法

降维可以通过特征选择或特征工程来实现。 特征选择是工程师识别数据集最相关特征的地方,而 特征工程 是通过组合或改造其他特征来创建新特征的过程。

特征选择和工程可以通过编程或手动完成。 当手动选择和设计特征时,通常会通过可视化数据来发现特征和类之间的相关性。 以这种方式进行降维可能非常耗时,因此一些最常见的降维方法涉及使用 Scikit-learn for Python 等库中提供的算法。 这些常见的降维算法包括:主成分分析(PCA)、奇异值分解(SVD)和线性判别分析(LDA)。

用于无监督学习任务降维的算法通常是 PCA 和 SVD,而用于监督学习降维的算法通常是 LDA 和 PCA。在监督学习模型的情况下,新生成的特征仅被输入到机器学习分类器中。请注意,此处描述的用途只是一般​​用例,而不是这些技术可能使用的唯一条件。上述降维算法只是统计方法,它们在机器学习模型之外使用。

主成分分析

主成分分析(PCA) 是一种统计方法,分析数据集的特征/特征并总结最有影响力的特征。 数据集的特征组合在一起形成表示,该表示保留了数据的大部分特征,但分布在较少的维度上。 您可以将其视为将数据从较高维度的表示形式“压缩”为只有几个维度的表示形式。

作为 PCA 可能有用的情况的一个例子,请考虑描述葡萄酒的各种方式。 虽然可以使用许多高度具体的特征(例如二氧化碳水平、通气水平等)来描述葡萄酒,但在尝试识别特定类型的葡萄酒时,这些具体特征可能相对无用。 相反,根据味道、颜色和年龄等更一般的特征来识别类型会更加谨慎。 PCA可用于组合更具体的特征并创建更通用、有用且不太可能导致过度拟合的特征。

PCA 的执行方式是确定输入特征之间的平均值如何变化,并确定特征之间是否存在任何关系。 为了做到这一点,创建一个协变矩阵,建立一个由关于数据集特征的可能对的协方差组成的矩阵。 这用于确定变量之间的相关性,负协方差表示逆相关,正相关表示正相关。

数据集的主要(最有影响力)组成部分是通过创建初始变量的线性组合来创建的,这是在线性代数概念的帮助下完成的 特征值和特征向量。 创建组合是为了使主成分彼此不相关。 初始变量中包含的大部分信息被压缩到前几个主成分中,这意味着已经创建了新特征(主成分),其中包含较小维空间中的原始数据集的信息。

奇异值分解

奇异值分解(SVD) is 用于简化矩阵中的值,将矩阵简化为其组成部分,并使该矩阵的计算变得更容易。 SVD 可用于实值矩阵和复数矩阵,但出于本说明的目的,我们将研究如何分解实值矩阵。

假设我们有一个由实值数据组成的矩阵,我们的目标是减少矩阵内的列/特征的数量,类似于 PCA 的目标。 与 PCA 一样,SVD 会压缩矩阵的维数,同时尽可能保留矩阵的可变性。 如果我们想对矩阵 A 进行操作,我们可以将矩阵 A 表示为另外三个矩阵,称为 U、D 和 V。矩阵 A 由原始 x * y 元素组成,而矩阵 U 由元素 X * X 组成(它是正交矩阵)。 矩阵 V 是包含 y * y 元素的不同正交矩阵。 矩阵 D 包含元素 x * y,它是一个对角矩阵。

为了分解矩阵 A 的值,我们需要将原始奇异矩阵值转换为新矩阵中找到的对角线值。 使用正交矩阵时,即使乘以其他数字,它们的属性也不会改变。 因此,我们可以利用这个性质来近似矩阵A。 当我们将正交矩阵与矩阵 V 的转置相乘时,结果是与原始 A 等效的矩阵。

当矩阵 a 分解为矩阵 U、D 和 V 时,它们包含矩阵 A 中找到的数据。但是,矩阵的最左边的列将包含大部分数据。 我们可以只取前几列,并得到矩阵 A 的表示形式,该矩阵的维度要少得多,并且 A 中包含大部分数据。

线性判别分析

左:LDA 之前的矩阵,右:LDA 之后的轴,现在可分离

线性判别分析(LDA) 是一个从多维图中获取数据的过程 将其重新投影到线性图上。 您可以通过考虑一个充满属于两个不同类的数据点的二维图来想象这一点。 假设这些点分散在各处,因此无法绘制出能够整齐地分隔两个不同类的线。 为了处理这种情况,可以将二维图中找到的点简化为一维图(一条线)。 这条线将分布所有数据点,并且有望将其分为两部分,以实现数据的最佳分离。

执行 LDA 时有两个主要目标。 第一个目标是最小化类别的方差,而第二个目标是最大化两个类别的均值之间的距离。 这些目标是通过创建将存在于二维图中的新轴来实现的。 新创建的轴用于根据前面描述的目标分隔两个类。 创建轴后,在 2D 图中找到的点将沿轴放置。

将原始点沿新轴移动到新位置需要三个步骤。 第一步,使用各个类之间的距离均值(类间方差)来计算类的可分离性。 在第二步中,通过确定相关类别的样本与平均值之间的距离来计算不同类别内的方差。 在最后一步中,创建最大化类之间方差的低维空间。

当目标类的均值彼此相距较远时,LDA 技术可获得最佳结果。 如果分布的均值重叠,LDA 无法使用线性轴有效地分离类别。

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

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

相关文章

JupyterLab使用指南(四):JupyterLab的Magic 命令

1. 什么是 Magic 命令 Magic 命令是 JupyterLab 中的一类特殊命令,用于简化和增强代码的执行。它们以 % 或 %% 开头,可以进行各种操作,如时间测量、环境设置、文件操作等。Magic 命令分为行 Magic 命令和单元 Magic 命令两种。 行 Magic 命…

Transformer预测 | 基于Transformer的锂电池寿命预测(Pytorch,CALCE数据集)

文章目录 文章概述模型描述程序设计参考资料文章概述 Pytorch实现基于Transformer 的锂电池寿命预测,环境为pytorch 1.8.0,pandas 0.24.2 随着充放电次数的增加,锂电池的性能逐渐下降。电池的性能可以用容量来表示,故寿命预测 (RUL) 可以定义如下: SOH(t)=CtC0100%, 其中,…

远程访问电脑共享文件怎么设置

方法一:Microsoft远程桌面 1、在目标电脑上设置远程桌面: - 打开“开始”>“设置”>“系统”>“远程桌面”。 - 将“启用远程桌面”开关向右拖动以激活该功能。 - 记住计算机的账号和密码。 2、在手机上进行远程访问配置: - 从Googl…

数字孪生引领智慧校园建设新篇章

一、引言 在数字化浪潮的推动下,教育行业正经历着一场深刻的变革。智慧校园作为现代教育的新风向,通过整合先进的信息技术,正在逐步改变传统的教学、管理与服务模式。其中,数字孪生技术以其独特的优势,为智慧校园的建…

Day 26:2288. 价格减免

Leetcode 2288. 价格减免 句子 是由若干个单词组成的字符串,单词之间用单个空格分隔,其中每个单词可以包含数字、小写字母、和美元符号 ‘$’ 。如果单词的形式为美元符号后跟着一个非负实数,那么这个单词就表示一个 价格 。 例如 “$100”、…

【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction

论文链接 代码链接 多摄像头三维感知已成为自动驾驶领域的一个重要研究领域,为基于激光雷达的解决方案提供了一种可行且具有成本效益的替代方案。具有成本效益的解决方案。现有的多摄像头算法主要依赖于单目 2D 预训练。然而,单目 2D 预训练忽略了多摄像…

API-操作元素内容

学习目标: 掌握操作元素内容 学习内容: 操作元素内容元素innerText属性元素innerHTML属性案例 操作元素内容: DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象。就是操作对象使用的点语法。如果想要修…

python学习笔记-07

python内置函数 内置函数就是python自带的函数,不需要我们再去定义的,如print等直接使用即可,内置函数官方文档:官链。 1.数学运算 #数学运算: print(------abs()是绝对值函数------) a-1.1 print({}的绝对值是{}.fo…

高薪项目经理都在用的工具,你会几个?

甘特图、里程碑图、看版图、燃尽图、WBS、思维导图、流程图、鱼骨图、清单表、项目日历、关系矩阵、PERT图、决策树、状态表。这些工具,你会几个? 甘特图(Gantt Chart) 甘特图是一种条形图,用于展示项目任务的时间线&…

对SpringBoot入门案例的关键点

我们SpringBoot的入门案例中&#xff0c;即做了两个重要工作&#xff1a; 配置pom.xml文件写启动类 1.pom.xml依赖配置文件 ①帮助我们进行版本控制的父模块 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

泛微开发修炼之旅--20关于Ecology中如何查询正文文件的物理文件,并修改正文中的内容的解决方案

文章链接地址&#xff1a;20关于Ecology中如何查询正文文件的物理文件&#xff0c;并修改正文中的内容的解决方案

沃尔玛超市礼品卡有什么用?

最近端午节 有亲戚送了几张沃尔玛超市的卡做礼物过来 但是我们家附近的沃尔玛都好远&#xff0c;就算送货上门也不在配送范围内 由于种种原因导致这几张卡毫无用武之地&#xff0c;只能在家吃灰 最后多亏了收卡云&#xff0c;帮我解决了卡券闲置的问题&#xff0c;在收卡云上卖…

MySQL中的客户端选项(一)

mysql是一个简单的SQL shell&#xff0c;具有输入行编辑功能。它支持交互式和非交互式使用。交互使用时&#xff0c;查询结果以ASCII表格式显示。当非交互使用时&#xff08;例如&#xff0c;作为过滤器&#xff09;&#xff0c;结果以制表符分隔的格式显示。可以使用命令选项更…

Mybatis调用存储过程

在mysql数据库中创建一个存储过程 DELIMITER $$ CREATEPROCEDURE mybatisdemo1.pgetallusers(IN sid INT,IN eid INT)BEGINSELECT * FROM sb_users WHERE id>sid AND id<eid;END$$ DELIMITER ; 在Mapper接口里创建方法&#xff0c;和普通的查询数据方法没区别 在Mybati…

[Qt] Qt Creator 编码警告:warning:C4819

Qt项目使用VC&#xff08;2019 64bit&#xff09;编译器出现此错误。 warning&#xff1a;C4819&#xff1a;该文件包含不能在当前代码页&#xff08;936&#xff09;中表示的字符。请将该文件保存为Unicode格式以防止数据丢失。(可能这个警告内容也会在Qt Creator 中乱码) 如…

头歌资源库(10)拼数字

一、 问题描述 二、算法思想 初始化一个长度为10的数组count&#xff0c;用于记录卡片中每个数字的数量。 从1开始依次尝试拼出正整数&#xff0c;直到无法拼出下一个数为止。 对于每个尝试拼出的正整数&#xff0c;遍历其每一位的数字&#xff0c;检查该数字在count中是否还…

C#心跳机制客户端

窗体&#xff08;richTextBox右显示聊天&#xff09; 步骤 点击链接按钮 tcpclient客户端步骤 1创建客户端对象 2连接服务器connect 3创建网络基础流发消息 .write发消息 4 创建网络基础流接消息 .read接消息 5 断开连接…

【AI+多智能体框架】个人整理的几款AI多智能体框架

昨天无意间了解到 alipay开源 的多智能体框架agentUniverse &#xff0c;这里聊一下。现在这个信息社会&#xff0c;讲究多角色协同工作。人工智能时代&#xff0c;多智能体协同工作也是大势所趋&#xff0c;虽然现在框架或多或少还存在瑕疵。 但所有新技术都是在发展中逐步迭代…

04 DNS域名解析服务

1、DNS系统的作用及类型 在整个互联网大家庭中&#xff0c;大部分的网站、邮件等服务器都使用了域名形式的地址&#xff0c;如www.baidu.com、mail.163.com等。很显然这种地址形式要比使用61.233.189.147、202.108.33.74的IP地址形式更加直观&#xff0c;且更容易被用户记住。…

【学习】程序员资源网址

1 书栈网 简介&#xff1a;书栈网是程序员互联网IT开源编程书籍、资源免费阅读的网站&#xff0c;在书栈网你可以找到很多书籍、笔记资源。在这里&#xff0c;你可以根据热门收藏和阅读查看大家都在看什么&#xff0c;也可以根据技术栈分类找到对应模块的编程资源&#xff0c;…