Software Engineering for Machine Learning (SER 594) at ASU

I developed a new course  Software Engineering for Machine Learning (SER 594), offered in the Spring of 2022. It (a) presents frameworks and tools for developing and incorporating machine-learning components into software systems; and (b) examines the application, adaptation, and extension of software engineering practices to develop and adopt machine-learning-enabled robust, secure, and scalable systems.

We will be covering the following main topics: (1) Fundamentals of supervised and unsupervised learning; (2) classification and regression; (3) clustering; (4) Neural networks; and (5) Machine Learning Libraries, including Weka, DeepLearning4J, mallet, Encog, and Apache Products. Using publicly available datasets, we will assemble applications for Text Mining, recommendation engines, pattern (image) recognition, and Anomaly (outliers) detection, among others.

Syllabus

Arizona State University.
School of Computing and Augmented Intelligence.
version Spring 2022

Lectures

This course will include 26 lectures:

  1. Course Presentation
  2. Fundamentals on Machine Learning
  3. Deep Learning
  4. Neural Networks
  5. Programming a Neural Network
  6. Working with DeepLearning4J
  7. Performance Measurement
  8. Image Recognition
  9. Image Recognition with DeepLearning4J
  10. Network Architecture
  11. Working with a Model
  12. Convolutional Neural Networks
  13. Midterm Review
  14. Unsupervised Learning
  15. Clustering Algorithms: K-means, DBSCAN, EM
  16. Clustering with Weka
  17. Text Mining: Latent Dirichlet Allocation
  18. Mallet: MAchine Learning for LanguagE Toolkit
  19. Text Mining Evaluation
  20. Spam Recognition
  21. Naive Bayes
  22. Decision Tree and Random Forest
  23. Final Review

Videos

Some lectures have been recorded and are available in my YouTube Channel