Machine learning: What method should I use for classification?

61 Views Asked by At

I post this on Math Stack Exchange instead of Data Science Stack Exchange because I want to have the theory, not Pyton import.

Assume that we have a vector who contains decimal values, sorted.

$$V = {100, 90, 80, 5, 2, 1, 0.1 0.001, 0.0003, 0.0005, 0.000000001}$$

As we can see, only the first three numbers are the "big" ones and the rest are the small numbers. But how can be describe that with math? How can we tell a computer that the first three values are the values that we want and the rest we want to ignore?

If you wonder what these numbers comes from, it comes from Singular Value Decomposition matrix $S$.

1

There are 1 best solutions below

2
On

There is a real matrix $A$ and you have by some computation obtained an approximation $\hat{A}$ of this matrix. You have computed an approximation of the SVD of $\hat{A}$ and you have very nearly the equality $$\hat{A} = \sum_j \sigma_j u_j v_j^T$$ where (as usual) the singular values are $\sigma_j$ and $u_j$, $v_j$ are the corresponding left and right singular vectors. Now, let $B_k$ denote the matrix obtained by setting $\sigma_k$ to zero, i.e., $$ B_k = \sum_{j\not=k} \sigma_j v_j u_j^T.$$ Then $\|\hat{A} - B_k\|_2 = \sigma_k$. Now suppose that you have a reliable estimate of $\delta = \|A-\hat{A}\|_2$ and $\sigma_k < \delta$. Then there is nothing which suggest that you cannot discard $\sigma_k$. In short: you need information about the error when computing $\hat{A}$.