问题标签 [convergence]
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.
algorithm - (批量)SOM(自组织地图,又名“Kohonen 地图”)的收敛标准?
我喜欢在 Batch SOM 收敛时停止执行。我可以使用什么误差函数来确定收敛?
c# - 是否有更好的测试收敛机制?
我正在使用牛顿法计算一个值,并使用 for 循环来测试它是否收敛。但我觉得在 for 循环中使用固定值并不是最好的方法。有什么建议吗?
function - 确定递归函数是否收敛
考虑以下递归阶乘函数:
上述函数收敛于包括零在内的所有正整数。但是它不会收敛于负整数。
接下来,考虑以下程序:
上述函数收敛于所有整数。
我想知道您将如何静态确定递归函数是否收敛。
cluster-analysis - 为什么 k-means 不给出全局最小值?
我读到 k-means 算法只收敛到局部最小值而不是全局最小值。为什么是这样?我可以从逻辑上想到初始化如何影响最终的聚类,并且存在次优聚类的可能性,但我没有找到任何可以在数学上证明这一点的东西。
另外,为什么 k-means 是一个迭代过程?我们不能只是将目标函数部分区分为质心,将其等同于零以找到最小化该函数的质心吗?为什么我们必须使用梯度下降来逐步达到最小值?
matlab - Matlab 的 fsolve 收敛 *但 * 似乎给出了错误的解决方案
我正在尝试使用 fsolve 求解非线性方程组;让我们说
F(x;lambda) = 0,其中 lambda 是参数向量,x 是我要求解的向量。
我正在使用 Matlab 的 fsolve。
我有 2 个参数 lambda 值,我想解决系统问题。对于 lambda 的一个值,我得到了一个解决方案,这似乎没问题。
对于 lambda 的另一个值,我再次得到一个解决方案(matlab 以 1 的标志退出。但是我知道这不是一个实际的解决方案例如,我知道 x 的某些维度必须彼此相等,并且这个我从 fsolve 获得的解决方案并非如此。
我已经尝试过 trust-region 和 levenberg-marquardt 算法,但没有得到更好的结果。(明确强制那些 x 相同,似乎仍然给出的解决方案与我对系统属性的期望不一致)
我的问题是:fsolve 使用的算法是否取决于系统的任何稳定性?难道是在我上面提到的第二种情况下更改参数 lambda 会使系统变得不稳定,这会使 fsolve 难以正确解决它吗?
谢谢你,乔治
matlab - 在 Matlab 中使用 svmtrain 内存不足
我有一组数据,我正在尝试使用 SVM 学习。对于上下文,数据的维度为 35,包含大约 30'000 个数据点。
我之前用这个数据集在 Matlab 中训练过决策树,大约需要 20 秒。对错误率并不完全满意,我决定尝试 SVM。
我第一次尝试svmtrain(X,Y)
。大约 5 秒后,我收到以下消息:
???在 453 处使用 ==> svmtrain 时出错 计算内核函数时出错:内存不足。键入 HELP MEMORY 作为您的选项。
当我查找此错误时,有人建议我使用SMO方法:svmtrain(X, Y, 'method', 'SMO');
. 大约一分钟后,我得到了这个:
???在 236 处使用 ==> seqminopt>seqminoptImpl 时出错 在主循环通过的最大次数 (15000) 内未实现收敛
==> seqminopt 中的错误为 100 [alphas offset] = seqminoptImpl(data, targetLabels, ...
==> svmtrain 在 437 [alpha 偏差] = seqminopt(training, groupIndex, ...
我尝试使用其他方法(LS 和 QP),但我再次得到第一个行为:然后延迟 5 秒
???在 453 处使用 ==> svmtrain 时出错 计算内核函数时出错:内存不足。键入 HELP MEMORY 作为您的选项。
我开始认为我做错了什么,因为决策树使用起来非常轻松,在这里我陷入了看似非常简单的操作。
非常感谢您的帮助。
algorithm - 迭代求数——算法设计
我正在尝试设计一种算法,它会在给定一组规则的情况下为我找到价格。
现在的情况
我们目前将所有产品的“价格”设置为 0.01 英镑,并将“line_crossed”属性设置为 false。我们计算的保证金为 0.01 英镑,虽然它仍然是负数,但价格翻了一番(增加 0 2^n
)。一旦边距变为正值,我们将 'line_crossed' 设置为 true 并切换到不同的公式。
该公式跟踪使用的最后价格和当前价格,并将朝正确的方向移动(如果保证金为负,则向上,如果保证金为正,则向下)当前和最后之间的差值绝对值的一半价格。它一直这样做,直到边距介于 -0.01 和 0.01 之间。
基本上是指数上升,不连续,然后收敛到所需价格。
在 20,000 多种产品的列表中,该算法最多进行 28 次“迭代”,直到找到所有产品的收支平衡价格。
期望的情况
我玩弄了使用二进制搜索的想法以及我们拥有的有关产品(成本)的一些信息来告知合理的起始价格。但是,目前我赞成使用上述算法的变体的想法,除了不总是使用最后价格和当前价格之间绝对差值的一半,而是根据距 0 保证金的距离使用加权版本。(目前,如果我们以 8 英镑的价格上涨,而盈亏平衡价格为 8.01 英镑,我们将上涨至 16 英镑,然后逐步降至 8.01 英镑)。
有任何想法吗?感觉这是一个已经解决的问题,但我不知道解决方案。
谢谢,
马特
r - 对于时间序列,R 神经网络不会在 stepmax 内收敛
我正在x + sin(x^2)
使用包编写一个神经网络,用于预测 R 中时间序列中的元素neuralnet
。这就是训练数据的生成方式,假设窗口有 4 个元素,最后一个元素是必须预测的:
然后,我把它们变成一个data.frame:
然后,我继续训练 NN:
过了一会儿,它给了我信息
谁能帮我弄清楚为什么它不收敛?非常感谢
r - 使用 gamma 系列测试 glm 时出错
我目前正在研究 10 年内六个法国海湾贝类的毒性。我创建了一个代表这一年中出现的毒素数量的代理。现在我想通过各种参数来解释这种毒性。目前,我专注于研究微藻大量繁殖对毒性的影响。为了做到这一点,我描述了每年的开花:一年中观察到的最大细胞数、开花的持续时间、开始的周数等......
由于我对毒性的数据很少,所以我想让事情变得非常简单,所以我在这些绽放参数中的 1、2 或 3 个上测试 glms,并且我允许交互。
该代码适用于对数正态系列,但我想与伽马分布甚至准伽马进行比较准伽马进行比较(平均方差在 var=2*mean² 的图形上效果很好)。
当我从 gamma 开始时,我收到以下消息:
并且从第七个模型中出现:只有一个参数的模型:Proxy~DureeB!
我读到我需要找到带start=
参数的 coef,但我有 15 000 个模型要检查,包含 1、2或3 个参数。所以这是我的问题:
- 为什么它不能在这么简单的模型上工作?
- 是否有我遗漏的元素,我的代码中有解释消息的错误?
- 有没有办法为我的所有模型设置起始系数?
这是我的代码和数据:
我想测试的一些模型
感谢您的时间!