MATLAB KL变换

1. 原理      

KL变换步骤:

1.求样本X的协方差矩阵R

2. R的特征值λ。选取前d个较大的特征值。

3.计算d个特征值对应的特征向量,归一化后构成变换矩阵U

4.{X}中每一个X进行K-L变换,得到变换后向量Y=U’ * Xd维向量Y就是替代n维向量X进行分类的模式向量。

基于K-L变换分类阈值选择:

2. 过程

2.1 利用KL变换对样本集变换并在二维平面进行绘制

导入两类数据集(前文中同样的数据集)并进行合并,分别求两类数据集的均值以及总体的协方差矩阵,然后通过matlab函数eig求取协方差矩阵的特征值及特征向量:

结果如下:

图1 特征值和特征向量

选择较大的特征值以及对应的特征向量作为变换矩阵,然后对数据集中的每一行数据进行变换,变换后数据将会降为一维,为了在二维平面绘制可以构造为二维数据,投影不变:

结果如下:

图2 特征值、特征向量

图3 变换前后数据分布

从图中可以看出原始分布(右下角)经过KL转换后产生新的特征方向(左上角)

2.2 利用上述主成分进行分类

二维数据通过kl变换转换为一维数据后可以利用变换后的均值作为分类阈值,具体做法为计算出每一个数据的判别函数,以均值y0为阈值进行分类,最后计算准确率:

结果如下:

图4 分类结果

图5 分类阈值及分类准确率

2.3 选取较小的特征值进行对比

上述实验选取的特征值为较大的,接下来对于较小的特征值进行实验观察,结果如下:

图6 KL变换

图7 分类结果

图8 分类阈值及准确率

可以看出效果不佳,可以验证理论

3. 结果与分析

本文对于原始数据集进行KL变换可使得数据集从二维降低至一维,在分类的过程中,为了保证类间的样本投影后尽可能远离,应该选择特征值较大的特征向量作为投影方向,以使得方差尽可能大,突出了模式类之间的差异性,提升分类效果,且变换后样本各分量互不相关,即消除了原先特征之间的相关性。

实验的关键就是得到数据集的协方差矩阵并计算出特征值及特征向量,而使用matlab中的eig函数可以直接求出对应的结果。可以与之前文章中介绍的不同分类算法进行对比。K-L变换的去相关性好,可用于数据压缩和图像旋转。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云Linux系统MySQL8忘记密码修改密码

相关版本 操作系统:Alibaba Cloud Linux 3.2104 LTS 64位MySQL:mysql Ver 8.0.34 for Linux on x86_64 (Source distribution) MySQL版本可通过下方命令查询 mysql --version一、修改my.cnf文件 文件位置:etc/my.cnf进入远程连接后可以打…

解决vue项目本地开发完成后部署到服务器后报404的问题

一、如何部署 前后端分离开发模式下,前后端是独立布署的,前端只需要将最后的构建物上传至目标服务器的web容器指定的静态目录下即可 我们知道vue项目在构建后,是生成一系列的静态文件 常规布署我们只需要将这个目录上传至目标服务器即可 /…

163邮箱SMTP设置需要怎么配置?如何开启?

163邮箱SMTP设置教程?163邮箱开通SMTP发信功能方法? 当我们需要使用第三方工具或软件来发送邮件时,SMTP设置就显得尤为重要。特别是对于使用163邮箱的用户来说,掌握163邮箱SMTP设置的方法是非常必要的。下面,AokSend就…

javaweb学习(day06-servlet)

一、基本介绍 1 官方文档 地址: https://tomcat.apache.org/tomcat-8.0-doc/servletapi/index.htmlServlet 和 Tomcat 的关系: 一句话, Tomcat 支持 Servlet【假如单独使用Servlet就失去了意义】 2 为什么会出现 Servlet 提出需求: 请用你现有的html css javascript&#…

JavaSE(上)-Day3

JavaSE(上)-Day3 IDEA(目前业内最好用的开发软件)初始使用IEDA的基础设置 本篇主要介绍内容如下: IDEA的基本使用IDEA的基础设置 IDEA(目前业内最好用的开发软件) IDEA是用于Java语言开发的集…

springboot之mybaitsPlus

mybaitsPlus是国内开发的,并不是springboot的项目,只是学习的时候直接就是适配的springboot。 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不…

微服务获取登录用户Id与单体服务下获取用户Id对比(黑马头条Day03)

