Total Least Squares Regression in Input Sparsity Time
In the total least squares problem, one is given an m × n matrix A, and an m × d matrix B, and one seeks to "correct" both A and B, obtaining matrices  and B̂, so that there exists an X satisfying the equation ÂX = B̂. Typically the problem is overconstrained, meaning that m ≫max(n,d). The cost of the solution Â, B̂ is given by A-Â_F^2 + B - B̂_F^2. We give an algorithm for finding a solution X to the linear system ÂX=B̂ for which the cost A-Â_F^2 + B-B̂_F^2 is at most a multiplicative (1+ϵ) factor times the optimal cost, up to an additive error η that may be an arbitrarily small function of n. Importantly, our running time is Õ( nnz(A) + nnz(B) ) + poly(n/ϵ) · d, where for a matrix C, nnz(C) denotes its number of non-zero entries. Importantly, our running time does not directly depend on the large parameter m. As total least squares regression is known to be solvable via low rank approximation, a natural approach is to invoke fast algorithms for approximate low rank approximation, obtaining matrices  and B̂ from this low rank approximation, and then solving for X so that ÂX = B̂. However, existing algorithms do not apply since in total least squares the rank of the low rank approximation needs to be n, and so the running time of known methods would be at least mn^2. In contrast, we are able to achieve a much faster running time for finding X by never explicitly forming the equation  X = B̂, but instead solving for an X which is a solution to an implicit such equation. Finally, we generalize our algorithm to the total least squares problem with regularization.
READ FULL TEXT