【机器学习4】降维
常见的降维方法有主成分分析、 线性判别分析、 等距映射、 局部线性嵌入、 拉普拉斯特征映射、 局部保留投影等。
1 PCA最大方差角度理解
PCA无监督学习算法。
PCA的目标, 即最大化投影方差, 也就是让数据在主轴上投影的方差最大。

在黄线所处的轴上, 数据分布得更为分散, 这也意味着数据在这个方向上方差更大。 在信号处理领域, 我们认为信号具有较大方差, 噪声具有较小方差, 信号与噪声之比称为信噪比。 信噪比越大意味着数据的质量越好。


其实就是样本协方差矩阵,我们将其写作Σ,由于ω是单位方向向量, 即有ωTω=1。要求解投影后方差最大化问题, 可表示为:

x投影后的方差就是协方差矩阵的特征值。 我们要找到最大的方差也就是协方差矩阵最大的特征值, 最佳投影方向就是最大特征值所对应的特征向量。 得到以下PCA的求解方法:
( 1) 对样本数据进行中心化处理。
( 2) 求样本协方差矩阵。
( 3) 对协方差矩阵进行特征值分解, 将特征值从大到小排列。
( 4) 取特征值前d大对应的特征向量ω1,ω2,…,ωd, 通过以下映射将n维样本映
射到d维:
新的xi′的第d维就是xi在第d个主成分ωd方向上的投影, 通过选取最大的d个特征值对应的特征向量, 我们将方差较小的特征( 噪声) 抛弃, 使得每个n维列向量xi被映射为d维列向量xi′, 定义降维后的信息占比为:

2 PCA最小平方误差角度理解
从求解直线的思路出发, 很容易联想到数学中的线性回归问题, 其目标也是求解一个线性函数使得对应直线能够更好地拟合样本点集合。 如果我们从这个角度定义PCA的目标, 那么问题就会转化为一个回归问题。即把样本点投影到最佳直线, 最小化的就是所有点到直线的距离平方之和。

PCA要优化的目标为:


进行推导:

因此原来的式子可以表示为:

这等价于求解带约束的优化问题:

如果我们对W中的d个基 依次求解, 就会发现和最大方差理论的方法完全等价。 比如当d=1时, 我们实际求解的问题是:

最佳直线ω与最大方差法求解的最佳投影方向一致, 即协方差矩阵的最大特征值所对应的特征向量, 差别仅是协方差矩阵Σ的一个倍数, 以及常数.但这并不影响我们对最大值的优化。
3 线性判别分析LDA
LDA有监督学习算法。最大化类间距离、 最小化类内距离。
在PCA中, 算法没有考虑数据的标签(类别) , 只是把原数据映射到一些方差比较大的方向上而已。

