🐼 人工鱼群算法AFSA
type
status
date
slug
summary
tags
category
icon
password
Property

原理

人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是Li Xiao-lei在2002年提出的(Yazdani, Toosi, & Meybodi, 2010)[1],目的是模仿鱼类捕食、群集、跟随、移动等行为。AFSA是基于鱼类集体向某个目标运动,并受到自然的启发,是一种并行和随机搜索算法。与狮子和猴子不同,在像鱼类这种动物物种中没有领导者,每个成员都有自我组织的行为。鱼对它们的群体和环境一无所知,通过相邻成员之间的数据交换在环境中随意移动,这种交互作用为鱼群优化带来了更多的复杂性。 一片水域中,鱼最多的地方就是水域中富含营养最多的地方,主要是依据这一特点来模仿鱼群的觅食、聚众、追尾等行为从而实现全局最优。它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工鱼个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。

人工鱼的结构模型

人工鱼对外的感知是依靠视觉来实现的,人工鱼的模型中使用如下方法实现人工鱼的虚拟视觉:
其中 随机函数,产生0到1之间的随机数, 为步长
人工鱼的视野:
notion image

人工鱼中封装的变量和函数

 

调库实现AFSA

🐼 提升速度
type
status
date
slug
summary
tags
category
icon
password
Property

目标函数加速

为了提升速度,scikit-opt 支持3种提升速度的方案:矢量化并行化缓存化
  • 矢量化:要求目标函数本身支持矢量化运算(详见代码)。矢量化运算拥有极高的性能,通常比并行化运算要快。算法中,每代对应1次矢量化运算
  • 多线程:对目标函数没什么要求,通常比一般运算要快。如果目标函数是 IO 密集型,能达到更优的性能
  • 多进程:对目标函数没什么要求,通常比一般运算要快。如果目标函数是 CPU 密集型,能达到更优的性能
  • 缓存化:把每次计算的输入和输出缓存下来,下次调用时,如果已经缓存中已经存在,那么直接取出结果,而不再调用。缓存化特别适用于输入值有限的情况,例如纯整数规划、迭代到后期的TSP问题等。
总的来说,性能上,矢量化 远远大于 多线程/多进程 大于 不加速,如果是输入值得可能个数有限,缓存化 远大于其他方案。
下面比较 不加速矢量化多线程多进程 的性能:
notion image
 

算子优化加速

🐻 熵权法
type
status
date
slug
summary
tags
category
icon
password
Property
 

信息熵

熵是热力学的一个物理概念,是体系混乱度或无序度的度量,熵越大表示系统越乱(即携带的信息越少),熵越小表示系统越有序(即携带的信息越多)。信息熵借鉴了热力学中熵的概念,用于描述平均而言事件信息量的大小,所以在数学上,信息熵是事件所包含的信息量的期望(mean,或称均值,或称期望,是试验中每次可能结果的概率乘以其结果的总和),根据期望的定义,可以设想信息熵的公式大概是:
每种可能事件包含的信息量的计算采用不确定性函数
采用不确定性函数,一方面可以保证信息量是概率P的单调递减函数,另一方面可以保证两个独立事件所产生的不确定性应等于各自不确定性纸和,即具备可加性。
将不确定性函数带入开始时设想的公式:
是熵,是所有可能事件的集合,有中取值:对应概率为:对数的底一般为2。

熵权法

根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其熵值越小,指标的离散程度越大,该指标对综合评价的影响(即权重)就越大,如果某项指标的值全部相等,则该指标在综合评价中不起作用。
 
🐻 模糊综合评价
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
🐻 TOPSIS综合评价法
type
status
date
slug
summary
tags
category
icon
password
Property
 
C.L.Hwang 和 K.Yoon 于1981年首次提出 TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution)。TOPSIS 法是一种常用的组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。基本过程为基于归一化后的原始数据矩阵,采用余弦法找出有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。
通俗的例子:小明数学考试 134 分,要怎么知道他的成绩是好还是不好呢?
基于分布的评价方法会观察小明的分数位于班级分数的哪个水平(如前 5%、前 10%),但这种评价方法只能给出一个方向的情况。如班上成绩除了最高分外,其余都是 134 分,那么小明的成绩就是并列的倒数第一,但是正向评价给出的结果是前 5%。  而 TOPSIS 就是找出班上最高分(假设是 147 分)、最低分(假设是 69 分),然后计算小明的分数和这两个分数之间的差距,从而得到自己分数好坏的一个客观评价。距离最高分越近,那么评价情况越好,距离最低分越近,那么评价情况越糟。

TOPSIS过程

notion image

指标属性同向化,一般选择指标正向化

TOPSIS 法使用距离尺度来度量样本差距,使用距离尺度就需要对指标属性进行同向化处理(若一个维度的数据越大越好,另一个维度的数据越小越好,会造成尺度混乱)。通常采用成本型指标向效益型指标转化(即数值越大评价越高,事实上几乎所有的评价方法都需要进行转化),此外,如果需要使用雷达图进行展示,建议此处将所有数据都变成正数。
极小型指标:期望指标值越小越好(如患病率、死亡率等)
notion image
M为指标 x可能取值的最大值
 
