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:
- Course Presentation
- Fundamentals on Machine Learning
- Deep Learning
- Neural Networks
- Programming a Neural Network
- Working with DeepLearning4J
- Performance Measurement
- Image Recognition
- Image Recognition with DeepLearning4J
- Network Architecture
- Working with a Model
- Convolutional Neural Networks
- Midterm Review
- Unsupervised Learning
- Clustering Algorithms: K-means, DBSCAN, EM
- Clustering with Weka
- Text Mining: Latent Dirichlet Allocation
- Mallet: MAchine Learning for LanguagE Toolkit
- Text Mining Evaluation
- Spam Recognition
- Naive Bayes
- Decision Tree and Random Forest
- Final Review
Videos
Some lectures have been recorded and are available in my YouTube Channel