• 性能优化


    clear;
    close all;
    clc;
    %F = x1.^2 + 25*x2.^2;
    % 赫兹矩阵
    % A = [1,0;0,25];
    % 可求得最大的学习率为 1/25 = 0.04,
    % 当学习率大于0.04时,系统发散,小于0.04时,系统收敛
    %绘制3D图
    xx1 = -1: 0.05:1;
    xx2 = xx1;
    [x1,x2] = meshgrid(xx1,xx2);
    xxsize = size(x1);
    subplot(1,4,4);
    x1 = x1(:);
    x2 = x2(:);
    F = x1.^2 + 25*x2.^2;
    x1 = reshape(x1,xxsize);
    x2 = reshape(x2,xxsize);
    F = reshape(F,xxsize);
    mesh(x1,x2,F);
    zlim([0,5]);
    %绘制轮廓图
    subplot(1,4,1);
    hold on;
    syms x1 x2;
    F = x1^2 + 25*x2^2;
    ezplot(F - 1);
    ezplot(F - 2);
    ezplot(F - 3);
    ezplot(F - 4);
    ezplot(F - 5);
    xlim([-2,2]);
    ylim([-2,2]);
    title('学习率为0.039');
    grid on;
    N = 50;%迭代次数
    %F = x1.^2 + 25*x2.^2;
    alf = 0.039;% 学习率
    x = [1.5 , 0.5]';
    xy = zeros(2,N);
    for i=1:1:N
        xy(1,i) = x(1);
        xy(2,i) = x(2);
        dF = [2,50]'.*x;
        x = x - alf*dF;
    end
    plot(xy(1,:),xy(2,:),'r-');
    %绘制轮廓图
    subplot(1,4,2);
    hold on;
    syms x1 x2;
    F = x1^2 + 25*x2^2;
    ezplot(F - 1);
    ezplot(F - 2);
    ezplot(F - 3);
    ezplot(F - 4);
    ezplot(F - 5);
    xlim([-2,2]);
    ylim([-2,2]);
    title('学习率为0.041');
    grid on;
    N = 50;%迭代次数
    %F = x1.^2 + 25*x2.^2;
    alf = 0.041;% 学习率
    x = [1.5 , 0.5]';
    xy = zeros(2,N);
    for i=1:1:N
        xy(1,i) = x(1);
        xy(2,i) = x(2);
        dF = [2,50]'.*x;
        x = x - alf*dF;
    end
    plot(xy(1,:),xy(2,:),'r-');
    
    %绘制轮廓图
    subplot(1,4,3);
    hold on;
    syms x1 x2;
    F = x1^2 + 25*x2^2;
    ezplot(F - 1);
    ezplot(F - 2);
    ezplot(F - 3);
    ezplot(F - 4);
    ezplot(F - 5);
    xlim([-2,2]);
    ylim([-2,2]);
    title('学习率为0.01');
    grid on;
    N = 50;%迭代次数
    %F = x1.^2 + 25*x2.^2;
    alf = 0.01;% 学习率
    x = [1.5 , 0.5]';
    xy = zeros(2,N);
    for i=1:1:N
        xy(1,i) = x(1);
        xy(2,i) = x(2);
        dF = [2,50]'.*x;
        x = x - alf*dF;
    end
    plot(xy(1,:),xy(2,:),'r-');
    

     

  • 相关阅读:
    jQuery 之 serialize() serializeArray()
    浅析JavaScript中Function对象(二) 之 详解call&apply
    详解JavaScript作用域及作用域链
    浅析JavaScript中Function对象(一)之 arguments对象
    浅析jQuery基本结构($实现原理)
    浅析伪数组
    jQuery版本差异简要分析
    白话解释:控制反转与依赖注入
    为什么开发移动端web不使用jQuery
    浅析meta标签用处
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/6337522.html
Copyright © 2020-2023  润新知