我们探讨了随机梯度下降及其变种(如在线学习)的应用,但这些算法通常只能在单一设备上运行。对于大规模数据集而言,单机处理变得力不从心。为了解决这个问题,本节介绍了大规模机器学习中的“映射-约减”技术,这种技术能更高效地处理大规模问题。
在处理大规模数据集时,使用批量梯度下降算法需要遍历整个训练集,计算偏导数和代价函数,这会导致计算量巨大。例如,当样本量达到400时,计算量会非常庞大。因此,我们引入了“映射-约减”的概念,以简化这一过程。
映射-约减的核心思想是将数据集分解成多个子集。假设我们有4台计算机,可以把数据集分成4份,每台计算机处理其中的一份。每台计算机计算其分配到的数据子集的损失函数对参数的偏导数,然后将结果发送到中央服务器。中央服务器将所有子结果合并,并根据特定公式更新参数θj。
通过这种方法,多台计算机可以并行工作,从而大幅提升计算效率,有效解决大规模数据集的处理难题。