标签: convergence

lme4的开发版本的收敛错误

我正在尝试使用lme4的开发版本和教程对混合效果模型进行功效分析.我在教程中注意到lme4引发了收敛错误:

## Warning: Model failed to converge with max|grad| = 0.00187101 (tol =
## 0.001)
Run Code Online (Sandbox Code Playgroud)

当我运行数据集的代码时出现相同的警告,其中:

## Warning message: In checkConv(attr(opt, "derivs"), opt$par, checkCtrl =
control$checkConv,  : 
Model failed to converge with max|grad| = 0.774131 (tol = 0.001)
Run Code Online (Sandbox Code Playgroud)

来自此更新版本的常规glmer调用的估计值与我使用更新的CRAN版本时略有不同(在这种情况下没有警告).知道为什么会这样吗?

编辑

我试图指定的模型是:

glmer(resp ~ months.c * similarity * percSem + (similarity | subj), family = binomial, data = myData)
Run Code Online (Sandbox Code Playgroud)

我拥有的数据集有一个主体间(年龄,居中)和两个主体内变量(相似性:2个水平,percSem:3个水平)预测二元结果(虚假记忆/猜测).另外,每个受试者内细胞具有3个重复测量.因此,对于每个个体总共存在2×3×3 = 18个二元响应,总共38个参与者.

