数学建模|竞争学习

本文介绍了竞争学习算法的原理,强调了网络中输出神经元间的竞争和抑制作用。并详细阐述了算法的三个步骤:向量归一化、寻找优胜神经元以及网络输出与权值调整。同时提供了代码实现的概要。
摘要由CSDN通过智能技术生成

目录

1 竞争学习算法原理

  • 竞争学习的关键就在于网络中存在抑制层。
  • 输出神经元之间的竞争
  • 网络在神经元之间可能包括反馈连接
  • 每个神经元都倾向于抑制跟他同一层的神经元。相比之下,网络中的前馈的突触连接都是兴奋的。
    在这里插入图片描述
    在这里插入图片描述

2 代码实现

三个步骤:
{1}向量归一化
{2}寻找优胜神经元:当网络得到一个输入模式时,竞争层所有的神经元对应的权值向量Wj(i=1,2,3…m)均与X进行比较,将与X最为相似的Wi判定为获胜神经元。测量相似性的方法是对Wi与X计算欧式距离(或夹角余弦)。
在这里插入图片描述
在这里插入图片描述

{3}网络输出与权值调整

以下:
一、竞争网络

import numpy as np

def sigmoid(x,derivative=False):#激活函数
    return 1/(1+np.exp(-x))

def normalization(M):
    """
    对行向量进行归一化
    :param M:行向量:【dim=len(M)】
    :return: 归一化后的行向量M
    """
    M=M/np.sqrt(np.dot(M,M.T))	# np.dot()是向量内积
    return M

def normalization_all(N):
    """
    对矩阵进行归一化
    :param N: 矩阵:【m,n】
    :return: 归一化后的矩阵M_all:【m,n】
    """
    M_all=[]
    for
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值