- 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<1:凸曲线
- 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');