# How can one determine which inputs are not useful in a machine learning algorithm?

There is an infinite amount of inputs that one could supply to a machine learning algorithm, be it neural network or just logistic regression, and the algorithm will spend equal time processing each input.

How can one determine which inputs are not useful for a certain regression/classification and remove them from the input field?

Intuition suggests that by looking at the parameters/weights associated with that input we would be able to assume that an input is not useful if the magnitudes of the parameters/weights are very small.

Is there a formal approach to this problem?

In the context of prediction problems, sparsity-promoting regularization can be used to automatically perform feature selection. This is commonly accomplished using $L_1$ penalties such as LASSO for linear regression (and also in deep learning).
($L_1$ regularization is also used in representation learning, such as sparse coding and sparse autoencoders).