Welcome to CSCI 0451!

Prof. Phil Chodrow
Department of Computer Science
Middlebury College








Machine learning is the theory and practice of algorithmically learning patterns in data.







Machine learning is used for…

…automated consumer recommendations for content and shopping.












Machine learning is used for…

…generating realistic synthetic text, images, and code.







Machine learning is used for…

…predictions and recommendations for life-changing decisions: housing, healthcare, criminal justice.







Machine learning is used for…

…search engines, smart homes, computer vision, speech-to-text, scientific discovery, driver assistance systems…








Can you list the times in which you interacted with a machine learning system yesterday?









How is this course going to go?

CSCI 0451 is….

Coding
  • Numerical array programming
  • Object-oriented interfaces
  • Experiments and visualization
Math
  • Linear algebra
  • Optimization (\(\implies\) calculus)
  • A bit of probability
Reading, writing, discussion
  • Technical methods
  • Bias, fairness, and impact of ML




ML, Ethics, Bias, and Fairness

Algorithmic bias is the tendency of automated systems to reproduce structural privilege and oppression, especially in relation to race, gender, and sexuality.

Most systems that impact people in any way have at least a risk of algorithmic bias. Active mitigation is usually needed.

Save the Date

Monday April 24th

Dr. Timnit Gebru will be virtually visiting our class for a Q&A session and giving a talk at 7pm.

Dr. Gebru is one of the world’s leading experts in intersectional bias in AI.








Rough, tentative plan for the semester

Fundamentals of prediction (~6 weeks)
  • Core math concepts
  • Optimization (“the algorithms”)
  • How to help models generalize
  • Formal definitions of bias and fairness
Unsupervised methods (~1 week)
  • Clustering
  • Dimensionality reduction
Deep Learning (~4 weeks)
  • Image classification
  • Text generation
  • Word embedding
Project Presentations (~1 week)








Most Days

Warmup Activity
  • Complete ahead of time.
  • Reinforces content from readings and connects them to lecture.
  • Present in groups of 4-5.
  • Random presenter presents to the group.
Lecture
  • Math
  • Live-coding + experiments
  • Your questions and ideas!
Close-Out Activity
  • In same groups as warmup.
  • Practices content from lecture, discussion








Activities and assignments

Blog Posts
  • Aim for ~1 per week.
  • Involves implementation, experiments, and discussion.
  • Published on your blog.
Daily Warmup Activities
  • Relatively quick when you’ve done the readings.
  • One (random) person each day will present to your team.
  • Connects readings to lecture.
Project
  • In groups of your choosing.
  • Work on it throughout the semester, presentations in last week.
  • We’ll have activities etc. to help you pick a path.



Blog Posts

  • Implement algorithms in source (.py) files.
  • Perform experiments in Jupyter notebooks.
  • Create figures, add expository prose, etc.
  • Render your notebooks into a blog using the Quarto publishing engine.
  • Host source code and rendered blog on GitHub.









Feedback on blog posts via Hypothes.is











Feedback on source code











Readings and Warmups

Do them! Some readings are optional.

Let’s practice a warmup activity

Your Affinity Vegetable



1. Split into teams

2. Go around and share your name and:

If you were a vegetable, which vegetable would you be and why?

Your Affinity Vegetable



3. Team leader: lead your team in finding a delicious dish that incorporates all of your vegetables.

Be ready to share!









Collaborative Grading








Collaborative Grading

Initialization:
  • You set goals for your learning and achievement (in week 2).
Main Loop:
  • You attend class, participate in activities, and complete assignments.
  • You get feedback on your assignments from me and the TAs, and you revise.
  • You reflect on your learning and achievement at different points throughout the course.
At End Of Course:
  • You propose a letter grade that reflects your learning and achievement, and discuss it with me.
Individual assignments don’t get scores, points, or grades–just feedback.

Collaborative Grading



Opportunity Challenge
No points, no averages You can focus on feedback and set your own goals. You need to motivate based on your interest in the class
Resubmit assignments One of the best ways to learn Need to read feedback and prioritize time for revisions
Can skip assignments No busy work – work on what’s valuable to you. Still need to work enough to learn and meet your goals
No hard due-dates Don’t ask for extensions, take the time you need Need to keep yourself on pace to achieve your goals

What a Grade Sounds Like…

A: I am ready to take the theory, techniques, and ideas of this course into my endeavours outside this classroom: future classes, projects, hobbies, career.

B: With help or review, I might be able to take some of what I learned outside this classroom.

C: I showed up and did stuff, but I don’t really see any ways to take what I learned outside this classroom.

D-F: I didn’t really show up or do much.

Work Expected Work Expected

I am very likely to accept your proposed grade in the course if you EITHER:

  • Complete most assignments to a high standard (including revisions) OR
  • Work for ~10 productive hours per week outside of class OR
  • Do some of the assignments I give you and also some other things (that you propose) that are relevant to the course learning goals.






What is something that makes you feel excited or empowered about collaborative grading?

What is something that makes you feel nervous or confused about collaborative grading?









What I expect from you now

CS Stuff

You can write moderately-complex, object-oriented software.

You are comfortable reading software documentation and researching how to perform a task that you haven’t seen before.

You know what a terminal is and how to perform simple operations at the command line.

You have experience debugging your code and you are ready to do it a lot more.

Math Stuff

You remember most of MATH 0200 and CSCI 0200:

  • Matrix multiplication and inner products
  • Everything about \(\mathbf{A}\mathbf{x} = \mathbf{b}\).
  • Visualizing linear spaces.
  • Eigenvalues, eigenvectors, positive-definite matrices.
  • Derivatives, critical points of functions.
  • Sample spaces, probability distribution functions.
  • Random variables, mean and variance.
  • Conditional probability and expectations.

You are ready to look up what you don’t remember.

NYT, 1957



What We Are Actually Talking About

\[\mathbf{w}^{(t+1)} = \mathbf{w}^{(t)} + \mathbb{1}(y_i \langle \mathbf{w}^{(t)}, \mathbf{x}_i \rangle < 0)y_i \mathbf{x}_i\]

NYT, 2022

What We Are Actually Talking About


xkcd








Most of all, I expect that you are ready to make thoughtful decisions to guide your own learning in this course.








Based on what you know about the course so far, what are some ways that success might look like for you?