Nonlinear Data Analytics

Office: Shan 3420
Email: gu@g.hmc.edu
Phone: ext. 1-8929
Office Hours: Tue, 3:00pm - 4:00pm; Thu, 4:00pm - 5:00pm

Course Meeting:

June 3rd: 11:00am - 1:30pm
Start from June 7th:
Mon, 9:00am - 12:00pm
Fri, 7:00pm - 10:00pm

Course Location:

HM Shan 3485

TA/Tutoring Hours:

Name: Yujia Ding
Email: yujia.ding@cgu.edu
Tutoring Hours: By email

Prerequisite:

CSCI070 HM and CSCI140 HM (MATH131 HM, or MATH157 HM or equivalent)

References:

All members of the class are suggested to read the following text:
● Morton L. Curtis, Matrix Groups . Springer-Verlag New York, 1984.
● Manon Kok, Jeroen D. Hol, Thomas B. Schön, Using Inertial Sensors for Position and Orientation Estimation . Foundations and Trends in Signal Processing, Vol. 11: No. 1-2, Pages 1-153, 2017.
● Alan J. Izenman, Modern Multivariate Statistical Techniques . Springer, 2008.
● Manfredo P. Do Carmo, Differential Geometry of Curves and Surfaces.

Grading:

● 5% Reading Summary
● 35% Homework
● 20% Midterm Progress report
● 40% Final Project
● [Up to 5% Extra Credit]

Course Requirements and Evaluation:

Reading Summary
To encourage the goal of reading active research in the field and to help students conduct literature search for their final projects, each student is required to read the assigned papers (or find papers related) and write a summary of 1-2 pages. The summary should be turned in at the start of class. The summaries must be clear and demonstrate that you understand the paper with a high degree of confidence. Credit will be given on a 0-10 scale for each summary. Your summary should be done at a high level, and should focus on the main point of the readings (i.e. avoid complicated math). As long as your summary is reasonable, you will be given full credit.

Homework
The homework is due every week at the beginning of the lecture on Wednesday. There will be two parts for each assignment: math and coding. The homework is split approximately evenly between mathematical analysis and extension of our course material and application of algorithms.

For coding: You are highly recommended to use Python3. For each problem, the starter code and the sample solution are implemented in Python3. All the results and graphs for the sample solutions were produced under Python 3.6.0 under macOS Mojave; different versions of Python or system environment may produce different results. You are also welcome to use other programming languages, but the starter code is not provided in other formats.

Numpy and Pandas are two important python libraries to know for coding assignment for this course. You might also want to look at Matplotlib for generating plots. If you never used these libraries before, make sure you check out the tutorials online before starting the first assignment.

Note:
1) When doing the coding problem for each homework set, you are not allowed to use any machine learning algorithms implemented by external libraries, such as LinearRegression in sklearn. However, you may use these algorithms in your final project.

2) Each homework has both pdf and tex versions. To have the tex files successfully compiled, make sure that you have downloaded both macros.tex and hmcpset.cls and put them and the hw tex file under same folder.
If you have any questions with regard to the compilation of the tex files, feel free to ask the TA for help.

3) For each coding problem, please submit your code to GitHub; please print out any graph or printing statements and submit them with the written part.

Midterm Progress Report
The midterm progress report is to summarize the status, progress, and likely future for the final project. The detailed description and requirements for the report can be found under the "Final Project" tab.

Final Project
The final project is the largest component of the course. Each student will discover, explore, and attack a real world problem of your choosing. The detailed description and requirements for the final project can be found under the "Final Project" tab.

GitHub
As we stated in the course overview, students are expected to become comfortable with Github. Hence, each student is required to create a Github account for coding assignment submission and final project submission. If you already have a Github account, that's perfect. If not, please create a personal Github account and go over the tutorials online.
Note: Please make sure to send the username of your Github account to TA for homework grading.

Classroom Policies:

Attendence
Attendence for each lecture is mandatory and is expected of all class members. if you're going to miss a lecture, it is neccessary for you to inform the instructor as soon as possible. You are also responsible for obtaining notes from another class member.

Devices
You are welcome to use your computer or tablet for note-taking (the PowerPoint slides will also be posted for your convenience).

Diabilities:

Students who need disability-related accommodations are encouraged to discuss this with the instructor as soon as possible.