【机器学习算法笔记】5. 自组织映射SOM

自组织映射是一类非监督学习算法
自组织原则:

  • 1、自增强:如果两个神经元是同时激活的,则突触强度会选择性地增强;如果是异步激活的,突触强度会减弱
  • 2、竞争原则:可用资源的局限使得最强健增长的突触是以其他神经元作为代价的
  • 3、协作:在神经元级别中,对突触权值的修改趋于互相合作。
  • 4、结构化信息:在一个输入信号中存在的潜在次序和结构代表了冗余信息,其通过自组织系统以知识的形式获得

5.1 Hebb神经元

Hebb算法核心思想是,当两个神经元同时处于激发状态时两者间的连接权会被加强,否则被减弱。
根据假设:当突触信号x同后突触信号y一致时,突触权值会增强:

为了防止权重无限增大,需要归一化:

Hebb神经元的结构:

Hebb神经元能形成关于输入分布第一个主分量的滤波器。

5.2 自组织映射SOM

自组织映射源于竞争学习,利用到了Hebb神经元结构。典型的SOM结构:

5.2.1 竞争学习算法步骤:

1、输入向量x,同各神经元权重都归一化
2、每次输入都有一个获胜神经元(输入向量与神经元权重向量的内积最大)
3、获胜神经元输出1,其余输出0,只有获胜神经元才能调整权重

结果:使得获胜神经元调整权重Wj,使其进一步向当前输入向量X靠近,当下次出现与X相像的输入模式时,上次的神经元更容易获胜。在反复的竞争学习中,竞争层的各神经细胞对应的权值逐渐被调整为输入样本空间的聚类中心。
SOM只有两层:输入层和竞争层,但竞争层神经元的排列有多种形式:一维线阵、二维平面、三维栅格等等。

5.2.2 自组织映射网(SOFM)

SOM分为训练阶段和工作阶段:
1、训练阶段,权向量被训练为输入样本空间的聚类中心。
2、在工作阶段,当输入向量与某个竞争层的内星权值相似时,自然会被分到对应的聚类上去。
因此SOFM可用作模式分类器。注意当输入模式在训练集中从未出现过时,SOFM网只能将它归入最接近的模式分类中去。

1. 权值初始化问题:
初始权向量也不能完全均匀地随机分布,而应该与输入样本的大致区域充分重合。
一种简单易行的方法是从训练集中随机抽取m个输入样本作为初始权值。
另一种方法是先计算全体输入向量的质心,再在质心的基础上叠加小随机值作为初始权向量。

2. 权值调整方法:
在胜者为王基础上改进的,即优胜领域内的神经元都可以调整权值。理论上应该是离胜者越近,学习率的越大,但是为简化计算,实际中优胜领域内一般取相同的学习率。优胜领域开始定的很大,随着训练次数的增加,最终应该收缩到0。

3. 优胜领域的设计:
优胜领域的设计原则是不断缩小,通常凭借经验,下面给出两种计算方法:

C1是与竞争层神经元个数m有关的正常数,B1是大于1的常数,tm为预选定的最大训练次数。

4.学习率的设计:
η(t)在训练开始时取很大,之后快速下降,这样有利于快速捕捉到输入向量的大致结构。然后η(t)又在较小的值上缓降至趋于0的值,这样可以精细地调整权值,使之符合输入空间的样本分布结构。比如可用下式

或者就让η(t)随时间线性下降至0

5. 输出层的设计:
在未知样本类别数目的情况下,输出层细胞数目设计偏多偏少都不好。在这种情况下,宁可先设计较多的输出神经元,以便地映射样本的拓扑结构,如果分类过细再酌情减少输出神经元。输出神经元过多带来的“死神经元”问题(在训练过程中某神经元从未获胜过且远离其他获胜神经元,因而权值从未调整过)一般可通过重新初始化权值得到解决。
输出神经元的排列结构一般要反应实际问题的物理意义。例如对于旅行商问题,二维平面比较直观;对于一般分类问题,一维线阵意义明确且结构简章;对于机械手臂控制问题,用三维栅格更能反应其空间轨迹特征。

5.2.3 SOFM的作用

  • 1、保序映射。即将输入空间的样本模式类有序地映射在输出层上。
  • 2、数据压缩。即将高维空间样本在保持拓扑结构不变的情况下映射到低维空间。SOFM在这方面有明显优势。无论输入空间样本有多少维,都可以在SOFM输出层的某个区域得到响应。
  • 3、特征提取。高维空间的向量经过特征提取后可以在低维特征空间得到更清晰的表达,因此映射不仅是单纯的数据压缩,更是一种规律的发现。

