Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Apache spark Word2Vec中的迭代次数和分区数量是如何关联的?_Apache Spark_Apache Spark Mllib_Word2vec - Fatal编程技术网

Apache spark Apache spark Word2Vec中的迭代次数和分区数量是如何关联的?

Apache spark Apache spark Word2Vec中的迭代次数和分区数量是如何关联的?,apache-spark,apache-spark-mllib,word2vec,Apache Spark,Apache Spark Mllib,Word2vec,根据文献[1]: def setNumIterations(numIterations: Int): Word2Vec.this.type 设置迭代次数(默认值:1),迭代次数应小于或等于分区数 设置分区数(默认值:1)。使用一个小的数字以确保准确性 但在此[2]中: 为了使我们的实现更具可伸缩性,我们训练每个分区 在每次迭代后分别合并每个分区的模型。 为了使模型更精确,可能需要多次迭代 问题: 参数numIterations和numPartitions如何影响算法的内部工作 考虑到以下规则

根据文献[1]:

def setNumIterations(numIterations: Int): Word2Vec.this.type
设置迭代次数(默认值:1),迭代次数应小于或等于分区数

设置分区数(默认值:1)。使用一个小的数字以确保准确性

但在此[2]中:

为了使我们的实现更具可伸缩性,我们训练每个分区 在每次迭代后分别合并每个分区的模型。 为了使模型更精确,可能需要多次迭代

问题:

  • 参数numIterations和numPartitions如何影响算法的内部工作

  • 考虑到以下规则,在设置分区数量和迭代次数之间是否存在权衡

    • 更准确->更多迭代a/c到[2]

    • 更多迭代->更多分区a/c到[1]

    • 更多的分区->更少的精度


增加分区数量时,会减少每个分区的训练数据量,从而使每个训练步骤(字向量调整)更“嘈杂”,更不确定。Spark的实现通过在增加分区数时降低学习率来响应这一点,因为有更多的进程更新向量权重。

@renner2我仍然不明白为什么NumiteOptionsLooking在Word2Vec代码()中,我找不到好的答案。这并不意味着numIter没有理论上的理由
def setNumPartitions(numPartitions: Int): Word2Vec.this.type