A rule of thumb for obtaining good generalization in systems trained b
y examples is that one should use the smallest system that will fit th
e data. Unfortunately, it usually is not obvious what size is best; a
system that is too small will not be able to learn the data while one
that is just big enough may learn very slowly and be very sensitive to
initial conditions and learning parameters. This paper is a survey of
neural network pruning algorithms. The approach taken by the methods
described here is to train a network that is larger than necessary and
then remove the parts that are not needed.