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

嘉兴自助建站软件网站宣传册怎么做

嘉兴自助建站软件,网站宣传册怎么做,乐享视频在线下载免费,网站开发大致需要哪些步骤这一周的主题是优化算法。 1. Mini-batch#xff1a; 上一门课讨论的向量化的目的是去掉for循环加速优化计算#xff0c;X [x(1) x(2) x(3) ... x(m)]#xff0c;X的每一个列向量x(i)是一个样本#xff0c;m是样本个数。但当样本很多时#xff08;比如m500万#xff09…这一周的主题是优化算法。   1.  Mini-batch   上一门课讨论的向量化的目的是去掉for循环加速优化计算X [x(1) x(2) x(3) ... x(m)]X的每一个列向量x(i)是一个样本m是样本个数。但当样本很多时比如m500万向量化依然不能解决问题。所以提出了mini-batch的概念Batch是指对整个样本都操作mini-batch指只对所有样本的子集进行操作。把若干样本合并成一个mini-batch比如这里选择1000X{1} [x(1) x(2) ... x(1000)]X{2}  [x(1001) x(1002) ... x(2000)]等等。则我们一共有5000个mini-batch此时 X [X{1} X{2} ... X{5000}]。同样的把输出Y也做这样的操作得到 Y [Y{1} Y{2} ... Y{5000}] 。   Notationx(i)表示第i个样本z[l]表示第l层的z值X{t}表示第t个mini-batch。   具体算法 repeat { #不断重复迭代优化for t 1, ..., 5000 { #对于普通的batch处理手段遍历一次样本更新一次参数。而在mini-batch的方法中遍历一次样本更新了5000次参数。Forward prop on X{t} #用向量化的手段依次处理每一个mini-batchZ[1] W[1]X{t} b[1]A[1] g[1](Z[1])...A[l] g[l](Z[l])Compute cost J 1/1000*(∑L(y_hat(i), y(i)) 正则化项Back prop to compute gradients with respect to J{t} (using X{t}, Y{t})W[l] W[l] - αdW[l], b[l] b[l] - αdb[l]} } 对于batch处理方式来说cost function J随着优化的进行是越来越小的单调递减。而对于mini-batch的处理方式来说则是震荡着下降或者说下降的曲线夹杂了噪音。   一个超参数是mini-batch的大小size。如果size m则意味着就是batch gradient descent用整个数据集训练。如果size 1则是stochastic gradient descent每个样本都是独立的mini-batch。前者的问题是每次迭代的计算太费时后者的问题是随机性太严重效率过于低下失去了向量化带来的加速计算效果。mini-batch的大小介于两者之间能获得平衡的效果一方面有向量化的加速效果另一方面又不需要计算全部样本。关于mini-batch的大小NG的建议1如果小数据集少于2000直接使用batch方法2一般的mini-batch大小是64~512考虑到CPU/GPU的内存存储方式2的幂的大小算得更快。不用担心mini-batch的大小不能整除样本数的问题最后一个样本就少一点没事。也有人用1024但不常见。这是一个超参数所以NG建议多尝试几个不同的2的幂找个最好的。mini-batch越大减少了噪音也减少了正则化效果。   def random_mini_batches(X, Y, mini_batch_size 64, seed 0):Creates a list of random minibatches from (X, Y)Arguments:X -- input data, of shape (input size, number of examples)Y -- true label vector (1 for blue dot / 0 for red dot), of shape (1, number of examples)mini_batch_size -- size of the mini-batches, integerReturns:mini_batches -- list of synchronous (mini_batch_X, mini_batch_Y)np.random.seed(seed) # To make your random minibatches the same as oursm X.shape[1] # number of training examplesmini_batches []# Step 1: Shuffle (X, Y)permutation list(np.random.permutation(m))shuffled_X X[:, permutation]shuffled_Y Y[:, permutation].reshape((1,m))# Step 2: Partition (shuffled_X, shuffled_Y). Minus the end case.num_complete_minibatches math.floor(m/mini_batch_size) # number of mini batches of size mini_batch_size in your partitionningfor k in range(0, num_complete_minibatches):mini_batch_X shuffled_X[:, k*mini_batch_size : (k1)*mini_batch_size]mini_batch_Y shuffled_Y[:, k*mini_batch_size : (k1)*mini_batch_size]mini_batch (mini_batch_X, mini_batch_Y)mini_batches.append(mini_batch)# Handling the end case (last mini-batch mini_batch_size)if m % mini_batch_size ! 0:mini_batch_X shuffled_X[:, (k1)*mini_batch_size : m-1]mini_batch_Y shuffled_Y[:, (k1)*mini_batch_size : m-1]mini_batch (mini_batch_X, mini_batch_Y)mini_batches.append(mini_batch)return mini_batches2. 指数加权平均指数加权移动平均   vt βvt-1 (1-β)θt 。这个公式可以看成 vt 近似等于 1/(1-β) 个数据的平均值比如β 0.9则近似可以看成是10个数据的平均值。展开来看vt (1-β)*θt  (1-β)*β*θt-1  (1-β)*β2*θt  ...(1-β)*βn*θt 权重指数衰减。为什么近似等于1/(1-β) 个数据的平均值NG解释说如果β接近1β1/(1-β)≈1/e0.370.37的权重已经很小了所以说近似等于 1/(1-β) 个数据的平均值。   指数加权平均的一大好处是可以迭代计算占内存很小。相比之下如果记录过去n个数值然后算平均数显然耗内存很多。   偏差矫正偏差产生的原因是头部缺数据造成求得的指数加权平均比较小。偏差矫正的公式是 vt / (1 - βt)注意这里是计算完vt后矫正而不是在迭代过程中实时矫正。直观地说如果β大比如0.98则需要平均更多的数据于是1 - βt更小从而把 vt 放大。   3. Momentum (Gradient descent with momentum)   这种方法几乎总是比标准的梯度下降快。基本想法是用梯度的指数加权平均数来更新权重。如果优化的问题有大的condition number则优化过程中会在一个方向剧烈震荡。这导致我们只能选用小的学习率降低了优化的速度。如果学习率大很容易就发散了。我们希望的是在震荡的方向上迭代步长小一点而在没有震荡的方向上迭代步长大一点。指数加权平均的做法在震荡方向上把数据正负抵消了所以得到很小的数而在没有震荡的方向上则持续增加。物理的直观解释是想象一个小球从碗的边沿滚下去梯度是它的加速度momentum是它的速度β是和摩擦力相关的量。相比于标准的梯度下降当前迭代只与当前梯度相关而momentum的方法把当前迭代和过往梯度也联系起来。   具体算法   vdW 0, vdb 0   对于每一步的迭代     计算当前mini-batch的梯度dW, db。     vdW  βvdW (1-β)dW  # NG解释说也有的教材写成 vdW  βvdW  dW他自己不喜欢这种因为更难调参数调β的时候会再需要调α。     vdb  βvdb (1-β)db     W W - αvdW, b b- αvdb   α和β是超参数不过经验上看β取0.9是非常不错的。一般人们不用偏差矫正因为通过初始阶段后就无偏了。   4. RMSprop(Root mean square prop): NG说这个方法最开始是Geoffrey Hinton在coursera的课上提出来的。   具体算法   SdW 0, Sdb  0   对于每一步的迭代     计算当前mini-batch的梯度dW, db。     SdW  βSdW  (1-β)dW2   # dW2是把向量的每个元素各自平方。     Sdb  βvdb  (1-β)db2     W W - αdW/(sqrt(SdW)ε), b b- αdb/(sqrt(Sdb)ε) # 分母加上ε为了防止除以0的情况ε可以随便设一个很小的数比如e-8   直观地解释对于震荡的优化方向S值会比较大从而更新参数时步长会比较小从而消除震荡。   5. Adam(Adaptive moment estimation)将Momentum和RMSprop结合起来。   具体算法    vdW 0SdW 0,  vdb  0Sdb  0   对于每一步的迭代     计算当前mini-batch的梯度dW, db。     vdW  β1vdW  (1-β1)dWvdb  β1vdb  (1-β1)db  # β1对应Momentum。     SdW  β2SdW  (1-β2)dW2  Sdb  β2vdb  (1-β2)db2  # β2对应RMSprop。     vdW_corrected vdW / (1 - β1t)vdb_corrected  vdb / (1 - β1t)     SdW_corrected  SdW / (1 - β2t)Sdb_corrected  Sdb / (1 - β2t)     W W - αvdW_corrected / (sqrt(SdW_corrected)ε), b b - αvdb_corrected / (sqrt(Sdb_corrected)ε)   超参数α需要调试β1可以设为0.9β2可以设为0.999ε可以设为e-8。一般大家都只调α另外几个就按照默认值。   Adam非常非常牛逼默认选项。   6. 学习率衰减(Learning rate decay)   1 epoch的意思是遍历一次数据集。   一种典型的decay方法α α0 / (1decay_rate*epoch_num)decay_rate是另一个需要调的超参数。   其他decay方法α 0.95epoch_numα0α k*α0 / sqrt(epoch_num)α k*α0 / sqrt(t)t是迭代次数还有分段离散衰减的。   NG说学习率衰减并不是他优先考虑的东西他优先还是选一个好一些的固定的α。   7. 深度学习中的局部最优   传统的理解中局部最优是要避免的。但是在深度学习优化的问题里比如有2万个参数或者说在2万维的空间梯度为0的点往往并不是局部最优而是鞍点。NG说我们对低纬度空间的大部分直觉不能应用到高纬度空间中。所以深度学习的优化中并不担心陷入局部最优而是担心在平稳段导数在很大的区域都接近0优化变慢。Momentum、RMSprop、Adam等算法可以加速对平稳段的优化。               转载于:https://www.cnblogs.com/zonghaochen/p/7791763.html
http://www.yutouwan.com/news/3328/

