Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 数据分类:训练和测试向量的大小

我有一个决定人是在挥手,跑步还是走路的应用程序。我的想法是我将一个动作(如手波)按其姿势分段。比方说

例;

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是使用?的简化?用于缺失值(类似于添加新姿势来表示缺失值,而不是显式?值)

重复值的另一种方法实际上会产生一个问题,而不是解决一个问题。实际上,您正在创建相关的功能,并且您知道,大多数机器学习算法在一组独立的功能上效果最佳(通常由执行特征选择作为预处理步骤)



更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 05:22


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.