  Covering numbers are a powerful tool used in the development of approximation
algorithms, randomized dimension reduction methods, smoothed complexity
analysis, and others. In this paper we prove upper bounds on the covering
number of numerous sets in Euclidean space, namely real algebraic varieties,
images of polynomial maps and semialgebraic sets in terms of the number of
variables and degrees of the polynomials involved. The bounds remarkably
improve the best known general bound by Yomdin-Comte, and our proof is much
more straightforward. In particular, our result gives new bounds on the volume
of the tubular neighborhood of the image of a polynomial map and a
semialgebraic set, where results for varieties by Lotz and Basu-Lerario are not
directly applicable. We illustrate the power of the result on three
computational applications. Firstly, we derive a near-optimal bound on the
covering number of low rank CP tensors, quantifying their approximation
properties and filling in an important missing piece of theory for tensor
dimension reduction and reconstruction. Secondly, we prove a bound on the
required dimension for the randomized sketching of polynomial optimization
problems, which controls how much computation can be saved through
randomization without sacrificing solution quality. Finally, we deduce
generalization error bounds for deep neural networks with rational or ReLU
activation functions, improving or matching the best known results in the
machine learning literature while helping to quantify the impact of
architecture choice on generalization error.
