はじめに この記事はApache Spark Advent Calendar 2015の24日目の記事です。 Spark mllibのSVM, Logistic Regressionの学習に使われている mini batch SGD実装について調べた結果などを書きます。 SGDの実装は簡単で応用も広く有用な最適化手法なのでSparkの分散処理の枠組みの中でどう実装されているか興味を持っていました。 また、SGDの学習率を自動に最適化する手法, AdaGrad, Adam etc.をSpark mllibでどう実装できるかにも興味を持っていてその観点で調べてみました。 次の順番に軽く書いてみたいと思います。 GradientDescent.scalaのソースコードリーディング SGD実装に関係するSpark JIRAチケット AdaGradのプロトタイピング GradientDescent.