这是将训练集投影到特征空间的正确方法吗? MATLAB

2023-11-29

我使用以下方法计算了 PCA:

function [signals,V] = pca2(data) 
[M,N] = size(data); 
data = reshape(data, M*N,1);
% subtract off the mean for each dimension 
mn = mean(data,2); 
data = bsxfun(@minus, data, mean(data,1));     
% construct the matrix Y 
Y = data'*data / (M*N-1); 
[V D] = eigs(Y, 10);   % reduce to 10 dimension
% project the original data 
signals = data * V;

我的问题是:

“信号”是训练集到特征空间的投影吗?

我在“Amir Hossein”代码中看到,“中心图像向量”(即上述代码中的“数据”)需要通过乘以特征空间基础来投影到“面空间”中。我真的不明白为什么使用居中图像向量完成投影? “信号”还不足以进行分类吗?


通过信号,我假设您的意思是问为什么我们要从图像的原始向量形式中减去平均值。

如果你考虑PCA;它试图在数据变化最大的地方为您提供最佳方向。然而,由于您的图像可能仅包含正值像素,因此这些像素将始终为正值,这会误导您,尤其是您的第一个也是最重要的特征向量。您可以搜索更多有关二阶矩矩阵的信息。但我会分享一个糟糕的绘画图像来解释它。对不起我的画。

请忽略星星的大小;

星星:您的数据

红线:特征向量;

正如您在 2D 中可以轻松看到的,将数据居中可以为主成分提供更好的方向。如果您跳过此步骤,您的第一个特征向量将偏离均值并导致较差的结果。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这是将训练集投影到特征空间的正确方法吗? MATLAB 的相关文章

  • 使用 K 均值聚类 OpenCV 进行交通标志分割

    I used K Means Clustering to perform segmentation on this traffic sign as shown below 这些是我的代码 读取图像并模糊 img cv imread 000
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 边缘检测和透明度

    使用在一致背景下拍摄的服装图像 我希望使图像中除服装之外的所有像素都透明 解决这个问题的最佳方法是什么 我研究了这个常见的算法和开源库opencv http opencv willowgarage com wiki 除了自己动手或使用 op
  • Simulink 仿真引擎如何工作?

    我想了解 Simulink 仿真引擎的工作原理 它是否使用离散事件模拟机制 那么如何处理连续时间 它是否依赖于基于静态循环的代码生成 或者 在第一个周期之前 它会计算出块的执行顺序 从不需要任何其他块输入的块开始 每个周期 它都会根据输入和
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • 如何在 Matlab 中对数组应用低通或高通滤波器?

    有没有一种简单的方法可以将低通或高通滤波器应用于 MATLAB 中的数组 我对 MATLAB 的强大功能 或数学的复杂性 有点不知所措 需要一个简单的函数或一些指导 因为我无法从文档或网络搜索中找到答案 看着那 这filter http w
  • 使用 MATLAB 进行线路跟踪

    我有一个图像 我想将其转换为逻辑图像 包括线条为黑色 背景为白色 当然 可以使用阈值方法来实现这一点 但我不想使用这种方式来做到这一点 我想通过使用线路跟踪方法或类似的方法来检测它 这是关于视网膜血管检测的 我找到了一个article ht
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • MATLAB 教程中的 SIFT 实现

    我正在寻找 MATLAB 中的一些基本 SIFT 实现 我需要从第一原则来写它 另外 我正在寻找一些可以解释程序中发生的事情的内容 Vedali 的代码和 David Lowe 的代码超出了我的理解范围 如果您是 Matlab 用户 您一定
  • Matlab 和 Python 中的优化算法(dog-leg trust-region)

    我正在尝试使用 Matlab 和 Python 中的狗腿信赖域算法求解一组非线性方程 在Matlab中有fsolve https www mathworks com help optim ug fsolve html其中此算法是默认算法 而
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • OpenCV 机器学习算法的 CSV 格式

    OpenCV 中的机器学习算法似乎使用以 CSV 格式读取的数据 参见示例这个 cpp文件 https code ros org trac opencv browser trunk opencv samples c tree engine
  • 提高SVM分类器准确率的技术

    我正在尝试使用 UCI 数据集构建一个分类器来预测乳腺癌 我正在使用支持向量机 尽管我尽最大努力提高分类器的准确性 但仍无法超过 97 062 我尝试过以下方法 1 Finding the most optimal C and gamma
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 从凸点获取角点

    我编写了算法来提取图像中显示的点 它们形成凸形 我知道它们的顺序 如何从这些点中提取角点 顶部 3 个和底部 3 个 我正在使用opencv 如果你已经有了物体的凸包 并且该包包含角点 那么你需要做的就是简化包直到它只有 6 个点 有很多方
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 如何在 scikit-learn 的 SVM 中使用非整数字符串标签? Python

    Scikit learn 具有相当用户友好的用于机器学习的 python 模块 我正在尝试训练用于自然语言处理 NLP 的 SVM 标记器 其中我的标签和输入数据是单词和注释 例如 词性标记 而不是使用双精度 整数数据作为输入元组 1 2
  • 图像处理 - 使用 opencv 进行服装分割

    我正在使用 opencv 进行服装特征识别 第一步 我需要通过从图像中移除脸部和手来分割 T 恤 任何建议表示赞赏 我建议采用以下方法 Use 阿德里安 罗斯布鲁克的用于检测皮肤的皮肤检测算法 谢谢罗莎 格隆奇以获得他的评论 在方差图上使用
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标