从这里我们可以看出, 我们最大化的目标对应了一个矩阵的特征值, 于是LDA降维变成了一个求矩阵特征向量的问题。 J(ω)就对应了矩阵 Sw−1SB最大的特征值, 而投影方向就是这个特征值对应的特征向量。换句话说, 我们只需要求样本的均值和类内方差, 就可以马上得出最佳的投影方向ω。
4LDA和PCA区别与联系
从目标出发, PCA选择的是投影后数据方差最大的方向。 由于它是无监督的, 因此PCA假设方差越大, 信息量越多, 用主成分来表示原始数据可以去除冗余的维度, 达到降维。 而LDA选择的是投影后类内方差小、 类间方差大的方向。 其用到了类别标签信息, 为了找到数据中具有判别性的维度, 使得原始数据在这些方向上投影后, 不同类别尽可能区分开。
相关文章:
【机器学习4】降维
常见的降维方法有主成分分析、 线性判别分析、 等距映射、 局部线性嵌入、 拉普拉斯特征映射、 局部保留投影等。 1 PCA最大方差角度理解 PCA无监督学习算法。 PCA的目标, 即最大化投影方差, 也就是让数据在主轴上投影的方差最大。 在黄线所处的轴上&…...
注册商标有助于企业拓展市场渠道
拓展市场渠道 注册商标有助于企业拓展市场渠道。在商业合作和交易中,消费者往往更加倾向于选择有知名度和信誉的品牌。通过注册商标,企业可以树立自己的品牌形象,提高品牌知名度和美誉度,从而更好地开拓市场和拓展业务。同时&…...
推荐能用ios端磁力下载工具
关于ios端磁力下载工具,之前的文章给大家介绍过2个,分别是雷电下载和闪电下载。但是如今因为不可抗力和苹果商店对于磁力下载和云盘功能的限制,目前这两款工具已经不能够使用了。也就是说免费的下载工具已经没有了,毕竟实现ios端这…...
网页文档阅读的学习笔记
1. 阅读邮件 我是一名人工智能专业的博士生,请你帮我总结此页面的要点...
mysql图书管理系统(49-56)源代码
-- 九、 子查询 -- 无关子查询 -- 比较子查询:能确切知道子查询返回的是单值时,可以用>,<,,>,<,!或<>等比较运算符。 -- 49、 查询与“俞心怡”在同一个部门的读者的借…...
使用Docker部署开源分布式任务调度系统DolphinScheduler
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 使用Docker部署开源分布式任务调度系统DolphinScheduler 文章目录 使用Docker部署开源分布式任务…...
光猫桥接与直接拨号的对比
近期搬家,经历了一次拉宽带,换光猫,购置路由器的过程,有一些总结记录下来,备忘 装宽带之前已经知道桥接的好处就是可以路由器拨号,避免拉胯的光猫拖慢网速,但具体有什么坏处也不清楚࿰…...
使用cpolar配合Plex搭建私人媒体站并实现远程访问
文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…...
Web APIs——综合案例
1、学生就业统计表 2、渲染业务 根据持久化数据渲染页面 步骤: ①:读取localstorage本地数据 如果有数据则转换为对象放到变量里面一会使用它渲染页面如果没有则用默认空数组[]为了测试效果,可以先把initData存入本地存储看效果 ②&…...
2023.10月考试战报|华为认证HCIP考试100%通过
相关文章: 考试战报|2023.7月-8月思科认证、华为认证-CSDN博客 2023.4月及5月最新HCIP 考试战报来袭_厦门微思网络的博客-CSDN博客 HCIP 3-4月考试战报_厦门微思网络的博客-CSDN博客 2023年HCIP/CCNP考试战报_厦门微思网络的博客-CSDN博客 2023年10月࿰…...
Oracle 三种分页方法(rownum、offset和fetch、row_number() over())
Oracle的三种分页指的是在进行分页查询时,使用三种不同的方式来实现分页效果,分别是使用rownum、使用offset和fetch、使用row_number() over() 1、使用rownum rownum是oracle中一个伪劣,它用于表示返回的行的序号。使用rownum进行分页查询的方…...
13. 一文快速学懂常用工具——Kubernetes 命令
本章讲解知识点 Kubernetes 基本命令本专栏适合于软件开发刚入职的学生或人士,有一定的编程基础,帮助大家快速掌握工作中必会的工具和指令。本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。如专栏内容有错漏,欢迎在评论区指出或私聊我更改,一起学习,共同进步。…...
【Linux】shell执行文件清理
#!/usr/bin/env bash ################################################################################# # 程序名称: AutoClearFiles.sh # 创建日期: 2022-11-16 # 作者: evens # 使用说明: …...
Android MotionLayout
MotionLayout exends ConstraintLayout(动画框架 过渡) View动画 API1 属性动画API11 过渡动画API18 root.width RootViewWidth TransitionManager.beginDelayedTransition(view) 过渡动画 可以改变其大小和流畅性 Fade 可以改变透明度 通过TrasitinManager管理 Go:动态替…...
50基于matlab的传统滤波、Butterworth滤波、FIR、移动平均滤波、中值滤波、现代滤波、维纳滤波、自适应滤波、小波变换
基于matlab的传统滤波、Butterworth滤波、FIR、移动平均滤波、中值滤波、现代滤波、维纳滤波、自适应滤波、小波变换,七种滤波方法,可替换自己的数据进行滤波,程序已调通,可直接运行。 50matlabButterworth滤波 (xiaohongshu.com)…...
【2021研电赛】基于深度学习的蛋白质与化合物结合性质预测
本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取! 获奖情况:三等奖 1.作品简介 针对药物发现过程中的药物筛选问题,本设计基于深度学习提出新的神经网络结构和数据处理方式用于预测蛋白质与化合物之…...
物联网中的毫米波雷达:连接未来的智能设备
随着物联网(IoT)技术的飞速发展,连接设备的方式和效能变得越来越重要。毫米波雷达技术作为一种先进的感知技术,正在为物联网设备的连接和智能化提供全新的可能性。本文将深入探讨毫米波雷达在物联网中的应用,以及它是如…...
软件外包开发需求文档编写
软件外包开发需求文档是指导整个外包项目开发流程的关键文件,外包开发需求文档可能还包括修订历史记录、项目术语表、附录等其他有助于项目团队理解和实现需求的信息。它通常包含以下内容,希望对大家有所帮助。北京木奇移动技术有限公司,专业…...
Java算法(五):手写数组逆置API方法,实现数组逆置。 while实现 for循环实现
Java算法(五) while 循环实现 需求: 已知一个数组,arr {11, 22, 33, 44, 55};使用程序实现把数组中的元素交换位置。 交换后的数组为 arr {55, 44, 33, 22, 11}; 并在控制台输出交换后的数组元素。 代码示例 package com.…...
Vue el-table序号与复选框hover切换
效果图下: <template><div class"container"><el-tableref"multipleTable"id"multipleTable":data"person.tableData"cell-mouse-enter"cellEnter"cell-mouse-leave"cellLeave"selecti…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space
问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier...
python基础语法Ⅰ
python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器,来进行一些算术…...
