caret::train:为 mlpWeightDecay(RSNNS 包)指定更多非调整参数

2024-05-01

我在使用插入符号包和 RSNNS 包中的“mlpWeightDecay”方法指定学习率时遇到问题。 “mlpWeightDecay”的调整参数是大小和衰减。

将大小保持为 4 并在 c(0,0.0001, 0.001, 0.002) 上调整衰减的示例:

data(iris)
TrainData <- iris[,1:4]
TrainClasses <- iris[,5]

fit1 <- train(TrainData, TrainClasses,
            method = "mlpWeightDecay",
            preProcess = c("center", "scale"),
            tuneGrid=expand.grid(.size = 4, .decay = c(0,0.0001, 0.001, 0.002)),
            trControl = trainControl(method = "cv")
)

但我还想操纵模型的学习率,而不仅仅是采用默认的学习率 0.2。

我知道我可以通过“...”参数使用来自 RSNNS 的 mlpWeightDecay 方法的更多参数。 “learnFuncParams”将是我需要插入的 RSNNS 参数。它需要 4 个参数(学习率、权重衰减、dmin、dmax)。

继续这个例子,它看起来像这样:

fit1 <- train(TrainData, TrainClasses,
    method = "mlpWeightDecay",
    preProcess = c("center", "scale"),
    tuneGrid=expand.grid(.size = 4, .decay = c(0,0.0001, 0.001, 0.002)),
    trControl = trainControl(method = "cv"),
    learnFuncParams=c(0.4,0,0,0)
)

但是插入符序列函数的文档告诉我“...”参数:
传递给分类或回归例程(例如 randomForest)的参数。如果在此处传递调整参数的值,将会发生错误。

问题在于 4 个“learningFuncParams”参数之一(权重衰减)是一个调整参数。

因此我收到错误和警告:

