amazon-web-services - 如何在 Spark MLLib 中为支持向量机配置内核选择和损失函数

标签 amazon-web-services apache-spark machine-learning svm apache-spark-mllib

我已经在 AWS Elastic Map Reduce(EMR) 上安装了 Spark,并使用 MLLib 中的包运行 SVM。但是没有选项可以选择用于构建模型的参数,例如内核选择和错误分类成本(如 R 的 e1071 包中)。有人可以告诉我如何在构建模型时设置这些参数吗?

最佳答案

摘要/TL;DR:

SVMWithSGD 的硬编码方法是:

private val gradient = new HingeGradient()
private val updater new SquaredL2Updater()

由于这些是硬编码的 - 您无法按照在 R 中习惯的方式配置它们。

详细信息:

在“裸机”级别,mllib SVMWithSGD 支持以下参数:

  • 为每个特征计算的权重。
  • 为此模型计算的截距。
  • 正/负预测之间的阈值(默认为 0.0)

还有其他方便的方法可以让您定义:

  • 正则化类型(L1 与 L2)
  • 正则化参数 (lambda)
  • 每个训练批处理使用输入数据的哪一部分
  • 初始步长(梯度下降)

您会注意到您提到的两项:

  • 内核选择
  • 错误分类的成本

不包含在这些可配置参数中

在幕后,这些是通过调用 GradientDescent 类来定义的,如下所示:

* @param gradient Gradient function to be used.
* @param updater Updater to be used to update weights after every iteration.
GradientDescent(gradient: Gradient, private var updater: Updater)

使用以下设置

关于amazon-web-services - 如何在 Spark MLLib 中为支持向量机配置内核选择和损失函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28236483/

相关文章:

java - Baum-Welch 实现示例

amazon-web-services - 将堆栈集部署到多个区域时如何避免重复的 IAM 角色

python - 如何在 Spark ALS 推荐器中增加矩阵因子?

apache-spark - spark-csv 不会将 DataFrame 保存到文件时是否有解释?

machine-learning - 卷积网络中的一些过度拟合可以吗?

machine-learning - 无法理解 Keras ConvLSTM2D - 已编辑

amazon-web-services - aws kinesis 迭代器过期后如何刷新?

amazon-web-services - 具有 CloudFormation 的 AWS SSM 参数存储

mysql - AWS数据管道-从外部源提取数据?

apache-spark - 进行更新插入时,Spark Hudi Job 中的记录键中超过 1 列