For the longest time I have known about data mining, I thought it's the same as KDD (knowledge discovery in database). Until today, I read some papers, did I find out they're actually two different things. "KDD refers to the overall process of discovering useful knowledge from data, and data mining refers to a particular step in this process".
Data mining is the application of specific algorithms for extracting patterns from data. KDD has evolved, and continues to evolve, from the intersection of research fields such as machine learning, pattern recognition, databases, statistics, AI, knowledge acquisition for expert systems, data visualization, and high-performance computing. The unifying goal is extracting high-level knowledge from low-level data in the context of large data sets.
The data-mining component of KDD currently relies heavily on known techniquesfrom machine learning, pattern recognition, and statistics to find patterns from data in the data-mining step of the KDD process. A natural question is, How is KDD different from pattern recognition or machine learning (and related fields)? The answer is that these fields provide some of the data-mining methods that are used in the data-mining step of the KDD process.
The KDD process can be viewed as a multidisciplinary activity that encompasses techniques beyond the scope of any one particular discipline such as machine learning.