structure(list(subj = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, …
Run Code Online (Sandbox Code Playgroud)

r lme4 convergence

25
推荐指数
1
解决办法
3万
查看次数

neuralnet:克服算法的非收敛性

我想使用R中的"Neuralnet"包来训练神经网络.训练数据集是8个预测变量(x1,x2,x3,...,x8)和1个响应变量(y)的数据帧.数据如下:

data
      x1   x2   x3    x4     x5     x6      x7      x8       y
1   1.50 1.48 1.47 0.490 13.000 14.091 -0.1554 -0.1167 0.00000
2   1.50 1.51 1.44 0.484 17.379 25.286  0.0745  0.0746 0.00000
3   2.46 2.50 2.43 0.492 13.333 12.767 -0.1043 -0.1200 0.00000
4   1.50 1.53 1.46 0.491 19.897 23.255  0.0661  0.0650 1.00000
5   1.76 1.82 1.70 0.493 21.765 24.684  0.0933  0.0855 1.00000
6   1.50 1.49 1.43 0.498 11.071 11.297 -0.1567 -0.1200 0.66865
7   1.50 1.46 1.44 0.482 16.607 23.700  0.0750  0.0721 …
Run Code Online (Sandbox Code Playgroud)

r convergence

11
推荐指数
2
解决办法
2万
查看次数

如何监控Gensim LDA模型的收敛性?

我似乎无法找到它,或者我的统计及其术语的知识可能是这里的问题,但我想从PyPI实现LDA lib底页上的图形类似的东西,并观察其的均匀性/收敛性.线.如何使用Gensim LDA实现这一目标

python lda gensim convergence

9
推荐指数
1
解决办法
2518
查看次数

尝试使用指数平滑进行预测时出现收敛警告

我使用ExponentialSmoothingfrom statsmodels( Version: 0.10.1) 对一些数据进行拟合和预测。为了在设置配置时方便使用,我编写了一个函数exp_smoothing_forecast,它接受np array数据、配置列表 ( ) 和要预测[trend, damped, seasonal, seasonal_periods, use_boxcox, remove_bias]的数量。periods

\n\n
from statsmodels.tsa.holtwinters import ExponentialSmoothing\n\ndef exp_smoothing_forecast(data, config, periods):\n    '''\n    Perform Holt Winter\xe2\x80\x99s Exponential Smoothing forecast for periods of time.\n    '''\n    t,d,s,p,b,r = config\n    # define model\n    model = ExponentialSmoothing(np.array(data), trend=t, damped=d, seasonal=s, seasonal_periods=p)\n\n    # fit model\n    model_fit = model.fit(use_boxcox=b, remove_bias=r)\n\n    # make one step forecast\n    return model_fit.forecast(periods) \n
Run Code Online (Sandbox Code Playgroud)\n\n

我使用的数据是每周的。经过一些训练后,我找到了最佳配置并尝试在整个数据上使用它们。

\n\n
data_1 = [21725.64924, 20826.08817, …
Run Code Online (Sandbox Code Playgroud)

python exponential statsmodels convergence forecast

7
推荐指数
1
解决办法
4377
查看次数

(批量)SOM(自组织地图,又名"Kohonen地图")的收敛标准?

我喜欢在Batch SOM收敛时停止执行.我可以使用什么错误函数来确定收敛?

algorithm machine-learning som self-organizing-maps convergence

6
推荐指数
2
解决办法
4240
查看次数

Logoot CRDT:将并发编辑的数据交错到同一位置?

我想实现Logoot最终收敛的P2P文本编辑,我遇到了一些问题.

我对Logoot的理解是,对象之间的间隔(原始文件中的文本行,但可以是字符或单词)可以根据无界标识符无限划分.这意味着对象的位置不是由其邻居确定的,如在WOOT中(这将需要墓碑),而是由沿着字符串长度的固定数字点确定.结合唯一的站点标识符,这也为我们提供了一个总订单,并实现了最终的融合.

但是......当对同一个点进行并发编辑时,这不会导致问题吗?如果两个断开连接的客户端开始在相同的光标位置写入新的句子然后合并,则他们的句子很有可能进行交错.

下面是我正在谈论的白板示例:

白板

如您所见,站点B和站点C根据Logoot的规则划分"I"和"conquered"之间的间隔,给出了(20,A)和(25,A)位置之间的随机点.但是没有任何东西相对于彼此命令这些点,导致它们在合并时混合.同时,基于邻居的算法可以解决这个问题,因为保留了每个对象的因果链.

以上是一个婴儿示例,但在更一般的情况下,想象一下,如果两个用户想要在两个现有句子之间插入不同的句子.如果其中一个用户碰巧离线,他们不应该回到乱七八糟的混乱!显然,为了保持意图,一句话应该跟随另一句话.

我在阅读论文时遗漏了什么,或者这是Logoot的内在缺点?

(另外,为什么在算法中似乎没有使用记录的时钟值?本文甚至指出每个对象的标识符在没有时钟的情况下必然是唯一的.)

algorithm concurrency text-editor convergence crdt

6
推荐指数
1
解决办法
510
查看次数

GSDMM 聚类的收敛(短文本聚类)

我正在使用这个GSDMM python 实现来聚类文本消息的数据集。根据初始论文, GSDMM 收敛速度快(大约 5 次迭代)。我也有收敛到一定数量的集群,但是每次迭代仍然有很多消息传递,所以很多消息仍然在改变它们的集群。

我的输出看起来像:

In stage 0: transferred 9511 clusters with 150 clusters populated 
In stage 1: transferred 4974 clusters with 138 clusters populated 
In stage 2: transferred 2533 clusters with 90 clusters populated
….
In stage 34: transferred 1403 clusters with 47 clusters populated 
In stage 35: transferred 1410 clusters with 47 clusters populated 
In stage 36: transferred 1430 clusters with 48 clusters populated 
In stage 37: transferred 1463 clusters with 48 …
Run Code Online (Sandbox Code Playgroud)

python cluster-analysis topic-modeling convergence

6
推荐指数
1
解决办法
703
查看次数

在 SciPy 中拟合分布时如何检查收敛性

在 SciPy 中拟合分布时有没有办法检查收敛性?

我的目标是将 SciPy 分布(即 Johnson S_U 发行版)拟合到数十个数据集,作为自动数据监控系统的一部分。大多数情况下它工作正常,但一些数据集异常并且显然不遵循 Johnson S_U 分布。适合这些数据集静默地发散,即没有任何警告/错误/无论如何!相反,如果我切换到 R 并尝试在那里拟合,我永远不会得到收敛,这是正确的 - 无论拟合设置如何,R 算法都拒绝声明收敛。

数据:Dropbox 中有两个数据集:

  • data-converging-fit.csv...拟合很好地收敛的标准数据(您可能认为这是一个丑陋、倾斜且中心质量重的斑点,但 Johnson S_U 足够灵活以适应这样的野兽!):

在此处输入图片说明

  • data-diverging-fit.csv ...拟合发散的异常数据:

在此处输入图片说明

代码拟合分布:

import pandas as pd
from scipy import stats

distribution_name = 'johnsonsu'
dist = getattr(stats, distribution_name)

convdata = pd.read_csv('data-converging-fit.csv', index_col= 'timestamp')
divdata  = pd.read_csv('data-diverging-fit.csv', index_col= 'timestamp')
Run Code Online (Sandbox Code Playgroud)

在好的数据上,拟合参数具有共同的数量级:

a, b, loc, scale = dist.fit(convdata['target'])
a, b, loc, scale

[out]: (0.3154946859186918, 
 2.9938226613743932,
 0.002176043693009398,
 0.045430055488776266)
Run Code Online (Sandbox Code Playgroud)

在异常数据上,拟合参数不合理:

a, b, loc, scale = …
Run Code Online (Sandbox Code Playgroud)

python distribution scipy model-fitting convergence

6
推荐指数
1
解决办法
96
查看次数

如何防止遗传算法收敛于局部最小值?

我正在尝试使用遗传算法构建一个4 x 4数独求解器.我有一些问题,价值收敛到局部最小值.我正在使用排名方法并删除最后两个排名答案的可能性,并用两个排名最高的答案可能性之间的交叉替换它们.为了避免局部mininma的其他帮助,我也使用变异.如果在特定的生成量内未确定答案,则我的人口中充满了全新的随机状态值.但是,我的算法似乎陷入局部最小值.作为健身功能,我正在使用:

(开放平方的总金额*7(每个方格可能违反;行,列和方框)) - 违规总数

population是整数数组的ArrayList,其中每个数组都是基于输入的sudoku可能的结束状态.确定人群中每个阵列的适应度.

有人能够帮助我确定为什么我的算法会收敛于局部最小值,或者可能会建议使用一种技术来避免局部最小值.任何帮助是极大的赞赏.

健身功能:

public int[] fitnessFunction(ArrayList<int[]> population)
{
    int emptySpaces = this.blankData.size();
    int maxError = emptySpaces*7;
    int[] fitness = new int[populationSize];

    for(int i=0; i<population.size();i++)
    {
        int[] temp = population.get(i);
        int value = evaluationFunc(temp);

        fitness[i] = maxError - value;
        System.out.println("Fitness(i)" + fitness[i]);
    }

    return fitness;
}
Run Code Online (Sandbox Code Playgroud)

交叉功能:

public void crossover(ArrayList<int[]> population, int indexWeakest, int indexStrong, int indexSecStrong, int indexSecWeak)
{
    int[] tempWeak = new int[16];
    int[] tempStrong = new int[16];
    int[] tempSecStrong = new …
Run Code Online (Sandbox Code Playgroud)

java algorithm sudoku genetic-algorithm convergence

5
推荐指数
1
解决办法
4215
查看次数

在神经网络的回归任务中退出

我有一个用于回归预测的神经网络,这意味着输出是 0 到 1 范围内的实数值。

我对所有层都使用了 drop out,错误突然增加并且从未收敛。

drop out 可用于回归任务吗?因为如果我们忽略一些节点,那么最后一层的节点就会减少,预测值肯定会与实际值有很大差异。所以反向传播的误差会很大,模型会被破坏。那么为什么我们要在神经网络中使用 dropout 来执行回归任务呢?

neural-network convergence dropout

5
推荐指数
1
解决办法
1651
查看次数