Hitchhiker’s Guide to Artificial Intelligence
Artificial Intelligence (AI) software market is expected to grow from less than USD 5 billion in 2016 to USD 90 billion in 2025. Still, despite all the hype, there is a lot of confusion across non-practitioners over what AI is, what it is not, how does it work, how it is different from analytics and machine learning and what it can and can not do. The AI field has a steep learning curve but don’t panic, this article provides a quick overview on key aspects of AI for those who are unfamiliar with the topic.
Artificial intelligence (AI), sometimes called machine intelligence, is intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans and other animals. (Wikipedia)
In a nutshell AI is the software ablility to mimic human behavior in one way or another: recognize images, make decisions, converse etc. The term is very broad (almost as broad as “software”) and almost always requires clarification when used.
There are several key concepts and definitions which are essential for the understanding of what AI is and how it works:
- Machine learning is the software ability to “learn” (progressively improve performance on a specific task) with data without being explicitly programmed. (Wikipedia). Most often machine learning is performed with various algorithms.
- Deep Learning is an algorithm(alternative name is Neural Networks) used for some of machine learning tasks. It has become very popular recently but it is not a silver bullet, there are many other algorithms: decision trees, linear regression, logistic regression, K Nearest Neighbors, Support Vector Machines and others. Detailed algorithms overview can be found here
- Model — an algorithm or a combination of algorithms to achieve a specific objective. In general there are two key type of algorithms (and models): classification (identify a class (type) of an object out of all possible choices: is the image a cat or a car), regression(predict value: how much sales a store will generate next year). The model is trained (the process of tuning the model to improve performance) during the machine learning process.
- AI use-case —implementation of the model to solve specific business problem. Use-case are very diverse and include: offer recommendation (Amazon), advertising personalization (Google), churn prediction, image recognition, computer visions and many others. Example: Netflix tracks what movies you watch, what movies you like, then finds users similar to you and recommends movies they have liked to you.
Solving Business Problems with Artificial intelligence
The process of using Artificial Intelligence to find a solution to a business problem is often referred to as Data Mining. One of the most popular frameworks describing the process is CRISP(Cross-industry standard process for data mining)
The process is iterative and consists of 6 steps :
- Business Understanding. Identify the business problem, desired outcomes, actionability, business case. Select AI use-case (or several use-cases) which will solve the business problem. Define necessary resources and develop project plan.
- Data Understanding. Understand data availability, quality, relevance. Explore the data to understand relations between attributes, distribution and simple statistics.
- Data Preparation.Transform the data to prepare it for modelling: clean, integrate, construct new attributes from the existing ones.
- Modelling. Identify the right model or several models, build model and train it. Objective of this step is to obtain model which can accurately predict outcome on the new (previously unseen) data.
- Evaluation. Evaluate whether the model allows to achieve the necessary business results. Decide whether the model can be deployed to production, needs to be changed, more data needs to be acquired or if the business problem needs to be re-stated.
- Deployment. Deploy the model in production with all necessary integrations, so that the model continuously works, re-trains on new data and provides the results to the target systems.
What Business Problems Can Be Sold with AI
AI can solve diverse business problems from predicting customer churn to authentication through facial recognition to personalization of customer experience. It is not always easy to tell from the first glance whether the problem can be solved using Artificial Intelligence but the are several criteria which help to determine this:
- Data availability. Both historical data for model training and future data for model run-time should be available on demand.
- Data format. The data should be provided in a machine readable format meaning it should be possible to express all attributes in variables used in programming languages (text strings/characters/numbers etc.)
- Signal in the Data. This is a tricky one. In order for the data to be useful it should contain signal — information about the event we are trying to predict with our model. Often it is not possible to identify if there is signal in the data before data exploration and modelling. For example it is widely accepted fact that it is not possible to predict earthquakes with any data that is available, there is no signal, only noise. A good rule of thumb is: if it is possible for human to predict an event or variable from data, very likely it is possible for AI to do this, ie: if a person can recognize faces, AI will be able to do it.
Artificial Intelligence Software Landscape
The Software landscape for AI is as broad and diverse as the areas of application. There are many ways to segment the market, but the key categories are:
- Infrastructure. Databases, data warehouses, data integration tools and hardware enabling operation of AI solutions. Examples: Oracle, VoltDB, Terradata, Cassandra.
- Frameworks. Predominantly open-source frameworks to enable core capabilities for AI: machine learning, deep learning, streaming analytics, data processing, statistical analysis etc. Examples: Tensorflow, scikit-learn, pandas, H2O, Kafka.
- Platforms. PaaS solutions providing capabilities to develop, deploy and manage AI projects in the cloud. Examples: Amazon AWS (EMR, SageMaker etc.), Azure (Azure Machine Learning Workbench), Google Cloud Platform.
- AI SaaS. Online software applications allowing to perform AI tasks in the cloud with no/minimum code development. Examples: IBM Watson Studio, H2O (platform), DeepCognition.
- Developer/ Data Science Tools. Applications and tools for development and data science. Examples: Anaconda, Jupyter, R Studio.
- Analytics Platforms. Large-scale platforms providing end-to-end AI and analytics capabilities for enterprises. Exampels: SAS, IBM, Terradata.
- Business Intelligence Tools. Provide capabilities for data exploration, visualization and reporting. Examples: Tableau, Qlick, Zoomdata.
- Vertical and Enterprise Applications. Solutions solving specific business problems with pre-defined use-cases. Examples: Sprout Social (Social media), Salesforce Einstein (CRM, Marketing), ComScore (Advertising), Cleverbot (Chat bot) and many others.
The complexity of using AI to solve business problems is still overwhelming, which is a barrier to widespread adoption, especially across small and medium businesses. But there is little doubt that AI is the future of humanity.