机器学习中的ART神经网络的简单介绍

1,ART

在这里插入图片描述

2,基本原理

在这里插入图片描述
在这里插入图片描述

3,计算过程

在这里插入图片描述

4,完成Python案例

(1)ART1网络二值输入

import numpy as np

class ART1:
    def __init__(self, rho=0.5, beta=0.5):
        self.rho = rho  # 匹配阈值
        self.beta = beta  # 学习率
        self.W = None  # 类别原型矩阵
        self.categories = 0  # 当前类别数

    def fit(self, X):
        n_samples, n_features = X.shape
        self.W = np.zeros((0, n_features))  # 初始化空类别

        for x in X:
            x_norm = x / np.sum(x)  # L1归一化
            if self.categories == 0:  # 第一个样本
                self.W = np.vstack([self.W, x_norm])
                self.categories += 1
            else:
                # 计算相似度
                similarities = np.dot(self.W, x_norm) / (np.sum(self.W, axis=1) + 1e-8)
                i_star = np.argmax(similarities)

                if similarities[i_star] >= self.rho:
                    # 更新类别原型
                    self.W[i_star] = self.beta * x_norm + (1 - self.beta) * self.W[i_star]
                else:
                    # 创建新类别
                    self.W = np.vstack([self.W, x_norm])
                    self.categories += 1

    def predict(self, X):
        predictions = []
        for x in X:
            x_norm = x / np.sum(x)
            similarities = np.dot(self.W, x_norm) / (np.sum(self.W, axis=1) + 1e-8)
            i_star = np.argmax(similarities)
            predictions.append(i_star)
        return np.array(predictions)

# 示例数据
X = np.array([
    [1, 0, 1, 0],
    [1, 1, 0, 0],
    [0, 0, 1, 1],
    [0, 1, 0, 1]
])

# 训练ART1网络
art = ART1(rho=0.6, beta=0.5)
art.fit(X)

# 预测
predictions = art.predict(X)
print("类别分配:", predictions)

在这里插入图片描述

5,Python案例的数学解释

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完整数学运算过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是梦磊OL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值