当前位置: 首页 > 知识库问答 >
问题:

增量学习-为Spark 2.0中ML算法的先前模型中的参数设置初始权重或值

宰父衡
2023-03-14

我正在尝试为Spark 2.x中的机器学习(分类)算法设置初始权重或参数。不幸的是,除了多层感知器算法,没有其他算法提供设置初始权重/参数值的方法。

我正在尝试使用火花解决增量学习。在这里,我需要加载旧模型,使用系统中的新数据重新训练旧模型。我该怎么做?

我如何为其他算法执行此操作,例如:

    < li >决策树 < li >随机森林 <李> SVM < li >逻辑回归

我需要试验多种算法,然后选择一种性能最好的算法。

共有2个答案

司马羽
2023-03-14

它不是基于火花,但有一个C增量决策树。
见盖纳里。

可以插入和更新连续的分块数据,如果概念漂移降低了准确性,则可以运行重建。

索寒
2023-03-14

我如何为其他算法执行此操作,例如:

  • 决策树
  • 随机森林

你不能。基于树的算法不太适合增量学习,因为它们查看数据的全局属性,并且没有可用于引导该过程的“初始权重或值”。

  • 逻辑回归

您可以使用< code > StreamingLogisticRegressionWithSGD ,它精确地实现所需的过程,包括使用< code>setInitialWeights设置初始权重。

    <李> SVM

理论上,它可以通过扩展StreamingLinearAlgorithm来实现类似于流回归StreamingLogisticRegressionWithSGD或StreamingLinearRegressionWithSGD,但是没有内置这样的实现,因为org.apache.spark.mllib处于维护模式,所以不会有。

 类似资料:
  • 我正在训练DeepAR AWS SageMaker的内置算法。使用sagemaker SDK,我可以使用特定的超参数训练模型: 我想以较小的学习率再次训练生成的模型。我遵循此处描述的增量培训方法:https://docs.aws.amazon.com/en_pv/sagemaker/latest/dg/incremental-training.html,但它不起作用,显然(根据链接),只有两个内置

  • 如果做了上一节练习,你会发现模型net在调用初始化函数initialize之后、在做前向计算net(X)之前时,权重参数的形状中出现了0。虽然直觉上initialize完成了所有参数初始化过程,然而这在Gluon中却是不一定的。我们在本节中详细讨论这个话题。 延后初始化 也许读者早就注意到了,在之前使用Gluon创建的全连接层都没有指定输入个数。例如,在上一节使用的多层感知机net里,我们创建的隐

  • 我对Java中优先级队列初始容量的使用感到困惑。如官方文档所示,有一个以初始容量为参数的构造函数。但是当我用构造函数指定初始容量并开始将整数放入其中时,优先级队列的大小会大于初始容量。 例如,我将一个PQ的初始容量指定为3,并将10个不同的数字放入其中,这样我就可以得到第三个最小的数字,但结果发现那个队列中有10个数字。要处理这一点,我总是要手动移除一些数字,所以我想知道初始容量是如何工作的,或者

  • 在“线性回归的简洁实现”一节中,我们通过init模块来初始化模型的全部参数。我们也介绍了访问模型参数的简单方法。本节将深入讲解如何访问和初始化模型参数,以及如何在多个层之间共享同一份模型参数。 我们先定义一个与上一节中相同的含单隐藏层的多层感知机。我们依然使用默认方式初始化它的参数,并做一次前向计算。与之前不同的是,在这里我们从MXNet中导入了init模块,它包含了多种模型初始化方法。 from

  • 我是新来的百里香,我有以下问题。我想在html模板内调用一个java方法,但该方法需要一个参数,但问题是,无论我为参数传递什么,结果总是空的。 类别。html: 分类控制器:

  • 下面是我简单的Jmeter测试计划。 用户参数如下所示: 我只是调用一个endpoint,读取响应体,并根据找到的ID,在Regex提取器的帮助下调用另一个endpoint。ForEach循环帮助确保对于找到的所有ID,以ID作为路径中的参数调用相同的endpoint。 null 我这里的一个小问题是,用户参数变量从来没有得到更新,并且在运行结束时总是等于0。在这种情况下我做错了什么?以前有人面临