CS 478 – Introduction to Neural Networks and Machine Learning

 

Fall 2007, TuTh 9:30-10:45pm, 120 TMCB

Professor: Tony Martinez, 3360 TMCB, x6464, http://axon.cs.byu.edu/~martinez

Office hours: by appointment

 

TA: Mike Gashler, 422-1660, 1130 TMCB, e-mail: gashlerm@yahoo.com

Office Hours: Mondays 2-3pm, Wednesdays 10-11am, Thursdays 1-2pm, or by appointment

 

Goals:  Introduction to the philosophy, utility, and models of machine learning, such that students are able to understand the basic concepts and issues and be prepared to take the next step of proposing original research with potential follow-up in a graduate research program.  Models covered will include neural networks, decision trees, instance based learning, Bayesian learning, rule-based learning, genetic algorithms, and others.

 

Text:  The text for the class is Machine Learning by Tom M. Mitchell. We will cover much of the text following the provided schedule. You are responsible for reading the material for a given day prior to that day's lecture. Because class time is limited, we may not cover everything in the text. However, except where specifically noted, you are responsible to know the entirety of each chapter assigned.

 

Programming Assignments and Homework:  Most tasks will be in the form of programming assignments and an associated written report. A few written problems will be due as the first homework assignment.  For most of the machine learning models we study in depth, there will be a programming assignment involving the implementation of the model and experimentation with its abilities on one or more learning tasks. Much of the learning for this class will come in the development, experimentation, and analysis of the specific models.

 

A short written report will also be due describing your efforts, results and conclusions. The report is limited to no more than four single-spaced pages using 12 point font, including all figures. Figures are not to be hand-drawn and should be large enough to be easily legible. You must work to include all important information in the allotted four pages. Communicating clearly and concisely what you have to say is an important skill you will use throughout your career. These programming assignments will help you gain not only a mastery of the models themselves but also a beginning understanding of the major issues involved in designing machine learning methods. Finally, by the end of the course, you will have developed a suite of machine learning algorithms that will be usable (and useful) in the future.  Programming assignments will be primarily graded on positive completion and technical accuracy in the discussion.  Most parts of the assignments require a clear measurable result (e.g. working program, graphs of results, etc.) and some questions where you analyze your results.  Most of the questions will have objective answers which you are expected to get right.  A few questions are more open-ended and subjective, and in these cases you will be graded based on perceived effort and thought. Assignments are to be done on a word processor and be neat and professional. Good writing, grammar, punctuation, etc. are important. All assignments are due at the beginning of class on the date indicated on the schedule.

 

Tests: There will be one mid-term (administered in the testing center) and one final (administered in class). They will consist of written problems testing your understanding of the machine learning models and issues covered in class. If you put in the effort on reading, class discussion, and programming assignments, then the tests should go well for you.

 

Grading: (approximate): Programming assignments and homework: 50%, Midterm: 25%, Final: 25%. Grading is on a curve and some amount of subjectivity is allowed for attendance, participation, perceived effort, etc.  If you think, you'll be all right.

 

Appealing grades on assignments and on tests begins with you. Make an effort to understand why you received the score that you did and make sure that you have a good reason to appeal. If after making these efforts, you still feel like you have a concern, the next step is to calmly and intelligently discuss it with the TA. If after taking both of these steps you still are not satisfied, come see me.  Make sure you have done the reading and tried your best to understand the problem. If you have done this, then the question and answer effort will be effective. 

 

Class attendance and participation is expected. This is not because I feel the need to have students in class; instead, it is because your attendance and participation guarantee you a better learning experience.

 

Late assignments:  Assignments are expected on time (beginning of class on due date).  Late papers will be marked off at 5% per late day, not including Sundays.  However, if you have any unusual circumstances (sick, out of town, unique from what all the other students have, etc.), which you inform the TA of, then you will not receive a late penalty.  All late work should be turned in directly to the TA.  Nothing will be accepted after the last day of class instruction.

 

Working Together:  You may discuss course topics together with other members of the class to enhance your understanding of the topics.  However, do NOT turn in other people's work. This is a fine line that may require some judgment on your part. Examples of acceptable collaboration are discussing homework and programming problems and potential solution paths with others in the class, and comparing learning results and conclusions from programming assignments with other class members. Unacceptable collaboration would be simply copying homework, code or test answers from a friend or allowing someone else to copy homework, code or test answers.  When you start writing actual code, reports, etc., the work should just be yours.  Academic dishonesty will be grounds for failure of the course; however, I do not anticipate that we will have any problems in this area.

 

Schedule:

Assignments

University Legal Issues: