Machine Learning

Machine Learning (ML) technology is undergoing rapid adoption in medium and large-sized enterprises, with the number of projects doubling every year.  Spending on ML systems is rapidly increasing and is estimated to reach $77.6 billion by 2022.  Compare this to the predicted $331 billion spending on public cloud in 2022, and you can see how significant this level of spend is.   The rationale behind this is simple: the competitive advantages created by ML investment can be significant.  We are rapidly entering an era where companies that do not adopt ML technology are potentially limiting their revenue, income and growth.

Identifying a starting point for your company’s adoption of ML can be a challenge.  The project will serve multiple purposes: introducing a new technology to your IT and user groups, building internal competency in its development, maintenance and use, and providing metrics for the ROI of ML adoption. It is a major business decision and requires a well thought out strategy beforehand in order to be successful.

The following factors should be considered when developing this strategy.

Communication Is Key

Early in the strategic development process identify the project stakeholders, both inside and outside your organization.  This can include senior management, marketers, project managers, developers, IT providers, early adopters/evaluators, and users and their representatives.  Since ML is heavily data-driven, this list will often also include individuals who are responsible for data privacy and security.

These individuals will be evaluating the outcome of the project, and in many cases will be enabling many aspects of it.  Establishing the appropriate cadence of communication with each is required to be successful.

Define Deliverables and Set Expectations

Establish a clear set of deliverables, and equally importantly, the metrics that will be used to measure these deliverables.  Set the proper expectations for not only the ML development but also the other parts of the organization that will provide necessary support and resources for the project.  You will need IT resources, and they can sometimes be significant. Can these be provided internally or from the public cloud? Conversely, consider that ML requirements may strongly influence IT’s overall strategy for resource purchase and allocation.

Data management and transformation will be a major element in the development process.  If you need to interact with existing corporate databases, who will define and provide the methods for access?  If the data used by ML is derived, but separate from, other corporate data, determine how and how often synchronization need to take place. Determine what additional data sources are needed, what they will cost, and how to manage that expense. Identify security restrictions and methods for enforcement.

Establish regular points in time when results will be evaluated.  Expect that as the project proceeds and generates early results, goals will be adjusted based upon these results.  You will likely identify ways to better collect and manage data, and evolve the pipeline of data that is received from the organization.   You will also gain a better understanding of the resources required to execute the analytic functions in a timely and cost-efficient fashion, and this can feed back into your IT strategy.

Understand the Visualization Effort

It’s vitally important to begin defining models by which the results of the ML are presented to the users.  No matter how insightful the results, if they cannot be communicated effectively then their value is diminished.  User interface design is a process, and the earlier that you can begin the process the better the project results will be.

In many cases, the set of visualizations “brainstormed” in the initial design phase end up being insufficient in detail, or don’t reflect all of the useful information that will ultimately be extracted.  Expect that the users will change their visualization requirements as the process proceeds. To manage this, implement visualization code using iterative and agile development methods. Regularly snapshot the developed code, and utilize a platform that enables users to interact with and provide feedback on these snapshots.

Part 2 of this article will continue with the planning considerations to successfully introduce an ML project into your company.