Skills in deep learning are in great demand, although these skills can be challenging to identify and to demonstrate.
Explaining that you are familiar with a technique or type of problem is very different to being able to use it effectively with open source APIs on real datasets.
Perhaps the most effective way of demonstrating skill as a deep learning practitioner is by developing models.
A practitioner can practice on standard publicly available machine learning datasets and build up a portfolio of completed projects to both leverage on future projects and to demonstrate competence.
In this post, you will discover how you can use small projects to demonstrate basic competence for using deep learning for predictive modeling.
After reading this post, you will know:Let’s get started.
Simple Framework That You Can Use to Demonstrate Basic Deep Learning CompetencePhoto by Angela and Andrew, some rights reserved.
This tutorial is divided into five parts; they are:How do you know that you have a basic competence with deep learning methods for predictive modeling problems?If you had to, how would you demonstrate this competence to someone else?Is this enough?If you were hiring a deep learning practitioner for a role, would this satisfy you?It’s not enough, and it would not satisfy me.
The solution is to use the same techniques that modern businesses are using to hire developers.
Developers can be quizzed all day long on math and how algorithms work but what businesses need is someone who can deliver working and maintainable code.
The same applies to deep learning practitioners.
Practitioners can be quizzed all day long on the math of gradient descent and backpropagation, but what businesses need is someone who can deliver stable models and skillful predictions.
This can be achieved through developing a portfolio of completed projects using open source deep learning libraries and standard machine learning datasets.
The portfolio has three main uses:There are many problem types and many specialized types of data loading and neural network models to address them, such as problems in computer vision, time series, and natural language processing.
Before specialization, you must be able to demonstrate foundational skills.
Specifically, you must be able to demonstrate that you are able to work through the steps of an applied machine learning project systematically using the techniques from deep learning.
This then raises the question:Use standard and publicly available machine learning datasets.
Ideally, there are datasets that are available with a permissive license such as public domain, GPL, or creative commons, so that you can freely copy them and perhaps even re-distribute them with your completed project.
There are many ways to choose a dataset, such as interest in the domain, prior experience, difficulty, etc.
Instead, I recommend being strategic in the choice of the datasets that you include in your portfolio.
Three approaches to dataset selection that I recommend are:Two excellent places to locate and download standard machine learning datasets are:Small Data.
I recommend starting with small datasets that fit in memory (RAM), such as many of those on the UCI Machine Learning Repository.
This is because it allows you to focus on data preparation and modeling, at least initially, and work through many different configurations rapidly.
Larger datasets result in much slower to train models and may require cloud infrastructure.
Good Enough Performance.
I also recommend not aiming for the best possible model performance on the dataset.
A dataset is really a manifestation of a predictive modeling problem, that in reality can become a research project of its own with no end.
Instead, the focus is on establishing a threshold for defining a skillful model, then demonstrating that you can develop and wield a skillful model for the problem.
Finally, I recommend keeping the projects small, ideally completed in a normal work day, although you may need to spread out the work on nights and weekends.
Each project has one aim: to work through the dataset systematically and deliver a skillful model.
Be aware that without careful time boxing, the project can easily get away from you.
In summary:Completed projects of this nature offer a lot of benefits, including:It is critical that a given dataset is worked through in a systematic manner.
There are standard steps in a predictive modeling problem and being systematic both demonstrates that you are aware of the steps and have considered them on the project.
Being systematic on portfolio projects highlights that you would be equally systematic on new projects.
The steps of a project in your portfolio may include the following.
A step before this process, a step zero, might be to choose the open source deep learning and machine learning libraries that you wish to use for the demonstration.
I would encourage you to narrow the scope wherever possible.
Some additional tips include:Getting good at working through projects in this manner is invaluable.
You will always be able to get good results, quickly.
Specifically, above average, perhaps even a few-percent-from-optimal-quality results within hours to days.
Few practitioners are this disciplined and productive even on standard problems.
The project is probably only as good as your ability to present it, including results and findings.
I strongly encourage you to use one (or all) of the following approaches in order to present your projects:I also strongly encourage you to define the structure of the presentation prior to starting the project, and fill in the details as you go.
A template that I recommend when presenting project results is as follows:These could be sections in a post or report, or sections of a slide presentation.
This section provides more resources on the topic if you are looking to go deeper.
In this post, you discovered how to demonstrate basic competence for using deep learning for predictive modeling.
Specifically, you learned:Do you have any questions?.Ask your questions in the comments below and I will do my best to answer.
…with just a few lines of python codeDiscover how in my new Ebook: Better Deep LearningIt provides self-study tutorials on topics like: weight decay, batch normalization, dropout, model stacking and much more…Skip the Academics.
Click to learn more.
.. More details