前置声明 当前前后端分离开发项目中,后端某个请求向具体某个数据库中的多个表插入数据时,经常需要使用到当前登录用户的Id(唯一标识)。在当前用户线程下以实现变量共享,同时为了避免不同用户线程之间操作变量的影响&am…

设计模式之模版方法实践

模版方法实践案例 实践之前还是先了解一下模版方法的定义 定义 模板方法模式是一种行为设计模式,它定义了一个骨架,并允许子类在不改变结构的情况下重写的特定步骤。模板方法模式通过在父类中定义一个模板方法,其中包含了主要步骤&#xf…

【Python】成功解决TypeError: ‘float‘ object is not iterable

【Python】成功解决TypeError: ‘float’ object is not iterable 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得…

Mysql按照月份分组统计数据,当月无数据则填充0

目录 起因实现结论 起因 最近有个需求需要在sql中实现获取近半年的统计数据,本来以为挺简单的,不过这个项目数据基本没有,在此情况下还要实现获取近半年的数据就没办法简单group by了 实现 #如果每个月都有数据的话是比较简单的 SELECT DA…

【XR806开发板试用】串口驱动JQ8900播放音乐

一、硬件连接 1.JQ8900引脚定义 通过阅读JQ8900的数据手册,可以了解到驱动JQ8900有许多种方式,IO驱动,一线串口驱动(VPP),两线串口驱动(RX,TX),这里我使用两…

C#多线程(4)——任务并行库TPL

文章目录 1 什么是TPL2 创建与启动任务3 等待任务4 任务中的异常处理5 取消任务 1 什么是TPL T P L \textcolor{red}{TPL} TPL(Task Parallel Library)任务并行库,是从.NetFramwork4.0后引入的基于异步操作的一组API。TPL的底层是基于多线程实…

C语言第三十六弹---文件操作(中)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 文件操作 1、文件的顺序读写 1.1、顺序读写函数介绍 1.1.1、fgetc 与 fputc 1.1.2、fgets 与 fputs 1.1.3、fscanf 与 fprintf 1.1.4、fread 与 fwrite 1.…

基于状态机的按键消抖实现

摸鱼记录 Day_14 !(^O^)y review 在day_13中以按键状态判断为例学习了状态分析基于状态机的按键消抖原理-CSDN博客 分析得到了下图: 今日任务:完成此过程 !(^O^)y 小梅哥对应视频: 15B 基于状态机的按键消抖Verilog实现_哔哩哔哩…

《乱弹篇(23)读书摘录》

之前逾月,偷得闲遐,在腾迅视频看了两部以宋朝历史为背景的电视剧《后宫》和《清平乐》,觉得好看并觉得有所裨益,但之后就再也难以找到能让人有耐心去看完的一部电视剧了。在一阵儿唏嘘感叹后,便去读书网搜索小说书读&a…

砝码称重 蓝桥杯

在C中,fabs()和abs()都用于计算数字的绝对值,但它们之间有一些区别。 fabs(double x):计算浮点数x的绝对值,返回一个double类型的结果。 abs(int x):计算整数x的绝对值,返回一个int类型的结果。 数组的默…

PolarDB for PostgreSQL-概述

阿里云数据库的概述 本篇罗列了一些知识点和结构。 日志 2. 同步复制:下降20% 异步复制:数据丢失风险, 部署 1.示例: vim polarx.toml 1.测试主库和备库数据一致性 备库是否一致性读 一个节点荡掉,提供服务。 GMS CN…

HCIP —— BGP --- 路由反射器和联邦

目录 IBGP的水平分割 解决办法 路由反射器 --- RR 反射器的环路问题如何解决??? 1.Originator_ID 起源者ID 2.Cluster_List --- 簇列表 RR的配置 联邦的配置 1.联邦和其他AS设备建EBGP对等体 2.联邦内部IBGP建立对等体 3.联邦内部E…

数据管理【总结】

大数据:是指极其庞大的数据集,通常具备五大特征(5个V):数据量大(Volume)、数据类型多样(Variety)、数据生成速度快(Velocity)、数据真实性高&…

最新Claude3注册教程:解决Claude3 Opus被封无法发送手机验证码问题

Claude3注册指南:解决无法发送手机验证码问题 Anthropic在3月4日宣布推出最新的大型语言模型(LLM)系列——Claude 3。这一系列模型在多种认知任务上树立了新的性能标准,包括Claude 3 Haiku、Claude 3 Sonnet 和 Claude 3 Opus三个…