随机推荐

  • XAML 错误中的 XPATH 相等表达式值(C#、WPF)

    MSDN 说http msdn microsoft com en us library ms256086 aspx Degree from Harvard from 属性不等于 Harvard 的所有元素 但是当尝试在我的 xaml 代码中
  • 在 Spring Framework 3.0 中使用 Hibernate 和 Jdbc

    我正在开发一个使用 Spring 3 0 hibernate 3 0 的项目 我的项目有控制器 服务和 DAO 层 Daos 用hibernate编写 是从服务层访问的 现在的要求是我需要同时使用 Hibernate 和 JDBC Hibe
  • 为什么hypot()函数这么慢?

    我做了一些测试C hypot and Java Math hypot 它们似乎都比sqrt a a b b 是因为精度更高吗 斜边的计算方法是什么hypot函数用途 令人惊讶的是 我在文档中找不到任何性能不佳的迹象 这不是一个简单的 sqr
  • 模拟随机抽取名字并确保保密的最佳低技术协议是什么? [关闭]

    Closed 这个问题是与编程或软件开发无关 目前不接受答案 每年感恩节 我的家人都会从帽子里抽出名字来决定谁将成为圣诞礼物交换的 秘密圣诞老人 对于我们的家庭文化来说 重要的是家里没有其他人知道彼此是谁 这样才能保持有趣 选择的唯一规则是
  • iOS 中删除单元格时 UICollectionView 的动画时间

    我第一次使用集合视图 我需要在单击时删除集合视图的单元格 这对我来说工作正常 但是我正在努力解决 UIcollectionview 的动画时间 它总是相同的 我怎样才能增加或减少删除单元格时的动画时间 我也将该代码放入 uianimatio
  • MATLAB - 用小数字替换矩阵中的零

    我有一个矩阵 其中一些元素为零 这对我来说在后续操作 获取日志等 中是一个问题 有没有一种方法可以用我选择的输入快速替换矩阵中的零元素 快速 意思是 没有循环 直接的答案是 M M 0 realmin 这正是您所要求的 用一个小数字替换零
  • GitHub 操作步骤默认使用“set -e”语义吗?

    GitHub 操作工作流程中的常见模式是运行如下所示的内容 name Install and Build run npm ci npm run build 显然 目的是仅在第一个命令成功时才运行第二个命令 在 Linux 上运行时 问题是
  • matlab如何比较数组

    我想比较两个字符串数组 我怎样才能影响以下值a b c d 当我尝试如下时 出现错误 a b c d getVal x gt this will gives a a b 0 c 10 d 我有 expected a 0 10 我怎样才能在
  • 录音机小部件不会停止录音

    我的应用程序涉及大量录音 因此我制作了一个小部件以便能够从主屏幕进行录音 我有一个 Recorder java 类 我在其中处理所有 MediaRecorder 调用 从活动中记录时 一切正常 从小部件录制时 它会录制 但不会在应该停止录制
  • Fortran 中的 if 或函数指针

    因为这在 Fortran 中很常见 所以我正在编写一个大规模并行的科学代码 在代码的开头 我阅读了配置文件 它告诉我要使用哪种类型的求解器 现在这意味着在子程序中 在主运行期间 我有 if solver eq 1 then call sol
  • Ansible async_status 任务 - 错误:ansible_job_id“未定义变量”

    我有一个 3 节点 ubuntu 20 04 lts kvm kubernetes 集群 kvm host 也是 ubuntu 20 04 lts 我在 kvm 主机上运行了 playbook 我有以下库存摘录 nodes hosts se
  • 如何使用 Java 在屏幕上移动 Windows 窗口?

    我一直在考虑制作一个带有 GUI 的窗口管理器 可能是用 Java 编写的 但是 我正在努力找出移动不属于我的程序的窗口的最佳方法 到目前为止 我似乎应该使用 JNI 与 Windows API 进行交互 但我还没有找到任何有用的示例 有谁
  • 如何以编程方式跳过摩卡测试?

    我有一个代码 其中某些测试在 CI 环境中总是会失败 我想根据环境条件禁用它们 如何在运行时执行期间以编程方式跳过摩卡测试 您可以通过在描述或它块前面放置一个x来跳过测试 或者放置一个 skip在它之后 xit should work fu
  • 如何确定应用程序的控制台窗口何时获得或失去焦点?

    有没有一种简单的方法可以做到这一点 或者至少检查控制台当前是否处于焦点状态 想象一下像游戏这样的东西 这里不是这种情况 但类比成立 如果它可以自动暂停 那将会很有用 我需要类似的东西 如果您感兴趣的窗口不是控制台窗口 则只需点击适当的焦点事
  • 为什么不使用 HashSet 类来实现 Enumerable.Distinct

    我需要访问的渐近时间和空间复杂度IEnumerable Distinct用大O表示法 所以我正在研究扩展方法的实现Enumerable Distinct我看到它是使用内部类实现的Set
  • JList 文本对齐

    我有一个JList我想显示两个值的项目 有没有办法让它显示字符串名称 然后用右对齐的字符串来显示值 看起来像这样 Title 120 Title2 135 是否可以将两个字符串传递给一个项目 并使第一个字符串显示在左侧 第二个字符串显示在右
  • Windows 窗体 - 从按钮类型的对象获取文本值

    我有一个名为Form1并在此表单中命名为面板panel1 我仅使用该面板将按钮放置在那里 以便我可以将它们分组并与我的其他按钮分开使用它们Form1 为了我的程序的目的 我需要处理从内部按钮进行的 每个按钮单击panel1 为此 我使用相同
  • java applet 小程序的替代品是什么?

    我正在开发一个 Web 应用程序 其中我们有一个客户端小程序应用程序 它将检查客户端计算机上是否安装了证书 但大家都知道 Mozilla 很快就会停止支持小程序 谁能建议做同样事情的替代选择是什么 Java 网络启动 The 其他答案已过期
  • 为什么 Chrome 在反复刷新使用 WebAssembly 的页面后最终会抛出“内存不足:wasm 内存”?

    我愿意相信刷新浏览器窗口或选项卡不会泄漏 不幸的是 当涉及 WebAssembly 时 情况似乎并非如此 我用 Rust 构建了一个 WebAssembly 箱 该包的编译大小约为 360 Kb 内容压缩之前 并且该包在 Firefox 甚
  • 这是将训练集投影到特征空间的正确方法吗? MATLAB

    我使用以下方法计算了 PCA function signals V pca2 data M N size data data reshape data M N 1 subtract off the mean for each dimensi