参数优化算法
‘壹’ 运用什么方法可以对一个函数中的多个参数进行优化
这个不是10个小图合成一个大图,是把10个图以不同的权重叠加在一起,这个权重就是要求的x。也就是x向量有10个标量对应10个图。
然后,优化函数中,我把图形以 60*60大小进行划分, 也就是说整张图分成N个 60*60的 block。 优化的目标就是,图像中的某些block内的像素进行计算,求出该block块儿的梯度。优化目标是让该梯度 = 0.24 。 所以,会有多个block 的梯度 都有要求, 相当于多个优化目标。
‘贰’ 参数优化的参数优化概念
模型参数优化是通过极小化目标函数使得模型输出和实际观测数据之间达到最佳的拟合程度,由于环境模型本身的复杂性,常规优化算法难以达到参数空间上的全局最优。近年来,随着计算机运算效率的快速提高,直接优化方法得到了进一步开发与广泛应用。
优化模型参数,以满足设计要求的过程包括以下任务:
1. 指定设计要求
2. 参数化设计目标
3. 指定优化选项
4. 运行优化
‘叁’ 遗传算法多参数优化每次运行结果都不一样,而且差别挺大
遗传算法对径向基函数参数的初始化是随机的,然后不断迭代优化,基本上每次运行后,得到的参数是不同的,这样能保证遗传算法优化的多样性,避免陷入定制
‘肆’ 什么是智能优化算法
群体智能优化算法是一类基于概率的随机搜索进化算法,各个算法之间存在结构、研究内容、计算方法等具有较大的相似性。因此,群体智能优化算法可以建立一个基本的理论框架模式:
Step1:设置参数,初始化种群;
Step2:生成一组解,计算其适应值;
Step3:由个体最有适应着,通过比较得到群体最优适应值;
Step4:判断终止条件示否满足?如果满足,结束迭代;否则,转向Step2;
各个群体智能算法之间最大不同在于算法更新规则上,有基于模拟群居生物运动步长更新的(如PSO,AFSA与SFLA),也有根据某种算法机理设置更新规则(如ACO)。
(4)参数优化算法扩展阅读
优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬山法,最速下降法等,模拟退火、遗传算法以及禁忌搜索称作指导性搜索法。而神经网络,混沌搜索则属于系统动态演化方法。
优化思想里面经常提到邻域函数,它的作用是指出如何由当前解得到一个(组)新解。其具体实现方式要根据具体问题分析来定。
‘伍’ 粒子群优化算法的参数设置
从上面的例子我们可以看到应用PSO解决优化问题的过程中有两个重要的步骤: 问题解的编码和适应度函数PSO的一个优势就是采用实数编码, 不需要像遗传算法一样是二进制编码(或者采用针对实数的遗传操作.例如对于问题 f(x) = x1^2 + x2^2+x3^2 求解,粒子可以直接编码为 (x1, x2, x3), 而适应度函数就是f(x). 接着我们就可以利用前面的过程去寻优.这个寻优过程是一个叠代过程, 中止条件一般为设置为达到最大循环数或者最小错误
PSO中并没有许多需要调节的参数,下面列出了这些参数以及经验设置
粒子数: 一般取 20–40. 其实对于大部分的问题10个粒子已经足够可以取得好的结果, 不过对于比较难的问题或者特定类别的问题, 粒子数可以取到100 或 200
粒子的长度: 这是由优化问题决定, 就是问题解的长度
粒子的范围: 由优化问题决定,每一维可是设定不同的范围
Vmax: 最大速度,决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度,例如上面的例子里,粒子 (x1, x2, x3) x1 属于 [-10, 10], 那么 Vmax 的大小就是 20
学习因子: c1 和 c2 通常等于 2. 不过在文献中也有其他的取值. 但是一般 c1 等于 c2 并且范围在0和4之间
中止条件: 最大循环数以及最小错误要求. 例如, 在上面的神经网络训练例子中, 最小错误可以设定为1个错误分类, 最大循环设定为2000, 这个中止条件由具体的问题确定.
全局PSO和局部PSO: 我们介绍了两种版本的粒子群优化算法: 全局版和局部版. 前者速度快不过有时会陷入局部最优. 后者收敛速度慢一点不过很难陷入局部最优. 在实际应用中, 可以先用全局PSO找到大致的结果,再用局部PSO进行搜索.
另外的一个参数是惯性权重, 由Shi 和Eberhart提出, 有兴趣的可以参考他们1998年的论文(题目: A modified particle swarm optimizer)。
‘陆’ 优化算法问题
说的太宽泛了。什么模型,哪方面的,用什么编程?MATLAB吗?
‘柒’ 如何用遗传算法实现多变量的最优化问题
将多个变量的数值编码编排进去,进行组合,只需要增长基因个体的长度,但是要明确每个变量具体的位置,然后让每个变量转化成二进制的等长编码,组合在一起,就可以来运算了。
‘捌’ 传统优化算法和现代优化算法包括哪些.区别是什么
1. 传统优化算法一般是针对结构化的问题,有较为明确的问题和条件描述,如线性规划,二次规划,整数规划,混合规划,带约束和不带约束条件等,即有清晰的结构信息;而智能优化算法一般针对的是较为普适的问题描述,普遍比较缺乏结构信息。
2. 传统优化算法不少都属于凸优化范畴,有唯一明确的全局最优点;而智能优化算法针对的绝大多数是多极值问题,如何防止陷入局部最优而尽可能找到全局最优是采纳智能优化算法的根本原因:对于单极值问题,传统算法大部分时候已足够好,而智能算法没有任何优势;对多极值问题,智能优化算法通过其有效设计可以在跳出局部最优和收敛到一个点之间有个较好的平衡,从而实现找到全局最优点,但有的时候局部最优也是可接受的,所以传统算法也有很大应用空间和针对特殊结构的改进可能。
3. 传统优化算法一般是确定性算法,有固定的结构和参数,计算复杂度和收敛性可做理论分析;智能优化算法大多属于启发性算法,能定性分析却难定量证明,且大多数算法基于随机特性,其收敛性一般是概率意义上的,实际性能不可控,往往收敛速度也比较慢,计算复杂度较高。
‘玖’ 当前流行的可用于参数优化的有哪些算法
对称密码体系的代表是 DES AES
非对称或者叫公钥密码体系的代表是 RSA ECC
HASH算法的代表是 MD5 SHA-1 SHA-256 SHA-384 。。。
数字签名的代表是 DSS
流密码的代表是 RC4
over
这些是最主要的一些算法 密码学教科书上必讲的 其实现在密码加密算法成百上千种 太多了
关键是要掌握它们的思想 很多算法基本思想都是一样的
‘拾’ matlab中GA对多参数优化问题
遗传算法GA求解无约束最优化问题,采用遗传算法求函数的最小值:
f(x,y)=x^4-16x^2-5xy+y^4-16y^2-5y
函数如下:
f=inline('x(1)^4-16*x(1)^2-5*x(1)*x(2)+x(2)^4-16*x(2)^2-5*x(2)','x');
l=[-5 -5];
u=[5 5];
x0=[0 0];
Np=30;
Nb=[12 12];
Pc=0.5;
Pm=0.01;
eta=0.8;
kmax=200;
[xos,fos]=fminsearch(f,x0)
[xo_gen,fo_gen]=genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)
其中调用的遗传算法函数为如下几个
genetic函数
function [xo,fo]=genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)
N=length(x0);
if nargin<10,kmax=100;end
if nargin<9|eta>1|eta<=0,eta=1;end
if nargin<8,Pm=0.01;end
if nargin<7,Pc=0.5;end
if nargin<6,Nb=8*ones(1,N);end
if nargin<5,Np=10;end
NNb=sum(Nb);
xo=x0(:)';l=l(:)';u=u(:)';
fo=feval(f,xo);
X(1,:)=xo;
for n=2:Np,X(n,:)=1+rand(size(x0)).*(u-1);
P=gen_encode(X,Nb,l,u);
for k=1:kmax
X=gen_decode(P,Nb,l,u);
for n=1:Np,fX(n)=feval(f,X(n,:));end
[fxb,nb]=min(fX);
if fxb<fo,fo=fxb;xo=X(nb,:);end
fX1=max(fxb)-fX;
fXm=fX1(nb);
if fXm<eps,return;end
for n=1:Np
X(n,:)=X(n,:)+eta*(fXm-fX1(n))/fXm*(X(nb,:)-X(n,:));
end