SVM 机器学习 - 如何在训练集中定义目标?
SVM machine learning - How to define the target in the training set?
我正在从事一个必须实施 SVM 机器学习算法的项目。我正在尝试预测前臂运动意图。我正在使用加速度计(附在我的前臂上)来测量 x、y、z 轴的角度变化。我以前从未使用过机器。我遇到的问题是我不完全知道如何构建训练集。我知道每个轴的角度变化,我知道如果 x=45
度、y = 65
度、z=30
度我执行的手势是屈曲。我想实现 3 gestures.So 我拥有的数据是:
x y z Target
20 60 90 flexion
100 63 23 internal rotation
89 23 74 twist
。
.
.
.
我有一个包含大约 2000 个条目的文件。我知道,我必须对训练集进行标准化,以便对数据进行缩放。我想缩放它,使它们在 [0.9, 0.1]
范围内。问题是我不知道如何在我的训练集中表示目标。我可以只使用随机数作为屈曲 1,内旋 2,扭转 3 吗?
此外,一旦训练完成,我可以仅根据 x、y、z 的值进行预测吗??无需提供目标值。我的理解对吗??
首先,我建议您不要缩放或编码您的数据。以人类可读的形式保留它。相反,编写前端例程来执行这些任务,并编写后端例程来反转该过程。也有可以在内部表格中显示数据的内部例程。预先做这些将大大提高你以后的调试能力。
是的,您可能希望将 classifications 编码为 1、2、3。另一种可能性是使用 "one-hot" 有序三元组:(1,0,0) 或 ( 0,1,0) 或 (0,0,1)。但是,大多数 SVM 算法都是为标量输出设置的。另外,请注意,多 class 算法的典型处理方法是 运行 三个独立的 SVM 计算,"one against all"。对于每个 class,您将 class 作为 "plus" 数据,将所有其他数据作为 "minus" 数据。
缩放数据对于回归收敛很重要。如果您通过支持向量的完整和直接计算来构建 SVM,则不需要缩放兼容范围内的数字,例如这些。如果您通过某种迭代近似来完成它,您仍然不需要它来获取这些数据——但请记住它以备将来使用。
是的,预测仅给出输入:x、y、z。它将return目标class化。这就是监督学习的目的:总结经验,class成就未来。
我正在从事一个必须实施 SVM 机器学习算法的项目。我正在尝试预测前臂运动意图。我正在使用加速度计(附在我的前臂上)来测量 x、y、z 轴的角度变化。我以前从未使用过机器。我遇到的问题是我不完全知道如何构建训练集。我知道每个轴的角度变化,我知道如果 x=45
度、y = 65
度、z=30
度我执行的手势是屈曲。我想实现 3 gestures.So 我拥有的数据是:
x y z Target
20 60 90 flexion
100 63 23 internal rotation
89 23 74 twist
。 . . .
我有一个包含大约 2000 个条目的文件。我知道,我必须对训练集进行标准化,以便对数据进行缩放。我想缩放它,使它们在 [0.9, 0.1]
范围内。问题是我不知道如何在我的训练集中表示目标。我可以只使用随机数作为屈曲 1,内旋 2,扭转 3 吗?
此外,一旦训练完成,我可以仅根据 x、y、z 的值进行预测吗??无需提供目标值。我的理解对吗??
首先,我建议您不要缩放或编码您的数据。以人类可读的形式保留它。相反,编写前端例程来执行这些任务,并编写后端例程来反转该过程。也有可以在内部表格中显示数据的内部例程。预先做这些将大大提高你以后的调试能力。
是的,您可能希望将 classifications 编码为 1、2、3。另一种可能性是使用 "one-hot" 有序三元组:(1,0,0) 或 ( 0,1,0) 或 (0,0,1)。但是,大多数 SVM 算法都是为标量输出设置的。另外,请注意,多 class 算法的典型处理方法是 运行 三个独立的 SVM 计算,"one against all"。对于每个 class,您将 class 作为 "plus" 数据,将所有其他数据作为 "minus" 数据。
缩放数据对于回归收敛很重要。如果您通过支持向量的完整和直接计算来构建 SVM,则不需要缩放兼容范围内的数字,例如这些。如果您通过某种迭代近似来完成它,您仍然不需要它来获取这些数据——但请记住它以备将来使用。
是的,预测仅给出输入:x、y、z。它将return目标class化。这就是监督学习的目的:总结经验,class成就未来。