Building an AI model can be incredibly tricky. As an emerging technology, the rate of failure is quite high. This exists due to the lack of standards and open source libraries enabling developers to fulfil each use case. AI also comes with an incredible amount of ambiguity. For instance, when building a mobile app with a private messaging feature, there are use cases and open source code enabling a developer to understand precisely what the expectations of the platform are from a usability perspective, and code that other developers have published enabling them to achieve this. In the context of artificial intelligence, despite some open source code existing, the use cases are more specific to each business than our mobile app example. This creates an overall challenging experience for the developer.
In this article, I’ll be providing you with a mechanism I use to ensure an AI model is fit for purpose, fulfilling your expectations as the end user. If you’re not the end user, these practices are effective in ensuring what you build will fulfil the stakeholder’s requirements.
Let’s start with a definition of AI.
I find AI is best defined with the use of a metaphor. Historically, computers have been advanced calculators. They have never been more intelligent than the individual who created the software. As calculators were programmed to execute addition, subtraction, and other functions, there needed to be a human teaching the calculator (by writing code) how to handle these calculations. AI takes this one step further by enabling a computer to teach itself. Programmers instead write systems that are able to teach themselves based on predefined rules, enabling it to learn and adapt on its own. AI is not simply a set of rules to follow (although, in my experience, 90% of “AI” solutions developed by companies fit into this category).
Without further ado, let’s get stuck into the process.
The process I’d recommend you follow if building an AI model is as follows:
Start by defining the business objective that AI will fulfil. This can be extremely general at first, as our latter stages will naturally force us to refine it further. For example, let’s assume that other non-AI systems have been limiting in the past at building financial forecasts. Our initial objective will be: “To forecast financial outcomes of the business”. Let’s take this through to the next stage.
Our next step is to build an initial draft. Despite the terminology I’ve used, we won’t be writing any code yet, just drafting how the system will work conceptually. This is effectively mapping how (in our case) a forecast will use historical data to predict future financial figures from a logical standpoint. But, what are they predicting? With a financial model, generally a good start is to forecast information such as revenue and profitability. By understanding this, our model’s definition becomes more refined.
The stakeholders in the business typically responsible for this task are those best equipped to provide their input. Ultimately, it will be the huge data sets and what seems like “gut feeling” that stakeholders use to forecast financial outcomes. In other words, the “intangibles”. This is actually what we want to focus on the most.
Next, you’ll need to prepare your data with a process called “preprocessing”. This is heavily implemented by data scientists, but there are parts of the process that non technical people will be involved in too. Taking our financial model idea, we now need to provide our data scientists with the information they need to predict this.
The preprocessing stage can then commence. Preprocessing is effectively taking your data and standardising it such that a model is able to work with it. This is particularly relevant where you use a plethora of systems with data stored in a different way. For an AI model to work with the data, it must be standardised so each system’s information can be processed the same. It’s up to the stakeholders to ensure all systems with potentially valuable information are making the data scientists aware of this.
The results really start to transpire during this stage where the model is built. Based on the draft you created, and the data available, our data scientists can start to build an initial model. This step has the highest susceptibility to risk of failure, and is generally where AI models fall over. Follow these steps carefully.
Start by segmenting your data into a smaller set and deriving the expected outcome. How do we do this? First, take your data and limit it to a particular period in the past. For instance, let’s only use data filtered until the end of 2017. We then want to use our model to predict the financial outcomes in 2018. As we have the real data for 2018, we can determine how effective our model is by comparing our model’s financial forecast for 2018 with real data from 2018. This enables us to then use the results to refine the model to perfection. Of course, you will want to simulate multiple tests of this nature. However, this mechanism will allow you to assess the validity of the model before you ever deploy it into a production environment.
Deployment is the final stage of the process. In this stage, the model complete with data, business rules and any revisions during step 4 is ready and implemented for all parties to use. Naturally, it’s critical you proceed with caution. However, you should now have confidence in your model after thorough testing of historical data.
If you have any questions, please don’t hesitate to reach out to us here.