# Algorithmic Machine Learning | [HOME](http://www.raghumeka.org) | [RESEARCH](https://raghumeka.github.io/research.html) | [TEACHING](https://raghumeka.github.io/courses.html) | | -------- | -------- | -------- | --- ## Introduction 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. You can also check last year's [course notes](https://hackmd.io/@raghum/algoml23) for a more details about what's to come. **Make sure you can answer the questions in [Assignment 0](https://ucla.box.com/s/67q3r8rwcu1aucf2qot15b4ye1o30r6a) for yourselves before registering for the course.** ## Coursework 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 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. ## Prerequisites Background in algorithms, probability, linear algebra (all at a basic undergraduate level) is required and will be assumed through the course. ## Logistics and resources **Please click on triangle to the right to expand the sub-heading and see more details (if any).** :::spoiler **Lecture hours**: M,W 12-1:50 pm Boelter Hall 4760. **Also live on Echo360 or Zoom** -- [Zoom]( https://ucla.zoom.us/j/97657086546) ::: :::spoiler **Course notes**: We will use scribbletogether to share notes. -- Each lecture is on a separate page. -- [Module 1: Optimization](https://scribbletogether.com/whiteboard/6D240AFE-FB2A-4B19-8183-3D1220F92871) ::: :::spoiler **Office hours**: Monday 2-3, Engineering VI 463. [Zoom](https://ucla.zoom.us/my/raghumeka) ::: :::spoiler **TA Office hours**: Yiwen Kou (In-Person): Mon, Fri 4-5 PM Boelter 3256S; Yuanhao Xiong (MSOL): TBD -- Yiwen Kou: Hello everyone! I am Yiwen Kou, a second-year PhD student focusing on theoretical machine learning, with a keen interest in applied probability. I enjoy playing games and traveling. Feel free to reach out to me at evankou@g.ucla.edu. ::: ::: spoiler **Grading**: We will have four assigments (70 points), one final (25 points), and class participation (5 points). Each assignment will cover four lectures. Final: University Schedule. ::: :::spoiler **Assignments: Click on triangle to the left to see the assignment schedule.** -- [Assignment 0](https://ucla.box.com/s/67q3r8rwcu1aucf2qot15b4ye1o30r6a) (not to be submitted) -- [Assignment 1] (18 points). Out April 15, due April 22th. -- [Assignment 2] (18 points). Out April 29th, due May May 6rd. -- [Assignment 3] (18 points). Out May 13th, due May 20th. -- [Assignment 4] (16 points). Out May 27th, due June 2nd. 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. Students can register [here](https://edstem.org/us/join/YccdQ3). 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. Registration links will be provided soon. ::: :::spoiler **Homework submission**: On Gradescope; Due 9:59PM (Pacific time) on due date. There will be two copies of each assignment within gradescope: One for in-person students (Section 1) and the other for MSOL (Section 80). Make sure you upload to the right one. 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=u-pK4GzpId0) video with 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. ::: --- ## Syllabus 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 -- Boosting ### PCA (3 lectures) -- Best-fit subspaces, low-rank approximations -- Computing and applying Singular Value Decomposition ### 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. ### Hashing, Retrieval, Attention (4 lectures) -- Locality sensitive hashing -- Use of Memory for Attention -- Depth in Transformers --- ## 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