In a traditional software development cycle, software providers design and implement software applications with rules and logic. Most commonly following a model such as: If A Then B Else C. From here, the product owner can make the system more flexible by adding concepts such as parameters, placeholders, plug-in rules, and more. Adding complexities to the software extends the development cycle and introduces more bugs into the product release. Representing real-world entities in software is complex, ambiguous, and unpredictable. Business requirements can also change over time requiring flexibility from a maintenance software system. For example, how can a system adapt to a change in meter type? Since the traditional model is not particularly adaptable or predictive, many software providers are beginning to look to machine learning (ML) to solve this.
The emergence of machine learning can pose new opportunities in the maintenance sphere. Instead of building a system in the traditional way where are the rules are coded, there are possibilities in creating models and algorithms that can analyze and then learn from large amounts of data. The actual outcomes, actions, and analytic solutions are not explicitly programmed. We change from a deterministic programming model to a probabilistic programming model. This shift emphasizes the importance of data science, which is critical to the next-generation of ML-powered solutions. Here are 3 steps to a Machine Learning-powered solution:
Step 1: Prepare the data #
If you can digitize the data into a numerical representation that fits the model (i.e., zeros or ones), then ML can help. From here you can put efforts into data cleansing, data wrangling, and handling missing data. Some of the data transformation challenges and techniques are very similar to the BI project. If you already have maintenance records from your Enterprise Asset Management (EAM) system, you should be able to leverage system integration and advanced reporting to fast-track data preparation.
Step 2: Select an ML algorithm #
You can choose a particular ML algorithm based on the type of tasks you wish to perform. Are you classifying the repair as urgent based on the problem complaint? Are you improving the part replenishment with an ML recommendation engine? Are you selecting the right part for the unit based on the recent repair history or a change in the supplier?
There are three main categories of ML algorithms:
The explosion of deep learning models and the advanced machine learning techniques give us an opportunity for new types of intelligent assistants, like natural language recognition, image recognition, and real-time decision-making.
Step 3: Query the model #
After the ML algorithm begins munching the data, you get an ML model that is ready to answer user's queries or augment the human decision process, which creates higher business value. What is unique about this approach is that the tuned model is customized to your usage and business processes, because you feed the data to train the model. However, overtraining the model can be harmful. Depending on the problem, a robust solution could be a collaboration with your industry peers to aggregate the de-identified dataset which feeds into the ML algorithm.