• [Pattern Recognition] Self-organization maps (SOM) 自组织映射算法


    简介

    SOM算法,是硕士课程《模式识别》中,”聚类“章节中,一个知识点。

    鉴于我们的教材写的稀烂,中文博客的内容基本上就是抄来抄去,难得有个原创的,专业术语乱飞,不是人类的语言,根本看不懂。

    因此,在之后的内容,我会用非常不严谨的方式,去描述一下这个算法,到底在作什么妖。

    另外,这些链接可能也对你理解有帮助:

    很灵性人大的示例:https://blog.csdn.net/wangxin110000/article/details/22150557

    公式写的很简洁,并且有代码可以参考:https://zhen8838.github.io/2018/11/07/som/

    解释

    SOM在搞什么?

    自组织映射算法,这个译名看起来高大上,白话的意思是:我们自己动-找对应关系-算法。

    类似:一个老师分出了四波学生和四个学生代表,让他们自己想主意(自组织),最终能让一个代表管一波学生(对应关系)。

    怎么搞?

    输入:n个d维的向量。

    n代表数量,比如学生数量。

    d维代表特征,指的是单一学生的性质,性别,身高,体重之类的。

    输出:m个圈圈(神经),或者排成一个阵,或者是一列。

    我们一般搜索到的神经元结构图,下层的那些小圆点,都代表一个数据的不同特征

    上层的神经元圈圈,是输出。

    在这个算法中,重要的是中间的连线!

    这个是常见的图1,输出是一个阵

     这是常见的图2,输出是一个一维串

    一次输入d维,每一个输出点,都藏着独有的d个权重,只要 输入 和 权重 结合,那么就能得到输出点。

    这个算法核心是,我拿来一个输入(d个特征),去试着匹配每个输出的权重(d个权重/输出),用欧几里得距离。如果逮着了个最近的权重,那么我去更新这个权重,让它朝着此刻的输入点方向靠近。

    和k聚类不同的是,一个靠近权重,一个靠近输出点。

    SOM就好像是,每个人轮流去拿一把武器,如果A觉得武器1最趁手,那么武器1的形状就会向着A的手性改变,而B觉得武器1也挺好,那么武器1也会朝着B的手型改,但是C觉得武器1的手感就是shit,所以武器1不会去匹配C的手型。到最后,武器1就能够大体概括A和B这两个人的手型,他俩人就属于同一个类型了。

  • 相关阅读:
    Constraint.constant动画效果
    poj3469 Dual Core CPU --- 最小割
    开发Blog整理
    Android 四大组件学习之BroadcastReceiver四
    在光标处插入指定文本(支持文本域和文本框)
    图片显示插件
    Extjs4 自定义组件
    Windows英文版GitHub客户端使用操作流程图文攻略教程现没中文版
    innerHTML和innerText怎么区分
    button和input type=button的区别及注意事项
  • 原文地址:https://www.cnblogs.com/kykai/p/12541644.html
Copyright © 2020-2023  润新知