我们如何决定使用哪个隶属函数?

人工智能 神经网络 超参数优化 模糊逻辑 隶属函数
2021-11-16 02:17:28

在经典集合论中,一个元素有两种选择。它要么是集合的成员,要么不是。但是在模糊集理论中,有隶属函数来定义元素作为集合成员的“比率”。换句话说,经典逻辑说它是全黑或全白的,但模糊逻辑认为还有灰色,在白色和黑色之间有阴影。

Matlab Simulink 库非常容易设计并且在实践中很有帮助。它本身就有很好的例子,比如决定晚餐的小贴士,看看服务和食品质量。在下图中,显示了来自 Matlab 库的一些不同的隶属函数:

在此处输入图像描述

我的问题:在设计模糊控制器系统时,我们如何决定使用哪个隶属函数?

我的意思是,一般来说,不仅在 Matlab Simulink 中。我已经看到三角函数高斯函数在实践中主要使用,但是我们如何确定哪个函数可以为决策提供更好的结果呢?我们是否需要训练一个神经网络来根据问题及其规则来决定哪个函数更好?其他解决方案是什么?

1个回答

首先我需要注意的是,在模糊系统中没有规定/最好的方法来选择隶属函数的形状,这就是它的模糊性。有人可能会争辩说,最好的方法是询问您将应用模糊解决方案的领域的专家,但这些方法并不总是可用的。

话虽如此,模糊隶属函数用于描述您尝试在模糊控制器中使用的变量在现实世界中的概率分布。这意味着你走进现实世界,查看你试图控制的系统,尽最大努力了解它是如何工作的并对不同的外部变化做出反应,并根据你的发现选择最适合的形状。或者,如果您愿意,可以将此过程称为启发式选择(类似这样,我不太喜欢理论)。

最重要的是,您需要意识到一件重要的事情,隶属函数的形状对最终的控制器行为没有太大影响。影响最大的部分是您在控制器中使用的模糊规则及其推理方法,但这是一个不同的主题。因此,无论您选择什么,都不会产生太大的影响。

高斯函数是最常用的,因为我们生活的世界的特点。许多人认为世界上的一切都具有高斯分布(每个人都有权发表自己的意见)。使用三角函数是因为它们是最简单的替代方案,有点类似于高斯函数。

但是,如果您绝对需要为您的特定问题选择最好的。总是有专门为此目的而存在的模拟工具。其中之一是您提到的 Matlab Simulink,但如果您不喜欢 Matlab 的价格,还有其他的。

我的建议是,凭直觉,在安全的环境中对其进行测试,如果可行,然后将其部署到现实世界中。