We can not compare ML vs pattern recognition. With the help of ML we can achieve Pattern recognition. And also in data mining we can use ML to recognize pattern with the help of unsupervised learning algorithms.
To add on,
data mining is mostly associated with statisticians ,
ML is mostly associated with computer scientists whereas
pattern recognition is mostly associated with engineers.
pattern recognition is a process of recognizing patterns such as images or speech. Once a neural net is trained using ML algorithms it can be used for pattern recognition. Other methods, even ones not related to ML and data mining can be used for pattern recognition such as a fully handcrafted pattern recognition system.