gradient-descent相关内容

Tensorflow:如何在python中编写带有渐变的op?

我想在python中编写一个TensorFlow op,但是我希望它是可区分的(能够计算梯度). 此问题询问如何在python中编写op,并且答案建议使用py_func(不具有渐变): TF文档描述了如何仅从C ++代码开始添加操作:就我而言,我正在制作原型,所以我不在乎它是否可以在GPU上运行,也不在乎它是否可以从TF python API之外的任何其他功能使用. 解决方案 是的, ..
发布时间:2020-05-17 19:10:03 Python

梯度下降码的矢量化

我正在Matlab上实现批量梯度下降.我在theta的更新步骤中遇到问题. theta是两个分量(两行)的向量. X是一个包含m行(训练样本数)和n=2列(特征数)的矩阵. Y是m行向量. 在更新步骤中,我需要将每个theta(i)设置为 theta(i) = theta(i) - (alpha/m)*sum((X*theta-y).*X(:,i)) 这可以通过for循环来完成,但 ..
发布时间:2020-05-06 12:40:52 其他开发

Python梯度下降多重回归-成本增加到无穷大

为我的最后一年的项目编写此算法.使用梯度下降法找到最小值,但代价却高达无穷大. 我已经检查了 gradientDescent 函数.我相信那是正确的. 我正在导入的csv及其格式导致某些错误. CSV中的数据具有以下格式. "|"之前的每个四边形是一行. 前3列是自变量x. 第四列与y相关. 600 20 0.5 0.63 | 600 20 1 1.5 | 800 2 ..
发布时间:2020-05-04 10:16:59 AI人工智能

为什么太多的时期会导致过度拟合?

我正在阅读python的深度学习书. 在阅读了第4章,抗击过度拟合之后,我有两个问题. 为什么增加时期数会导致过度拟合? 我知道增加纪元数会涉及到更多的梯度下降尝试,这会导致过度拟合吗? 在过度拟合过程中,准确性会降低吗? 解决方案 我不确定您正在阅读哪本书,因此在我专门回答问题之前,一些背景信息可能会有所帮助. 首先,增加时期数并不一定会导致过度拟合,但确实可以.如果学 ..
发布时间:2020-05-04 10:05:58 AI人工智能

梯度下降法在特征向量袋词分类任务中的应用

我已经看过“> 吴安国(Andrew Ng)视频 一遍又一遍,但我仍然不明白如何将梯度下降应用于我的问题. 他几乎只从事高级概念解释领域的工作,但我需要的是战术方面的基础知识. 我的输入是以下形式的特征向量: 示例: Document 1 = ["I", "am", "awesome"] Document 2 = ["I", "am", "great", "great"] ..
发布时间:2020-05-04 09:57:22 Java开发

使用矢量化的梯度下降的八度代码无法正确更新成本函数

我已经使用矢量化实现了以下用于梯度下降的代码,但是代价函数似乎并没有正确地递减.相反,代价函数会随着每次迭代的增加而增加. 假设theta为n + 1个向量,y为m个向量,X为设计矩阵m *(n + 1) function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters) m = length(y) ..

如何将Hermite多项式与随机梯度下降(SGD)一起使用?

我试图使用Hermite多项式用pytorch训练一个简单的多项式线性模型,因为它们似乎具有更好的条件的Hessian. 为此,我决定使用 hermvander ,因为它给出了Vandermonde矩阵,每个条目都是Hermite术语.为此,我只是使特征向量成为hermvander的输出: Kern_train = hermvander(X_train,Degree_mdl) 但是 ..

Matlab中的多变量梯度下降

我正在matlab中对多个变量进行梯度下降,并且代码未获得正常等式所得到的预期theta.那是: θ= 1.0e + 05 * 3.4041 1.1063 -0.0665 与普通等式.我已经执行了. 使用GDM,我得到的结果是: θ= 1.0e + 05 * 2.6618 -2.6718 -0.5954 而且我不明白为什么会这样,也许有人可以帮助我,告诉我代码中的错误在哪里. 代码: ..
发布时间:2020-05-04 09:41:30 AI人工智能

如何在python中实现小批量梯度下降?

我刚刚开始学习深度学习.当涉及到梯度下降时,我发现自己陷于困境.我知道如何实现批量梯度下降.我知道它的工作原理以及理论上的小批量和随机梯度下降的工作原理.但是真的不明白如何在代码中实现. import numpy as np X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ]) y = np.array([[0,1,1,0]]).T alpha, ..

梯度下降与随机梯度下降算法

我试图在MNIST手写数字数据集(包括60K训练样本)上训练前馈神经网络. 我每次迭代所有训练样本,并在每个时期对每个这样的样本执行反向传播.运行时间当然太长了. 我运行的算法是否命名为 Gradient Descent ? 我了解到,对于大型数据集,使用随机梯度下降可以显着改善运行时间. 我该怎么做才能使用随机梯度下降?我是否应该随机选择训练样本,对每个随机选择的样本执行 ..

如何确定梯度下降算法中的学习率和方差?

我上周开始学习机器学习.当我想制作一个梯度下降脚本来估计模型参数时,遇到一个问题:如何选择合适的学习率和方差.我发现,不同的(学习率,方差)对可能导致不同的结果,有些甚至你无法融合.另外,如果更改为另一个训练数据集,那么选择正确的(学习率,方差)对可能不起作用.例如(下面的脚本),当我将学习率设置为0.001,方差设置为0.00001时,对于"data1",我可以获得合适的theta0_guess ..
发布时间:2020-05-04 09:30:15 AI人工智能

梯度下降与牛顿的梯度下降有什么区别?

我了解Gradient Descent的作用.基本上,它试图通过缓慢地沿着曲线向下移动来朝向局部最优解.我试图了解平面梯度下降与牛顿法之间的实际区别是什么? 在Wikipedia上,我读到了这句话:“牛顿法使用曲率信息采取更直接的路线."这凭直觉是什么意思? 解决方案 在局部最小值(或最大值)x处,目标函数f的导数消失:f'(x) = 0(假定). 梯度下降尝试通过使用来自f的 ..

Caffe:如果两个反向支撑渐变到同一底部Blob,将会发生什么?

我想知道如果我有一个生成底部斑点的层,该斑点会被随后的两个后续层进一步消耗,这两个层都会在向后传播阶段生成一些渐变以填充bottom.diff.是否将两个梯度加起来形成最终的梯度?还是只有其中一个可以生存?以我的理解,Caffe层需要先将bottom.diff设置为全零,然后再填充一些计算出的渐变,对吗? memset会否清除另一层已经计算出的渐变?谢谢! 解决方案 使用一个以上的损失层并 ..