# Algorithmic Machine Learningn Spring 2023
| [HOME](http://www.raghumeka.org) | [RESEARCH](https://raghumeka.github.io/research.html) | [TEACHING](https://raghumeka.github.io/courses.html) |
| -------- | -------- | -------- |
In this course we will look at a handful of ubiquitous algorithms in machine learning. We will cover several classical tools in machine learning but more emphasis will be given to recent advances and developing efficient and provable algorithms for learning tasks. A tentative syllabus/schedule can be found below; the topics may change based on student interests as well.
There will be four assignments for the course that will cover 70% of the credit and a final that will cover 25% of the credit; 5% is for class participation (live-class participation and/or extensive contributions to online discussions). Each assignment will have both written as well as programming components. We'll predominantly use gradescope for the assignments. The final will be online on gradescope (and will be released as per university schedule). You could potentially discuss how to solve problems with others specifically (a better option would be to just ask questions openly on edStem) but see course policies below and make sure you do not violate them.
Some background in algorithms, probability, linear algebra (all at a basic undergraduate level) will be quite helpful.
## Logistics and resources
:::spoiler **Lecture hours**: Monday, Wednesday 12-1:50.
:::spoiler **Course notes**: We will use Scribbletogether for notes.
:::spoiler **Office hours**: Wednesday 2-3. [zoom link](https://ucla.zoom.us/my/raghumeka)
::: spoiler **Assignments**: Each covers four lectures. (Expand for pdf/tex)
-- [Assignment 0](https://www.dropbox.com/s/3cjphwl631uf6bf/assignment0.pdf?dl=0) (not to be submitted)
-- [Assignment 1]: Lectures 1-4. (18 points)
-- [Assignment 2]: Lectures 5-8. (18 points).
-- [Assignment 3]: Lectures 9-12. (17 points)
-- [Assignment 4]: Lectures 12-16. (17 points)
Solutions will be sketched on the discussion forum after the due date.
::: spoiler **edStem**: Our online space for asking, answering, and posting links to [class material](https://edstem.org/us/courses/37455/discussion/).
You can register [here](https://edstem.org/us/join/xeSbjQ).
We will make use of edStem extensively. Videos will also be uploaded here. You must have received an invitation via your official UCLA email ID (the one used on CCLE). If you haven't let me know immediately. It will be our main way for communicating with each other. Please ask questions on edStem so that others may also benefit from the knowledge.
We will also use it for releasing homework solutions. Homeworks themselves will be posted on Gradescope.
:::spoiler **Homework submission**: On Gradescope; Due 9:59PM (Pacific time) on due date.
We will use Gradescope for homework and they have to be submitted by 10PM on their due date. Things to keep in mind: 1) Within a week of the course, you should receive a registration link from Gradescope. If you don't receive it before the first homework, contact me; this will give you access to the website. 2) Watch [this](https://www.youtube.com/watch?v=-wemznvGPfg) one-minute video with complete instructions. Follow them to the letter! The simple guidelines make the process considerably smoother. 3) Make sure you start each problem of a homework on a new page. 4) To generate a PDF scan of the assignments, you can follow the instructions [here](https://raghumeka.github.io/CS180/submitting_hw_guide.pdf); you can also use the scanners in the library.
:::spoiler **Homework writing**: LaTeX recommended highly
It is strongly recommended to use LaTeX or other word processing software for submitting the homework. Grades will take into account both the correctness and the quality of the solutions. Correctness is a prerequisite but clarity is also important: you are responsible for communicating your solution in a legible and understandable way.
Some helpful guidelines: (1) Start early to use office hours. (2) Serious/honest attempts count - there will be reasonable partial credit for attempts that show understanding of the problem/concepts involved.
:::spoiler **Resources**: There is no course text. Following could be useful.
-- Sanjeev Arora's [course](http://www.cs.princeton.edu/courses/archive/spring15/cos598D/)
-- Moritz Hardt's [course](https://ee227c.github.io/)
-- Elad Hazan's [course](http://www.cs.princeton.edu/courses/archive/spring15/cos511/)
-- [Foundations of Data Science](http://www.cs.cornell.edu/jeh/book2016June9.pdf) by Blum, Hopcroft and Kannan.
Here is a tentative list of topics for the course. I will adapt some of these topics based on student interest.
### Optimization: the work-horse of ML (5 lectures)
-- Learning as optimization
-- Gradient descent
-- Stochastic gradient descent
-- Accelrated gradient descent methods
-- Autograd and Adagrad
### Online learning (4 lectures)
-- Online optimization and regret minimization
-- Multiplicative weights
### PCA (3 lectures)
-- Best-fit subspaces, low-rank approximations
-- Computing and applying Singular Value Decomposition
### Graphical Models (4 lectures)
-- Modeling dependencies
-- Learning and inference on graphical models
-- GLMs and Sparsitron
### Privacy in Machine Learning (3 lectures)
-- How hard is it for learning to violate privacy?
-- Models of privacy: Differential privacy. Laplace mechanism
-- Differentially private SGD.
## Course Policies
- Regrade requests need to be submitted electronically on Gradescope within a week of receiving the graded work. Requests later than a week will not be handled (mainly to keep things flowing).
- We will use edStem for questions and discussions. Please ask questions related to assignments on that platform and not via email. Use this platform so that others can also benefit from your questions; if you want to communicate a private question, you can also do that on Campuswire.
- Collaboration on homeworks is allowed, but each student must write their solutions independently and should clearly mention the collaborators. Programming components should not be shared with others. Keep in mind that just attempting the homeworks itself will get you reasonable partial credit and will go a long way towards better performance in the exam (which carries significant weight). You should never share your written solutions with someone else or copy from someone else's written solutions. Under no circumstances may you use solution sets to problems from previous year courses or from similar courses elsewhere or other resoruces on the web. Any violations will be treated seriously.
###### tags: AML