【问题标题】:Growing Self-Organizing Map for mixed-type data混合类型数据的增长自组织图
【发布时间】:2013-10-22 15:41:03
【问题描述】:

我正在尝试编写代码来为混合类型数据构建不断增长的 SOM。我遇到了一篇论文《Growing Self-Organizing Map with cross insert for mixed-type data》(http://www.sciencedirect.com/science/article/pii/S1568494612001731)。它非常有趣,并以统一的方式处理分类数据和数字数据。但是,我的数据集具有可以具有多个值的变量/属性(例如:属性“兴趣”可以具有多个值 - 电影、体育等等......)。我被困在处理这些属性上。任何输入如何处理具有混合类型数据集中值集的属性?非常感谢您参考讨论此问题的材料。

【问题讨论】:

    标签: machine-learning self-organizing-maps


    【解决方案1】:

    在神经网络中使用分类属性时的一种常见做法是将属性分解为多个二元属性(真/假),一个对应于分类属性的每个属性值。例如,如果您的属性“interests”的值为“movies”、“sports”、“cooking”,那么您会将其拆分为三个属性,每个属性一个,值为 0/1 的电影,值为 0/1 的运动和烹饪值 0/1。唯一可以避免这种拆分的情况是属性值可以排序并因此转换为单个数字属性。例如,如果您有一个关于质量的属性,其值为差、中和好,那么您只需将这些值映射到数字 0、1、2 或类似的值。您不能对“兴趣”之类的属性做同样的事情,因为如果您将 0 分配给电影,将 1 分配给运动,将 2 分配给烹饪,那么您认为运动比电影更类似于烹饪,这当然是错误的。 当您的分类属性有很多可能的值而不仅仅是三个时,不幸的是,事情变得非常糟糕。

    https://stats.stackexchange.com/questions/21770/encoding-categorical-features-to-numbers-for-machine-learning

    http://www.mathworks.com/support/solutions/en/data/1-8H0STM/index.html

    谷歌

    机器学习将分类转换为数字

    你会发现很多资源和可能的优化问题。

    【讨论】:

    • 感谢您的回复!我的评论太长,无法放在一条评论中,所以我将它分成多个 cmets:我实际上试图找到一种比将分类变量转换为二进制更优雅的方法。正如您所提到的,这会爆炸数据集的维度。假设我采用这种方法,还有另一个潜在的问题。我正在尝试使用 SOM 进行集群。训练 SOM 并部署到生产环境后,如果我得到一个以前没有见过的属性的新值怎么办?
    • 这个新值将是另一个二进制列,在我训练 SOM 之前它不存在。现在我在输入数据对象中有一个额外的属性,我如何计算到地图单位的距离并识别 BMU?我应该如何调整 BMU 及其邻域的权重?我应该在适应时将此新列添加到原型权重吗?我引用了徐博士的论文,因为通过将属性转换为距离层次结构,数据集的维度没有改变。 cntd...
    • 即使我遇到了属性的新值,我也可以简单地更新距离层次结构并将属性映射到层次结构中的一个点。但是问题在于我的几个属性具有一组值而不是单个值。
    猜你喜欢
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2014-04-28
    • 2018-05-12
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2021-12-15
    相关资源
    最近更新 更多