What is dimensionality reduction and why is it important in machine learning? How does it help in simplifying large datasets while preserving key information? What are the common techniques used for dimensionality reduction? How does it improve model performance and reduce computational cost? What are some real-world applications where dimensionality reduction is widely used?