问题标签 [regularized]

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.

0 投票
1 回答
198 浏览

python - 如何使用 TensorFlow 的 `matrix_solve_ls` 从正则化中排除偏差?

给定一个设计矩阵(初始列为 1,对应于偏差因子),我可以使用各种 Python 工具执行标准的 NN 风格的 L2-Regularized 参数估计,其中只有权重是正则化的

或者

tf.matrix_solve_ls但是我看不出有什么办法可以排除使用TensorFlow的正则化的偏差

相当于

如何使用 正则化排除偏差(或通过构造,第一个参数)tf.matrix_solve_ls

0 投票
0 回答
961 浏览

r - 选择正则化参数的有效方法

在正则化问题中,例如 LASSO,正则化参数 λ 由交叉验证 (CV) 确定。

在 R 中编写代码时,我通常会生成一系列 λ 值。然后,对于每一个,我都会进行简历。整个过程以for循环的方式编码。

由于for循环效率不高,有没有更好的方法来实现代码中选择正则化参数的想法?

0 投票
2 回答
803 浏览

tensorflow - TensorFlow:如何在不使用 feed_dict 的情况下为 Dropout 更改 keep_prob

我已经构建了一个 TensorFlow 模型,该模型适用于 Input Queues 提供的训练和测试批次。因此,我没有使用标准 feed_dict 明确提供训练数据。不过,我需要实现 dropout,它需要一个 keep_prob 占位符来在测试期间关闭 dropout。

如果没有单独的模型,我找不到如何解决这个问题。有什么建议吗?

谢谢

0 投票
0 回答
278 浏览

scikit-learn - 空间正则化

有没有办法在 scikit-learn 中对成本函数进行空间正则化惩罚以进行聚类?

更具体地说,我正在处理神经科学大脑数据,其中每个体素都具有基于它们的接近度的空间继承依赖性。使用 2 类高斯混合学习,我想为每个体素获得被标记为“1”与“0”的概率分数(基于 30 个样本)。但是,如果我不能包含基于邻域的正则化,则此任务毫无意义,因为体素并非完全独立。

0 投票
0 回答
491 浏览

python - 似乎无法在 Python 中正确实现 L2 正则化——准确度得分低

我正在尝试将正则化添加到我使用 numpy 和 vanilla Python 创建的 Mnist 数字 NN 分类器中。我目前正在使用带有交叉熵成本函数的 Sigmoid 激活。

在不使用正则化器的情况下,我得到了 97% 的准确率。

然而,一旦我添加了正则化器,尽管使用不同的超参数,我只得到了大约 11%。我尝试了不同的学习率:

.001, .1, 1

以及不同的 lambda 值,例如:

.5、.8、1.0、2.0 等

我似乎无法弄清楚我犯了什么错误。我觉得我可能错过了一步?

我所做的唯一更改是权重的导数。我已经按如下方式实现了渐变:

完整的代码可以在这里找到:

如果需要,我已将整个笔记本上传到 Github:

https://github.com/moondra2017/Neural-Networks-from-scratch/blob/master/Neural%20Network%20from%20scratch-Testing%20expanded%20Mnist-Sigmoid%20with%20cross-entroupy-with%20L2%20正则化。 ipynb

0 投票
2 回答
2390 浏览

python-3.x - 将 Keras 与 TensorFlow 后端一起使用时的 Dropout

我读到了 Keras 的 dropout 实现,它似乎使用了它的反向 dropout 版本,即使它说的是 dropout。

以下是我阅读 Keras 和 Tensorflow 文档时的理解:

当我指定Dropout(0.4)0.4 意味着该层中的每个节点都有 40% 的机会被丢弃,这意味着 0.4 是丢弃概率。因此,通过反向 dropout 的概念,剩余神经元的输出被缩放 1/0.6 倍,因为保持概率为 0.6。

(请指出我的解释是否不正确。我的全部疑问都是基于这种解释。)

另一方面,在 TensorFlow 中,它只是直接询问保持概率,这意味着如果我将值指定为 0.4,则每个节点都有 60% 的机会被丢弃。

那么当我在 Keras 的后端使用 TensorFlow 时会发生什么?保持或丢弃概率需要 0.4 吗?

(使用 Python 3.6 和所有必需库的最新版本)

0 投票
2 回答
3115 浏览

keras - L1 范数作为 Pytorch 中的正则化器

我需要添加一个 L1 范数作为正则化器,以在我的神经网络中创建一个稀疏条件。我想训练我的网络进行分类。我试图自己构建一个 L1 规范,就像这里一样,但它没有奏效。

我需要在 之后添加正则化器ConvTranspose2d,例如这个 Keras 示例:

但是我的网络是在 PyTorch 中创建的,如下所示:

0 投票
1 回答
774 浏览

tensorflow - 如何实现卷积神经网络的 L2 正则化成本函数

我已经实现了一个CNN数字分类模型。我的模型过度拟合了很多,为了克服过度拟合,我试图L2 Regularization在我的成本函数中使用。我有一个小小的困惑,我该如何选择<weights>放入成本方程(代码的最后一行)。

0 投票
0 回答
372 浏览

tensorflow - 基于神经网络的重建输出实现自定义损失函数?

我正在尝试使用神经网络执行盲源分离。我尝试使用具有不同正则化/丢失的自动编码器,但似乎没有任何效果。

现在,我决定根据重建的输出实现自定义损失函数。我可以使用几个,例如输出向量之间的相关性(应该最小化),或输出向量的非高斯性(应该最大化)。

但是,我不知道如何在 keras 中执行此操作,或者是否可能。基本上,这就是我想要做的:

  1. 将我的线性混合信号输入网络

  2. 有一些隐藏层,可以根据网络的各种权重重新组合信号

  3. 每个训练步骤,重建我的网络的输出,并计算重建输出的统计数据,然后将这些添加到我的成本函数中,例如,如果我所有重建的输出高度相关,我会惩罚那个权重组合,希望有一个集合未来将导致去相关输出的权重(从而解决盲源分离问题)。

有谁知道如何在keras中做到这一点?我不介意搬到 Tensorflow,但更愿意留在 Keras。

谢谢

0 投票
1 回答
841 浏览

python - 将自定义正则化添加到 TensorFlow

我正在使用 tensorflow 来优化一个简单的最小二乘目标函数,如下所示:

在此处输入图像描述

这里,Y是目标向量,X是输入矩阵,向量w表示要学习的权重。

示例场景:

在此处输入图像描述, 在此处输入图像描述,在此处输入图像描述

w1如果我想增加初始目标函数以对(张量流变量中的第一个标量值wX1表示特征矩阵的第一列)施加额外的约束X,我将如何在张量流中实现这一点?

在此处输入图像描述

我能想到的一个解决方案是使用 tf.slice 来索引 $w$ 的第一个值,并将其添加到原始成本项之外,但我不相信它会对权重产生预期的影响。

我会很感激关于在 tensorflow 中是否可能出现这样的事情的意见,如果是这样,实现这一点的最佳方法可能是什么?

另一种选择是添加权重约束,并使用增强的拉格朗日目标来做到这一点,但我想在走拉格朗日路线之前先探索正则化选项。

我对初始目标函数的当前代码没有额外的正则化如下: