Machine Learning for Software Engineering
People
Course director
Description
This course deals with the problem of extracting information and knowledge from data, using unsupervised/supervised learning, as well as natural language processing algorithms, and how to use such knowledge to address various software engineering tasks. The course will cover the following topics:
- Data pre-processing
- Unsupervised learning
- Hierarchical clustering, k-means, feature maps, graph-based clustering, density based clustering, anomaly detection
- Supervised learning
- Classifiers (e.g., nearest neighbour, decision trees, naive Bayes, SVM), regression models, deep neural networks
- Evaluation methods and metrics, statistical tests
- Latent semantic indexing and latent Dirichlet allocation
- Text embedding for text search
- Part of speech tagging
- Constituency and dependency parsing
- Semantic role labelling
- Text summarization
- Sentiment analysis
- Language models
Teaching mode
In presence