Questions tagged «optimization»

将此标记用于统计信息中的优化用途。

8
为什么牛顿方法没有在机器学习中广泛使用?
这是困扰我一段时间的事情,而且我在网上找不到任何令人满意的答案,所以这里是: 在复习了一组关于凸优化的讲座之后,牛顿的方法似乎比梯度下降算法更优越,可以找到全局最优解,因为牛顿的方法可以为其求解提供保证,它的仿射不变性,并且大多数收敛于步骤少得多。为什么在机器学习问题中二阶优化算法(例如牛顿法)不如随机梯度下降法那么广泛使用?

3
批量梯度下降与随机梯度下降
假设我们有一些训练集,其中。还假设我们在训练集上运行某种类型的监督学习算法。假设表示为。我们需要找到参数,以最小化和之间的“距离” 。令(x(i),y(i))(x(i),y(i))(x_{(i)}, y_{(i)})i=1,…,mi=1,…,mi = 1, \dots, mhθ(x(i))=θ0+θ1x(i)1+⋯+θnx(i)nhθ(x(i))=θ0+θ1x(i)1+⋯+θnx(i)nh_{\theta}(x_{(i)}) = \theta_0+\theta_{1}x_{(i)1} + \cdots +\theta_{n}x_{(i)n}θθ\mathbf{\theta}y(i)y(i)y_{(i)}hθ(x(i))hθ(x(i))h_{\theta}(x_{(i)})J(θ)=12∑i=1m(y(i)−hθ(x(i))2J(θ)=12∑i=1m(y(i)−hθ(x(i))2J(\theta) = \frac{1}{2} \sum_{i=1}^{m} (y_{(i)}-h_{\theta}(x_{(i)})^{2} 然后,我们希望找到最小化。在梯度下降中,我们初始化每个参数并执行以下更新:θθ\thetaJ(θ)J(θ)J(\theta)θj:=θj−α∂∂θjJ(θ)θj:=θj−α∂∂θjJ(θ)\theta_j := \theta_j-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta) 批量梯度下降和随机梯度下降之间的主要区别是什么? 两者都使用上面的更新规则。但是,一个比另一个更好吗?

6
是否可以在不进行反向传播的情况下训练神经网络?
许多神经网络书籍和教程都在反向传播算法上花费了大量时间,反向传播算法本质上是计算梯度的工具。 假设我们正在建立一个具有约10K参数/权重的模型。是否可以使用一些无梯度优化算法来运行优化? 我认为计算数字梯度会太慢,但是其他方法(如Nelder-Mead,模拟退火或遗传算法)如何? 所有算法都会遭受局部极小值的困扰,为什么会迷恋梯度?

2
tanh激活函数与S型激活函数
tanh激活功能为: Ť 一个Ñ ħ (X ) = 2 ·&σ(2 x ) − 1tanh(x)=2⋅σ(2x)−1tanh \left( x \right) = 2 \cdot \sigma \left( 2 x \right) - 1 其中,S形函数,被定义为:。σ (x )= e xσ(x )σ(x)\sigma(x) σ(x )= eX1 + eXσ(x)=ex1+ex\sigma(x) = \frac{e^x}{1 + e^x} 问题: 使用这两个激活函数(tanh与sigma)之间真的有关系吗? 在哪种情况下哪个功能更好?

7
为什么要优化最大对数概率而不是概率
在大多数机器学习任务中,您可以制定应最大化的概率,我们实际上将优化对数概率而不是某些参数的概率。例如,在最大似然训练中,通常是对数似然。使用某些渐变方法进行此操作时,涉及一个因素:数p θppp日志plog⁡p\log pθθ\theta ∂日志p∂θ= 1p·&∂&p∂θ∂log⁡p∂θ=1p⋅∂p∂θ \frac{\partial \log p}{\partial \theta} = \frac{1}{p} \cdot \frac{\partial p}{\partial \theta} 有关示例,请参见此处或此处。 当然,优化是等效的,但梯度会有所不同,因此任何基于梯度的方法的行为都会有所不同(尤其是随机梯度方法)。是否有理由证明梯度比梯度更好?p日志plog⁡p\log pppp

7
成本函数评估缓慢时的优化
梯度下降和许多其他方法可用于在成本函数中找到局部最小值。当可以在数字或分析上快速评估成本函数时,它们会非常有效。 我觉得这是一种不寻常的情况。我的成本函数的每次评估都很昂贵。我正在尝试找到一组参数,以将3D表面相对于地面真实表面最小化。每当我更改参数时,都需要针对整个样本队列运行算法以衡量其效果。为了计算梯度,我需要独立更改所有15个参数,这意味着我必须重新生成所有曲面并与样本同类进行比较,每个梯度的次数太多,并且在优化过程中肯定也进行了太多次。 我已经开发出一种方法来解决此问题,并且目前正在对其进行评估,但令我感到惊讶的是,我在文献中并未发现太多有关昂贵的成本函数评估的内容。这使我想知道我是否正在使问题变得更加棘手,并且可能已经有了更好的方法。 所以我的问题基本上是这样的:当评估缓慢时,有人知道优化成本函数的方法吗?或者,我是否首先通过重新运行算法并与样本组进行多次比较来做一些愚蠢的事情?

5
关于PCA如何从几何问题(具有距离)转变为线性代数问题(具有特征向量)的直观解释是什么?
我读过很多关于PCA,包括各种教程和问题(如这一个,这一个,这一个,而这一个)。 PCA试图优化的几何问题对我来说很清楚:PCA试图通过最小化重建(投影)误差来找到第一个主成分,这同时使投影数据的方差最大化。 当我第一次阅读该书时,我立即想到了线性回归之类的东西。也许您可以根据需要使用梯度下降法解决它。 但是,当我看到通过使用线性代数并找到特征向量和特征值来解决优化问题时,我的想法震惊了。我根本不了解线性代数的这种用法如何发挥作用。 所以我的问题是:PCA如何从几何优化问题变成线性代数问题?有人可以提供直观的解释吗? 我不是在寻找像一个回答这一个,说:“当你解决PCA的数学问题,它最终被等同于找到协方差矩阵的特征值和特征向量。” 请解释为什么特征向量出来是主要成分,为什么特征值出来是投影到它们上的数据的方差 顺便说一句,我是软件工程师,而不是数学家。 注意:上图是从本PCA教程中获取并修改的。

4
基于动量的梯度下降与Nesterov的加速梯度下降有什么区别?
因此,基于动量的梯度下降原理如下: v = s e l f。米ø 米é Ñ 吨ü 米* 米- 升- [R * 克v=self.momentum∗m−lr∗gv=self.momentum*m-lr*g 其中是先前的权重更新,g是相对于参数p的当前梯度,l r是学习率,s e l f 。米ø 米é Ñ 吨Ú 中号是一个常数。米mmGggppp升[Rlrlr小号Ë 升˚F。米ø 米é Ñ 吨ù 米self.momentumself.momentum pñ Ë W ^= p + v = p + s e l f。米ø 米é Ñ 吨ü 米* 米- …


1
随机梯度下降的亚当方法如何工作?
我熟悉用于训练神经网络的基本梯度下降算法。我已经阅读了有关提出亚当:ADAM:一种随机优化方法的论文。 尽管我确实有一定的见识(至少),但这篇论文对我总体而言似乎太高了。例如,成本函数通常是许多不同函数的总和,因此必须进行大量计算以优化其价值;就我所了解的主题而言,随机梯度下降仅针对这些函数的子集计算优化。对我来说,目前尚不清楚亚当如何做到这一点,以及为什么这会导致整个J (θ )的训练误差减小。Ĵ(θ )Ĵ(θ)J(\theta)Ĵ(θ )Ĵ(θ)J(\theta) 我认为Adam通过考虑以前的渐变来更新其渐变。他们称其为利用动量吗?这种势头到底是什么?根据论文第二页的算法,它是某种移动平均值,例如对“规则”梯度的第一和第二矩的一些估计? 实际上,我会怀疑亚当可以使人使用更大的有效步长来减小梯度,从而减小训练误差并结合随机逼近。因此,所得的更新向量应在空间维度上更多地“跳跃”,而不是像正常的梯度下降算法那样描述某些曲线。 有人可以揭开亚当的神秘面纱吗?特别是它是如何收敛的,特别是亚当方法为何起作用以及其确切好处是什么?

1
神经网络:体重变化动量和体重衰减
动量用于减少连续迭代中权重变化的波动:αα\alpha È(瓦特)瓦特ηΔωi(t+1)=−η∂E∂wi+αΔωi(t),Δωi(t+1)=−η∂E∂wi+αΔωi(t),\Delta\omega_i(t+1) = - \eta\frac{\partial E}{\partial w_i} + \alpha \Delta \omega_i(t), 其中是误差函数, -权重向量,学习率。E(w)E(w)E({\bf w})ww{\bf w}ηη\eta 重量衰减会影响重量变化:λλ\lambda Δωi(t+1)=−η∂E∂wi−ληωiΔωi(t+1)=−η∂E∂wi−ληωi\Delta\omega_i(t+1) =- \eta\frac{\partial E}{\partial w_i} - \lambda\eta\omega_i 问题是,在反向传播过程中将这两种技巧结合在一起是否有意义,并且会产生什么效果? Δωi(t+1)=−η∂E∂wi+αΔωi(t)−ληωiΔωi(t+1)=−η∂E∂wi+αΔωi(t)−ληωi\Delta\omega_i(t+1) = - \eta\frac{\partial E}{\partial w_i} + \alpha \Delta \omega_i(t) - \lambda\eta\omega_i

5
实用的超参数优化:随机与网格搜索
我目前正在研究Bengio和Bergsta的用于超参数优化 的随机搜索[1],作者声称随机搜索比网格搜索更有效地实现近似相等的性能。 我的问题是:这里的人是否同意这种说法?在我的工作中,我之所以一直使用网格搜索,主要是因为缺少可轻松执行随机搜索的工具。 人们使用网格搜索与随机搜索的体验如何?

1
为什么glmer无法达到最大可能性(已通过应用进一步的通用优化方法进行了验证)?
数值推导MLE第GLMM是困难的,在实践中,我知道,我们不应该用蛮力优化(例如,使用optim一个简单的方法)。但是出于我自己的教育目的,我想尝试一下以确保正确理解该模型(请参见下面的代码)。我发现我总是从中得到不一致的结果glmer()。 特别是,即使我使用MLE glmer作为初始值,根据我写的似然函数(negloglik),它们也不是MLE(opt1$value小于opt2)。我认为两个潜在的原因是: negloglik 写得不好,以至于其中有太多的数字误差,并且 型号规格错误。对于模型规范,预期模型为: 其中 ˚F是二项式PMF和克是一个正常的PDF文件。我试图估计 a, b和 s。我特别想知道模型规格是否错误,正确的规格是什么。L=∏i=1n(∫∞−∞f(yi|N,a,b,ri)g(ri|s)dri)L=∏i=1n(∫−∞∞f(yi|N,a,b,ri)g(ri|s)dri)\begin{equation} L=\prod_{i=1}^{n} \left(\int_{-\infty}^{\infty}f(y_i|N,a,b,r_{i})g(r_{i}|s)dr_{i}\right) \end{equation}fffgggaaabbbsss p <- function(x,a,b) exp(a+b*x)/(1+exp(a+b*x)) a <- -4 # fixed effect (intercept) b <- 1 # fixed effect (slope) s <- 1.5 # random effect (intercept) N <- 8 x <- rep(2:6, each=20) n <- length(x) id …

3
比较SVM和Logistic回归
有人可以给我一些何时选择SVM或LR的直觉吗?我想了解两者的超平面的优化标准之间有何区别的直觉,其各自的目标如下: SVM:尝试使最接近的支持向量之间的裕度最大化 LR:最大化后类可能性 让我们考虑SVM和LR的线性特征空间。 我已经知道一些差异: SVM是确定性的(但我​​们可以使用Platts模型进行概率评分),而LR是概率性的。 对于内核空间,SVM更快(仅存储支持向量)

5
您可以通过使用CV / Bootstrap训练机器学习算法来过度拟合吗?
这个问题很可能是开放性的,无法得出明确的答案,但希望不会。 机器学习算法(例如SVM,GBM,Random Forest等)通常具有一些免费参数,除了一些经验法则之外,还需要针对每个数据集进行调整。通常使用某种重新采样技术(引导程序,CV等)来完成此过程,以适应给出最佳泛化误差的参数集。 我的问题是,你可以在这里走得太远吗?人们都在谈论进行网格搜索,但是为什么不简单地将其视为优化问题并向下钻取最佳参数集呢?我在这个问题中询问了一些有关此问题的机制,但是并没有引起太多关注。也许这个问题被问得很严峻,但也许问题本身代表了人们通常不会采取的一种不好的做法? 困扰我的是缺乏正规化。通过重新采样,我可能会发现,对于该数据集,GBM中生长的最佳树木数量为647,交互深度为4,但是我如何确定新数据确实如此(假设新种群)与训练集相同)?由于没有合理的“缩水”价值(或者如果您愿意,也没有提供任何先验信息),重新采样似乎是我们可以做的最好的事情。我只是没有听到任何有关此事的消息,所以让我想知道是否缺少某些东西。 显然,要进行多次迭代以将模型的最后预测能力压缩出去,会产生大量的计算成本,因此,如果您有足够的时间/精力来进行优化和每一位操作,那么显然这是您要执行的操作性能改善是很有价值的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.