Plato Elevate Winter Summit has been announced (Dec 7th-8th)

🔥

Back to resources

Researching and Learning how to Make Machines Learn

Acquisition / Integration
Innovation / Experiment
Different Skillsets
Personal Growth

2 November, 2021

Chris Sellek
Chris Sellek

Staff Software Engineer at WillowTree Apps

Chris Sellek, Staff Software Engineer at WillowTree, describes his challenge researching machine learning and how he finally found the information needed to create an algorithm of his own.

Research to no Avail

I first heard about machine learning in college, where I learned about an algorithm trained to beat the best Go player in the world. Finding this information blew my mind and sparked my interest in machine learning. I wanted to learn more about machine learning and create my algorithms. However, I struggled in doing so as I could find minimal amounts of information regarding machine learning on the internet, and each search felt like a dead end.

Searching for Information

Using my resources:

Using Javascript, the language I’ve worked with throughout my entire career, I found a library that allowed me to do machine learning. Generally, Python has been the most popular machine learning language, but finding something in Javascript meant I could focus on just learning machine learning, instead of machine learning AND another language's syntax. I began researching and playing around with it, trying to understand its capabilities.

Delving Deeper:

I found that this library (brain.js) I was using included tutorials and a basic overview of machine learning. After learning the very basics, I found TensorFlow.js, the powerhouse machine learning library. As I learned how to use TensorFlow.js and all of the extra functionality it offered, I found that I was using bits of information from random corners of the internet and meshing them all together in my head to create a more holistic understanding of machine learning for myself.

Testing it Out:

Moving forward, I began playing around with creating different algorithms. One of the first ones I made was an algorithm that predicted the survival of each individual on the Titanic. I was given a training dataset and used it to make my algorithm around 80-90% accurate at predicting the survivors in a separate test dataset. Once I had begun to understand what I could create using data and deep learning, I moved forward to using reinforcement learning.

I taught an algorithm to make its way through a Frozen Lake maze in the most efficient way possible. I’ve worked on this project for a long time and only managed to teach an algorithm how to make its way through a single maze. Teaching it to learn the game itself has proved elusive.

Creating my Algorithm: I’ve recently combined my interest in the NFL with machine learning. Using a LOT of data, an LSTM network, and deep learning, I’ve achieved an average accuracy of 64%, which is a similar accuracy to the best NFL experts. My goal is to eventually make it even BETTER than those experts.

To Create a Deeper Understanding

  • Machine learning is the future of our modern world. The capabilities that machine learning algorithms can have are unreal. An example of this is an algorithm that identifies cancer in patients sooner, and with higher accuracy, than specialized doctors.
  • Machine learning lacks transparency right now. When something is going wrong, it’s not similar to regular programming, where you can simply debug the code. Because these deep neural networks are so deep and running such complicated math, they're kind of a black box at the moment. So when something goes wrong, it's up to you as the programmer to figure out where the issue is without any real details about why things aren't working quite right.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

How to Strengthen Your Team Pitch

29 November

Vadim Antonov, Engineering Manager at Meta, details his journey to improve his personal hiring process and team pitch.

Alignment
Personal Growth
Hiring
Coaching / Training / Mentorship
Changing Company
Vadim Antonov

Vadim Antonov

Engineering Manager at Facebook

Inviting Juniors to Learn New Skills

23 November

William Bajzek, Director of Engineering at Sapphire Digital, is always keeping his eyes open for ways that he can give his team a chance to learn something new.

Different Skillsets
Juniors
William Bajzek

William Bajzek

Director of Engineering at Sapphire Digital

How to Pivot a Product Idea at the Right Time

23 November

Adi Purwanto Sujarwadi, VP of Product at Evermos, shares how he diligently managed a product in one of the biggest eCommerce companies by being an individual contributor.

Innovation / Experiment
Product Team
Product
Embracing Failures
Adi Purwanto Sujarwadi

Adi Purwanto Sujarwadi

VP of Product at Evermos

How to Handle Team Collaboration After a Merger?

23 November

Nicholas Cheever, Divisional Vice President, Global Supply Chain Technology at Trimble Transportation, shares how he helped the acquired company’s team members understand the business mission and give them focus.

Acquisition / Integration
Team Processes
Nicholas Cheever

Nicholas Cheever

Divisional Vice President, Global Supply Chain Technology at Trimble Transportation

Overcoming Constraints Through Creative Thinking

23 November

Neelima Annam, Sr Director Information Technology at Outmatch, recalls a time when she had to use non-conventional methods to train her team.

Different Skillsets
Coaching / Training / Mentorship
Neelima Annam

Neelima Annam

Sr. Director Information Technology at Outmatch HCM

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.