PHY 2895.02: Machine Learning and Neural Networks (ML&NN)

Prerequisite: Pre-calculus or permission of instructor

Course Description:

This course presents an overview of current machine learning techniques and applications, with particular attention to neural network models. Topics include: supervised, unsupervised and reinforcement learning approaches; classification & regression tasks; Deep Learning architectures; recommendation, natural language processing, computer vision and audio recognition applications.  We will also give attention to issues of ethics and society, including bias, transparency and accountability.  Suitable for students in many fields, including but not limited to: Computer Science, Business, Physics, Neuroscience, Audio Engineering, and Sociology.  

Credit: 3 Hours. Approved for BELLCore science credit or Physics (PHY) major/minor credit.  Does not count for Computer Science (CSC) major/minor credit.  

 

Instructor:          Dr. Hawley

Office:                 Janet Ayers Academic Center (JAAC), Room 4008

E-mail:                scott.hawley@belmont.edu  (preferred mode of contact)

Phone:                 (615) 460-6206

Office Hours:      MWF 1pm-2pm, MW 4-5pm and by appointment.

This is your time.  Do not hesitate to come see me if you have questions or want to talk.

 

Class Meeting Times and Location:  MWF  3:00 pm - 3:50 pm  JAAC 4098

Turn off all cell phones, pagers, etc. before coming to class.  If you do not you will be asked to leave class and it will count as an unexcused absence.   Laptops may only be open when performing computer exercises.

 

Course Objectives:

Students will be able to discuss, present, answer questions about, write at length about, execute and/or implement concepts and ideas in the three major areas of Context, Theory, and Execution:

Context (History, Ethics & Society)

-       a basic understanding of the history of development of artificial intelligence (AI), machine learning (ML) and artificial neural networks (NN)

-       awareness of current conversations regarding the ethical implications of the deployment of machine learning and AI applications in society

-       familiarity with the extents to which artificial neural networks are similar to and different from biological neural networks

Theory (Methods & Math):

-       an understanding of the major mathematical underpinnings of machine learning and neural networks (e.g., gradient descent)

-       the ability to perform simple operations such as multiplication of small matrices.

-       The ability to roughly describe major neural network architecture concepts such as convolutional neural networks

Execution (Coding and Implementation):

-       the ability to read, run and modify existing Python code for the execution of ML&NN calculations.

-       the ability to obtain and edit datasets

-       the ability use tools and run experiments created by others, and modify these for students’ own interest.

 

Course Organization:

Topics in the categories of Context, Theory, and Execution will be interleaved throughout the course, roughly rotating from one category to the next, day to day.

 

Required Book:

Hannah Fry, Hello World: How to be Human in an Age of Algorithms, W. W. Norton & Company (2018).

Resources/Web Page:

We will attempt to use Blackboard for hosting most course content; content may also be posted on the web server http://hedges.belmont.edu 

We will use Python digital notebooks in Google Collaboratory (colab.google.com) for free execution of code with GPU (Graphics Processing Unit) access. Students should have a Google account for these.

 

Assessments and Grading:

During this course, you will be asked to

·   Read sections of our book, or articles or watch videos within a certain time frame.

·   Participate in class discussions, as you might in a Humanities (e.g., Philosophy) course.

o   This implies that you are prepared for class by having done the reading or viewing for that day.

o   To help you stay current in your class preparation, there will be online “Homework Quizzes” about the reading/video materials, due prior to class.

·       Give a short oral presentation to the class, e.g. a demo of a machine learning tool, or a paper on a current topic, as assigned by the instructor

·       Write a paper on a topic of either historical, ethical or technical interest.

·       Modify and execute computer code (Python) to suit a new problem.

·       Develop a new ML/NN application as a small group project.

·       Perform simple mathematical operations relevant for the topics of ML&NN.

·       Take tests where you answer questions on course topics and perform simple operations.

The breakdown of grading will be as follows:

10% - Homework

15% - Presentations/Demos

25% - Papers

25% - Project

25% - Tests

 

Course Average        Letter Grade

90 -100                     A

87 - 89                      B+

83 - 86                       B

80 - 82                      B-

77 - 79                      C+

73 - 76                      C

70 - 72                      C-

67 - 69                      D+

63 - 66                      D

60 - 62                      D-

Below 60                   F

 

 

Meaning of Letter Grades

A - Truly exceptional, remarkably excellent work, going well beyond what is typically 'expected'.

B - Above average work.  Extra effort and/or attention was paid to producing quality work.

C - Average, satisfactory work.  Meets the requirements and nothing more.

D - Unsatisfactory work.  e.g., inadequate, incorrect, incomplete presentation of material.

F - Completely inadequate.  Unacceptably poor or incomplete work.

 

 

 

Course Policies:

Attendance: 

