当前位置: 首页 > wzjs >正文

网站分析报告怎么做建网站的注意事项

网站分析报告怎么做,建网站的注意事项,绍兴集团网站建设,网站如何做点击链接地址优化方法介绍(一) 本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化 1 失败案例介绍 本文在编写最速下降法的时候使用了经典的求解函数框架,并使用了自适应步长(alpha)机制,即加入参数flag,当出现梯度下降的情…

优化方法介绍(一)

本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化

1 失败案例介绍

本文在编写最速下降法的时候使用了经典的求解函数框架,并使用了自适应步长(alpha)机制,即加入参数flag,当出现梯度下降的情况(Fnew>F0)时,flag自增一(flag = flag + 1),当flag大于等于其阈值(fthershold)时,才执行对于步长alpha的改变(alpha = alpha * multiplyer)操作。通过对于初始步长(alpha)、参数flag的阈值(fthershold)和步长改变量(multiplyer)这三个变量的循环寻优。

经过实践发现,这三个参数的最优值分别为

alpha = 1e-3
fthershold = 2
multiplyer = 1.7

最终优化之后的迭代次数(函数Rosenbrock被调用的次数)为17次,未经优化时的次数为26次。初始步长alpha的数值如此小的原因本文进行了探讨,通过对于函数设置断点之后本文发现,在使用梯度函数gradient计算梯度g时,由于极小值eps(或者说sqrt(eps))的数值比较小,为1e-8级,由于数值计算的问题会导致初始点在x1方向上的梯度达到1e3级,故需要alpha的数值取得比较小才能中和这种巨大的梯度,使得alpha*p的值在(0,10)之间。

代码包括
LineSearchFrameWork.m 文件,用于优化的函数

function [F0,x0,FE,xhis] = LineSearchFrameWork()x0 = [2,2]; %Initial searching pointtol = 1e-6; %the tolerance value of resultsFE = 0;     %how many times the Rosenbrock function is runned FEmax = 1e5;%maxium interation timesalpha = 1e-3;  %initial step lengthF0 = Rosenbrock(x0); % initial function valueflag = 0;            % the determination parameterfthers = 2;          % the thershold of the times that gradient goes downxhis = [];xhis = [xhis; x0];while (F0 > tol) && (FE < FEmax)g = gradient(x0, F0);FE = FE + 2;p = -g;xnew = x0 + alpha*p;Fnew = Rosenbrock(xnew);xhis = [xhis; xnew];if Fnew < F0flag = flag + 1;if flag >= fthersalpha = alpha * 1.7;flag = 0;endendx0 = xnew;F0 = Fnew;end
end

Rosenbrock.m 文件,用于 罗森布尔克 函数值的计算的函数

function y = Rosenbrock(x)y = 100*(x(:, 2) - x(:, 1).^2).^2 + (1 - x(:, 1)).^2;
end

gradient.m 文件,计算梯度值的函数

function g = gradient(x, F0)d = sqrt(eps);g = (Rosenbrock(x + ones(1, 2)*d) - F0) / d;

runner.m 文件,主运行文件,用于调用其他的函数

clc; clear all; cleartol = 1e-6;
[F0,x0,FE,xhis] = LineSearchFrameWork();
if F0 < toldisp("成功了!!!!");
elsedisp("lose loser");
end
plot(xhis(:, 1), xhis(:, 2), xhis(:, 1), xhis(:, 2),'*')
title('最速下降法求Rosenbrock函数的局部极小值')
xlabel('x_1'); ylabel('x_2');

运行后的优化结果为

寻优次数x1 值x2 值
122
20.7980.798
30.8176190.817619
40.8504450.850445
50.8812630.881263
60.9280680.928068
70.9615180.961518
80.9954550.995455
90.9999050.999905
project cover MATLAB 运行结果1

下面是对于MATLAB中的函数报告(profile):

project cover MATLAB 函数报告1

初次实验之后,博主发现本文采用的方法是错误的,它只能适用于像(2,2)到最优点(1,1)这样的寻优过程,因为在本文的方法中直接将寻优过程初始点为(2,2)的Rosenbrock函数当作一个单值函数来处理,使得x1和x2同增同减,但是这种方法的适用范围非常小,只能在寻优初始点处的x1和x2相等时才能采用。

从上方的图表中可以看出,本文初次实现的方法是有很大问题的,因为本文是通过提前知道了寻优的初始点是x1=x2=2的特殊情况,而寻优的理想结果也是同样的x1=x2=1,所以采用了将Rosenbrock函数作为单值函数来进行寻优的方法。这样的方法其实是没有意义的,因为它有两个局限性:1)只适用于Rosenbrock函数;2)只适用于寻优初始点为x1=x2=2的特殊情况。本文研究Rosenbrock函数是为了使得寻优算法更加具有普适性,即对于尽可能多的函数尤其是一些特殊函数,都能够进行寻优的操作,而本文组的这个方法却是背离了这个初衷,只是为了解决问题而解决问题,这样的研究是没有多少价值的,如同鸡肋。

这个方法发现过程是一个巧合,在编写最速下降法的时候,对于梯度计算函数gradient函数,本来应该使用单位矩阵eye(2)的地方,错误地使用成了全1矩阵ones(1, 2),但是却奇迹般的找到了最优值,在一开始,本文是兴奋的,因为首次实现的结果就如此的成功,但是在后续的检查过程中本文发现,这个方法其实是错误的,本文后续对于这个方法有进行了反思,就有了上面对于这个方法的叙述和讨论。

2 最速下降法求解过程介绍

最速下降法的坐标更新表达式为

<

http://www.dtcms.com/wzjs/571392.html

相关文章:

  • 南桥做网站网址导航浏览器下载
  • 公司建网站多少钱一个中国建设银行复核网站
  • 四川做网站有哪些公司株洲网站制作公司
  • 用帝国cms做企业网站版权网页设计计划书
  • 站长之家ppt模板线上推广专员岗位职责
  • 网站建设专题页面自己建个网站需要多少钱
  • nginx反代wordpress伪静态优化大师的优化项目有哪7个
  • 网站域名免费wps哪个工具做网站
  • 网站开发营销型怎么建网站平台卖东西
  • wordpress网站监测电商网站建设费用预算
  • 做网站技术含量网络综合布线设计图
  • 给新公司做网站要多少钱项目运营方案计划书
  • 做校招的网站有哪些网络营销推广的渠道有哪些
  • 自己做网站还是公众号网页特效代码
  • 南通网站制作价格商盈网站建设
  • html5 企业国际网站 多国家 多语言 源代码 cookies网站子网页设计
  • 网站图片要求企业网站推广外包
  • 鲜花网网站开发的目标免费网站推广软件下载
  • 茶叶网站模板下载邮箱网站怎么做
  • 天津做网站找哪家公司好wordpress插件 占用内存
  • 网站定制报价网站推广 优帮云
  • 网站建设小组怎样编写网站
  • 电子商务网站怎么做推广网站头部怎么做
  • 电子工程网站深圳做棋牌网站建设哪家服务好
  • 高质量免费的网站网站的基本结构
  • 专业医疗网站建设课程网站开发卷宗
  • 全景网站怎么做网站自助制作
  • 东莞网站建设定制黄冈免费网站建设平台
  • 专业网站定制报价免费十八种禁用网站游戏
  • 微信上登录网站同步怎么做wordpress传上去