云模型基础知识

  • 云模型属于不确定性人工智能范畴,主要用于定性与定量之间的相互转换。自然界中的不确定性从属性角度来说主要有随机性和模糊性
  • [x] 举一个简单的例子,形容一个人是高个子是一件相当模型的事情,因为无法确定身高达到多少算高个子。但可以这样说:身高2m的人,100%属于高个子的人;身高1.7m的人,55%属于高个子的人;身高1.5m的人,10%属于高个子的人(几乎不认为他是高个子)

    论域

  • [x] 本例中,高个子是个定性概念,可以理解为身高1.7m的人属于高个子(论域云模型 - 图1)的符合程度为0.55

    隶属度/确定度

  • [x] 例子中的1,0.55,0.1表示对应的身高属于高个子的隶属度或者确定度,用来度量“属于高个子”这种倾向的稳定程度

    云/云滴

  • [x] “云”是指其在论域上的一个分布,可以用联合概率的形式云模型 - 图2来类比。比如:云模型 - 图3表示身高2m的人,100%属于高个子的人

  • [x] 简单来说就是云就是一个种群,一个分布,而云滴就是其中的一个数据,一个具体的点,而这个点出现在这个分布中是有一定的概率的

    数字特征

  • [x] 期望:云滴在论域空间分布的期望,是最能够代表定性概念的点值,反映了这个概念的云滴群的云重心,一般用符号Ex表示

  • 熵:不确定性程度,由离散程度和模糊程度共同决定,代表云滴分布的不确定性和模糊性,一般用符号En表示
  • 超熵:用来度量熵的不确定性,亦即熵的熵。超熵越大,说明模型的不确定性越大,云的厚度越大,一般用符号He表示

image.png

两种发生器

  • 云有两种发生器,正向云发生器和逆向云发生器,分别用来生成足够的云滴和计算云滴的云数字特征(Ex,En,He)

    正向云发生器的触发机制

  1. 生成以En为期望,以He2为方差的正态随机数En’
  2. 生成以Ex为期望,以En’2为方差的正态随机数x
  3. 计算隶属度即确定度云模型 - 图5,则云模型 - 图6便是相对于论域云模型 - 图7的一个云滴
  4. 重复1-3步骤,直到生成足够的云滴

    逆向云发生器的触发机制

    假设样本云模型 - 图8的容量为云模型 - 图9

  5. 计算样本均值云模型 - 图10和方差云模型 - 图11

  6. 云模型 - 图12
  7. 云模型 - 图13
  8. 云模型 - 图14

    云模型案例及MATLAB实现

    题目

  • 下表为4组选手的成绩,通过分析选出一位发挥最出色的选手

云模型 - 图15

分析过程

  1. 发挥出色是一个定性概念,可以认为是论域。表中给出的是定量数据,所以要完成从定量到定性的转变
  2. 由样本数据可以先得到云模型的三个数字特征
  3. 再由数字特征得到更多云滴,行成云图
  4. 比较4组云图的分布

    Matlab实现及结果

    ```matlab function [x,y,Ex,En,He] = cloud_transform(y_spor,n) % x 表示云滴 % y 表示隶属度(这里是“钟形”隶属度),意义是度量倾向的稳定程度 % Ex 云模型的数字特征,表示期望 % En 云模型的数字特征,表示熵 % He 云模型的数字特征,表示超熵

    % 通过统计数据样本计算云模型的数字特征 Ex = mean(y_spor); En = mean(abs(y_spor-Ex)).*sqrt(pi./2); He = sqrt(var(y_spor)-En.^2);

    % 通过云模型的数字特征还原更多的“云滴” for q = 1:n Enn = randn(1).He + En ;%randn(n) 返回由标准正态分布的随机数组成的 n×n 矩阵 x(q) = randn(1).Enn + Ex ; y(q) = exp(-(x(q) - Ex).^2./(2 .* Enn.^2)); end x; y;

  1. ```matlab
  2. % 以下是主函数cloud_main.m
  3. clc;
  4. clear all;
  5. close all;
  6. % 每幅图生成N个云滴
  7. N = 1500;
  8. % 射击成绩原始数据,这里数据按列存储所以要转置
  9. Y = [9.5 10.3 10.1 8.1
  10. 10.3 9.7 10.4 10.1
  11. 10.6 8.6 9.2 10.0
  12. 10.5 10.4 10.1 10.1
  13. 10.9 9.8 10.0 10.1
  14. 10.6 9.8 9.7 10.0
  15. 10.4 10.5 10.6 10.3
  16. 10.1 10.2 10.8 8.4
  17. 9.3 10.2 9.6 10.0
  18. 10.5 10.0 10.7 9.9];
  19. for i = 1:size(Y,2)
  20. subplot(size(Y,2)/2,2,i)%subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区
  21. % 调用函数
  22. [x,y,Ex,En,He] = cloud_transform(Y(:,i),N);
  23. plot(x,y,'r.');
  24. xlabel('射击成绩分布/环');
  25. ylabel('确定度');
  26. title(strcat('第',num2str(i),'人射击云模型还原图谱'));
  27. % 控制坐标轴的范围
  28. % 统一坐标轴范围才会在云模型形态上具有可比性
  29. axis([8,12,0,1]);
  30. end

image.png

结果分析

  1. 先看期望,只有4的期望小于10
  2. 再看熵(云滴分布的不确定程度),2和4的分布跨度较大,基本在8环和9环之间有很明显的分布倾向
  3. 最后看超熵(模型的不确定性程度),3的云滴凝聚抱合程度最高
  4. 综上分析,认为第3位射击手比赛最出色