Do not schedule appointments, interviews, practice time, music sessions, advising, taking family and friends to places, work-related activities, travel plans, vacation time, doctor appointments, dental appointments, court dates, lawyer appointments, trips or other types of activities during class time,  These will not constitute valid excuses.  Please do not schedule airline reservations to leave campus or return to campus on days class meets.  These will not constitute valid excuses if a class is missed because of flight delays due to weather etc.  Plan your life in every way possible to avoid exceeding the absence policy.  The recommendation is that your guiding principle is to attend every single class, saving your absences for instances, should they occur, when you truly need one.

Class and labs will start promptly at its designated times.  It is your responsibility to be on time.  If you should arrive late, enter silently and do not disrupt the class in any way.  You will be marked as tardy and any assignments you turn in will be regarded as late. Note the assignment policy below implies an attendance requirement.  Also note that Belmont University policy requires that 12 or more absences must result in a failing grade being granted for the entire course. 

Note that days preceding and following Belmont Holidays are not holidays.  You will be expected to attend class accordingly.  Travel plans will not constitute excused absences.   Failure to return because of travel related delays etc. will not constitute excused absences.

 

Late work:

Late work will not be accepted.

 

Missed Examinations: 

No make-up  examinations will be given.  If you have a valid reason (as determined by the instructor) for missing a midterm exam, the grade you receive on the final exam will be applied (i.e., copied) to stand in for your grade for the missed examination. 

 

Honor Code:

The Belmont community values personal integrity and academic honesty as the foundation of university life and the cornerstone of a premiere educational experience.  Our community believes trust among its members is essential for both scholarship and effective interactions and operations of the University.  As members of the Belmont community, students, faculty, staff, and administrators are all responsible for ensuring that their experiences will be free of behaviors, which compromise this value. In order to uphold academic integrity, the University has adopted an Honor System. Students and faculty will work together to establish the optimal conditions for honorable academic work.  Following is the Student Honor Pledge that guides academic behavior:

“I will not give or receive aid during examinations; I will not give or receive false or impermissible aid in course work, in the preparation of reports, or in any other type of work that is to be used by the instructor as the basis of my grade; I will not engage in any form of academic fraud.  Furthermore, I will uphold my responsibility to see to it that others abide by the spirit and letter of this Honor Pledge.”

 

Disabilities Compliance: 

In compliance with Section 504 of the Rehabilitation Act and the Americans with Disabilities Act, Belmont University will provide reasonable accommodation of all medically documented disabilities.  If you have a disability and would like the university to provide reasonable accommodations of the disability during this course, please notify the Office of the Dean of Students located in Beaman Student Life Center (460-6407) as soon as possible.

 

Disclaimer: 

The policies, topics and course organization described in this syllabus are subject to change.  Adequate prior notice will be provided to all students in the event of a change.

 


BELLCore Learning Goals:

 

Competency (Sciences)

Assignment/Experience

Students will be able to effectively communicate scientific information in an appropriate format

Students will be expected to produce written response papers to articles and videos on AI ethics, as well as on their visits to local technology groups such as Code for Nashville or the Nashville Data Science Meetup.  They will give oral presentations on topics, papers, tool demos, and their class projects involving modeling and prediction systems for their application domain of choice.

Students will display an ability to make observations and collect, analyze, and interpret data to test hypotheses

Students will be able to explain the means by which datasets are created for machine learning applications, and use machine learning statistical techniques to make inferences from a training dataset, and compare those against a separate testing dataset, in order to measure a model’s generalization ability.  Metrics such as accuracy, false positive rates, Receiver Operating Characteristic (ROC) curves, and others will be used for these tests and interpretations

Students will demonstrate knowledge of relevant scientific concepts

Students will demonstrate an understanding of regression, classification and clustering by developing computer programs which perform these tasks, by performing experiments and answering questions on tests.  They will learn “hands on” about over-fitting, regularization and generalization as they see how these affect the performance of their models.  They will be required to turn in assignments showing how varying the parameters can affect these factors for or beneficial or detrimental effects.

Students will be able to evaluate the impact of scientific discoveries on society

*Because* this will be a Gen Ed course with minimal prerequisites (e.g. no programming prereq), a significant portion of this course will be discussions, readings, and response papers on the subject of impact on society.  Students will engage in discussions of the implications of algorithmic decision making, informed by their exposure to readings and videos from leading AI-ethics researchers on topics of bias, fairness transparency and accountability.  

 

First Day of Class:

-       Welcome

-       Instructor Introduction,  Student Introductions

-       Syllabus Overview

-       First Assignment: Due before next class.  

o   On Blackboard, Learning Modules -> Module: ML Orientation.  Watch two videos, read an article, and take a quiz.  

 

Further schedule (subject to change):

Day 2: Introduction & History of ML/AI

Day 3: Introduction & Setup on Google Colab / Python basics

Day 4: Types of ML Models / Paradigms

Day 5: Introduction & History of Algorithmic Decision-Making

Day 6: Beginning coding, gradient descent optimization.