University of Florida
Department of Electrical and Computer
Engineering
EEL 6825, Section 026A
Pattern Recognition
Spring
2017
Course Description
This is a 3credit course.
The objective of this course is to impart a working knowledge of several
important and widely used pattern recognition topics to the students through a
mixture of motivational applications and theory.
Course Prerequisites
Required Textbook
 Richard O. Duda, Peter E. Hart, David G.
Stork, ``Pattern Classification,'' 2nd Edition, WileyInterscience,
October 2000. ISBN10: 0471056693  ISBN13:
9780471056690.
Recommended Readings
 David G. Stork, Elad YomTov, ``Computer
Manual in MATLAB to accompany Pattern Classification," 2nd Edition,
WileyInterscience, April 2004. ISBN:
9780471429777
 Christopher M. Bishop, “Pattern Recognition and Machine Learning”, 1st
Edition, Springer,
October 1, 2007. ISBN10: 0387310738 
ISBN13: 9780387310732.
 Trevor Hastie, Robert Tibshirani, Jerome Friedman, "The
Elements of Statistical Learning: Data Mining, Inference, and Prediction,"
Second Edition, Springer,
February 9, 2009. ISBN10: 0387848576  ISBN13: 9780387848570.
 Kevin Patrick
Murphy, "Machine
Learning: a Probabilistic Perspective," the MIT Press,
August 24, 2012. ISBN10: 0262018020  ISBN13: 9780262018029.
Instructor:
Dr. Dapeng Wu
Office: NEB 431
Email: wu@ece.ufl.edu
TA:
1) Qi Cai
Email: caiqi0132069@gmail.com
2) Chiranjib Sur
Email: chiranjib@ufl.edu
Course website:
http://www.wu.ece.ufl.edu/courses/eel6825s17
Meeting Time
Monday, Wednesday, Friday, period 7 (1:55 pm 
2:45 pm)
Meeting Room
NEB 100
Office Hours
 Dr. Wu: Monday, Wednesday, period 9 (4:05 pm 
4:55 pm),
and by appointment
via email.
Structure of the Course
The course consists of lectures, 4 homework
assignments, and 1 project.
This course is primarily a lecture course. I cover all important
material in lectures. Since EEL 3135 and EEL 4516 are
prerequisites, I assume some previous knowledge about DSP, probability theory
and stochastic processes, and hence I will cover some material very quickly.
Thus, depending on what and how much you recall from earlier study, varying
amounts of reading in introductory books on DSP, probability theory and
stochastic processes (other than the course textbook) may be necessary; these readings are up to the student.
I will only give reading assignments from the course textbook.
Attending lecture is quite important as I may cover material not available in
any book easily accessible to you. I use Powerpoint presentation during lecture. Lecture
notes will be posted on the course website before the class. The lecture
is to engage the students in independent thinking, critical thinking, and
creative thinking, help the students organize the knowledge around essential
concepts and fundamental principles, and develop conditionalized knowledge
which tells them when, where and why a certain method is applicable to solving
the problem they encounter.
I do not intend for the WWW material to be a substitute for attending lecture
since engaging the students in active thinking, making logical connections
between the old knowledge and the new knowledge, and providing insights are the
objectives of my lecture. The lecture notes are posted on the web so
that you can miss an occasional lecture and still catch up, and it makes taking
notes easier. To reward those who attend regularly, there will be some
lecturebased material in the exam which is not available via the web.
The class project is described here.
Course Outline
 Bayesian decision theory
 Parametric estimation and supervised learning
 Nonparametric methods
 Linear discriminant functions
 Unsupervised learning and clustering
 Nonmetric methods
 Feature extraction and feature selection
 Applications
Course Objectives
Upon the completion of the course, the student should be able to
 use the fundamental techniques for pattern recognition
 understand the basics of statistical learning theory
 acquire the basic skill of designing machine learning algorithms and
systems
Handouts
Please find handouts here.
Course Policies
 Attendance:
 Perfect class attendance is not required, but regular attendance is
expected.
 It is the student's responsibility to independently obtain any missed
material (including handouts) from lecture.
 During lecture, cell phones should be turned off.
 No late submissions of your homework solution, and project proposal/report, are allowed
