【吴恩达机器学习笔记】十二、降维

news2024/11/20 1:21:46

✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。
📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记,方便大家参考学习。
💡专栏地址:https://blog.csdn.net/Newin2020/article/details/128125806
📝视频地址:吴恩达机器学习系列课程
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

十二、降维

1. 目标1:数据压缩

数据压缩有挺多的好处,可以减少数据存储的内存,可以加快算法运行速度等等,让我们先来看看将二维降成一维是如何操作的吧。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bRVKa8Ko-1670200062549)(吴恩达机器学习.assets/image-20211115132037106.png)]

可以看到上面设定了一条绿线,让所有样本都往绿线上投影,然后单独提出来得到一个坐标轴,这时我们就可以通过新的数z来代表每一个样本的位置,实现了二维到一维的降维,接下来再看看三维到二维的过程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ibehxdd-1670200062553)(吴恩达机器学习.assets/image-20211115132438029.png)]

过程和二维到一维的比较相似,只不过我们现在是通过让所有样本投影到一个平面上,这样就可以设置两个新的数z1和z2来表示样本的位置,从而实现了三维到二维的降维。

2. 目标2:可视化

这节课再来将一下降维的第二个应用可视化,假设我们现在有很多数据关于每个国家的信息,每个国家都有50个指标表示即50维,现在我们通过一系列变换将50维降到2维,这可能就很难理解2维是如何表示国家的情况。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SgMcDky6-1670200062556)(吴恩达机器学习.assets/image-20211115133514390.png)]

那我们可以通过图像去理解这些信息,假设横轴代表国家的GDP而纵轴代表人均的GDP,就能很直观的表现出来。

3. 主成分分析问题规划

主成分分析(PCA)问题规划

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gNql79Bt-1670200062557)(吴恩达机器学习.assets/image-20211118092555124.png)]

这种算法是最强大的无监督算法之一,其原理是通过将样本通过投影到更低维度上从而找到一个投影误差最小的维度,拿2D到1D距离,PCA就是通过计算所有样本到直线垂直距离即投影误差,找到平方投影误差最小的直线,同理换成3D到2D就是将直线换成了平面。

并且PCA不是线性回归,虽然与线性回归比较相似。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0LhKnUkM-1670200062562)(吴恩达机器学习.assets/image-20211118093226322.png)]

上图左侧代表的是线性回归图像,而右侧则是PCA,可以发现线性回归问题中是找到样本竖直方向与直线的距离的最小误差,而PCA中则是样本与直线的垂直距离。还有一点不同就是,线性回归是要预测y值的,而PCA并没有什么预测的概念,本身作用是用于降维,而特征之间并没有什么特殊关系。

接下来,我们来讲讲PCA算法的详细步骤,但在此之前,我们首先要执行的是均值标准化,这里的流程实际上是和之前有监督学习的数据处理步骤是一样的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cchxNySw-1670200062565)(吴恩达机器学习.assets/image-20211118101012675.png)]

并且如果特征值相差过大,还需要进行特征缩放。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgyE1VfF-1670200062566)(吴恩达机器学习.assets/image-20211118094846128.png)]

如果你想减少数据即从N维降到K维,首先你要计算协方差矩阵(covariance matrix),要注意的是上面sigma矩阵和求和sigma是完全不一样的,虽然符号十分相似。然后再计算**奇异值分解(svd)**得到U,S,V矩阵,而svd函数可以通过数值库找到对应的代码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3uMKrv6-1670200062568)(吴恩达机器学习.assets/image-20211118095402373.png)]

而得到的USV中的U矩阵尤为关键,它是一个n阶方阵,我们要取其中的前k项从而组成Ureduce矩阵,然后计算其与样本向量的乘机得到z,这里的样本可以用训练集中的也可以用交叉验证集中的。

4. 主成分数量选择

我们在使用PCA的时候还要考虑到k的选择,以下就是我们选择k的标准。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8B4ubBMC-1670200062570)(吴恩达机器学习.assets/image-20211118102142247.png)]

你要计算平均平方投影误差与总平方误差,然后使两者相除的数值尽量的小,我们一般想让这个值尽量小于1%,或者我们也可以说尽量有大于99%的方差被保留即大于99%的数据被保留。

所以我们要该如何去选取k呢,下面左侧的方法就比较笨拙,通过不断尝试k值,然后反复计算平均平方投影误差和总平方投影误差,这样每次都会调用一次奇异化分解,导致效率变低。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWDFyImM-1670200062571)(吴恩达机器学习.assets/image-20211118103233090.png)]

