- Explain the concept of overfitting in machine learning and describe techniques to mitigate it. - How would you approach feature selection and feature engineering for a given machine learning task? Provide examples of relevant features for a sentiment analysis problem. - Discuss the differences between supervised learning and unsupervised learning algorithms. When would you choose one over the other for a given problem? - Describe the working principles of convolutional neural networks (CNNs) and their applications in computer vision tasks. How do they handle spatial hierarchies and achieve translation invariance? - Suppose you are given a dataset with imbalanced classes for a binary classification problem. How would you address this issue and improve the performance of the model? Explain different techniques you can use, such as oversampling, undersampling, or cost-sensitive learning.