【机器学习算法笔记】5. 自组织映射SOM相关推荐

  1. python决策树 value_机器学习 | 算法笔记(四)- 决策树算法以及代码实现

    概述 上一篇讲述了<机器学习 | 算法笔记(三)- 支持向量机算法以及代码实现>,本篇讲述机器学习算法决策树,内容包括模型介绍及代码实现. 决策树 决策树(Decision Tree)在机 ...

  2. 机器学习算法笔记——P22 sklearn—LASSO算法

    机器学习算法笔记--P22 sklearn-LASSO算法 #!/usr/bin/env python # coding: utf-8# In[1]:import numpy as np from n ...

  3. 白话机器学习算法——笔记

    白话机器学习算法--笔记 第一章 1 数据准备 数据格式 (一般为表格) 变量类型 变量选择 特征工程 降维 缺失数据的处理 2 选择算法 3 参数调优 4 评价模型 总结 第二章 k均值聚类 1 迭 ...

  4. 机器学习算法笔记(零)

    机器学习算法笔记(零) 简介 机器学习的定义:对于某类任务 T 和性能度量 P,一个计算机程序被认为可以从经验 E 中学习是指,通过经验 E 改进后,它在任务 T 上由性能度量 P 衡量的性能有所提升 ...

  5. 机器学习 | 算法笔记- 集成学习(Ensemble Learning)

    前言 本系列为机器学习算法的总结和归纳,目的为了清晰阐述算法原理,同时附带上手代码实例,便于理解. 目录 k近邻(KNN) 决策树 线性回归 逻辑斯蒂回归 朴素贝叶斯 支持向量机(SVM) 组合算法( ...

  6. 机器学习算法笔记-聚类

    聚类算法 k-means聚类 k-means的基本概念 不稳定结果 评价指标 参数k如何选择 基于kmeans的图像分割 基于kmeans的半监督学习 DBSCAN聚类 DBSCAN的基本概念 如何选 ...

  7. 【机器学习算法笔记系列】逻辑回归(LR)算法详解和实战

    逻辑回归(LR)算法概述 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法. 逻辑 ...

  8. 机器学习算法——笔记DAY1

    什么是机器学习? 不严谨的理解:在有监督的情况下,根据对大量有效标签的数据学习--训练模型,输入进去学习的模型,不断的迭代其本身的模型参数,从而得到最终的模型. 有的将机器学习的一般流程看做是炒菜: ...

  9. 监督性机器学习算法笔记

    基础与背景 1 基本概念 2 模型的评估与过拟合 3 泛化 感知机与逻辑回归 1 感知机 11 模型 12 策略 13 算法 14 拓展 2 逻辑回归 21 二项分类模型 22 策略 23 算法 k- ...

  10. 【机器学习算法笔记系列】朴素贝叶斯(NB)算法详解和实战

    朴素贝叶斯(NB)算法概述 朴素贝叶斯(Naïve Bayes, NB)算法,是一种基于贝叶斯定理与特征条件独立假设的分类方法.朴素:特征条件独立:贝叶斯:基于贝叶斯定理.属于监督学习的生成模型,实现 ...

最新文章

  1. 熬夜都要看完的 Python 干货!
  2. 【Zookeeper】Zookeeper集群“脑裂”问题处理大全
  3. 探索 COVID-19 新冠数据来学习 Pandas
  4. ICMP Internet控制报文协议(四)
  5. small2java_java类
  6. js Date 对象用于处理日期和时间。
  7. scrum master_从Scrum Master到工程副总裁:职称为何重要
  8. 手把手教你用Vue.js封装Form组件
  9. git SourceTree 客户端 安装/使用教程
  10. 计算机病毒主要是通过什么传播,计算机病毒主要是通过什么传播
  11. Linux傻瓜式安装k8s
  12. linux 下的 C语言编程学习(1)
  13. CVPR 2021 UniT: Multimodal Multitask Learning with a Unifified Transformer
  14. LFM信号脉冲压缩仿真
  15. html输入框只能输入整数,轻松让INPUT框只能输入整数
  16. BZOJ3717: [PA2014]Pakowanie
  17. 时下热门的 AR 广告怎么做?广告创意和投放全攻略来了
  18. ASO干货丨6招解决APP上架时内购频繁被拒问题
  19. 烟雨PHP图床程序源码
  20. java服务程序假死(进程存在但请求无响应)的几种原因

热门文章

  1. 连接SQLserver数据库发生错误,提示用户sa登录失败解决方法(亲试有用)
  2. android contentprovider 生命周期,ContentProvider销毁/生命周期
  3. android 图片背景模糊,实现图片模糊(背景虚化),实现图片模糊背景
  4. Codeforces Global Round 20 A~F1题解
  5. 英文文献pdf转成中文
  6. 免费预约!百度全面开放北京地区自动驾驶出租车服务
  7. 深度学习(6): RNN
  8. Javascript农历与公历相互转换
  9. 做站源码下载地址及各类资源站点
  10. Ncurses学习经历(九)屏幕操作