How to find out if there is any real pattern in the data set? Let's assume that we have a regression problem (in the machine learning sense). Our data set consists of pairs of features vectors and numeric targets.
It might be the case that there is absolutely no relation between features and targets. How can we detect those situations? I would like to have a test such that we do not miss any weak relation. In other words, if the test says that there is no relation, we can be quite sure that there is really nothing in the data and it does not make any sense to build a predictive model.
 A: I'm assuming you've already checked for basic things like correlation. 
People usually just fit a very flexible non-parametric model (such as random forest) and see if it can do better than chance on some hold-out test set. If it can, it suggests the two variables are not totally independent.
Another approach is the calculate the empirical mutual information. For example, in R, this can be done via infotheo::mutinformation or entropy::mi.empirical.
No (currently available) approach will be able to detect all possible relationships though. Consider stenography - we could hide mutual information in the least significant bits of the numbers in such a way that no one could ever detect it.
A: Look up Restricted Boltzmann Machines. Honestly any unsupervised learning algorithm should work, as they will show you correlations in the data (clustering algorithms, or heck even PCA). After running the algorithms you can trace the correlations to specific points in the data, and see if the correlations can be used for your regression purposes.
Meaning... if all the data vectors which you want to be class A cluster together, and class B clusters together then there is a correlation.
Restricted Boltzmann Machines take an extra step by creating a (or multiple) layer of hidden nodes, if the hidden nodes can reconstruct the original data then they have found strong features and correlations in the data.
I know it's a broad answer, but there are a ton of unsupervised learning algorithms out there! Which one works best, of course depends on your implementation.
