Problem solving and Design Thinking in Machine Learning
Problems are unavoidable in man’s day to day activities, thus, there is the need to solve them. And yes, while creating solutions are necessary, the process of designing them are of greater concern and importance if they are to deliver the best results.
With the rise of the experience economy, emerging technologies such as the internet of things, and the commoditization of knowledge, problems have become more complex for businesses, forcing them to reinvent business models and the method they use to create and design solutions. Design thinking, as believed, can help businesses solve these complex problems as they attempt to create human-centric experiences and solutions.
In this article we would look at:
- What Design Thinking is,
- The Design Thinking process,
- What Machine Learning is,
- How we apply Design Thinking to Machine Learning
First, what is Design Thinking?
Design Thinking simply put, is the process of finding and solving problems with a human-centric process. Human-centric here means, putting human’s needs, desires, and abilities at the center of the designing process.
Design thinking is a 5 step non-linear, iterative process which includes;
- Prototyping, and
This is the “human-centric” in the design thinking process. At this stage, you need to try as much as possible to put yourself in the position of your users. It is necessary to observe not only the user’s behavior but also the reasons behind the user’s behavior and the possible causes and effects of the problem. You would also need to establish as much as possible communication with users, use various ways to understand the user’s real insights.
Finally, to be immersed, assuming that you are the user yourself, with this idea to personally experience the product or service. In short, the first step to empathize is to do everything possible from the user’s point of view to think about the problem and discover their real needs and pain points.
This involves reconstructing and defining problems in a human-centric manner. In design thinking, it refers to the creation of a Point Of View(POV) based on the user’s needs and insights.
It basically refers to designing, documenting and validating your understanding of user’s needs
In this stage, you brainstorm as many solutions as possible, considering all the people involved, then simplify a specific solution and prioritize those solutions on the basis of business feasibility and customer values and implementation.
In this stage, one needs to implement and complete the solution in the shortest time and with the least cost. This step involves the study of user’s interactions with the product to see what works and where the users are facing problems. Identify what additional designs can be added to the product in order to enhance user experience.
In this stage designers or evaluators rigorously test the entire product using the best solution identified during the prototype design phase.
The results produced during the testing phase are often used to redefine one or more problems and inform users, usage conditions, user thinking, behavior, and feelings.
To read more about Design Thinking, check out this article by Mockplus.
Now that we have a picture of what design thinking is and what it entails, let’s look at what machine learning is and how to apply design thinking in machine learning.
What is machine learning?
Machine learning is a core sub-area of Artificial Intelligence that provides a method for data analysis. With Machine Learning, computers find insightful information without being told where to look. Instead, they do this by leveraging algorithms that learn from data in an iterative process.
Machine learning is a machine centered approach that requires computational thinking. But since machine learning solutions are built for humans, it is fair to say that the process also requires a human-centered approach. What would a machine learning process look like, implementing design thinking? Using the 5 steps iterative process of design thinking, we can develop meaningful solutions with Machine Learning.
It is imperative to empathize with the challenge. This would mean understanding the big picture of the problem and the objectives at hand, which would help in identifying quickly if the problem even requires a Machine Learning approach or not before diving into any solutions.
At this stage, we also identify and capture the user’s key decisions and find out what variables and metrics are needed. The machine learning model is nothing but a piece of code; an engineer or data scientist makes it smart through training with data. So, if you give garbage to the model, you will get garbage in return, i.e. the trained model will provide false or wrong predictions.
Defining the problem goes hand-in-hand with understanding the issue clearly. Since Machine Learning is based on data, defining the problem would be based on insights we can draw from the data gathered.
Here we engage in data gathering, data exploration, and preparation. With these steps, we can better define the problem based on insights gotten from the data.
When we define the problem from the point of the data gathered we would be able to prepare scalable solutions at a much smoother rate.
In Machine Learning, our solutions are based on models, models that would use data to generate predictions or recommendations. Therefore, this is where we research for the model that would be best for our type of data.
We would want to sample smaller training sets so we can train many different models in a reasonable time The goal is to train the best performing model possible, using the processed data.
Here, we will want to use as much data as possible to train, validate and test our model.
If the solution is launched directly into the market without having much consideration in the prototyping phase, you may have missed out on key insights.
5. DEPLOYMENT AND TESTING
At this stage, our prototype has been proven to be successful, and there are high chances of success. We now write monitoring codes to check our system’s live performance at regular intervals and trigger alerts when it drops. When and if bugs are found or new features are requested, we go back to phase-1 where we will think about the problem from an empathetic perspective.
It is important to view all solutions as prototypes that require continuous development.
We can see the importance of approaching Machine Learning through design thinking. With the complexities of the problems today and the possibilities from Machine Learning, a human-centric approach helps get all stakeholders involved which would mean solutions that would be impactful.
“Machines” work with what is given to them “garbage in, garbage out”, applying Design Thinking in Machine Learning helps provide proper guidance as to what goes in.
This article is a selected article of the articles written by students learning under the Practical Machine Learning course from the Port Harcourt School of AI. Their project assessment for week 1 of the course was to write a compelling article on Design Thinking and how it is integrated into the Artificial Intelligence process.