CS 460G Machine Learning

University of Kentucky
Department of Computer Science
CS 460G Machine Learning
  

1.  Course Number/Name:  CS 460G, Machine Learning

2.  Credits and Contact Hours:  3 credits, 3 contact hours

3.   Instructor:   assigned by the department

4.   Textbook:   none

5.   a.   Catalog DescriptionStudy of computational principles and techniques that enable software systems to improve their performance by learning from data. Focus on fundamental algorithms, mathematical models and programming techniques used in Machine Learning. Topics include: different learning settings (such as supervised, unsupervised and reinforcement learning), various learning algorithms (such as decision trees, neural networks, k-NN, boosting, SVM, k-means) and crosscutting issues of generalization, data representation, feature selection, model fitting and optimization. The course covers both theory and practice, including programming and written assignments that utilize concepts covered in lectures.

b.  PrerequisitesStrong programming ability (CS 315), basic probability and statistics (STA 281), and basic concepts of linear algebra (MA/CS 321 or MA/CS 322), or instructor’s consent 

c.    Required course:  Elective 


6.  a.   Outcomes of InstructionAfter completing this course, the successful student will be able to:

1.   Describe the fundamental concepts of supervised learning and unsupervised learning.
2.   Explain the impact of limited training data, high-dimensional data and noisy training data on learning based
      approaches and describe the bias/variance tradeoff.
3.   Develop a machine learning system for real-world data.  This includes identifying appropriate training data,
      determining the correct problem statement, developing feature extraction methods, testing learning algorithms and
      documenting the complete system.
4.   Describe the practical differences, such as runtime vs. training time complexity, among various machine-learning
      algorithms.
5.   Describe several evaluation mechanisms for measuring learning algorithm performance.
6.   Implement several machine learning approaches from scratch and incorporate higher-level machine learning
      libraries into a computer system.


b.   Contributions to Student Outcomes from Criterion 3

Outcome

a

b

c

d

e

f

g

h

i

j

k

CS 460G

3

3

3

 

 

   1

 

 

3

3

 

3- Strongly supported   2 – Supported   1 – Minimally supported

 

 7.   List of Topics Covered:

1.   Introduction (2 weeks): review of foundational mathematics, overview of problem setting and theoretical
      foundations of machine learning, definition of basic terms and methods in the context of several basic learning
      methods
2.   Supervised Learning (7 weeks): regression and classification algorithms including linear regression, decision trees,
       k-nearest neighbors, neural networks, support vector machines and boosting; fundamental issues in feature design,
       bias, variance and regularization
3.    Ensemble Learning (1 weeks): improving algorithm performance by combining models using methods such as
       random forests, boosting, cascaded boosting and bagging
4.    Unsupervised Learning (3 weeks): exploring datasets structure and extracting features without supervision using
       methods such as k-means, Gaussian mixture models, EM, principal component analysis and manifold learning
5.    Extended Topics (3 weeks): exploration of extended topics which may be additional methods for supervised and
       unsupervised learning or other learning paradigms, such as reinforcement learning or collaborative ranking