Welcome to our latest FAQ Friday, where industry experts answer your burning technology and startup questions. We’ve gathered top Minnesota authorities on topics from software development to accounting to talent acquisition and everything in between. Check in each week, and submit your questions here.
This week’s FAQ Friday is sponsored by Coherent Solutions. Coherent Solutions is a software product development and consulting company that solves customer business problems by bringing together global expertise, innovation, and creativity. The business helps companies tap into the technology expertise and operational efficiencies made possible by their global delivery model.
Meet Our FAQ Expert
Max Belov has been with Coherent Solutions since 1998 and became CTO in 2001. He is an accomplished architect and an expert in distributed systems design and implementation. He’s responsible for guiding the strategic direction of the company’s technology services, which include custom software development, data services, DevOps & cloud, quality assurance, and Salesforce.
Max also heads innovation initiatives within Coherent’s R&D lab to develop emerging technology solutions. These initiatives provide customers with top notch technology solutions IoT, blockchain, and AI, among others. Find out more about these solutions and view client videos on the Coherent Solutions YouTube channel.
Max holds a master’s degree in Theoretical Computer Science from Moscow State University. When he isn’t working, he enjoys spending time with his family, on a racetrack, and playing competitive team handball.
This Week’s FAQ Topic – Machine Learning
What is the difference between Machine Learning and AI?
Artificial Intelligence (AI) in its most general sense is methods and technology enabling computers to act intelligently, imitate human behavior and simulate, to some extent, the way the human mind works. AI has been around for some time with traditional solutions such as rules engines, expert systems, knowledge graphs, etc. These solutions were designed less to imitate human minds and more to generate the outcomes like what a human could accomplish.
Machine Learning (ML) evolved as a subset of AI. It really took off as exponential progress in computational capacity, reduction of cost of computer memory and storage, and breakthroughs in algorithmic theory made it possible to get closer to simulating the human mind — developing programs that alter themselves and evolve based on available information.
In today’s world, AI and ML are used interchangeably and a more practical definition can be used. AI is essentially business value delivered through applications and services that utilize ML. And ML being a set of data management and processing algorithms that allow making accurate predictions in some specific problem domain (business / technology – healthcare, manufacturing, machine vision, translation, language processing, recommendations) based on existing information.
How can our team use Machine Learning to craft sales forecasts?
More traditional sales forecasting techniques rely on using past sales data to identify various types of patterns used to make predictions. The sales team looks at dimensions of their business transactions such as territory geographies, categories of products, customer demographics, marketing campaigns and promotions, pricing models, industry trends, seasonality and various other external factors they can identify. Then, they try to apply some sort of logic to try to identify patterns that could be used to predict future sales.
This entire process can be tricky and unreliable. However, with Machine Learning, this is a pretty typical problem to solve — identifying unknown patterns in a volume of heterogeneous data and using it to predict certain types of values (sales in this case) based on known historical values. The team gathers all available historical data — CRM activities, marketing campaigns, order history, customer demographics, and uses all that information to train a ML model so predictions created based on those models would accurately predict past transactions and then use those models to predict future sales numbers.
What is the process of creating my own Machine Learning tools?
I’m assuming you are asking about building solutions that leverage ML to deliver business value, not inventing your own algorithms, modeling approaches, frameworks to implement and then building your own software to integrate it all together. If it is the latter and you have some ideas, it is a topic that is much bigger than this space allows.
The general framework of creating a Machine Learning solution for your business is straightforward and looks something like this:
(1) Define Objectives -> (2) Prepare -> (3) Model -> (4) Train and Test -> (5) Deploy and Manage
In the first step, you define business goals and objectives, determine the problems to solve and questions to answer. Like any other software engineering project, you can’t be successful unless you have a clear understanding of what you are trying to accomplish.
In the second step, gather, analyze and prepare the data that you will use to train your ML models. This step includes acquiring the data, figuring out how to store it, performing exploratory statistical analysis to separate good data from bad data, and understanding which data is relevant for the problem and which data is not needed. Depending on what the data is and where it is coming from, you may also need to label your data. For example, let’s say you are trying to implement a solution that identifies objects in images. If your source data consist of a bunch of images, someone needs to go in and label each image accordingly.
Then, you will need to figure out from the wide range of available ML algorithms which is more suitable for your problem (regression, neural network, etc.), and prepare you data accordingly.
In step four, you will train your model. You need to try multiple algorithms to see which one works best. Depending on the model and framework, there are several hyperparameters to set — settings that determine accuracy of your models, speed at which they train and work.
Finally, after you are satisfied with the results of the test model, you will deploy it into your production environment where it can be used by applications to make predictions from real-time data. The lifecycle does not end there. You will need to constantly monitor performance of your model, identify when it starts to drift from optimal performance based the inference requests coming in and when improvement may be needed based on new data becoming available — at which point you would go back to steps 2, 3 or 4 and repeat the process.
Hungry for more? Coherent Solutions has more information on AI/ML services.
Still have questions? Ask Max and the Coherent Solutions team questions on quality assurance and more on Twitter at @CoherentTweets.