【问题标题】:Feature extraction for multiple sub-features多个子特征的特征提取
【发布时间】:2017-09-12 23:10:27
【问题描述】:

我想对包含子特征的数据集进行一些特征提取(或聚类)。 例如,数据集如下所示。目标是使用数据对机器人的类型进行分类。

Samples : 100 robot samples [Robot 1, Robot 2, ..., Robot 100]
Classes : 2 types [Type A, Type B]
Variables : 6 parts, and 3 sub-features for each parts (total 18 variables)
[Part1_weight, Part1_size, Part1_strength, ..., Part6_size, Part6_strength, Part6_weight]

我想用[重量、尺寸、强度]进行特征提取,并将提取的特征作为零件的代表值。

简而言之,我的目标是将特征减少到 6 个 - [Part1_total, Part2_total, ..., Part6_total] - 然后用这 6 个特征对机器人的类型进行分类。因此,将“重量”、“尺寸”和“强度”组合起来的特征是要解决的问题。

首先我想到了应用PCA(主成分分析),因为它是最流行的特征提取算法之一。但它会分别考虑所有 18 个特征,因此可以认为“Part1_weight”比“Part2_weight”更重要。但我要知道的是样本中“重量”、“尺寸”和“强度”的重要性,所以PCA似乎不适用。

有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: machine-learning pca feature-extraction feature-selection


    【解决方案1】:

    如果您希望每个部分只有一个特征,我认为除了部分地执行特征缩减之外别无他法。但是,可能有比简单 PCA 更好的选择。例如,如果零件大部分是实心的,它们的重量很可能与尺寸的三次方相关,因此您可以在执行 PCA 之前取重量的立方根或尺寸的立方。或者,您可以取两个值的对数,这又会导致线性相关性。

    当然,您可以使用更多花哨的转换。在统计学中,Box-Cox Transformation 用于实现数据的正常分布。

    您还应该考虑在执行 PCA 之前对转换后的数据进行归一化,即减去平均值并除以每个变量的标准差。它将消除测量单位的影响。 IE。用公斤、原子单位或太阳质量来衡量重量都没有关系。

    【讨论】:

    • 感谢您的建议。但是,单独执行 PCA 很容易(即 PCA 到 Part1_size,Part1_strength,Part1_weight 为 Part1 提取特征,PCA 到 Part2_size,Part2_strength...每个子特征(即 PCA 到常见的 Parts_size、Parts_strength、Parts_weight 用于每个部分的特征提取)。你对此有什么想法吗?
    • 我不明白问题的第二个(困难的)部分。您是否试图将尺寸、重量和强度结合到一个特征中?在这种情况下,由于它们以不同的单位和不同的尺度进行测量,因此您必须对它们进行标准化。
    • 对不起,我有点困惑,但现在我明白了。谢谢你的回答。
    【解决方案2】:

    如果零件编号使它们彼此不同(例如,零件 1 与零件 2 不同,无论它们的尺寸、重量、强度参数是否相同),您可以对每个零件进行一次 PCA。仅使用当前零件的尺寸、重量和强度作为当前 PCA 中的参数。

    或者,如果 Parts 数组顺序无关紧要,您可以只使用所有(尺寸、重量、强度)参数三元组来执行一个 PCA,而不是通过它们的部件号来区分它们。

    【讨论】:

      猜你喜欢
      • 2011-01-10
      • 2022-04-26
      • 2011-07-25
      • 2015-08-16
      • 2019-05-26
      • 2021-10-23
      • 2014-01-03
      • 2019-06-13
      • 2016-10-11
      相关资源
      最近更新 更多