unless U.F. approved reasons are supplied and advance permission is granted by
the instructor. Excused late submissions are consistent with university
policies in the undergraduate catalog (https://catalog.ufl.edu/ugrad/current/regulations/info/attendance.aspx)
and require appropriate documentation.

Software use
 All
faculty, staff and student of the University are required and expected to obey
the laws and legal agreements governing software use. Failure to do so can
lead to monetary damages and/or criminal penalties for the individual
violator. Because such violations are also against University policies and
rules, disciplinary action will be taken as appropriate. We, the members of
the University of Florida community, pledge to uphold ourselves and our peers
to the highest standards of honesty and integrity.
 Announcements:
 All students are responsible for announcements made in lecture, on the
student access website, or via the class email list.
 It is expected that you will check your email several times per week for
possible course announcements.
 Students with disabilities:
 Students with disabilities requesting accommodations should first
register with the Disability Resource Center (3523928565, https://www.dso.ufl.edu/drc)
by providing appropriate documentation. Once registered, students will
receive an accommodation letter which must be presented to the instructor
when requesting accommodation. Students with disabilities should follow this
procedure as early as possible in the semester.

University
Honesty Policy
UF students are bound by The Honor
Pledge which states, “We, the members of the University of Florida community,
pledge to hold ourselves and our peers to the highest standards of honor and
integrity by abiding by the Honor Code. On all work submitted for credit by
students at the University of Florida, the following pledge is either required
or implied: “On my honor, I have neither given nor received unauthorized aid
in doing this assignment.” The Honor Code (https://www.dso.ufl.edu/sccr/process/studentconducthonorcode/)
specifies a number of behaviors that are in violation of this code and the
possible sanctions. Furthermore, you are obligated to report any condition
that facilitates academic misconduct to appropriate personnel. If you have any
questions or concerns, please consult with the instructor or TAs in this
class.
Students are encouraged to discuss
class material in order to better understand concepts. All homework answers
must be the author's own work. However, students are encouraged to discuss
homework to promote better understanding. What this means in practice is that
students are welcome to discuss problems and solution approaches, and in fact
can communally work solutions at a board. However, the material handed in must
be prepared starting with a clean sheet of paper (and the author's
recollection of any solution session), but not refer to any written notes or
existing code from other students during the writing of the solution. In other
words, writing the homework report shall be an exercise in demonstrating the
student understands the materials on his/her own, whether or not help was
provided in attaining that understanding.
All work submitted in this course must be your own and produced exclusively
for this course. The use of sources (ideas, quotations, paraphrases) must be
properly acknowledged and documented. For the copy of the UF Honor Code and
consequences of academic dishonesty, please refer to http://www.dso.ufl.edu/sccr/honorcodes/honorcode.php.
Violations will be taken seriously and are noted on student disciplinary
records. If you are in doubt regarding the requirements, please consult with
the instructor before you complete any requirement of the course.
Course Evaluation
Students are expected to provide feedback on the quality of instruction in
this course by completing online evaluations at https://evaluations.ufl.edu/evals.
Evaluations are typically open during the last two or three weeks of the
semester, but students will be given specific times when they are open.
Summary results of these assessments are available to students at
https://evaluations.ufl.edu/results/.
Software Use
All faculty, staff, and students of the University are required and expected
to obey the laws and legal agreements governing software use. Failure to do so
can lead to monetary damages and/or criminal penalties for the individual
violator. Because such violations are also against University policies and
rules, disciplinary action will be taken as appropriate. We, the members of the
University of Florida community, pledge to uphold ourselves and our peers to the
highest standards of honesty and integrity.
Student Privacy
There are federal laws protecting your privacy with regards to grades earned
in courses and on individual assignments. For more information, please see:
http://registrar.ufl.edu/catalog0910/policies/regulationferpa.html
Campus Resources:
Health and
Wellness
U Matter,
We Care:
If you or a friend is in distress,
please contact
umatter@ufl.edu
or 352 3921575 so that a team member can reach out
to the student.
Counseling and Wellness Center:
http://www.counseling.ufl.edu/cwc,
and
3921575; and the University Police Department: 3921111 or 911 for
emergencies.
Sexual Assault
Recovery Services (SARS)
Student Health Care Center,
3921161.
University
Police Department at 3921111 (or 911 for emergencies), or
http://www.police.ufl.edu/.
Academic Resources
Elearning
technical support, 3523924357 (select option 2) or
email to Learningsupport@ufl.edu.
https://lss.at.ufl.edu/help.shtml.
Career Resource
Center, Reitz Union, 3921601. Career
assistance and counseling.
https://www.crc.ufl.edu/.
Library
Support,
http://cms.uflib.ufl.edu/ask. Various ways
to receive assistance with respect to using the libraries or finding
resources.
Teaching Center, Broward Hall, 3922010 or 3926420. General study
skills and tutoring.
https://teachingcenter.ufl.edu/.
Writing Studio,
302 Tigert Hall,
8461138. Help brainstorming, formatting,
and writing papers.
https://writing.ufl.edu/writingstudio/.
Student Complaints
Campus:
https://www.dso.ufl.edu/documents/UF_Complaints_policy.pdf.
OnLine
Students Complaints:
http://www.distance.ufl.edu/studentcomplaintprocess.
Grading:
Grades 
Percentage 
Dates 
Homework 
30% 
see calendar 
Project proposal 
10% 
4pm,
March 3 
Project report 
60% 
4pm, April 26 
The project report consists of
 (50%) A written report for your project
 (25%) Computer programs that you develop for your
project
 (10%) Powerpoint file of your presentation
 (15%) Your presentation/demo video on
YouTube
Grading scale:
Top 25% students will receive A. Average score will be at least B+.
More information on UF grading policy may be found at: https://catalog.ufl.edu/ugrad/current/regulations/info/grades.aspx
Homework:
 Due dates of assignments are specified in the
course calendar.
 No late
submissions are allowed unless U.F. approved reasons are supplied and
advance permission is granted by the instructor.
 If you wish to dispute a
homework grade, you must return the assignment along with a succinct written
argument within one week after the graded materials have been returned to the
class. Simple arithmetic errors in adding up grade totals are an exception,
and can normally be handled verbally onthespot during office hours of the
TA. For all other disputes, the entire homework may be (nonmaliciously)
regraded, which may result in increase or decrease of points.
Class Project:
The class project will be done individually.
Each project requires a proposal and a final report. The final report is expected to be
in the format of a conference paper plus computer programs, a Powerpoint
file, and a video.
On March
3, the project proposal (up to 2 pages) is due. On April 26, the
final report (up to 10 pages) is due. For details about the project,
please read here.
Suggested topics for projects are listed here.
Course calendar can be found here.
Useful links
 Anaconda: Anaconda is the
leading open data science platform powered by Python.
 Theano:
Theano is a Python library that lets you to define, optimize, and evaluate
mathematical expressions, especially ones with multidimensional arrays (numpy.ndarray).
 TensorFlow:
TensorFlow is an open source software library for numerical computation using
data flow graphs. Nodes in the graph represent mathematical operations, while
the graph edges represent the multidimensional data arrays (tensors)
communicated between them. The flexible architecture allows you to deploy
computation to one or more CPUs or GPUs in a desktop, server, or mobile device
with a single API.
 Keras: Keras is a minimalist,
highly modular neural networks library, written in Python and capable of
running on top of either TensorFlow or Theano. It was developed with a focus
on enabling fast experimentation. Being able to go from idea to result with
the least possible delay is key to doing good research.

A curated list of resources dedicated to
recurrent neural networks

Source code in Python for handwritten digit recognition, using deep neural networks

Source code in Python for
TFmRNN: a TensorFlow library for image captioning

Source code in Python for the following work on image captioning:

Source code in Python for the following work on image captioning:

Microsoft COCO datasets
 Semantic Propositional Image Caption Evaluation (SPICE)
 Regionbased Convolutional Neural Networks (RCNN)
 References:
 Ren, Shaoqing, Kaiming He, Ross Girshick, and Jian Sun. "Faster RCNN:
Towards realtime object detection with region proposal networks." In Advances
in neural information processing systems, pp. 9199. 2015. [pdf]
 Dai, Jifeng, Yi Li, Kaiming He, and Jian Sun. "RFCN: Object detection via
regionbased fully convolutional networks." In Advances in neural information
processing systems, pp. 379387. 2016. [pdf]
[source code]
 Huang, Jonathan, Vivek Rathod, Chen Sun, Menglong Zhu, Anoop Korattikara,
Alireza Fathi, Ian Fischer et al. "Speed/accuracy tradeoffs for modern
convolutional object detectors." arXiv preprint arXiv:1611.10012 (2016). [pdf]
(E.g., for Inception V3, extract features from the “Mixed 6e” layer whose
stride size is 16 pixels. Feature maps are cropped and resized to 17x17.)
 Source codes:
 Source code in Python for endtoend training of LSTM
 Source code in Python for sequencetosequence learning (language translation,
chatbot)

Visual Storytelling Dataset (VIST)

MPII Movie & Description dataset for automatic video description, video
summary, video storytelling

Bidirectional recurrent neural networks (BRNN):
 Graves, Alan, Navdeep Jaitly, and Abdelrahman Mohamed. "Hybrid speech
recognition with deep bidirectional LSTM." IEEE Workshop on Automatic Speech
Recognition and Understanding (ASRU), 2013. [pdf]
 Deep reinforcement learning
 References:
 Mnih, Volodymyr, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis
Antonoglou, Daan Wierstra, and Martin Riedmiller. "Playing
atari with deep reinforcement learning." arXiv preprint arXiv:1312.5602
(2013).
 Mnih, Volodymyr, Koray Kavukcuoglu, David Silver, Andrei A. Rusu, Joel
Veness, Marc G. Bellemare, Alex Graves et al. "Humanlevel
control through deep reinforcement learning." Nature 518, no. 7540
(2015): 529533. [source
code]

How to Study Reinforcement Learning
 Source codes:
 Implementation
of Reinforcement Learning Algorithms. Python, OpenAI Gym, Tensorflow.
Exercises and Solutions to accompany Sutton's Book and David Silver's course.
[link]
 Generative Adversarial Network (GAN)
 References:
 Goodfellow, Ian, Jean PougetAbadie, Mehdi Mirza, Bing Xu, David WardeFarley,
Sherjil Ozair, Aaron Courville, and Yoshua Bengio. "Generative
adversarial nets." In Advances in neural information processing systems,
pp. 26722680. 2014.
 Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised
representation learning with deep convolutional generative adversarial
networks." arXiv preprint arXiv:1511.06434 (2015).
 Arjovsky, Martin, Soumith Chintala, and Léon Bottou. "Wasserstein
GAN." arXiv preprint arXiv:1701.07875 (2017).
 Types of GAN
 Vanilla GAN
 Conditional GAN
 InfoGAN
 Wasserstein GAN
 Mode Regularized GAN
 Coupled GAN
 Auxiliary Classifier GAN
 Least Squares GAN
 Boundary Seeking GAN
 Energy Based GAN
 fGAN
 Generative Adversarial
Parallelization
 DiscoGAN
 Adversarial Feature Learning
& Adversarially Learned Inference
 Boundary Equilibrium GAN
 Improved Training for
Wasserstein GAN
 DualGAN
 MAGAN: Margin Adaptation for
GAN
 Softmax GAN
 Source codes:
 A Tensorflow
Implementation of "Deep Convolutional Generative Adversarial Networks":
python code
 Collection of
generative models, e.g. GAN, VAE in Pytorch and Tensorflow:
python code
 Sequential Generative Adversarial Network (GAN)
 References:
 Yu, Lantao, Weinan Zhang, Jun Wang, and Yong Yu. "SeqGAN:
Sequence Generative Adversarial Nets with Policy Gradient." In AAAI,
pp. 28522858. 2017.
 Mogren, Olof. "CRNNGAN:
Continuous recurrent neural networks with adversarial training." arXiv
preprint arXiv:1611.09904 (2016).
 Im, Daniel Jiwoong, Chris Dongjoo Kim, Hui Jiang, and Roland Memisevic. "Generating
images with recurrent adversarial networks." arXiv preprint
arXiv:1602.05110 (2016).
 Press, Ofir, Amir Bar, Ben Bogin, Jonathan Berant, and Lior Wolf. "Language
Generation with Recurrent Generative Adversarial Networks without Pretraining."
arXiv preprint arXiv:1706.01399 (2017).
 Source codes:
 Stanford NLP
Parser: A natural language parser is a program that works out the
grammatical structure of sentences.
 Question answering
 References:
 Source codes:
 Automatic text understanding and reasoning:

MATLAB Tutorial

MATLAB Central

Matlab Primer,
Matlab Manuals,
Image
Processing Toolbox

Matlab implementation of image/video compression algorithms

Introduction to Matarix Algebra (free book by Autar K Kaw, Professor,
University of South Florida).
 Matrix Reference
Manual
 HIPR2: a WWWbased Image
Processing Teaching Materials with J
 Learning by simulations
 OpenCV
 OpenGL
 Download the following
free (open source)
program to record video with screen capture:
http://www.nchsoftware.com/capture/index.html?gclid=CNadwsW66wCFSVjTAodbjzTSg
Software:
 Virtual Dub: VirtualDub
is a video capture/processing utility for 32bit Windows platforms
(95/98/ME/NT4/2000/XP), licensed under the GNU General Public License (GPL).
 XnView:
is an efficient multimedia viewer, browser and converter.
 ImageJ: Read and write GIF,
JPEG, and ASCII. Read BMP, DICOM, and FITS. [Open Source, Public Domain]
 Open source for image processing tasks:
http://octave.sourceforge.net/doc/image.html
JOURNALS
Elsevier
 Computer Vision and
Image Understanding
 Journal of Visual
Communication and Image Representation
 Data & Knowledge Engineering
 Image and Vision Computing
 Pattern Recognition
 Pattern Recognition Letters
IEEE
 IEEE Transactions on
Circuits and Systems for Video Technology
 IEEE Transactions on Multimedia
 IEEE Transactions on
Image Processing
 IEEE Transactions on
Medical Imaging
 IEEE Transactions on PAMI
Computer Vision
Public Domain Image Databases
CMU Database