gpt4 book ai didi

matlab - 数据分类:sizes of training and test vectors

转载 作者:行者123 更新时间:2023-11-30 08:52:48 25 4
gpt4 key购买 nike

我有一个应用程序可以判断一个人是在挥手、运行还是行走。这个想法是我已经将一个 Action (例如挥手)分割为其姿势。让我们说

示例;

for human1:pose7-pose3-pose7-..... represents handwave
for human3:pose1-pose7-pose1-..... represents handwave
for human7:pose1-pose1-pose7-..... represents handwave
for human20:pose3-pose7-pose7-..... represents handwave

for human1 pose11-pose33-pose77-..... represents walking
for human2 pose31-pose33-pose77-..... represents walking
for human3 pose11-pose77-pose77-..... represents walking
for human20 pose11-pose33-pose11-..... represents walking

我使用上面的向量在 Matlab 中训练 SVM 和神经网络..

现在我用它来测试测试图像。我再次对测试图像进​​行了分段姿势。

对于 MATLAB 中测试集和训练集的向量大小; SVM 和神经网络需要相同的向量大小。使其发挥作用;
如果我附加 0(假设它像 pose0 - 这是一个无效的姿势),为了使大小相等,我的性能非常好。
如果我在开头复制初始姿势并将它们附加到末尾,直到大小相等,性能就会降低。

例如;

train set: pose1-pose2-pose4-pose7-pose2-pose4-pose7
(1st method)test set: pose3-pose1-pose4-0-0-0-0 or
(2nd method)test set: pose3-pose1-pose4-pose3-pose1-pose4-pose3

我希望使用第二种方法有更好的分类,因为附加值是姿势的实际值。但 pose0 并不是真正的姿势。

你有什么想法吗?问候

最佳答案

在您的情况下,您的数据由实例集合组成,每个实例具有多个特征(姿势槽,如 PoseSlot1、PoseSlot2、...、PoseSlotN)和类值(挥手、运行或步行) )。

您的问题是,所有类别的特征数量并不相同,例如,运行有 7 个姿势,而步行有 3 个姿势。

处理此类问题的标准方法是通过缺失值标记这些空槽,假设您的机器学习算法可以处理缺失值。

f1     f2    f3    f4    f5    f6    f7    class
-------------------------------------------------
pose1,pose2,pose4,pose7,pose2,pose4,pose7,running
pose3,pose1,pose4, ?, ?, ?, ?,walking

现在,您使用的附加 pose0 的第一种方法是使用 ? 来表示缺失值的简化(类似于添加新姿势来表示缺失值,而不是显式 ? 值)

另一种重复值的方式实际上会产生问题,而不是解决问题,如果你仔细想想的话。你实际上是在创建相关的特征,并且如你所知,大多数机器学习算法在一组独立的特征上效果最好(通常通过执行特征选择作为预处理步骤来解决)

关于matlab - 数据分类:sizes of training and test vectors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2047943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com