[Recap] WiMLDS x StitchFix: Lightning Talk Night
By: Trishala Neeraj
Tags: Machine Learning, Lightning Talks, Data Science

Earlier this week I had an opportunity to attend the WiMLDS x StitchFix: Lightning Talk Night. The event was organized by Alexandra Johnson and Erin LeDell of Bay Area WiMLDS, and hosted by Stitch Fix at their HQ in San Francisco! The lightning talks were given by 6 brilliant data scientists and Machine Learning engineers. In this blog post, I intend to summarize some of the many thought-provoking ideas discussed during and after those talks.

Hillary Parker

Hillary is a data scientist at Stitch Fix and gave an insightful talk about incorporating design thinking in data science. She began the talk by describing what real-world data science projects are like. She clarified that designing a data science system does not simply involve data modeling. For the most part, actually, it involves collecting and preparing the right data in the right way. She gave the example of Style Shuffle — a functionality that allows Stitch Fix users to look at a piece of inventory and thumbs-up it if it’s their style, or thumbs-down it if it’s not. Recognizing that data collection is just as important as modeling, if not more, allowed them to go much beyond the data they already had, and positively impacted their methods and results. Hillary then described what she means by “design thinking” here. She says it is a discipline more than anything else and it would be useful to practice the design process in everyday life. For her, for example, it helps create a creative bridge between analytical techniques and product space at work. Interestingly, it also helps in cultivating empathy, which is very powerful and important for personal growth and well-being. To learn more about it, she recommends some books including — Designing Your Life, The Sprint Book and Design Thinking. Fun fact — she also hosts the Not So Standard Deviations podcast, and I can’t wait to check it out soon!

Tiferet Gazit

Tiferet develops machine learning algorithms at GitHub with a vision of democratizing software development. In her talk, she described some of the matching and generation problems in NLP that she is working on. Matching, in this case, refers to finding a code/language snippet based on a very similar code/language snippet. Thus, in matching both the code and the language have been written by developers. Generation, on the other hand, refers to when the code/language is being generated by the algorithms. In machine learning, this is often referred to as Generative Models.

Tiferet described how bridging the gap between natural language and code is a major step towards her vision and talked about 4 specific applications and discussed the challenges in each of them:

Semantic search — this would allow for the ability to find solutions for uncommon problems and search for good code quickly. This is a matching problem.

Code to code translation — this could be done in two ways: one, treating this as a matching problem, i.e., querying an existing code, and second, a generation problem of generating code.

Automatic Documentation — would allow for better code readability. This is again, a generation problem, where documentation of a given code snippet can be generated from the code.

Language to Code translation — another generation problem. This would entail expanding high-level instructions into detailed code, i.e., from natural language instruction the program will be able to generate code.

Tiferet explained that in this work, the approach is to embed natural language and code into the same vector space (and hence different from word2vec, because in word2vec only words are embedded in the vector space).

I am excited to follow along with the developments in this research work at GitHub, particularly the problems on generation. Machine Translation (a common generation problem in natural language processing) is a difficult problem in itself. In software engineering even though a lot of code exists, a lot of labeled data from one programming language to another doesn’t exist. So research in this area will be challenging and GitHub is well-positioned to do this.

Anahita Hassanzadeh

Anahita is a data scientist in the Styling Operations team at Stitch Fix. She works on the problem of finding the right stylist for clients, which is essentially an assignment optimization problem with operational constraints. She discussed how the classical methods for the assignment problems are algebra-heavy and computationally tricky (as it entails traversing extreme points of polyhedra). It was interesting to learn how the client-stylist assignment problem can be considered as an auction process, this time relying on economic equilibrium for optimal assignment. Anahita talks about her approach to this problem in great detail and mentioned that in practice they use a combination of heuristics and algorithms to match a client with a stylist in the most personalized manner.

She also gave us insight about other operational problems at Stitch Fix such as replenishing inventory, routing and layout design in warehouses, optimal shipping times and ticket handling by customer service.

Erin Boyle

Erin is a data scientist at Stitch Fix and was also our wonderful emcee for the lightning talks. She talked about building recommendation systems dealing with client style preferences, and in particular, understanding the latent style space. She talks about inspection and interpretation of the latent dimensions that they find to be contributing most to the user’s preference for an item. This step is what takes them forward in terms of truly understanding style. Through a process of matrix factorization on the user-item matrix, one can get user embeddings and item embeddings. Using principal component analysis on these latent dimensions, one can get orthogonal embeddings which can then be explored for unique properties among users and items. Erin explained that visually looking at the inventory items on extreme ends of the principal axes gives them intuition on style preference which can be very useful across different verticals for decision making.

Chloe Mawer

Chloe is a Principal Data Scientist at Lineage Logistics and also an adjunct lecturer at Northwestern University. This talk was extremely interesting and full of practical advice on ensuring reproducibility of machine learning models in production. She emphasized that we acknowledge the component of randomness in building a machine learning system/pipeline (sampling data, splitting into train/test, model initialization to name a few) and ensure that we version it. I particularly liked her recommendation to extensively use YAML files to keep track of various experimental parameters. Chloe emphasized that versioning code is not enough, we also need to version data and workflow, and ultimately test the reproducibility. She has made her slides available here.

Molly Davies

Molly is a data scientist at Virta Health. Molly started her talk by sharing an interesting way to think about how to identify opportunities to improve outcomes of an analysis, motivating further discussion on variable importance given dataset and outcome. She talks about an R-package she really likes for the same purpose — varimpact (developed by Chris Kennedy), which prepares the data, and on different splits, finds “worst” and “best” values for a variable. It also indicates how consistent the “worst” and “best” chunks were across splits. Molly encouraged everyone to check it out and also get involved in helping make it even better and more useful for academics and practitioners in the industry alike.