matlab 学习率,MATLAB常见的学习率下降策略

MATLAB常见的学习率下降策略

1. 几种常见的学习率下降策略(learning rate decay strategy)

t:自变量,迭代次数,λ(t):因变量,学习率,T:常量,最大迭代次数,其他参数均为常量,可自行设定。可以设定初始学习率λ(0):

2dbdd5706b54538f60f6e45870b97e5c.png

1) exp

1fbeda56d68e286f9e4a39e2ea63f26c.png

40253bd3e2f89b636642271e2b3b99cd.png

2) inv

e8f4aff509c257ef1b1377ec1dd02e3b.png

9c5e8a958f2bf925470db3fa4b55e40b.png

3) plot

4a6b57fa2c1c0485f2294742514b3114.png

3c5969b0188a08eb96e834ae34b13590.png

4) sigmoid

360e73fa7dbc65905aff050b52bd6c89.png

8b8c7787a5c03922b48bbe4acac2c353.png

5) cosine_decay

35a29ff4ced8610b7e50a75e23c01f9f.png

a5287754df7fbb12e1e821ef10e16f70.png

2. MATLAB程序

function learning_rate_decay(choose)

% Author: kailugaji 凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

max_iter=1000;

y=zeros(1, max_iter);

t=1:max_iter;

if choose==1

% cosine decay

y(t)=0.5*(1+cos(pi*t/max_iter));

elseif choose==2

% plot p>1:凹曲线, 0

p=0.25;

y(t)=(1-(t/max_iter)).^p;

elseif choose==3

% inv

gamma=0.99; p=0.25;

y(t)=(1+gamma*t).^(-p);

elseif choose==4

% exp

gamma=0.99;

y(t)=gamma.^t;

elseif choose==5

% sigmoid

gamma=-0.01; stepsize=max_iter/2;

y(t)=1./(1+exp(-gamma*(t-stepsize)));

else

disp('input error!');

end

%%

plot(t, y);

axis([1, max_iter, 0, 1]);

xlabel('iter');

ylabel('learning rate');

3. 参考文献

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值