Machine Learning

Spring 2017

Professor Robert M. Haralick

Office Hours: Thursday 4PM-5PM Room 4319

Main Text

The Elements of Statistical Learning, Hastie, Tibshirani, and Friedman, Springer

Reference Texts

Pattern Classification, Second Edition, Duda, Hart, and Stork, John Wiley
Pattern Recognition, Third Edition, Theodoridis and Koutroumbas, Academic Press, London, 2006.
The Elements of Statistical Learning, Hastie, Tibshirani, and Friedman, Springer
Data Clustering: Algorithms and Applications, Aggarwal and Reddy, CRC
Course In Machine Learning, Hal Daume,
Introduction To Machine Learning, Alex Smola and S.V.N. Vishwanathan, Cambridge University Press, 2008

Reference Papers

Useful Things To Know About Machine Learning, Pedro Domingo, CACM, 2012
On the Surprising Behavior of Distance Metrics in High Dimensional Space, Aggarwal, Hinneburg, and Keim, ICDT, 2001
The N-Tuple Classifier: Too Good to Ignore, Michal Morciniec and Richard Rohwer
A Stochastic Search Algorithm To Optimize An N-tuple Classifier by Selecting Its Inputs, Hannan Azhar and Keith Dimond
Optimizing Memory Usage In N-tuple Neural Networks, R.J. Mitchell, J.M. Bishop, P.R. Minchinton
Theoretical Analysis and Improved Decision Criteria for the N-Tuple Classifier T.M. Jorgensen and C. Linneberg
Texture Classification Using the N-Tuple Pattern Recognition L Hepplewhite and T.J. Stonham
Global K-Means, A. Likas, N. Vlassis, J. Verbeek
K-Means++: The Advantages of Careful Seeding, D. Arthur, S Vassilvitskii


  • Machine Learning Syllabus
  • Lecture Slides

  • Discrete Bayes Pattern Recognition
  • Maximin Decision Rule (updated-2)
  • Grading

    Midi Music Recognition

    Here you will find some papers on music theory, MIDI music
    recognition and zip files of MIDI music. You will be using
    these for your midterm projects which will be based on recognizing the
    composer of a classical piece or recognizing the genre of popular
    music. Provided are three papers below that discuss recognition in music.

    You can use the Python Music 21 package to take care of producing the
    data from which features can be calculated. You can use any of the software
    packages that have machine learning or pattern recognition capabilities
    such as the Python Scikit-learn, weka, or R.

    A Python reader for MIDI files is in a section below. Question relating
    to Python Music 21 or the reader can be directed to Xiuyan Ni whose email
    is also below.

    The midterm project is due March 19. Expect to put in about 60 hours
    of work. The work needs to be done incrementally and not all at the end.
    There will be two progress reports. The first one March 2 and the
    second one on March 16. The project needs to be written up like a conference
    or journal paper. It needs to have an abstract, an introduction, a literature
    review, the definitions of the features used, the machine learning technique
    used , and the results which are given as a confusion matrix on an independent
    test set not used in the training process. Any software or script files need to
    be included. The writeup and the script files should be put together in a zip
    file and emailed to me at by March 26.

    Music Theory

    Those of you who are interested in some of the mathematics behind music
    theory may be interested in reading the papers below.

    Midi Music Recognition

    Music MIDI files


    A KAR file is just like a MIDI file except it has text for the verses. You can change the file from *.KAR to *.MIDI and read it with the reader.


    Kaggle Competitions
    Toward Successful Participation in Machine Learning Contests
    Validated by HTML Validator (based on Tidy)