Algebraic Machine Learning: Learning as computing an algebraic decomposition of a task