所以我们会用上图右侧的方法,利用之前奇异化分解得到的矩阵中的S矩阵,然后将之前的算式改成上图右侧的算式,这样我们就只用计算一次奇异化分解,每次只用计算只用调用S矩阵中的值即可,同样只用尽量让上面算式结果小于0.01,下面就是具体算式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Au532Rgo-1670200062572)(吴恩达机器学习.assets/image-20211118103945918.png)]

5. 压缩重现

我们前面通过投影将高维转化为低维,同样我们也可以通过压缩后的数据将低维重现为高维。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j6iym39v-1670200062573)(吴恩达机器学习.assets/image-20211118104636862.png)]

重现后的x都在之前映射的直线上,不等于原来的x,但都接近于原来的x,具体步骤通过Ureduce乘以z即可。

6. 应用PCA的建议

我们在进行监督学习时有时候会碰到样本数据量特别大的情况,这时候直接运用逻辑回归、支持向量机等算法可能会运行的比较慢,这时候我们可以通过PCA来降维从而加速监督学习。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gsMInUs5-1670200062575)(吴恩达机器学习.assets/image-20211118133902927.png)]

我们可以从训练集中提取出x特征(注意只能是训练集),然后通过PCA算法将这些特征压缩成z,上面的这个例子是将10000维降到了1000维,实际中可能没这么夸张,可能会降1/5或者1/10之类,并保留大部分的方差。

现在,我们就可以来总结一下PCA的应用了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-11Nu6Wp5-1670200062576)(吴恩达机器学习.assets/image-20211118134320285.png)]

PCA可以用于数据的压缩,从而减少存储数据的内存或者磁盘,或者加速学习算法。

当然PCA还可以应用于可视化,我们一般运用2D或3D进行可视化。

还有一点要提的是,不要用PCA去防止过拟合情况。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4onumrpE-1670200062577)(吴恩达机器学习.assets/image-20211118134916379.png)]

也许,你用PCA去防止过拟合得到的效果不错,即使你保留了99%的方差,但仍然有可能会丢失一些有价值的信息,所以这里建议使用正则化去防止过拟合是更好的选择。

还有一个误区就是,很多人会滥用PCA,有些人甚至会在项目计划开始时就使用PCA,这里建议先不使用PCA去尝试训练模型,因为有时候可能不使用PCA也能达到同样的效果,就不用花很多时间在PCA的计算上面了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dZSHcDoB-1670200062578)(吴恩达机器学习.assets/image-20211118135437524.png)]

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

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

相关文章

PM说 | 一文全方位解析C端用户的评论功能!

随着各种自媒体、资讯平台的肆意发展,评论区逐渐成为各路英雄豪杰的必争之地。在评论区,我们可以与”“杠精”来一场遭遇战,邂逅文人墨客,看一场舌战群雄大戏。 评论区越热闹,说明产品越活跃,用户粘性高&a…

iwebsec靶场 文件上传漏洞通关笔记1-第01关 前端js过滤绕过

目录 第01关 前端js过滤绕过 1.禁用js法 (1)禁用js (2)刷新页面使生效 (3)上传脚本 (4)开启js并刷新页面 2.修改页面法1 (1)右键查询元素 &#xff…

docker安装和info信息

docker 容器的历史: 1、Chroot Jail 就是我们常见的 chroot 命令的用法。它在 1979 年的时候就出现了,被认为是最早的容器化技术之一。 它可以把一个进程的文件系统隔离起来。 2、The FreeBSD Jail Freebsd Jail 实现了操作系统级别的虚拟化&#…

csapp 读书笔记

第二章:信息的表示和处理 历史上因程序bug导致重大事故的情况很多是由数字溢出,缓冲区溢出导致的。 本章主要讲的是基本数据类型的(IEEE)表示,大小端,以及二进制位运算的骚操作案例。 第三章:程序的机器级表示 本章…

名窑讲坛:钧瓷“神、奇、妙、绝”四大特色之“妙”——纹路

文/倾灵叶 钧瓷以“入窑一色,出窑万彩”的神奇窑变著称于世。 钧瓷的纹路是经自然窑变形成的具有自身典型艺术特征釉面装饰,是特殊的釉料和独特的烧成工艺的产物,与其他窑系陶瓷作品人工雕刻、压刻和绘制而成的纹饰存在着本质的不同&#xf…

12家硬件厂商发布飞桨生态发行版 软硬一体协同发展

11月30日,由深度学习技术及应用国家工程研究中心主办、百度飞桨承办的WAVE SUMMIT2022深度学习开发者峰会如期举行。峰会上,百度AI技术生态总经理马艳军发布了飞桨深度学习平台的最新技术和生态进展,全新发布飞桨开源框架2.4版本,…

Fast Report .NET 2023.1 Crack