train.default(TrainData, TrainClasses, method = "mlpWeightDecay", 中的错误: 最终调整参数无法确定 另外:有 50 个或更多警告(使用 warnings() 查看前 50 个)

警告消息:

1:在方法 $fit(x = if (!is.data.frame(x)) as.data.frame(x) else x, ... 中: 覆盖您传入的“learnFuncParams”参数中的权重衰减值。保留其他值

2:在 eval(expr, envir, enclos) 中: Fold01 的模型拟合失败:尺寸 = 4,衰减 = 0e+00 mlp.default 中的错误(x = 结构(列表(Sepal.Length = c(-0.891390168709482,: 形式参数“learnFuncParams”与多个实际参数匹配

如果在同一参数“learningFuncParams”中设置学习率,如何设置学习率而不与调整参数“decay”发生冲突?

Thanks!


看起来你可以在“...”中指定你自己的learnFuncParams。插入符号检查您是否提供了自己的参数集,并且只会覆盖 learnFuncParams[3] (即衰减)。它将采用您提供的 learnFuncParams[1,2,4] 。

要了解插入符号的作用,一个非常方便的方法是输入 getModelInfo("mlpWeightDecay"),然后向上滚动到 $mlpWeightDecay$fit 部分。它显示了插入符将如何调用真正的训练函数:

$mlpWeightDecay$fit
    if (any(names(theDots) == "learnFuncParams")) {
        prms <- theDots$learnFuncParams
        prms[3] <- param$decay
        warning("Over-riding weight decay value in the 'learnFuncParams' argument you passed in. Other values are retained")
    }

它检查您是否提供了自己的 learnFuncParams。如果你这样做了,它会使用它,但会插入自己的衰变。您可以忽略该警告。

我认为您遇到的错误(“无法确定最终调整参数”)还有另一个原因。你尝试过较低的学习率吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

caret::train:为 mlpWeightDecay(RSNNS 包)指定更多非调整参数 的相关文章

  • R 中具有 p 值的相关矩阵

    假设我想要传导相关矩阵 library dplyr data iris iris gt select if is numeric gt cor y iris Petal Width method spearman gt round 2 现在
  • 使用 R 将日期格式的字符串列表/向量转换为 posix 日期类

    我有一个日期格式的字符串列表 我想将其转换为可以使用 R 操作的 posix 日期列表 我该怎么做 这就是我所拥有的 但我最终得到了一个列表 a lt c 2009 01 01 00 00 00 2009 01 01 00 00 00 z
  • 使用矢量相应地更改传单线条的颜色

    无论如何 是否可以根据某些变量的值更改传单线条的颜色 我用谷歌搜索 发现了这个link http hgoebl github io Leaflet MultiOptionsPolyline demo 然而 我想知道是否有一种简单的方法可以在
  • 使用 data.table 左连接

    假设我有两个数据表 s dataA A B 1 1 12 2 2 13 3 3 14 4 4 15 dataB A B 1 2 13 2 3 14 我有以下代码 merge test merge dataA dataB by A all d
  • 按名称包含在单个对象中的多个列对 data.frame 进行排序?

    我想排序一个data frame由多列组成 理想情况下使用基础 R 无需任何外部包 尽管如果有必要 就这样吧 读过如何按列对数据框进行排序 https stackoverflow com questions 1296646 how to s
  • Keras IndexError:索引超出范围

    我是 Keras 新手 我尝试在数据集上执行二进制 MLP 并且不断使索引超出范围 但不知道为什么 from keras models import Sequential from keras layers core import Dens
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • 如何在闪亮的observeEvent中监听多个事件表达式

    我想要两个不同的事件触发观察者 有人建议here https stackoverflow com questions 34731975 how to listen for more than one event expression wit
  • 期望最大化算法的数值示例[重复]

    这个问题在这里已经有答案了 由于我不确定给出的公式 有人可以提供 EM 算法的简单数字示例吗 一个非常简单的具有 4 或 5 个笛卡尔坐标的坐标就可以了 那这个呢 http en wikibooks org wiki Data Mining
  • ODE 时间 Matlab 与 R

    如果在 matlab 中使用可变时间步长求解器 例如 ODE45 我会定义输出的时间跨度 即times 0 50 matlab 将返回 0 到 50 之间不同时间步长的结果 然而在 R 中 我似乎必须定义我希望 ODE 返回结果的时间点 即
  • 如何在R中安装pivot_long()和pivot_wide()

    如果您想尝试这些新功能 pivot wide and pivot long 需要安装开发版tidyr devtools install github tidyverse tidyr 但我还没有实现它 我安装了一系列库 除了一个之外 vctr
  • R 中舍入到下一个数量级的算法

    如果标题不清楚 我很抱歉 但我无法简洁地解释它 给定一个浓度向量 我想将最大值四舍五入到下一个数量级 即 345 到 1000 另外 我想将最小值四舍五入到较低的数量级 即 3 2 到 1 这些浓度也可能低于 1 因此例如 0 034 需要
  • Keras 错误:预计会看到 1 个数组

    当我尝试在 keras 中训练 MLP 模型时出现以下错误 我使用的是 keras 版本1 2 2 检查模型输入时出错 您输入的 Numpy 数组列表 传递给您的模型的尺寸不是模型预期的尺寸 预期的 查看 1 个数组 但得到以下 12859
  • 如何跨多个文本文件查找字典中键的频率?

    我应该计算文档 individual articles 中所有文件中字典 d 的所有键值的频率 这里 文档 individual articles 大约有20000个txt文件 文件名为1 2 3 4 例如 假设 d Britain 5 7
  • GLMER 警告:方差-协方差矩阵 [...] 不是正定的或包含 NA 值

    我有时发现我的 GLMM 来自glmer 包裹lme4 当调用其摘要时显示以下警告消息 Warning messages 1 In vcov merMod object use hessian use hessian variance co
  • 使用 glmnet 纠正 n 个数据集上的 n 个 LASSO 回归的输出(严格来说是所选的特征/变量)

    注意 这是对上一个问题 https stackoverflow com questions 75006466 how to replicate my results from running n lassos iteratively usi
  • 使用 ggplot 为各个图例值选择所选颜色(HSV 或 HCL 或 RGB)

    我有一个类似这样的数据集 data lt read table text Me EE PE DE TE DEE CE 1 1 1 4 5 2000 0 50 0 2547 0 69 2 1 2 2 4 3000 NA 0 5896 2 56
  • 更快地评估从右到左的矩阵乘法

    我注意到以二次形式评估矩阵运算右到左明显快于左到右在 R 中 取决于括号的放置方式 显然它们都执行相同的计算量 我想知道为什么会这样 这与内存分配有什么关系吗 A 5000 5000 B 5000 2 A matrix runif 5000
  • R中的for循环和if函数

    我正在用 R 中的 if 函数编写一个循环 表格如下 ID category 1 a 1 b 1 c 2 a 2 b 3 a 3 b 4 a 5 a 我想使用 for 循环和 if 函数添加另一列来计算每个分组的 ID 如下所示的计数列 I
  • 使用决策树

    我知道 tl dr 我将尝试解释我的问题 而不会用大量蹩脚的代码来打扰您 我正在做一项学校作业 我们有蓝精灵的图片 我们必须通过前景背景分析来找到它们 我有一个 Java 决策树 其中包含所有数据 HSV 直方图 1 一个节点 然后尝试找到

随机推荐

  • 枚举本质上不是 IEnumerable 的集合?

    当您想要递归枚举一个分层对象 根据某些条件选择一些元素时 有许多技术示例 例如 扁平化 然后使用 Linq 进行过滤 就像在这里找到的那 些 链接文本 https stackoverflow com questions 141467 rec
  • Razor:为什么我的变量不在范围内

    inherits umbraco MacroEngines DynamicNodeContext using System Collections List
  • 如何测试视图是否用“login_required”装饰(Django)

    我正在对用 login required 装饰的视图进行一些 独立的 单元测试 例子 login required def my view request return HttpResponse test 是否可以测试 my view 函数
  • 使用 Python 和 Boto3 列出 S3 存储桶的目录内容?

    我正在尝试使用 Python 和 Boto3 列出 S3 存储桶中的所有目录 我正在使用以下代码 s3 session resource s3 I already have a boto3 Session object bucket nam
  • 重用 Jest 单元测试

    我正在尝试使用 Jest 测试几个数据库实现 为了帮助测试这些实现 我首先针对两个实现都预期实现的 API 提出了一组单元测试 我目前正在努力将这两个实现传递给测试套件 下面是最简单形式的 虚拟 MongoDB 实现 class Mongo
  • 使用 Ant 运行 JUnit 测试

    我正在尝试运行我的 JUnit 测试用例 但我不断收到错误 Test com capscan accentsWorld FAILED 报告已创建 但测试未运行 这是我的蚂蚁代码
  • backbone.js - 如何在视图之间进行通信?

    我有一个带有多个backbone js 视图的单页Web 应用程序 观点有时必须相互沟通 两个例子 当有两种方式视图同时以不同方式呈现集合时 并且对一个视图中的项目的点击必须转发到另一个视图 当用户转换到流程的下一个阶段时 第一个视图将数据
  • Java发送邮件出错

    我的代码是 File Name SendEmail java import java util import javax mail import javax mail internet import javax activation pub
  • 使用虚拟列表视图调用 BeginUpdate/EndUpdate 是否有用

    我有一个虚拟列表视图 其中有数百个项目 我必须定期更新文件列表视图 方法是清除它 然后向其中添加新的 更新的项目 执行此操作时调用 BeingUpdate 和 EndUpdate 有用吗 我没有注意到任何视觉差异 Thanks 使用可能有一
  • 优化数组压缩

    假设我有一个数组k 1 2 0 0 5 4 0 我可以按如下方式计算掩码m k gt 0 1 1 0 0 1 1 0 仅使用掩码 m 和以下操作 左移 右移 And Or 加 减 乘 我可以将 k 压缩为以下形式 1 2 5 4 以下是我目
  • 使用快速同步 h264_qsv 编码器时 ffmpeg avcodec_encode_video2 挂起

    当我使用 mpeg4 或 h264 编码器时 我能够使用 ffmpeg 3 1 0 的 API 成功编码图像以生成有效的 AVI 文件 但是 当我使用快速同步编码器 h264 qsv 时 avcodec encode video2 有时会挂
  • 改进/修复 C 样式块注释的正则表达式

    我正在 用 C 编写一个简单的解析器来处理看起来很像经典 C 的脚本语言 在我拥有的一个脚本文件中 我用来识别 块注释 的正则表达式会进入某种无限循环 长时间占用 100 的 CPU 我使用的正则表达式是这样的 r n r n 关于为什么这
  • 从 C++ 代码调用 Objective C 函数

    我用谷歌搜索了一下 找到了关于这个主题的一百万个结果 但这些页面都没有帮助我 我认为我有一个非常普遍的问题 我正在研究音频编程 特别是使用音频队列 我的程序的目的对于解释问题并不重要 但简而言之 当我尝试从 C 代码调用 Objective
  • 如何在同一服务器上将数据库备份和恢复为副本?

    我有一个 SQL2005 Express 数据库 我想在同一实例上创建它的副本 您如何使用脚本来做到这一点 我已经有一个用于生成备份的脚本 但恢复失败 错误 消息 3234 16 级 状态 2 第 2 行 逻辑文件 MyDB data 不是
  • 用于编辑代码的 Automator 到 Applescript

    只是想知道我是否可以将 Automator 中的 看我做 事件转换为 applescript 然后编辑生成的代码 我有一个在 Google 中输入查询 即 Apple1 的记录 但我希望查询为记录的每个循环增加 因此结果是 Apple1 然
  • Android Test Orchestrator 无法与 Android X 配合使用

    我最近将我的项目迁移到使用 AndroidX 并使用以下文档为 gradle 上的 espresso 测试配置了测试编排器 https developer android com training testing junit runner
  • 为什么 Xcode 在构建到设备时会复制未更改的资源?

    我正在处理一个相当大的 资源较多的 iOS 项目 我不禁注意到 Xcode 复制了数百个资源 纹理 精灵表 声音文件等 这些资源自上次以来根本没有改变我构建该设备的时间 当每个构建需要 2 4 分钟才能在设备上弹出时 这使得编码变得非常非常
  • 当对象一个在另一个之上时,从单个 2D 图像或来自 RGBD 相机的点云对已知 3D CAD 对象进行实时 6D 姿态估计?

    我正在开展一个研究项目 需要在拾取和放置任务中实时估计物体的 6DOF 姿态 姿态必须是实时估计的 并且物体可以是一个在另一个之上并且是相同的 所以我必须获得顶部物体的位置和方向 问题是物体是相同的 PPVC 块 在建筑领域 但好处是它们的
  • 从物理路径获取相对虚拟路径

    如何从asp net中的物理路径获取相对虚拟路径 相反的方法如下 Server MapPath Virtual Path Here 但是上面的方法的逆过程是什么呢 Maybe 这个问题 https stackoverflow com que
  • caret::train:为 mlpWeightDecay(RSNNS 包)指定更多非调整参数

    我在使用插入符号包和 RSNNS 包中的 mlpWeightDecay 方法指定学习率时遇到问题 mlpWeightDecay 的调整参数是大小和衰减 将大小保持为 4 并在 c 0 0 0001 0 001 0 002 上调整衰减的示例