【问题标题】:Example of fuzzy logic in classification分类中的模糊逻辑示例
【发布时间】:2014-07-23 05:07:09
【问题描述】:

我需要使用模糊逻辑对对象进行分类。每个对象都有 4 个特征 - {大小、形状、颜色、纹理}。每个特征都被语言术语和一些隶属函数模糊化。问题是我无法理解如何去模糊化,以便我可以知道未知对象属于哪个类。使用 Mamdani Max-Min 推理,有人可以帮助解决这个问题吗?

Objects = {Dustbin, Can, Bottle, Cup} 或分别表示为 {1,2,3,4}。每个特征的模糊集是:

特点:尺寸

$\tilde{Size_{Large}}$ = {1//1,1/2,0/3,0.6/4}  for crisp values in range 10cm - 20 cm

$\tilde{Size_{Small}}$ = {0/1,0/2,1/3,0.4/4}  (4cm - 10cm)

形状:

$\tilde{Shape_{Square}}$ = {0.9/1, 0/2,0/3,0/4}  for crisp values in range 50-100

$\tilde{Shape_{Cylindrical}}$ = {0.1/1, 1/2,1/3,1/4}  (10-40)

特点:颜色

$\tilde{Color_{Reddish}}$ = {0/1, 0.8/2, 0.6/3,0.3/4}  say red values in between 10-50 (not sure, assuming)

$\tilde{Color_{Greenish}}$ = {1/1, 0.2/2, 0.4/3, 0.7/4}  say color values in 100-200

特征:纹理

$\tilde{Tex_{Coarse}}$ = {0.2/1, 0.2/2,0/3,0.5/4}  if texture crisp values 10-20

$\tilde{Tex_{Shiny}}$ = {0.8/1, 0.8/2, 1/3, 0.5/4}  30-40

If then else 的分类规则是

R1:如果对象尺寸大且呈圆柱形且颜色呈绿色且质地粗糙,则对象为垃圾箱

或以表格形式只是为了节省空间

Object type  Size   Shape          Color        Texture
Dustbin :   Large  cylindrical       greenish   coarse
Can :       small  cylindrical       reddish    shiny
Bottle:     small  cylindrical        reddish    shiny
Cup :       small  cylindrical       greenish   shiny

然后,有一个未知特征,其清晰值 X = {12cm, 52,120,11}。我该如何分类?还是我的理解不正确,我需要重新制定整个事情?

【问题讨论】:

  • 您是否考虑过使用 Bays Net 代替 Fuzzy Logic?至少每件事都有明确的物理意义。

标签: matlab fuzzy-logic fuzzy-comparison


【解决方案1】:

模糊逻辑意味着每个模式都属于一个类直到一个级别。换句话说,每个模式的算法输出可以是一个向量,假设每个类的相似性百分比总和为单位。然后可以通过检查阈值来决定一个类。这意味着模糊逻辑的目的是量化不确定性。如果您需要为您的案例做出决定,一个简单的最小距离分类器或多数票就足够了。否则,通过考虑“数字因素”再次定义您的问题。

【讨论】:

  • 谢谢您的回复,但不清楚,请您详细说明如何做出决定?是否应该考虑去模糊化?我如何定义类的隶属函数才能说一个特定的特征属于一个类。我不清楚。所以,Dustbin 是一个类,那么如何表示隶属函数,如果需要,以及如何分类?
【解决方案2】:

一种可能的方法是为每个要素的不同属性定义质心,例如,Large_size=15cm 和 Small_size=7cm。然后可以将隶属函数定义为与这些质心的距离的函数。然后您可以执行以下操作: 1) 计算每个特征的欧几里得差 * 一个高斯或巴特沃斯核(为了捕获质心周围的范围)。为每个类准备一个内核,例如垃圾箱作为目标需要大尺寸、粗糙纹理等。 2)计算以上所有的乘积(这是一种朴素贝叶斯方法)。模糊逻辑到此结束。 3)然后,您可以将模式分配给具有最高隶属函数值的类。 很抱歉花了太长时间来回答,希望这会有所帮助。

【讨论】:

  • 对不起,我今天注意到了答案。我无法理解如何分配类标签。一般来说,我们说当一个神经元输出 [100] 作为第 1 类时;或 [001] 作为第 2 类。当您说模式分配给具有最高隶属函数值的类时,如何处理模糊情况。
猜你喜欢
  • 2011-10-16
  • 2011-03-30
  • 2011-06-19
  • 2012-05-13
  • 1970-01-01
  • 2016-03-17
  • 2011-05-17
  • 2016-10-24
  • 1970-01-01
相关资源
最近更新 更多