CS 373 Fall 2020: Jonathan Randall

Jonathan Randall
3 min readNov 9, 2020

Hello! Welcome to my blog for Week of 2 Nov — 8 Nov.

What did you do this past week?

This past week was a real doozy! I was constantly occupied with work from Sunday to Friday night at midnight. This is something that I’ve heard from many students, but the workload for online classes is unexpectedly high; I think one factor is that teachers might feel they have to compensate for the lack of in-person learning by piling on work.

I am happy to have finished the bulk of our project with the completion of Phase 3. Our website looks good, is navigable, and nothing is broken, which is great. I’m proud of what my team built.

I also completed a tricky assignment in my data science course involving robust regression. The problem we worked on is: given a distorted image y = w + b with n pixels from a set of faces, and some amount k of corrupted pixels, can we reconstruct the original image?

One algorithm to solve this problem is AM-RR, or alternating minimization robust regression, where we have two steps:

  1. Given some active set S of (hopefully non-corrupted) features, we can easily calculate some weights w* (representing a linear combination of images in the data set) which minimizes the least square error.
  2. Similarly, given some weights w*, we can easily locate outlier features by looking at the greatest residual error, and exclude them from our active set S.

AM-RR starts with w* = 0 and S as the first n-k features, and then performs step 1 and step 2 until w and w* converge.

What’s in your way?

At this point, I am just hoping not to contract Covid-19 before I go home for Thanksgiving break.

What will you do next week?

Next week I will start on my project for my data science class, finish up planning for the spring, and maybe go on a walk.

If you read it, what did you think of The Dependency Inversion Principle?

I’m about to read it!

What was your experience of relational algebra in Python? (this question will vary, week to week)

I haven’t been exposed to that many ideas from relational algebra, so it’s interesting to learn these concepts for the first time and their implementations in Python.

Implementing concepts from relational algebra in Python was interesting; it combines our previous knowledge of generators, yield, etc. with our knowledge of databases.

What made you happy this week?

I wouldn’t describe this feeling as happiness, but I did feel relieved however briefly to finish up and submit Phase 3.

What’s your pick-of-the-week or tip-of-the-week?

My tip-of-the-week would be paperswithcode.com. If you are a machine learning researcher and you don’t make your code publicly available, you could be doing more to make your paper more accessible!

I appreciate the formal proofs and results from code included in papers, but there’s something highly intuitive about looking at code itself and seeing how a particular protocol or algorithm or whatever is implemented. Also, it makes me highly suspicious of any result where you can’t go through their code after they publish — I’m sure it works, but how did you get these results? Does the algorithm completely break if you use other types of data?

Joking aside, it’s great how computer science research is in many ways much more accessible than other fields — conferences over journals and arXiv for preprints and such.

--

--