Recognizing patterns in data is so easy to do, that how easy it is, turns out to be a major problem in machine learning. You can always find some explanation that perfectly fits all the data you see, but that doesn't mean it will fit the data you haven't yet seen.
The challenge is finding the simplest patterns that will generalize to explain the most data, while wasting as little effort as possible on the irrelevant patterns. In high dimension data, the number of possible relationships to analyze explode, you can find patterns everywhere you look, so it's deciding where to bother looking with your limited resources that's hard.
That patterns are nothing special doesn't seem obvious to us because, evolution has done a pretty good job solving this problem(in the domain of inputs we evolved to deal with), and we only perceive those patterns that are likely to generalize.
The challenge is finding the simplest patterns that will generalize to explain the most data, while wasting as little effort as possible on the irrelevant patterns. In high dimension data, the number of possible relationships to analyze explode, you can find patterns everywhere you look, so it's deciding where to bother looking with your limited resources that's hard.
That patterns are nothing special doesn't seem obvious to us because, evolution has done a pretty good job solving this problem(in the domain of inputs we evolved to deal with), and we only perceive those patterns that are likely to generalize.