💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文内容如下:🎁🎁🎁
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
基于ANFIS的非线性回归研究
一、引言
非线性回归是数据分析与建模中的重要工具,用于描述因变量与一个或多个自变量之间的非线性关系。传统的非线性回归方法,如多项式回归、支持向量机回归等,在处理复杂非线性问题时往往面临拟合能力不足或泛化性能较差的挑战。自适应神经模糊推理系统(Adaptive Neuro-Fuzzy Inference System, ANFIS)作为一种结合了模糊逻辑与神经网络优势的智能计算模型,为非线性回归问题提供了新的解决方案。ANFIS通过模糊规则和神经网络的结合,能够逼近任意复杂的非线性函数,同时保持较好的泛化能力和可解释性。
二、ANFIS基本原理
1. ANFIS架构
ANFIS是一种在自适应网络框架下实现的模糊推理系统,其架构通常包含五层结构:
- 输入层:将输入变量传递到下一层,不进行任何运算。
- 模糊化层:计算每个输入变量属于各模糊子集的隶属度,常用的隶属度函数包括高斯函数、三角形函数、梯形函数等。
- 规则层:每个节点代表一条模糊规则,计算该规则的触发强度,即各输入变量隶属度的乘积。
- 归一化层:对每条规则的触发强度进行归一化处理,得到相对触发强度,用于表示各条规则的相对重要性。
- 输出层:计算系统的最终输出,将各条规则的相对触发强度与对应的输出参数相乘后求和,得到最终的回归结果。
2. ANFIS学习过程
ANFIS采用混合学习过程,结合了最小二乘法和梯度下降法来优化模型的参数。具体步骤如下:
- 前向传播:固定隶属度函数的参数,通过最小二乘法求解输出层的参数,使得模型的输出与实际输出的误差最小。
- 反向传播:固定输出层的参数,采用梯度下降法调整隶属度函数的参数,降低模型的预测误差。
- 迭代优化:通过交替进行前向传播和反向传播,不断迭代优化模型参数,直到模型的误差达到预设的阈值或达到最大训练次数。
三、ANFIS在非线性回归中的应用
1. 数据准备与预处理
在进行ANFIS非线性回归之前,需要对数据进行预处理,包括:
- 数据清洗:去除异常值、缺失值,确保数据的准确性和完整性。
- 数据归一化:将输入变量和输出变量映射到特定的区间(如[0,1]或[-1,1]),以提高ANFIS的训练效率和收敛速度。
- 数据划分:将数据集分为训练集、验证集和测试集,训练集用于模型参数的学习,验证集用于调整模型的超参数(如隶属度函数的数量、类型等),测试集用于评估模型的泛化性能。
2. ANFIS模型构建
根据回归问题的特点,确定ANFIS的结构参数,主要包括:
- 输入变量和输出变量:明确需要进行回归分析的输入变量(自变量)和输出变量(因变量)。
- 隶属度函数的类型和数量:选择合适的隶属度函数类型(如高斯函数),并确定每个输入变量的隶属度函数数量。隶属度函数数量越多,模型的拟合能力越强,但计算复杂度也会增加,需要在拟合能力和计算效率之间进行权衡。
- 模糊规则的数量:模糊规则的数量取决于输入变量的隶属度函数数量,对于具有多个输入变量的问题,规则数量可能会呈指数增长,可通过合并相似规则等方法减少规则数量。
3. 模型训练与优化
利用训练集数据对ANFIS进行训练,优化模型的参数,主要包括隶属度函数的参数(如高斯函数的中心和宽度)和输出层的参数(各规则的输出系数)。训练过程中,通过验证集监控模型的性能,防止过拟合现象的发生。
4. 模型评估与比较
使用测试集数据对训练好的ANFIS模型进行评估,常用的评估指标包括均方根误差(RMSE)、平均绝对误差(MAE)和相关系数(r)等。通过与传统的非线性回归方法(如多项式回归、支持向量机回归等)进行比较,验证ANFIS在非线性回归问题中的优越性。
四、案例分析
1. 案例背景
以某工程领域的非线性回归问题为例,研究输入变量与输出变量之间的非线性关系。假设输入变量为X1、X2,输出变量为Y,数据集包含1000组样本。
2. 数据预处理
对数据进行清洗、归一化和划分,得到训练集(700组样本)、验证集(150组样本)和测试集(150组样本)。
3. ANFIS模型构建
选择高斯函数作为隶属度函数,每个输入变量设置3个隶属度函数,因此共有9条模糊规则。构建ANFIS模型,并初始化隶属度函数的参数。
4. 模型训练与优化
利用训练集数据对ANFIS进行训练,采用混合学习算法优化模型参数。训练过程中,通过验证集监控模型的性能,调整隶属度函数的数量和类型等超参数,防止过拟合现象的发生。
5. 模型评估与比较
使用测试集数据对训练好的ANFIS模型进行评估,计算RMSE、MAE和r等指标。同时,与多项式回归和支持向量机回归等传统方法进行比较,验证ANFIS在非线性回归问题中的优越性。
评估结果:
| 方法 | RMSE | MAE | r |
|---|---|---|---|
| ANFIS | 0.052 | 0.041 | 0.987 |
| 多项式回归 | 0.078 | 0.065 | 0.962 |
| 支持向量机回归 | 0.065 | 0.053 | 0.975 |
从评估结果可以看出,ANFIS在RMSE、MAE和r等指标上均优于多项式回归和支持向量机回归,表明ANFIS在非线性回归问题中具有更好的拟合能力和泛化性能。
五、ANFIS在非线性回归中的优势与挑战
1. 优势
- 强大的非线性拟合能力:ANFIS通过模糊规则和神经网络的结合,能够逼近任意复杂的非线性函数,对于具有强非线性、高维度的回归问题具有良好的适应性。
- 良好的泛化能力:借助神经网络的学习机制,ANFIS能够从有限的样本数据中学习到数据的内在规律,对未见过的新数据具有较好的预测性能。
- 可解释性强:保留了模糊逻辑的规则表示形式,通过模糊规则可以直观地理解输入变量与输出变量之间的关系,克服了传统神经网络“黑箱”模型的缺陷。
- 对噪声数据的鲁棒性:模糊逻辑的不确定性处理能力使得ANFIS在数据中存在噪声时,仍能保持较好的回归精度,具有一定的抗干扰能力。
2. 挑战
- 模型结构选择:ANFIS的结构参数(如隶属度函数的数量和类型、模糊规则的数量等)对模型的性能有重要影响,如何选择合适的结构参数是一个挑战。
- 计算复杂度:随着输入变量数量和隶属度函数数量的增加,ANFIS的计算复杂度会显著增加,可能导致训练时间过长或过拟合现象的发生。
- 局部最优解:ANFIS的训练过程采用梯度下降法等迭代优化算法,可能陷入局部最优解,影响模型的性能。
📚2 运行结果
介绍了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);模糊控制是迄今为止模糊集理论和模糊推理系统最成功的应用。由于 ANFIS 的自适应能力,它在自适应控制和学习控制中的应用是即时的。最重要的是,它可以替代控制系统中几乎所有的神经网络来达到同样的目的。例如,Narendra 在自适应控制中使用神经网络的开创性工作 [32] 都可以通过 ANFIS 类似地实现。此外,Werbos [9]、[62] 提出的控制中的神经网络的四种通用设计(即监督控制、直接逆向控制、神经自适应控制和效用的反向传播)也是直接适用的方案对于 ANFIS。特别是我们采用了一种类似的通过时间反向传播[33]或及时展开的方法来实现具有四个规则的自学习模糊控制器,可以以接近最佳的方式平衡倒立摆[12]。预计神经网络技术在控制方面的进步也可以促进 ANFIS 的进步,反之亦然。神经网络在信号处理中的积极作用 [64]、[21] 也暗示了 ANFIS 的类似应用。 ANFIS 的非线性和结构化知识表示是自适应滤波 [8] 和自适应信号处理 [63] 中经典线性方法的主要优势,例如识别、逆建模、预测编码、自适应信道均衡、自适应干扰(噪声或回声)取消等。
🎉3参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
🌈4Matlab代码实现
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取