Fast Report .NET 适用于 .NET 6、.NET Core、Blazor、ASP.NET、MVC 和 Windows 窗体的全功能报告库。它可以在 Microsoft Visual Studio 2022 和 JetBrains Rider 中使用。 适用于 .NET 6、.NET Core、Blazor、ASP.NET、MVC 和 Windows 窗体的全功能报告库。它可以在 Microso…

计算机毕业论文java毕业设计选题源代码ssm的校园单车自行车租赁系统|租车系统

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 3.2.1技术可行性:技术背景 系统的开发环境和配置都是可以自行安装的,使用比较成熟的开发工具和数据库进行对系统用户…

Highlight_Matching_Pair问题解决

Highlight_Matching_Pair问题解决1 <SNR>20_Highlight_Matching_Pair1.1 提示的问题1.2 出发问题出现的条件1.2.1 访问到“&#xff08;&#xff09;”时会出现1.2.1 访问到不成对的“{}”时会出现2 解决办法2.1 首先确认matchparen.vim是否最新2.2 将vim更新到最新的版本…

数据结构—查找方法改进流程

文章目录哈希表哈希表 >红黑树—1—> 哈希表缺点—2—> 二维数组—3—> 数组加链表—4—> 树—5—> 有序二叉树—6—> 平衡二叉树—7—> 多叉树—8—> 红黑树红黑树的特点红黑树和链表的选择———————————————————————————…

ansible的主机清单和Playbook(剧本)

一、inventory---主机清单 1.1 支持对主机分组&#xff0c;每个组内可以定义多个主机&#xff0c;可以把一台主机分别放在两个组内。 把.10到.100的主机全部放在这个组里面&#xff08;/etc/ansible/hosts:配置文件&#xff09; 有的主机不是以ip地址放在主机清单里的&#x…

企业实施SRM系统应该避开哪些误区?

近年来&#xff0c;SRM供应商协同管理系统逐渐在各行各业中得到广泛运用&#xff0c;许多企业在SRM选型时投入了大量的时间、资源和精力&#xff0c;但系统上线后的效果却并不理想。SRM选型时常见的误区主要有以下几种&#xff1a; 误区一&#xff1a;头痛医头脚痛医脚&#x…

[附源码]计算机毕业设计人体健康管理appSpringboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【从零开始学习深度学习】6.使用torchvision下载与查看图像分类数据集Fashion-MNIST

目录1.1 获取Fashion-MNIST数据集2.2 读取小批量小结图像分类数据集中最常用的是手写数字识别数据集MNIST。但大部分模型在MNIST上的分类精度都超过了95%。为了更直观地观察算法之间的差异&#xff0c;我们将使用一个图像内容更加复杂的数据集Fashion-MNIST。 本节我们将使用to…

博图Modbus组态及参数设定源码

1、组态选择 协议为Modbus,可在程序里设置通讯方式 2、参数初始化设置 3、选择伺服Modbus 地址 4、写入负值&#xff0c;两个字都必须是负值 5、接线方式 伺服端&#xff1a;驱动器通过通讯连接器与计算机相连&#xff0c;使用者可利用 MODBUS 通讯结合汇编语言来操作驱动器&…

运放失调电压失调电流,计算输入电压信号大小,设计反向放大器

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

销售抓住客户心理的话术

由于销售会与各种各样的人打交道&#xff0c;因此销售也是最容易洞察客户心理的职业&#xff0c;优秀的销售懂得如何抓住客户的心理&#xff0c;从而挖掘客户的需求和痛点&#xff0c;进一步促进成交。 前言 由于销售会与各种各样的人打交道&#xff0c;因此销售也是最容易洞察…

【NC65】主子表单据按照单表结构展现 节点客开

需求描述: 需要将【采购入库】按照【采购订单关闭】节点的形式展现数据。 客开思路: 功能注册增加功能节点,(40080603)勾选启用。菜单注册增加 菜单 并关联 功能节点(40080603)。初始化 单据模板,查询模板采购入库单主子表汇总VO是PurchaseInViewVO ,系统里其他单据节点 …

MyBatis-Plus之ActiveRecord[基础增删改查操作]

系列文章目录 Mybatis-Plus知识点[MyBatisMyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客 Mybatis-PlusSpringBoot结合运用_心态还需努力呀的博客-CSDN博客MyBaits-Plus中TableField和TableId用法_心态还需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作&#xf…

应用层之HTTP和HTTPS协议(必备知识)

文章目录1、什么是HTTP协议2、HTTP协议格式<1>HTTP请求方法<2>HTTP的状态码3、HTTP是不保存状态的协议<1>使用Cookie的状态管理3、HTTPS<1>加密方式<2>理解HTTPS加密过程1、什么是HTTP协议 HTTP协议常被称为超文本传输协议&#xff0c;HTTP协议…