🐻 数据包络(DEA)分析法
type
status
date
slug
summary
tags
category
icon
password
Property
 
企业管理者如何评估一所快餐分销店、银行支行、健康诊所或初等学校的生产力?衡量生产力有三重困难:第一,什么是系统适当的投入(如劳动力时间、材料金额)及其度量方法?第二,什么是系统适当的产出(如现金支票、存款凭证)及其度量方法?第三,正确衡量这些投入产出之间关系的方法是什么?

衡量服务生产力

从工程学角度看,衡量组织的生产力和衡量系统的效率相似。它可以表述为产出和投入的比率。
例如,再评估一个银行支行的运营效率时,可以用一个会计比率,如每笔出纳交易的成本。相对于其他支行,一个支行的比率较高,则可以认为其效率较低,但是较高的比率可能是源于一个更复杂的交易组合。运用简单比率的问题就在于产出组合没有明确。关于投入组合,也能作出同样的评论。广泛基础上的指标,如赢利性和投资回报,和全面绩效评估高度相关。但它们不足以评估一个服务单位的运营效率。比如,你不能得到以下的结论:一个赢利的支行必定在雇员和其他投入的使用上是有效的。赢利性业务的比率高于平均水平比资源运用的成本效率更能解释其赢利性。

DEA模型

目前,开发出一种技术,通过明确地考虑多种投入(即资源)的运用和多种产出(即服务)的产生,它能够用来比较提供相似服务的多个服务单位之间的效率,这项技术被称为数据包络线分析(DEA)。它避开了计算每项服务的标准成本,因为它可以把多种投入和多种产出转化为效率比率的分子和分母,而不需要转换成相同的货币单位。因此,用DEA衡量效率可以清晰地说明投入和产出的组合,从而,它比一套经营比率或利润指标更具有综合性并且更值得信赖。
DEA是一个线形规划模型,表示为产出对投入的比率。通过对一个特定单位的效率和一组提供相同服务的类似单位的绩效的比较,它试图使服务单位的效率最大化。在这个过程中,获得100%效率的一些单位被称为相对有效率单位,而另外的效率评分低于100%的单位本称为无效率单位。
这样,企业管理者就能运用DEA来比较一组服务单位,识别相对无效率单位,衡量无效率的严重性,并通过对无效率和有效率单位的比较,发现降低无效率的方法。
🐻 RSR秩和比综合评价
type
status
date
slug
summary
tags
category
icon
password
Property
 
RSR法(Rank-sum ratio) 是我国田凤调教授于1988年提出的,集古典参数统计与近代非参数统计各自优点于一体的统计分析方法。RSR法现在广泛地应用于医疗卫生、科技、经济等邻域的多指标综合评价、统计预测预报、鉴别分类、统计质量控制等方面。
一般过程是将效益型指标从小到大排序进行排名、成本型指标从大到小排序进行排名,再计算秩和比,最后统计回归、分档排序。通过秩转换,获得无量纲统计量RSR;在此基础上,运用参数统计分析的概念与方法,研究RSR的分布;以RSR值对评价对象的优劣直接排序或分档排序,从而对评价对象做出综合评价。
优点:以非参数法为基础,对指标的选择无特殊要求,适用于各种评价对象,由于计算时使用的数值是秩次,可以消除异常值的干扰
缺点:排序的主要依据是利用原始数据的秩次,最终算得的 RSR 值反映的是综合秩次的差距,而与原始数据的顺位间的差距程度大小无关,这样在指标转化为秩次是会失去一些原始数据的信息,如原始数据的大小差别等。当 RSR 值实际上不满足正态分布时,分档归类的结果与实际情况会有偏差,且只能回答分级程度是否有差别,不能进一步回答具体的差别情况。
RSR 法本质
RSR 只使用了数据的相对大小关系,而不真正运用数值本身,也能用于处理“好”、“较好”、“一般”这类模糊指标问题。只要选择恰当的权重,RSR 法也能转化为模糊综合评价。
实际上,只要确定了权重,编好了秩,原始样本的排序就结束了,但是 RSR 综合评价法再进行了统计回归、分档排序,这一步实际上是通过将样本的秩次分布映射到正态分布曲线上,运用正态分布 原则进行分档。
 

RSR 综合评价法过程

  • Step1:确定评价指标。列出原始数据,一行代表一个评价对象,一列代表一个评价指标。最终为矩阵;
  • Step2:编秩。对矩阵即原始数据进行计算秩值;
🐻 灰色系统理论
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
 
 
Tensor
type
status
date
slug
summary
tags
category
icon
password
Property

Tensor

notion image
Pytorch没有对string的支持,使用其他方式处理stringone-hot、embedding
 
 

数据类型

notion image
索引与切片
type
status
date
slug
summary
tags
category
icon
password
Property
 
目录
目录

Indexing

notion image
notion image