相关文章:

  • 万州建设工程信息网站平台网站模板素材
  • 网站设计怎么好看免费域名申请流程
  • 企业建设网站目的是什么意思枣庄手机网站建设电话
  • 万全网站建设wl17581连接交换
  • 上海网站建设网页制作你却做网站公司那家好
  • 建设行政主管部门官方网站中国建设劳动学会是假网站吗
  • 网站怎样做超链接太原便宜做网站的公司
  • 国际网站如何做seo网站建设实力宣传海报
  • 合肥最好的网站建设公司受欢迎的网站开发
  • 网站建设与管理行业发展情况西安高端网站制作
  • 什么是大型门户网站wordpress 下划线
  • 电子商务网站建设招标书龙岩kk网手机版
  • 网络平面设计包括哪些郑州搜索引擎优化公司
  • 网站运营需要哪些技术知末设计网官网
  • 单位建设一个网站的费用网站模板 源码之家
  • 鹤壁建设网站推广公司电话jsp网站开发实例与发布
  • 网站建设书籍下载word模板免费下载素材
  • 建设网站cms广昌网站建设制作
  • 重庆网站制作哪家好自己可以开发app软件
  • 手机建立一个免费网站wordpress wpposts
  • 网站维护有哪些企业运营网站开发工作
  • 百度统计网站速度诊断工具合肥住房和城乡建设局
  • 青岛专业网站制作设计怎么选择锦州网站建设
  • 办公室门户网站建设和管理工作php开发的大型金融网站有哪些
  • 滨江网站建设公司广州学习网站建设
  • seo综合查询站长工具怎么用盐田区住房和建设局网站
  • 哪里有网站建设的企业庭院设计效果图
  • 汶上公司网站建设怎么用网站建设
  • 网站域名使用费多少合肥瑶海区医院
  • 谷歌英文网站优化开发网站的流程是