这是将训练集投影到特征空间的正确方法吗? 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 的相关文章

  • 霍夫变换检测和删除线

    我想使用霍夫变换检测图像中的线条 但是我不想绘制线条 而是想删除原始图像中检测到的每条线条 image imread image jpg image im2bw image BW edge image canny imshow BW fig
  • 如何在matlab中使矩阵图平滑

    就像上图一样 怎样才能让画面更流畅呢 或者缩小y轴的范围 数据来自二维矩阵 然后我用plot data 请随意提出任何想法 平滑线条的一种方法涉及样本点之间数据的非线性插值 当你这样做时plot x y o http www mathwor
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255
  • 将值从 C++ MEX 文件返回到 MATLAB

    我正在编写一个从 C 代码中检索数据的 MATLAB 程序 为此 我在 MATLAB 中创建了一个 MEX 文件和一个网关 mexFunction 虽然可以在 MATLAB 中读取读取值 但我无法检索它来使用它 如果不清楚 我有与这里完全相
  • 相机校准:如何正确进行

    我正在尝试使用棋盘格通过众所周知的张氏方法进行校准 然后进行捆绑调整 该方法在 Matlab 和 OpenCV 中都可用 有很多经验指南 但从我个人的经验来看 准确性是相当随机的 它有时可能非常好 但有时也可能非常糟糕 实际上 只需将棋盘放
  • 使用正常数据直方图与直接公式进行熵估计(matlab)

    假设我们已经绘制了n 10000标准正态分布的样本 现在我想使用直方图计算其熵来计算概率 1 计算概率 例如使用matlab p x hist samples binnumbers area x 2 x 1 sum p p p area b
  • 在 opencv 中一次性将旋转和平移结合起来

    我有一段用于旋转和平移图像的代码 Point2f pt 0 in rows double angle atan trans c trans b 180 M PI Mat r getRotationMatrix2D pt angle 1 0
  • 如何获取 sklearn.metrics.classification_report 的输出作为字典?

    我一直在尝试以字典的形式获得分类报告 所以根据 scikit learn 0 20 文档 我这样做 from sklearn import metrics rep metrics classification report y true y
  • 当 MATLAB 变得非常非常忙时,如何中断它?

    我正在运行一个长时间的模拟MATLAB http en wikipedia org wiki MATLAB我意识到我需要停下来重新运行 然而 MATLAB 确实对这种计算很感兴趣 并且它停止了响应 如何在不终止 MATLAB 的情况下中断此
  • MATLAB 图形渲染:OpenGL 与 Painters?

    当谈到使用哪个渲染器来处理 MATLAB 图形或何时它很重要时 我一无所知 但我遇到过某些示例 其中does matter plot 0 0 ko markersize 50 linewidth 8 set gcf renderer ope
  • 如何调整x轴和y轴的大小

    如何调整 x 轴和 y 轴的大小 我想要什么 更具体 3900 60 30 0 60 120 180 3600 我做了什么 a 0 0 1 10000 plot a 我应该写什么才能按预期调整 x 和 y 轴的大小 EDIT 我不想 390
  • OpenCV 地板分割检测

    我正在研究一种检测图像中地板的方法 我试图通过将图像缩小为颜色区域然后假设最大区域是地板来实现此目的 我们对机器人的运行环境做出一些相当广泛的假设 我正在寻找一些关于适合这个问题的算法的建议 任何帮助将不胜感激 编辑 具体来说 我正在寻找一
  • OpenCV功能类似于matlab的“查找”

    我正在寻找 openCV 中的一个函数来帮助我制作图像蒙版 例如在 MATLAB 中 B A or B 零 大小 A B A 10 c 有些功能可以让你通过mask向他们提出论据 按照您描述的方式创建面具 我认为您正在追求Cmp 或 Cmp
  • 使用预训练(Tensorflow)CNN 提取特征

    深度学习已成功应用于多个大型数据集 用于对少数类别 猫 狗 汽车 飞机等 进行分类 其性能优于 SIFT 特征袋 颜色直方图等更简单的描述符 然而 训练这样的网络需要每个类别大量的数据和大量的训练时间 然而 在花时间设计和训练这样一种设备并
  • 了解 Matlab 中的 DEL2 函数以便用 C++ 对其进行编码

    为了用 C 编写 DEL2 matlab 函数 我需要了解该算法 我已经成功地为不在边界或边缘上的矩阵元素编写了函数 我已经看过几个有关它的主题 并通过输入 edit del2 或 type del2 来阅读 MATLAB 代码 但我不明白
  • 如何使用 MATLAB 的“等值面”函数创建三角球体

    如何创建一个三角球体 其中每个三角形的面面积相同 我想要这样的东西 http imageshack us a img198 5041 71183923 png http imageshack us a img198 5041 7118392
  • 运行时错误:大小不匹配,m1:[4 x 3136],m2:[64 x 5]位于c:\ a \ w \ 1 \ s \ tmp_conda_3.7_1

    我使用 python 3 当我插入变换随机裁剪大小 224 时 它会给出未匹配错误 这是我的代码 https github com kajasumanie medical plant classification blob master i
  • 一次分配多个字段的聪明方法?

    由于遗留函数调用 我有时被迫编写像这样的丑陋的包装器 function return someWrapper someField a someField a b someField b and so on realistically it
  • Matlab-如何在曲线上绘制切线

    我在 matlab 中绘制了一个图表 plot x y 我的图表有不同的斜率 我如何在每个斜率上绘制切线并计算斜率的系数 如果您没有用于绘制点的显式函数 您可以使用有限差分 http en wikipedia org wiki Finite
  • 在 3d 空间中的两个平面之间进行插值

    我正在开发一种工具 可以让您在 3D 体积 上圈出 包围事物 我想通过标记 切片 1 和 3 并从该信息 填充 切片 2 来节省时间 两个简单的解决方案是 1 slice2 slice1 AND slice3 gets the overla

随机推荐

  • 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