问题标签 [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.
python - 如何使用 TensorFlow 的 `matrix_solve_ls` 从正则化中排除偏差?
给定一个设计矩阵(初始列为 1,对应于偏差因子),我可以使用各种 Python 工具执行标准的 NN 风格的 L2-Regularized 参数估计,其中只有权重是正则化的
或者
tf.matrix_solve_ls
但是我看不出有什么办法可以排除使用TensorFlow的正则化的偏差
相当于
如何使用 正则化排除偏差(或通过构造,第一个参数)tf.matrix_solve_ls
?
r - 选择正则化参数的有效方法
在正则化问题中,例如 LASSO,正则化参数 λ 由交叉验证 (CV) 确定。
在 R 中编写代码时,我通常会生成一系列 λ 值。然后,对于每一个,我都会进行简历。整个过程以for循环的方式编码。
由于for循环效率不高,有没有更好的方法来实现代码中选择正则化参数的想法?
tensorflow - TensorFlow:如何在不使用 feed_dict 的情况下为 Dropout 更改 keep_prob
我已经构建了一个 TensorFlow 模型,该模型适用于 Input Queues 提供的训练和测试批次。因此,我没有使用标准 feed_dict 明确提供训练数据。不过,我需要实现 dropout,它需要一个 keep_prob 占位符来在测试期间关闭 dropout。
如果没有单独的模型,我找不到如何解决这个问题。有什么建议吗?
谢谢
scikit-learn - 空间正则化
有没有办法在 scikit-learn 中对成本函数进行空间正则化惩罚以进行聚类?
更具体地说,我正在处理神经科学大脑数据,其中每个体素都具有基于它们的接近度的空间继承依赖性。使用 2 类高斯混合学习,我想为每个体素获得被标记为“1”与“0”的概率分数(基于 30 个样本)。但是,如果我不能包含基于邻域的正则化,则此任务毫无意义,因为体素并非完全独立。
python - 似乎无法在 Python 中正确实现 L2 正则化——准确度得分低
我正在尝试将正则化添加到我使用 numpy 和 vanilla Python 创建的 Mnist 数字 NN 分类器中。我目前正在使用带有交叉熵成本函数的 Sigmoid 激活。
在不使用正则化器的情况下,我得到了 97% 的准确率。
然而,一旦我添加了正则化器,尽管使用不同的超参数,我只得到了大约 11%。我尝试了不同的学习率:
.001, .1, 1
以及不同的 lambda 值,例如:
.5、.8、1.0、2.0 等
我似乎无法弄清楚我犯了什么错误。我觉得我可能错过了一步?
我所做的唯一更改是权重的导数。我已经按如下方式实现了渐变:
完整的代码可以在这里找到:
如果需要,我已将整个笔记本上传到 Github:
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 和所有必需库的最新版本)
keras - L1 范数作为 Pytorch 中的正则化器
我需要添加一个 L1 范数作为正则化器,以在我的神经网络中创建一个稀疏条件。我想训练我的网络进行分类。我试图自己构建一个 L1 规范,就像这里一样,但它没有奏效。
我需要在 之后添加正则化器ConvTranspose2d
,例如这个 Keras 示例:
但是我的网络是在 PyTorch 中创建的,如下所示:
tensorflow - 如何实现卷积神经网络的 L2 正则化成本函数
我已经实现了一个CNN
数字分类模型。我的模型过度拟合了很多,为了克服过度拟合,我试图L2 Regularization
在我的成本函数中使用。我有一个小小的困惑,我该如何选择<weights>
放入成本方程(代码的最后一行)。
tensorflow - 基于神经网络的重建输出实现自定义损失函数?
我正在尝试使用神经网络执行盲源分离。我尝试使用具有不同正则化/丢失的自动编码器,但似乎没有任何效果。
现在,我决定根据重建的输出实现自定义损失函数。我可以使用几个,例如输出向量之间的相关性(应该最小化),或输出向量的非高斯性(应该最大化)。
但是,我不知道如何在 keras 中执行此操作,或者是否可能。基本上,这就是我想要做的:
将我的线性混合信号输入网络
有一些隐藏层,可以根据网络的各种权重重新组合信号
每个训练步骤,重建我的网络的输出,并计算重建输出的统计数据,然后将这些添加到我的成本函数中,例如,如果我所有重建的输出高度相关,我会惩罚那个权重组合,希望有一个集合未来将导致去相关输出的权重(从而解决盲源分离问题)。
有谁知道如何在keras中做到这一点?我不介意搬到 Tensorflow,但更愿意留在 Keras。
谢谢
python - 将自定义正则化添加到 TensorFlow
我正在使用 tensorflow 来优化一个简单的最小二乘目标函数,如下所示:
这里,Y
是目标向量,X
是输入矩阵,向量w
表示要学习的权重。
示例场景:
w1
如果我想增加初始目标函数以对(张量流变量中的第一个标量值w
并X1
表示特征矩阵的第一列)施加额外的约束X
,我将如何在张量流中实现这一点?
我能想到的一个解决方案是使用 tf.slice 来索引 $w$ 的第一个值,并将其添加到原始成本项之外,但我不相信它会对权重产生预期的影响。
我会很感激关于在 tensorflow 中是否可能出现这样的事情的意见,如果是这样,实现这一点的最佳方法可能是什么?
另一种选择是添加权重约束,并使用增强的拉格朗日目标来做到这一点,但我想在走拉格朗日路线之前先探索正则化选项。
我对初始目标函数的当前代码没有额外的正则化如下: