Machine learning 多曲线特征提取

Machine learning 多曲线特征提取,machine-learning,svm,feature-extraction,feature-selection,Machine Learning,Svm,Feature Extraction,Feature Selection,我从不同的传感器得到了多条曲线,但都附着在同一个运动物体上 现在我想从中提取特征,假设我将0-10切割为window1,因此在window1中我得到了5个图形,每个图形表示特定位置的一个传感器,每个传感器生成3条曲线,x(红色)、y(绿色)和z(蓝色),如下所示: **整个图形是一个窗口 由于所有传感器都连接在同一个移动对象中,我认为这些图形和曲线应该具有一些关系,我可以将其用作机器学习算法(特别是SVM)中使用的特征。但是他们太多了,我有点迷路了 我可以从这个窗口生成多少合理的功能 非常感谢你

我从不同的传感器得到了多条曲线,但都附着在同一个运动物体上

现在我想从中提取特征,假设我将0-10切割为window1,因此在window1中我得到了5个图形,每个图形表示特定位置的一个传感器,每个传感器生成3条曲线,x(红色)、y(绿色)和z(蓝色),如下所示:

**整个图形是一个窗口

由于所有传感器都连接在同一个移动对象中,我认为这些图形和曲线应该具有一些关系,我可以将其用作机器学习算法(特别是SVM)中使用的特征。但是他们太多了,我有点迷路了

我可以从这个窗口生成多少合理的功能


非常感谢你的建议。。谢谢

您可以通过求解

以下是您给我的五个欧拉角数组(它们存储在
arr[0]
arr[4]
的169x3 numpy数组中):

现在,我们通过以下Python例程解决正交Procrustes问题,该例程允许我们旋转其中一个数组以尽可能接近地匹配另一个数组:

def rotate_into(arr0, arr1):
    """Solve orthogonal Procrustes problem"""
    M = dot(arr0.T, arr1)
    (U,S,V) = svd(M)
    Q = dot(U, V)  # the rotation matrix which transforms arr0 into arr1
    return arr0.dot(Q)
svd
是奇异值分解,存在于
numpy.linalg.svd
中。现在,我们可以将此例程应用于每个数组,并将其转换为尽可能接近参考数组,这里是第一个:

reference = 0

for i in range(0,5):
    subplot(2,3, i+1)
    plot(rotate_into(arr[i], arr[reference]))


现在,所有序列都是可比较的,通过取平均值、标准偏差等,您可以很容易地从中计算特征。

什么是“切割0-10”,这是指时间吗?这些是速度曲线还是位置?你对这些数据的总体任务是什么?是的,0-10以秒为单位,它们是加速度计读数,总体任务是检测运动模式。同时,我也得到了整个欧拉角的数据。所以基本上,所有这些读数都描述了相同的运动,只是在不同的坐标系中?听起来像是解决正交普罗克斯特问题的工作。没错!它们在同一个对象中,但在不同的坐标系中,我已经计算了尽可能多的特征,对于单个曲线,包括它们各自的fft,但我认为它们在不同坐标系之间一定有某种联系,因为我的数学很差,我只计算每个坐标系的xyz,这是它们的卷积结果,我不确定这是否有帮助,也许我可以用这个结果计算不同坐标系之间的相关系数。你想把这些数据上传到某个地方吗?我想我知道如何匹配它们,但不尝试就很难知道……cfh,你是天才,非常感谢你深入挖掘我的问题。我相信你是对的,但有几点我还是不明白:第一,正交普罗克斯特是否改变了原始的物理性质?因为被改变的结果似乎都改变了。第二,为什么它适合包含多个坐标系的系统?第三:因为我将这个窗口与另一个窗口进行比较,我是否应该通过将我拥有的每条曲线相加来计算整个平均值或标准偏差?@Yank:在你的设备中,所有传感器都有不同的物理方向。解决Procrustes问题试图为每个传感器找到一个旋转矩阵
Q
,这样,当传感器数据被它旋转时,它尽可能接近参考数据,在我的示例中,参考数据只是第一个传感器。效果类似于您设备中的所有运动传感器一开始都是以相同的方向安装的。@Yank:我应该提到,如果您想比较不同的窗口,最好先为每个传感器计算一次正确的旋转矩阵
Q
,而不是每个窗口都进行更改。如果您希望现在可以简单地将所有5个传感器平均在一起以获得功能,或者如果这对您的数据很重要,您可以将传感器分开。这种方法让我大吃一惊。在我看到你的答案之前,我从未想过这个问题会让我解决系统设计中的另一个大问题。以下是我对这种转换的理解:由于所有传感器最初都是在相同的条件下校准的(在相同的平台和方向上校准),因此我将它们连接到对象的不同位置,有些垂直,有些水平,因此它们很难获得合理的整体系统特性。在我使用您的方法进行转换后,我选择了一个参考点,每个传感器都可以被认为是在同一个坐标系中。r?我猜方向是一个重要的特征,当然是传感器之间的不同方向。这难道不能完全消除这一点吗?