Ever since the now-classic 2001 science fiction film “A.I.” showcased a robot who dreams,* popular culture has been filled with sentient computers and their ilk. Though we’re not quite there yet in terms of creating machines that have genuine human-like intelligence, data science is leading us closer to this goal than ever before. In fact, data scientists are beginning to investigate some of the core algorithmic ideas that will be important for future developments in A.I., such as deep learning.
Here’s a list of 8 things you can do today which would even impress data science from Star Trek: TNG.
1. You code visual processing algorithms on GPUs
What if I told you that, by simply flying over the United States, you could map out our nation’s power grids using only open-source data?
You might not believe me. But if you were a data scientist or electrical engineer working on computer vision problems, you’d know this is possible with Caffe. And for those who are skeptical about doing so, consider how much your GPU** will have improved in the next 5 years. Now imagine what would happen if NVIDIA released an updated SDK that let us take advantage of their new GPUs’ increased capabilities!
The world of possibilities becomes even more intriguing once we start to experiment with larger datasets. For example, I can run my algorithm at scale by partitioning it across Amazon EC2 instances. You can take the assistance of the DBA administrators.
2. You’ve used a machine learning algorithm to classify emails as spam or non-spam
With the rise of Enron’s fraudulent accounting practices, companies worldwide started implementing better email security systems. To do so, they began applying machine learning algorithms such as support vector machines (SVM) and logistic regression on incoming emails.
Even if you’ve never worked for an email company, you may have benefited from these classifiers in some way. For instance, Google has fed over 4 million public emails into their spam filter and claims it can now distinguish between spam and regular emails with 99% accuracy. This is only possible by building models that combine word frequency patterns with other signals like sender behavior and message length.
3. You use social sentiment analysis to recommend songs or videos
We all know that YouTube and Netflix keep track of our personal viewing behaviors in order to learn the types of media we’re interested in. Soon, their competitors such as Hulu will also jump on this bandwagon. The big players will be able to make use of “deep learning” algorithms like convolutional neural networks (CNN). These models are able to capture high-level dependencies within data and can tell apart whether a certain video is funny or sad based on audio and visual features.
4. You’ve used an online collaborative filtering algorithm to match you with people you would like
Remember the movie “You’ve Got Mail” where Tom Hanks and Meg Ryan play a yuppie couple who fight over whether they should keep their independent bookstores or merge into a single mega chain? Through this classic romantic comedy, we can see that Hanks and Ryan’s character have been strategically matched by an online dating algorithm. The film came out in 1998, but it predates most popular social networks. In fact, the use of collaborative filtering algorithms to recommend music on Pandora & Spotify is what sparked my interest in data science.
5. You wrote a program to solve a Sudoku puzzle
Though many of us no longer solve Sudoku puzzles given how easily accessible they are online, the algorithm for solving them is still a good place to start if you want to learn about backtracking.
6. You’ve used an artificial neural network (ANN) as part of your NLP pipeline
Artificial Neural Networks (ANNs) can be difficult to understand and visualize given that they contain many layers and thousands of nodes. However, the stunning results they achieve in machine translation and speech recognition make these networks worth their weight in gold: Google Translate (88 languages), Microsoft Bing Voice Search, IBM Watson (Jeopardy), Siri, Nuance Dragon Naturally Speaking.
7. You’ve written a program that plays chess or Go
From Kasparov vs Deep Blue to the more recent AlphaGo matches with Lee Sedol, the ability to build game-playing programs (via tree search algorithms) has made tremendous progress in the past 20 years.
8. You’ve discovered an efficient algorithm to solve a problem you care about
The word “efficient” can be rather vague at times, but it’s generally used to indicate the ratio of running time between two algorithms. For example, if one algorithm runs 100 xs faster than another for large datasets, then it is often referred to as an efficient algorithm even if its accuracy is lower.
No matter what your skill level or interests are, there’s bound to be an efficient algorithm out there that you will love! This article was meant just as a starting point so please feel free to share your favorite efficient algorithms in the comments section below.
Also read: What is the Importance of Big Data?