Computational Intelligence

Course Description

Computational intelligence, a.k.a. soft computing, is the use of inexact solutions to computationally hard tasks such as the solution of NP-complete problems. This course provides a comprehensive introduction to computational intelligence techniques and their applications in solving optimization problems and complex real-world problems. The techniques may include but are not limited to: fuzzy logic and fuzzy systems, neural networks and deep neural networks, support vector machines, genetic algorithms, meta-heuristics and swarm intelligence, and Bayesian network. 
    Learning Objectives

    Upon completion of the course the students will be able to:
    1. Understand basic concepts and principles of computational intelligence;
    2. Know how to apply computational intelligence to decision making in forecasting and optimization problems;
    3. Know how to apply computational intelligence to complex real-world problems.
    Text Book 
    • None

    Reference Books
    1. James M. Keller and Derong Liu (2016), Fundamentals of Computational Intelligence: Neural Networks, Fuzzy Systems, and Evolutionary Computation, IEEE Press.
    2. Amit Konar (2005) Computational Intelligence: Principles, Techniques and Applications. Springer.
    3. Andries P. Engelbrecht (2007) Computational Intelligence: An Introduction. Wiley.
    4. Trevor J. Hastie, Robert J. Tibshirani, & Jerome H. Friedman (2009). The elements of statistical learning: data mining, inference, and prediction. Springer.
    5. Gareth James, Daniela Witten, Trevor Hastie, & Robert Tibshirani  (2013). An Introduction to Statistical Learning: with Applications in R. Springer.
    Other Resources (scholarly journals)
    • IEEE Transactions on Neural Networks and Learning Systems
    • IEEE Transactions on Fuzzy Systems
    • IEEE Transactions on Evolutionary Computation
    • IEEE Transactions on Emerging Topics in Computational Intelligence
    • Expert Systems with Applications
    • The Journal of Machine Learning Research
    • Applied Soft Computing
    • Knowledge-Based Systems
    • Neurocomputing
    • Neural Networks
    • Fuzzy Sets and Systems
    • Soft Computing
    • Fuzzy Optimization and Decision Making

    Course Contents 
     1 Introduction to computational intelligence
     2 Mathematical programming and statistical forecasting
     [HW1] Forecasting Leo's jump rope performance
     3 Fuzzy set and fuzzy logic
     4 Fuzzy regression and fuzzy clustering
     [HW2] Statistical and fuzzy forecasting & clustering 
     5 Support vector machine and support vector regression
     6 Neural networks
     7 Neural fuzzy systems
     8 Recurrent neural networks deep learning
     [Mid-term Exam] Comparing linear regression, fuzzy regression, support vector regression and neural networks.
     9 Metaheuristic search algorithms
     [HW3] A*, simulated annealing, and tabu search
     10 Artificial immune systems
     11 Genetic algorithms
     12 Swarm intelligence
     [HW4] Variable selection using GA, PSO and ACO.
     13 Bayesian network
     [Optional Project] Strategies in Texas Hold'em.
     14 Emerging topics
     [Final Exam]
     Project Phase 1. Literature review
     Phase 2. Reproducing results from a recent journal paper
     Phase 3. Improving the method proposed by the journal paper reproduced in Phase 2.

    • Homework: 10' x 4 = 40'
    • Exam: 15' x 2 = 30'
    • Project: 10' x 3 = 30'
    • Bonus (Canvas discussion): 10'