基于 ANFIS 的非线性回归(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

👨‍🎓博主课外兴趣:中西方哲学,送予读者:

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

目录

1 概述

3 运行结果

 3 结论

4 参考文献

5 Matlab代码实现


1 概述

介绍了ANF’IS(基于自适应网络的模糊推理系统)的架构和学习过程,它是在自适应网络框架下实现的模糊推理系统。通过使用混合学习过程,所提出的 ANFIS 可以基于人类知识(以模糊 if-then 规则的形式)和规定的输入-输出数据对构建输入-输出映射。在仿真中,ANFIS 架构用于对非线性函数进行建模,在线识别控制系统中的非线性组件,并预测混沌时间序列,所有这些都产生了显着的结果。列出并讨论了与人工神经网络的比较和早期关于模糊建模的工作。还建议了对所提议的 ANFIS 的其他扩展以及对自动控制和信号处理的有希望的应用。

详细文章:

clc;
clear;
close all;

%% 创建时间序列数据

data = load('engine_data');

% 关于数据集介绍
% 输入:
%     1. 燃料消耗率
%     2. 速度
% 目标:
%     1. 扭矩
%     2. 一氧化二氮排放

Inputs = data.Inputs';
Targets = data.Targets';

nData = size(Inputs,1);

Targets = Targets(:,2); % 选择第一个输出模型
%% 切换数据

PERM = randperm(nData); % 随机排列数据

pTrain=0.85;
nTrainData=round(pTrain*nData);
TrainInd=PERM(1:nTrainData);
TrainInputs=Inputs(TrainInd,:);
TrainTargets=Targets(TrainInd,:);

pTest=1-pTrain;
nTestData=nData-nTrainData;
TestInd=PERM(nTrainData+1:end);
TestInputs=Inputs(TestInd,:);
TestTargets=Targets(TestInd,:);

%% FIS生成方法的选择

Option{1}='Grid Partitioning (genfis1)';
Option{2}='Subtractive Clustering (genfis2)';
Option{3}='FCM (genfis3)';

ANSWER=questdlg('Select FIS Generation Approach:',...
                'Select GENFIS',...
                Option{1},Option{2},Option{3},...
                Option{3});
pause(0.01);

3 运行结果

 

 3 结论

模糊控制是迄今为止模糊集理论和模糊推理系统最成功的应用。由于 ANFIS 的自适应能力,它在自适应控制和学习控制中的应用是即时的。最重要的是,它可以替代控制系统中几乎所有的神经网络来达到同样的目的。例如,Narendra 在自适应控制中使用神经网络的开创性工作 [32] 都可以通过 ANFIS 类似地实现。此外,Werbos [9]、[62] 提出的控制中的神经网络的四种通用设计(即监督控制、直接逆向控制、神经自适应控制和效用的反向传播)也是直接适用的方案对于 ANFIS。特别是我们采用了一种类似的通过时间反向传播[33]或及时展开的方法来实现具有四个规则的自学习模糊控制器,可以以接近最佳的方式平衡倒立摆[12]。预计神经网络技术在控制方面的进步也可以促进 ANFIS 的进步,反之亦然。神经网络在信号处理中的积极作用 [64]、[21] 也暗示了 ANFIS 的类似应用。 ANFIS 的非线性和结构化知识表示是自适应滤波 [8] 和自适应信号处理 [63] 中经典线性方法的主要优势,例如识别、逆建模、预测编码、自适应信道均衡、自适应干扰(噪声或回声)取消等。

4 参考文献

部分理论引用网络文献,如有侵权请联系删除。

https://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=256541

5 Matlab代码实现

 

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ANFIS(Adaptive Neuro-Fuzzy Inference System)是一种基于模糊推理和神经网络的自适应系统。它是将模糊推理和神经网络结合起来,以提供更精确的预测和决策能力。 MATLAB提供了ANFIS工具箱,可以使用MATLAB实现ANFIS算法。 ANFIS实现步骤如下: 1. 收集训练数据:首先需要收集一系列的训练数据,包括输入和对应的输出。 2. 设计模糊推理系统:使用模糊集合和模糊规则来描述输入和输出之间的关系。可以通过模糊化输入和输出、设置模糊集合的隶属函数和设计模糊规则来实现。 3. 初始化参数:使用随机数或者其他方法初始化ANFIS的参数,包括隶属函数参数和规则权重。 4. 训练ANFIS:使用训练数据对ANFIS进行训练,更新参数使得模型的误差最小化。可以使用梯度下降或者其他优化算法来最小化误差。 5. 测试和验证:使用测试数据评估训练好的ANFIS模型的性能,并进行调整和优化。 6. 预测和决策:使用训练好的ANFIS模型进行预测和决策。 MATLAB提供了ANFIS工具箱,可以使用fisedit命令来设计模糊推理系统,使用genfis和genfis1命令来生成模糊规则,使用anfis命令来训练和优化ANFIS模型。 总之,ANFIS是一种基于模糊推理和神经网络的自适应系统,使用MATLAB可以很方便地实现ANFIS算法,通过收集训练数据、设计模糊推理系统、初始化参数、训练ANFIS、测试和验证以及预测和决策等步骤来完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝科研社

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

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

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

打赏作者

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

抵扣说明:

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

余额充值