Importance Sampling for Minibatches
Minibatching is a very well studied and highly popular technique in supervised learning, used by practitioners due to its ability to accelerate training through better utilization of parallel processing power and reduction of stochastic variance. Another popular technique is importance sampling – a strategy for preferential sampling of more important examples also capable of accelerating the training process. However, despite considerable effort by the community in these areas, and due to the inherent technical difficulty of the problem, there is no existing work combining the power of importance sampling with the strength of minibatching. In this paper we propose the first importance sampling for minibatches and give simple and rigorous complexity analysis of its performance. We illustrate on synthetic problems that for training data of certain properties, our sampling can lead to several orders of magnitude improvement in training time. We then test the new sampling on several popular datasets, and show that the improvement can reach an order of magnitude.
Supervised learning is a widely adopted learning paradigm with important applications such as regression, classification and prediction. The most popular approach to training supervised learning models is via empirical risk minimization (ERM). In ERM, the practitioner collects data composed of example-label pairs, and seeks to identify the best predictor by minimizing the empirical risk, i.e., the average risk associated with the predictor over the training data.
With ever increasing demand for accuracy of the predictors, largely due to successful industrial applications, and with ever more sophisticated models that need to trained, such as deep neural networks [8, 14], or multiclass classification , increasing volumes of data are used in the training phase. This leads to huge and hence extremely computationally intensive ERM problems.
Batch algorithms—methods that need to look at all the data before taking a single step to update the predictor—have long been known to be prohibitively impractical to use. Typical examples of batch methods are gradient descent and classical quasi-Newton methods. One of the most popular algorithms for overcoming the deluge-of-data issue is stochastic gradient descent (SGD), which can be traced back to a seminal work of Robbins and Monro . In SGD, a single random example is selected in each iteration, and the predictor is updated using the information obtained by computing the gradient of the loss function associated with this example. This leads to a much more fine-grained iterative process, but at the same time introduces considerable stochastic noise, which eventually—typically after one or a few passes over the data—-effectively halts the progress of the method, rendering it unable to push the training error (empirical risk) to the realm of small values.
1.1 Strategies for dealing with stochastic noise
Several approaches have been proposed to deal with the issue of stochastic noise. The most important of these are i) decreasing stepsizes, ii) minibatching, iii) importance sampling and iv) variance reduction via “shift”, listed here from historically first to the most modern.
The first strategy, decreasing stepsizes, takes care of the noise issue by a gradual and direct scale-down process, which ensures that SGD converges to the ERM optimum . However, an unwelcome side effect of this is a considerable slowdown of the iterative process . For instance, the convergence rate is sublinear even if the function to be minimized is strongly convex.
The second strategy, minibatching, deals with the noise by utilizing a random set of examples in the estimate of the gradient, which effectively decreases the variance of the estimate . However, this has the unwelcome side-effect of requiring more computation. On the other hand, if a parallel processing machine is available, the computation can be done concurrently, which ultimately leads to speedup. This strategy does not result in an improvement of the convergence rate (unless progressively larger minibatch sizes are used, at the cost of further computational burden ), but can lead to massive improvement of the leading constant, which ultimately means acceleration (almost linear speedup for sparse data) .
The third strategy, importance sampling, operates by a careful data-driven design of the probabilities of selecting examples in the iterative process, leading to a reduction of the variance of the stochastic gradient thus selected. Typically, the overhead associated with computing the sampling probabilities and with sampling from the resulting distribution is negligible, and hence the net effect is speedup. In terms of theory, as in the case of minibatching, this strategy leads to the improvement of the leading constant in the complexity estimate, typically via replacing the maximum of certain data-dependent quantities by their average [24, 12, 40, 23, 19, 2, 3].
Finally, and most recently, there has been a considerable amount of research activity due to the ground-breaking realization that one can gain the benefits of SGD (cheap iterations) without having to pay through the side effects mentioned above (e.g., halt in convergence due to decreasing stepsizes or increase of workload due to the use of minibatches). The result, in theory, is that for strongly convex losses (for example), one does not have to suffer sublinear convergence any more, but instead a fast linear rate “kicks in”. In practice, these methods dramatically surpass all previous existing approaches.
The main algorithmic idea is to change the search direction itself, via a properly designed and cheaply maintainable “variance-reducing shift” (control variate). Methods in this category are of two types: those operating in the primal space (i.e., directly on ERM) and those operating in a dual space (i.e., with the dual of the ERM problem). Methods of the primal variety include SAG , SVRG , S2GD , proxSVRG , SAGA , mS2GD  and MISO . Methods of the dual variety work by updating randomly selected dual variables, which correspond to examples. These methods include SCD , RCDM [20, 26], SDCA , Hydra [25, 6], mSDCA , APCG , AsySPDC , RCD , APPROX , SPDC , ProxSDCA , ASDCA , IProx-SDCA , and QUARTZ .
1.2 Combining strategies
We wish to stress that the key strategies, mini-batching, importance sampling and variance-reducing shift, should be seen as orthogonal tricks, and as such they can be combined, achieving an amplification effect. For instance, the first primal variance-reduced method allowing for mini-batching was ; while dual-based methods in this category include [33, 23, 2]. Variance-reduced methods with importance sampling include [20, 26, 24, 21] for general convex minimization problems, and [40, 23, 19, 2] for ERM.
Despite considerable effort of the machine learning and optimization research communities, no importance sampling for minibatches was previously proposed, nor analyzed. The reason for this lies in the underlying theoretical and computational difficulties associated with the design and successful implementation of such a sampling. One needs to come up with a way to focus on a reasonable set of subsets (minibatches) of the examples to be used in each iteration (issue: there are many subsets; which ones to choose?), assign meaningful data-dependent non-uniform probabilities to them (issue: how?), and then be able to sample these subsets according to the chosen distribution (issue: this could be computationally expensive).
The tools that would enable one to consider these questions did not exist until recently. However, due to a recent line of work on analyzing variance-reduced methods utilizing what is known as arbitrary sampling [24, 23, 21, 22, 2], we are able to ask these questions and provide answers. In this work we design a novel family of samplings—bucket samplings—and a particular member of this family—importance sampling for minibatches. We illustrate the power of this sampling in combination with the reduced-variance dfSDCA method for ERM. This method is a primal variant of SDCA, first analyzed by Shalev-Shwartz , and extended by Csiba and Richtárik  to the arbitrary sampling setting. However, our sampling can be combined with any stochastic method for ERM, such as SGD or S2GD, and extends beyond the realm of ERM, to convex optimization problems in general. However, for simplicity, we do not discuss these extensions in this work.
We analyze the performance of the new sampling theoretically, and by inspecting the results we are able to comment on when can one expect to be able to benefit from it. We illustrate on synthetic datasets with varying distributions of example sizes that our approach can lead to dramatic speedups when compared against standard (uniform) minibatching, of one or more degrees of magnitude. We then test our method on real datasets and confirm that the use of importance minibatching leads to up to an order of magnitude speedup. Based on our experiments and theory, we predict that for real data with particular shapes and distributions of example sizes, importance sampling for minibatches will operate in a favourable regime, and can lead to speedup higher than one order of magnitude.
3 The Problem
Let be a data matrix in which features are represented in rows and examples in columns, and let be a vector of labels corresponding to the examples. Our goal is to find a linear predictor such that , where the pair is sampled from the underlying distribution over data-label pairs. In the L2-regularized Empirical Risk Minimization problem, we find by solving the optimization problem
where is a loss function associated with example-label pair , and . For instance, the square loss function is given by . Our results are not limited to L2-regularized problems though: an arbitrary strongly convex regularizer can be used instead . We shall assume throughout that the loss functions are convex and -smooth, where . The latter means that for all and all , we have
This setup includes ridge and logistic regression, smoothed hinge loss, and many other problems as special cases . Again, our sampling can be adapted to settings with non-smooth losses, such as the hinge loss.
4 The Algorithm
The method has two parameters. A “sampling” , which is a random set-valued mapping  with values being subsets of , the set of examples. No assumptions are made on the distribution of apart from requiring that is positive for each , which simply means that each example has to have a chance of being picked. The second parameter is a stepsize , which should be as large as possible, but not larger than a certain theoretically allowable maximum depending on and , beyond which the method could diverge.
Algorithm 1 maintains “dual” variables, , which act as variance-reduction shifts. This is most easily seen in the case when we assume that (no minibatching). Indeed, in that case we have
where is the stochastic gradient. If is set to a proper value, as we shall see next, then it turns out that for all , is converging , where is the solution to (1), which means that the shifted stochastic gradient converges to zero. This means that its variance is progressively vanishing, and hence no additional strategies, such as decreasing stepsizes or minibatching are necessary to reduce the variance and stabilize the process. In general, dfSDCA in each step picks a random subset of the examples, denoted as , updates variables for , and then uses these to update the predictor .
4.1 Complexity of dfSDCA
In order to state the theoretical properties of the method, we define
holds for all . Tight and easily computable formulas for such parameters can be found in . For instance, whenever , inequality (2) holds with . However, this is a conservative choice of the parameters. Convergence of dfSDCA is described in the next theorem.
5 Bucket Sampling
We shall first explain the concept of “standard” importance sampling.
5.1 Standard importance sampling
Assume that always picks a single example only. In this case, (2) holds for , independently of . This allows us to choose the sampling probabilities as , which ensures that (4) is minimized. This is importance sampling. The number of iterations of dfSDCA is in this case proportional to
If uniform probabilities are used, the average in the above formula gets replaced by the maximum:
Hence, one should expect the following speedup when comparing the importance and uniform samplings:
If for instance, then dfSDCA with importance sampling is 10 faster than dfSDCA with uniform sampling.
5.2 Uniform minibatch sampling
In machine learning, the term “minibatch” is virtually synonymous with a special sampling, which we shall here refer to by the name -nice sampling . Sampling is -nice if it picks uniformly at random from the collection of all subsets of of cardinality . Clearly, and, moreover, it was show by Qu and Richtárik  that (2) holds with defined by
where In the case of -nice sampling we have the stepsize and complexity given by
5.3 Bucket sampling: definition
We now propose a family of samplings, which we call bucket samplings. Let be a partition of into nonempty sets (“buckets”).
Definition 2 (Bucket sampling).
We say that is a bucket sampling if for all , with probability 1.
Informally, a bucket sampling picks one example from each of the buckets, forming a minibatch. Hence, and for each , where, as before, . Notice that given the partition, the vector uniquely determines a bucket sampling. Hence, we have a family of samplings indexed by a single -dimensional vector. Let be the set of all vectors describing bucket samplings associated with partition . Clearly,
5.4 Optimal bucket sampling
The optimal bucket sampling is that for which (4) is minimized, which leads to a complicated optimization problem:
A particular difficulty here is the fact that the parameters depend on the vector in a complicated way. In order to resolve this issue, we prove the following result.
Let be a bucket sampling described by partition and vector . Then the ESO inequality (2) holds for parameters set to
where , and .
Observe that is the set of examples which express feature , and is the number of buckets intersecting with . Clearly, that (if , we simply discard this feature from our data as it is not needed). Note that the effect of the quantities on the value of is small. Indeed, unless we are in the extreme situation when , which has the effect of neutralizing , the quantity is between and . Hence, for simplicity, we could instead use the slightly more conservative parameters:
5.5 Uniform bucket sampling
Assume all buckets are of the same size: for all . Further, assume that for all . Then , and hence Theorem 3 says that
and in view of (4), the complexity of dfSDCA with this sampling becomes
Formula (6) is very similar to the one for -nice sampling (10), despite the fact that the sets/minibatches generated by the uniform bucket sampling have a special structure with respect to the buckets. Indeed, it is easily seen that the difference between between and is negligible. Moreover, if either or for all , then for all and hence . This is also what we get for the -nice sampling.
6 Importance Minibatch Sampling
In the light of Theorem 3, we can formulate the problem of searching for the optimal bucket sampling as
Still, this is not an easy problem. Importance minibatch sampling arises as an approximate solution of (12). Note that the uniform minibatch sampling is a feasible solution of the above problem, and hence we should be able to improve upon its performance.
6.1 Approach 1: alternating optimization
This leads to a natural alternating optimization strategy. Eventually, this strategy often (in experiments) converges to a pair for which (13) holds. Therefore, the resulting complexity will be
We can compare this result against the complexity of -nice in (8). We can observe that the terms are very similar, up to two differences. First, the importance minibatch sampling has a maximum over group averages instead of a maximum over everything, which leads to speedup, other things equal. On the other hand, and are different quantities. The alternating optimization procedure for computation of is costly, as one iteration takes a pass over all data. Therefore, in the next subsection we propose a closed form formula which, as we found empirically, offers nearly optimal convergence rate.
6.2 Approach 2: practical formula
For each group , let us choose for all the probabilities as follows:
where is given by (10). After doing some simplifications, the associated complexity result is
We would ideally want to have for all (this is what we get for importance sampling without minibatches). If for all , then the complexity is an improvement on the complexity of the uniform minibatch sampling since the maximum of group averages is always better than the maximum of all elements :
Indeed, the difference can be very large.
We now comment on the results of our numerical experiments, with both synthetic and real datasets. We plot the optimality gap (vertical axis) against the computational effort (horizontal axis). We measure computational effort by the number of effective passes through the data divided by . We divide by as a normalization factor; since we shall compare methods with a range of values of . This is reasonable as it simply indicates that the updates are performed in parallel. Hence, what we plot is an implementation-independent model for time.
We compared two algorithms:
-imp: dfSDCA using -importance sampling (i.e., importance minibatch sampling) defined in Subsection 6.2.
For each dataset we provide two plots. In the left figure we plot the convergence of -nice for different values of , and in the right figure we do the same for -importance. The horizontal axis has the same range in both plots, so they are easily comparable. The values of we used to plot are . In all experiments we used the logistic loss: and set the regularizer to . We will observe the theoretical and empirical ratio . The theoretical ratio is computed from the corresponding theory. The empirical ratio is the ratio between the horizontal axis values at the moments when the algorithms reached the precision .
7.1 Artificial data
We start with experiments using artificial data, where we can control the sparsity pattern of and the distribution of . We fix and choose and . For each feature we sampled a random sparsity coefficient to have the average sparsity under control. We used two different regimes of sparsity: (10% nonzeros) and (80% nonzeros). After deciding on the sparsity pattern, we rescaled the examples to match a specific distribution of norms ; see Table 1. The code column shows the corresponding code in Julia to create the vector of norms . The distributions can be also observed as histograms in Figure 1.
|extreme||L = ones(n);L = 1000||980.4|
|chisq1||L = rand(chisq(1),n)||17.1|
|chisq10||L = rand(chisq(10),n)||3.9|
|chisq100||L = rand(chisq(100),n)||1.7|
|uniform||L = 2*rand(n)||2.0|
|uniform||1.2 : 1.0||1.2 : 1.1||1.2 : 1.1||1.2 : 1.1||1.3 : 1.1||1.4 : 1.1|
|chisq100||1.5 : 1.3||1.5 : 1.3||1.5 : 1.4||1.6 : 1.4||1.6 : 1.4||1.6 : 1.4|
|chisq10||1.9 : 1.4||1.9 : 1.5||2.0 : 1.4||2.2 : 1.5||2.5 : 1.6||2.8 : 1.7|
|chisq1||1.9 : 1.4||2.0 : 1.4||2.2 : 1.5||2.5 : 1.6||3.1 : 1.6||4.2 : 1.7|
|extreme||8.8 : 4.8||9.6 : 6.6||11 : 6.4||14 : 6.4||20 : 6.9||32 : 6.1|
|uniform||1.2 : 1.1||1.2 : 1.1||1.4 : 1.2||1.5 : 1.2||1.7 : 1.3||1.8 : 1.3|
|chisq100||1.5 : 1.3||1.6 : 1.4||1.6 : 1.5||1.7 : 1.5||1.7 : 1.6||1.7 : 1.6|
|chisq10||1.9 : 1.3||2.2 : 1.6||2.7 : 2.1||3.1 : 2.3||3.5 : 2.5||3.6 : 2.7|
|chisq1||1.9 : 1.3||2.6 : 1.8||3.7 : 2.3||5.6 : 2.9||7.9 : 3.2||10 : 3.9|
|extreme||8.8 : 5.0||15 : 7.8||27 : 12||50 : 16||91 : 21||154 : 28|
7.2 Real data
We used several publicly available datasets222https://www.csie.ntu.edu.tw/ cjlin/libsvmtools/datasets/, summarized in Table 4. Experimental results are in Figure 2. The theoretical and empirical speedup table for these datasets can be found in Table 5.
|ijcnn1||1.2 : 1.1||1.4 : 1.1||1.6 : 1.3||1.9 : 1.6||2.2 : 1.6||2.3 : 1.8|
|protein||1.3 : 1.2||1.4 : 1.2||1.5 : 1.4||1.7 : 1.4||1.8 : 1.5||1.9 : 1.5|
|w8a||2.8 : 2.0||2.9 : 1.9||2.9 : 1.9||3.0 : 1.9||3.0 : 1.8||3.0 : 1.8|
|url||3.0 : 2.3||2.6 : 2.1||2.0 : 1.8||1.7 : 1.6||1.8 : 1.6||1.8 : 1.7|
|aloi||13 : 7.8||12 : 8.0||11 : 7.7||9.9 : 7.4||9.3 : 7.0||8.8 : 6.7|
In all experiments, -importance sampling performs significantly better than -nice sampling. The theoretical speedup factor computed by provides an excellent estimate of the actual speedup. We can observe that on denser data the speedup is higher than on sparse data. This matches the theoretical intuition for for both samplings. As we observed for artificial data, for extreme datasets the speedup can be arbitrary large, even several orders of magnitude. A rule of thumb: if one has data with large , practical speedup from using importance minibatch sampling will likely be dramatic.
8 Proof of Theorem 3
8.1 Three lemmas
We first establish three lemmas, and then proceed with the proof of the main theorem. With each sampling we associate an “probability matrix” defined as follows: . Our first lemma characterizes the probability matrix of the bucket sampling.
If is a bucket sampling, then
where is the matrix of all ones,
and denotes the Hadamard (elementwise) product of matrices. Note that is the 0-1 matrix given by if and only if belong to the same bucket for some .
Let . By definition
It only remains to compare this to (16). ∎
Let be a nonempty subset of , let be as in Lemma 4 and put . Then
For any , we have
where we used the Cauchy-Schwarz inequality. Using this, we obtain
Let be any nonempty subset of and be a bucket sampling. Then
Choose any and note that
where and . It remains to apply the Cauchy-Schwarz inequality:
and notice that the -th element on the diagonal of is for and 0 for ∎
8.2 Proof of Theorem 3
- Bottou  Léon Bottou. Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT’2010, pages 177–186. Springer, 2010.
- Csiba and Richtárik  Dominik Csiba and Peter Richtárik. Primal method for ERM with flexible mini-batching schemes and non-convex losses. arXiv:1506.02227, 2015.
- Csiba et al.  Dominik Csiba, Zheng Qu, and Peter Richtárik. Stochastic dual coordinate ascent with adaptive probabilities. ICML, 2015.
- Defazio et al.  Aaron Defazio, Francis Bach, and Simon Lacoste-Julien. Saga: A fast incremental gradient method with support for non-strongly convex composite objectives. In NIPS 27, pages 1646–1654, 2014.
- Fercoq and Richtárik  Olivier Fercoq and Peter Richtárik. Accelerated, parallel, and proximal coordinate descent. SIAM Journal on Optimization, 25(4):1997–2023, 2015.
- Fercoq et al.  Olivier Fercoq, Zheng Qu, Peter Richtárik, and Martin Takáč. Fast distributed coordinate descent for minimizing non-strongly convex losses. IEEE International Workshop on Machine Learning for Signal Processing, 2014.
- Friedlander and Schmidt  Michael P Friedlander and Mark Schmidt. Hybrid deterministic-stochastic methods for data fitting. SIAM Journal on Scientific Computing, 34(3):A1380–A1405, 2012.
- Hinton  Geoffrey E Hinton. Learning multiple layers of representation. Trends in cognitive sciences, 11(10):428–434, 2007.
- Huang et al.  Guang-Bin Huang, Hongming Zhou, Xiaojian Ding, and Rui Zhang. Extreme learning machine for regression and multiclass classification. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 42(2):513–529, 2012.
- Johnson and Zhang  Rie Johnson and Tong Zhang. Accelerating stochastic gradient descent using predictive variance reduction. In NIPS 26, 2013.
- Konečný and Richtárik  Jakub Konečný and Peter Richtárik. S2GD: Semi-stochastic gradient descent methods. arXiv:1312.1666, 2013.
- Konečný et al.  Jakub Konečný, Zheng Qu, and Peter Richtárik. Semi-stochastic coordinate descent. arXiv:1412.6293, 2014.
- Konečný et al.  Jakub Konečný, Jie Lu, Peter Richtárik, and Martin Takáč. mS2GD: Mini-batch semi-stochastic gradient descent in the proximal setting. to appear in IEEE Journal of Selected Topics in Signal Processing, 2015.
- Krizhevsky et al.  Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In NIPS 25, pages 1097–1105, 2012.
- Lin et al.  Qihang Lin, Zhaosong Lu, and Lin Xiao. An accelerated proximal coordinate gradient method and its application to regularized empirical risk minimization. arXiv:1407.1296, 2014.
- Liu and Wright  Ji Liu and Stephen J Wright. Asynchronous stochastic coordinate descent: Parallelism and convergence properties. SIAM Journal on Optimization, 25(1):351–376, 2015.
- Mairal  Julien Mairal. Incremental majorization-minimization optimization with application to large-scale machine learning. SIAM Journal on Optimization, 25(2):829–855, 2015.
- Necoara and Patrascu  Ion Necoara and Andrei Patrascu. A random coordinate descent algorithm for optimization problems with composite objective function and linear coupled constraints. Computational Optimization and Applications, 57:307–337, 2014.
- Needell et al.  Deanna Needell, Rachel Ward, and Nati Srebro. Stochastic gradient descent, weighted sampling, and the randomized kaczmarz algorithm. In NIPS 27, pages 1017–1025, 2014.
- Nesterov  Yurii Nesterov. Efficiency of coordinate descent methods on huge-scale optimization problems. SIAM Journal on Optimization, 22(2):341–362, 2012.
- Qu and Richtárik  Zheng Qu and Peter Richtárik. Coordinate descent methods with arbitrary sampling I: Algorithms and complexity. arXiv:1412.8060, 2014.
- Qu and Richtárik  Zheng Qu and Peter Richtárik. Coordinate descent with arbitrary sampling II: Expected separable overapproximation. arXiv:1412.8063, 2014.
- Qu et al.  Zheng Qu, Peter Richtárik, and Tong Zhang. Quartz: Randomized dual coordinate ascent with arbitrary sampling. In NIPS 28, pages 865–873. 2015.
- Richtárik and Takáč  Peter Richtárik and Martin Takáč. On optimal probabilities in stochastic coordinate descent methods. Optimization Letters, pages 1–11, 2015.
- Richtárik and Takáč  Peter Richtárik and Martin Takáč. Distributed coordinate descent method for learning with big data. to appear in JMLR, 2016.
- Richtárik and Takáč  Peter Richtárik and Martin Takáč. Iteration complexity of randomized block-coordinate descent methods for minimizing a composite function. Mathematical Programming, 144(2):1–38, 2014.
- Richtárik and Takáč  Peter Richtárik and Martin Takáč. Parallel coordinate descent methods for big data optimization. Mathematical Programming, pages 1–52, 2015.
- Robbins and Monro  Herbert Robbins and Sutton Monro. A stochastic approximation method. Ann. Math. Statist., 22(3):400–407, 1951.
- Schmidt et al.  Mark Schmidt, Nicolas Le Roux, and Francis Bach. Minimizing finite sums with the stochastic average gradient. arXiv:1309.2388, 2013.
- Shalev-Shwartz  Shai Shalev-Shwartz. SDCA without duality. arXiv:1502.06177, 2015.
- Shalev-Shwartz and Tewari  Shai Shalev-Shwartz and Ambuj Tewari. Stochastic methods for -regularized loss minimization. JMLR, 12:1865–1892, 2011.
- Shalev-Shwartz and Zhang  Shai Shalev-Shwartz and Tong Zhang. Proximal stochastic dual coordinate ascent. arXiv:1211.2717, 2012.
- Shalev-Shwartz and Zhang [2013a] Shai Shalev-Shwartz and Tong Zhang. Accelerated mini-batch stochastic dual coordinate ascent. In NIPS 26, pages 378–385. 2013a.
- Shalev-Shwartz and Zhang [2013b] Shai Shalev-Shwartz and Tong Zhang. Stochastic dual coordinate ascent methods for regularized loss. JMLR, 14(1):567–599, 2013b.
- Shalev-Shwartz et al.  Shai Shalev-Shwartz, Yoram Singer, Nathan Srebro, and Andrew Cotter. Pegasos: Primal estimated sub-gradient solver for svm. Mathematical programming, 127(1):3–30, 2011.
- Takáč et al.  Martin Takáč, Avleen Singh Bijral, Peter Richtárik, and Nathan Srebro. Mini-batch primal and dual methods for SVMs. arXiv:1303.2314, 2013.
- Xiao and Zhang  Lin Xiao and Tong Zhang. A proximal stochastic gradient method with progressive variance reduction. SIAM Journal on Optimization, 24(4):2057–2075, 2014.
- Zhang  Tong Zhang. Solving large scale linear prediction problems using stochastic gradient descent algorithms. ICML, 2004.
- Zhang and Xiao  Yuchen Zhang and Lin Xiao. Stochastic primal-dual coordinate method for regularized empirical risk minimization. ICML, 2015.
- Zhao and Zhang  Peilin Zhao and Tong Zhang. Stochastic optimization with importance sampling. ICML, 2015.