问题标签 [levenberg-marquardt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Levenberg-Marquardt 优化算法的 keras 实现作为自定义优化器
我正在尝试将 Levenberg-Marquardt 算法实现为 Keras 优化器,如此处所述,但我有几个问题,最大的一个是这个错误
快速搜索后,我发现这与 tensorflow 如何运行带有我不了解的图表的程序有关。我发现这个答案对 SO很有用,但它是关于损失函数,而不是优化器。
所以说重点。
我的尝试如下所示:
Q1 我可以在不深入 tensorflow 的情况下修复这个错误吗(我希望我可以通过保持 Keras 级别来做到这一点)
Q2 我是否以正确的方式使用 keras 后端?
我的意思是,在这一行
我应该使用 keras 后端函数,或者 numpy 或纯 python 来运行此代码,而不会出现输入数据是 numpy 数组的问题?
Q3 这个问题更多是关于算法本身。
我什至可以正确实施 LMA 吗?我必须说,我不确定如何处理边界条件,我猜到的 tau/lambda 值,也许你知道更好的方法?
我试图了解 keras 中的每个其他优化器是如何工作的,但即使是 SGD 代码对我来说也是模棱两可的。
Q4 我是否需要以任何方式更改本地文件 optimizers.py?
为了正确运行它,我正在初始化我的优化器:
然后简单地将它传递给编译方法。然而,在快速查看 optimizers.py 的源代码后,我发现代码中有一些位置具有明确的优化器名称(例如反序列化函数)。为我的自定义优化器扩展它是否重要,或者我可以保留它?
我非常感谢任何帮助和未来行动的方向。
tensorflow - 张量流中的 Levenberg-Marquardt
我想知道是否有人尝试在 tensorflow 中实现著名的 Levenberg-Marquardt 算法?在参数更新期间,我在尝试实现它时遇到了许多问题。以下代码片段显示了更新函数的实现:
以及以下调用:
导致以下错误:
但是当我在运行时打印它们时,雅可比/梯度和粗麻布的维度都可以。我遇到的另一个问题是无法在每次更新后跟踪参数,然后在将它们输入优化器之前使其适应个人需求。我想修复一些参数,并为其他人计算 hessian 和 jacobian,同时执行优化。任何帮助将不胜感激。
scikit-learn - 是否可以将 sklearn 形式的 cross_val_score() 应用于具有 Weigth Elimination 之类的插件的 neupy NN?
我正在尝试将 cross_val_score() 应用于以下算法:
这是我收到的错误消息:
没有 WeightElimination 或任何其他插件,cross_val_score() 可以正常工作……还有其他方法吗?谢谢
tensorflow - tensorflow中levenberg marquardt优化的实现
我想检查是否在 TensorFlow 中实现了 Levenberg Marquardt 优化。我过去通常使用 Adam 优化器,但我读到 Levenberg Marquardt 优化对于非线性数据集效果更好。有人知道这在 Tensorflow 中是否可用吗?
matlab - Levenberg-Marquardt 算法的替代方案
我收到了一些旧代码,它使用函数 fmincon 和算法 LevenbergMarquardt 来优化我的参数。但是,此算法在此函数中不再可用。由于我是 Matlab 的新手,我不确定最好的选择是什么。我试图简单地将函数更改为与 LevenbergMarquardt 兼容的函数,但这似乎不起作用。
下面是选项向量和 fmincon 函数。“S”、“A”和“b”是参数的起始值,“lb”和“ub”是上限和下限。
如果有任何不清楚的地方或者您需要更多信息,请写信。
python - 在带有附加参数的 numpy 数组上使用 scipy.optimize.root
给定优化问题 (1),如下所示,其中p_i
和p'_i
给出w_ji
,i=0,...,6889
我想使用 Levenberg-Marquardt 方法来找到R_j
和v_j
使用的最佳解决方案scipy.optimize.root
(我愿意接受任何其他建议)。
但是,我不知道如何设置需要传递给root
. 到目前为止,我所拥有的只是这显然是错误的。
编辑:这现在是正确的结果。
machine-learning - 反向传播与 Levenberg Marquardt
有谁知道神经网络训练中反向传播和 Levenberg-Marquardt 之间的区别?有时我看到 LM 被认为是一种 BP 算法,有时我看到相反的情况。您的帮助将不胜感激。
谢谢你。