对随机梯度下降的一些使用心得 - silence1214的专栏 - 博客频道 - CSDN
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5:我在下面贴出来我的整个sgd的matlab的代码,来大概说下这个early-stop。
[plain] view plain copy print ?
01. 02. 03. 04. 05. 06. 来自百度文库7. 08.
function [ optParams ] = SGD( funObj,theta,data,labels,options )
ffmpeg的php扩展 在64位系统(下7)的安装 36.
用程序自动登陆58同城网的时候(6遇) 到的一些参3数7.处理 %%======================================================================
38. %% SGD loop
low rank representation 低秩表(6达)
65. 66.
67.
概率论:乘法定理、全概率公式以及贝叶斯定理
silence1214: @renqilei:你可以
68.
不看
69.
end;
% get next randomly selected minibatch mb_data = data(:,rp(s:s+minibatch-1)); mb_labels = labels(rp(s:s+minibatch-1));
文章搜索
文章分类
可视化 (6) c&am p;&am p;C++学习笔记 (16) 股票知识积累 (1) C++ (11) eclipse技巧积累 (1) ext2.0 (23) J2EE相关 (44) JForum学习 (1) js (5) Linux (20) oracle (2) spring (7) 备忘 (34) 数据结构 (5) 机器智能 (49)
%
data, labels and returns cost and gradient w.r.t
%
to theta.
展开
09. % theta 10. % data
- unrolled parameter vector - stores data in m x n x numExamples tensor
4:这里我介绍一个方法叫做early-stop,其实也是很成熟的方法了,大概思路是在训练的过程中,使用验证集周 期性的来测试当前计算出来的参数,在验证集上测试当前参数对验证集的效果,如果效果可以,就保存起来,当很 长一段时间都是此效果的话那么就迭代停止,该组参数就认为是不错的参数。这个方法叫做交叉验证,但是我看到 有的地方写的是交叉验证用于超参的选择,而这个地方我不是选取的超参,所以不知道到底用对了没有。
对UFLDL中最大化输出时候的输入值的求解的7推3.导
YYMN: 顶,已转载,谢谢!
74.
% early stop if mod(it, validationFrequency) == 0
eas yui中不显示出来的一个问题 李贺刚: 这都是经验之谈啊,学习 一下
75. 76. 77.
validationLoss = validationHandler(theta); if validationLoss < bestValidationLoss
文章存档
2015年01月 (1) 2014年12月 (2) 2014年11月 (4) 2014年10月 (6) 2014年09月 (5)
搜索
2:其实梯度下降算法,在使用的时候无非是要考虑到2个方面,一个是方向,一个是步长,方向决定你是否走在 了优化的道路上还是优化道路的负方向,步长是决定你要走多久才能到最优的地方。对于第一个问题很好解决,就 是求梯度,梯度的负方向就是了。难的是求步长,如果步子太小,则需要很长的时间才能走到目的地,如果步子过 大可能在目的地的周围来走震荡。所以重点在于如何选择步长。
60.
最新评论
61. 62.
% increase momentum after momIncrease iterations if it == momIncrease
对优化算法的一些感想
63.
mom = options.momentum;
yunandhua: 你好,L-BFGS算法
64.
中循环一次使用的梯度是要把所 有数据集的梯度都计算还是和 SGDA一样每次只使用数...
39. patience = options.patience;
梯度下降算法步长和收敛条件的(5设) 置的一些看4法0.
深度学习中卷积和池化的一些总(5结)
41. 42.
patienceIncreasement = options.patienceIncreasement; improvement = options.improvement; validationHandler = options.validationHandler;
linux下emacs基本配置 (7893)
emacs下color-theme.el的(正76确70配) 置方法
13. 14. 15. 16. 17.
% % Returns: % opttheta - optimized parameter vector % % Options (* required)
1:对于随机梯度下降SGD可能大家都比较了解,也很熟悉,说起来也很简单,在使用中我们一般用的是带mini batch的SGD。这个也描述起来很简单,但是在使用中还是有一些trick才可以的,最近在做一个实验,由于LBFGS的速度太慢所以选择了带Mini-batch的SGD,我来说下我的心得。
访问: 399437次 积分: 7188 等级: 排名: 第1050名 原创: 309篇 转载: 15篇 译文: 1篇 评论: 202条
阅读排行
11. % labels 12. % options
- corresponding labels in numExamples x 1 vector - struct to store specific options for optimization
ext中s tore.load和s tore.reload的区别 (18066)
httpclient自动执行http的30(521重4定5)向
24.
'Some options not defined');
MFC上显示GIF图片(使用(5G1IF35A)nimation Co2n5tr.ol控件i)f ~isfield(options,'momentum')
26.
options.momentum = 0.9;
70. 概率论:乘法定理、全概率公式以及贝叶斯定理
任琦磊: 卧槽~求改成正确版,不
71.
要在网上坑人
72.
% evaluate the objective function on the next minibatch [cost grad] = funObj(theta,mb_data,mb_labels);
fprintf('validate=====================================current cost:%f, last cost:%f\n',
由矩阵运算来看初等矩阵的左乘右乘所影响到7矩8阵.的行列变换的本质
n个样本的数据的标准差为(什48么9除0) 以n-1
27. end;
28. epochs = options.epochs;
评论排行
29. alpha = options.alpha; 30. minibatch = options.minibatch;
31. m = length(labels); % training set size 对于58同城自动登陆的补充【(1主2要) 是代码】
46. validationFrequency = min(ceil(m/minibatch), patience/2);
推荐文章
47. doneLooping = false; 48.
* CSS变量试玩儿 * 【Android开发经验】兼容不同的
49. 50. 51.
it = 0; e = 0;
屏幕大小
silence1214的专栏
登录 | 注册
个人资料 silence1214
目录视图
摘要视图
订阅
博客Markdown编辑器上线啦 那些年我们追过的Wrox精品红皮计算机图书 PMBOK第五版精讲视频教程 火星人敏捷开发1001 问
对随机梯度下降的一些使用心得
2014-03-27 09:19 1932人阅读 评论(1) 收藏 举报
32. % Setup for momentum
稀疏子空间聚类、谱聚类的一(些10个) 人看法 33. mom = 0.5;
34. momIncrease = 20; MFC上显示GIF图片(使用 GIF(7A)nimation Control控件)
35. velocity = zeros(size(theta));
* QtAndroid详解(3):startActivity
56.
rp = randperm(m);
实战Android拍照功能 * PHPer都应该关注的服务端性能问
57. 58. 59.
for s=1:minibatch:(m-minibatch+1) it = it + 1;
题–听云Server试用笔记
3:对于随机梯度中,步长的选择方法有很多,最简单的莫过于设置一个比较小的步长,让算法慢慢去运行去就是 了,也有别的方法就是可以计算步长的算法,这个我也试过了,反正不好弄,我就选择了最简单的小步长。但是何 时算法自己知道差不多了可以停止了呢?我主要想说下这个问题:很多人都说设置迭代一定的次数或者比较两次梯 度的变化,或者两次cost的变化,这个地方我不是特别同意,因为尤其是设置了一个小步长的时候,迭代一定次数 当然可以,但是这个次数到底多少可以?没办法知道,所以如果设置了一定次数,次数过小的话肯定此时并没有达 到最优的或者很接近最优点的地方,如果过大理论上是可以的,但是多少才算过大?你觉得10万次很多,但是不 一定10万次算法可以达到,所以这个我觉得不太靠谱,对于比较两次梯度变化或者cost变化,同样存在这个问题, 如果步长很小的话,那么同样连续两次之间的梯度和cost变化很小也是无法保证此时接近最优点的啊。
52. while (e < epochs) && (~doneLooping)
* Cocoa Core Competencies_1_Accessibility
53. 54. 55.
e = e + 1; % randomly permute indices of data for quick minibatch sampling
eclipse开发php全过程的搭(5建28带3d) ebug的配置21. % momentum - momentum constant, defualts to 0.9
机器学习-学习笔记3.1-局部(5加21权4回) 归
22. %% Setup 23. assert(all(isfield(options,{'epochs','alpha','minibatch'})),...
JavaMail的常用类(Ses s ion,Tra(5n)s port,Mim eM4e3s.s age,Addres s ,Store,Folder,Multipart)
44. bestParams = []; 概率论:乘法定理、全概率公式以(4)及贝叶斯定理
45. bestValidationLoss = inf;
linux下emacs配置文件 (7228)
18. % epochs* - number of epochs through data
com botree的总结
(6955)
19. % alpha*
- initial learning rate
20. % minibatch* - size of minibatch
% Runs stochastic gradient descent with momentum to optimize the
% parameters for the given objective.
%
% Parameters:
% funObj - function handle which accepts as input theta,