从定量数据创建模糊认知地图(FCM)模型的算法解析
1. CMA - ES算法介绍
CMA - ES(协方差矩阵自适应进化策略)是一种进化算法,由三个参数控制:质心、步长参数 $\sigma$ 和每一代的评估次数 $\lambda$。用户通常无需设置 $\lambda$,其默认值已考虑了优化问题的复杂性,因此CMA - ES相较于其他进化算法,被认为是“几乎”无参数的。
1.1 算法参数初始化
在使用CMA - ES优化模糊认知地图(FCM)的权重时,搜索空间需限制在 $[-1, 1]$ 区间内。为实现这一目标,需要添加一些辅助函数:
import numpy as np
from deap import base, cma, creator, tools
# 定义权重边界
MIN_BOUND = -1
MAX_BOUND = 1
# 计算到可行区域的距离
def distance(feasible_ind, original_ind):
""" distance function to the feasibility region """
return sum((f - o)**2 for f, o in zip(feasible_ind, original_ind))
# 将无效个体转换为有效个体
def closest_feasible(individual):
"""A function returning a valid individual from an invalid one."""
feasible_ind = np.array(indiv
FCM模型算法解析与应用
超级会员免费看
订阅专栏 解锁全文
455

被折叠的 条评论
为什么被折叠?



