Microsoft Machine Learning Technologies Overview
Artificial intelligence and specifically Machine learning can bring lots of benefit to the business owner. Many businesses using Microsoft data platform tools for many years. Microsoft employed machine learning in creating their products such as Xbox, Bing Search and so forth for a while. However, from 2014 they start to provide a facility for power users and end users to embed machine learning in their reports and software.
We can categories the Microsoft Tools based on the way that we able to use machine learning into different categories:
- Need to write R or python code
- Cloud or On-premises
The first group can be based on how much these tools are easy to use and how much they are accurate.
We can classify this product into two main categories:
Pre-Build AI
Microsoft Machine Learning Tools that you do not need to write any R or python codes to generate a machine learning scenario.
Custom AI
Microsoft Machine learning tools that you need to know how to write R or Python codes
The first group is easy to use, and you need to follow the instructions provided.
When Pre-Build when Custom AI
The main benefit of using Pre-Build AI tools is about that there is no need to know the machine learning concepts or at least by knowing a bit of it everyone able to create an AI application. Pre-Build AI tools able to address the general problem and issues but for some business problems, there is a need to use other categories (Custom-AI). the cognitive service and Bot framework can be classified as the tools that you able to embed them in Power BI, windows or web applications and so forth without writing any R or Python codes. As mentioned in related posts, there is no direct way to access the code behind the Pre-build custom AI tools, so there is no way to alter the code behind them and change the algorithms.
In contrast, to use the Custom AI tools, there is a need to know how to code and how to write codes for the aim of machine learning. However, for some tools such as Azure ML Studio there is a possibility to do machine learning without writing R or Python code but at least some understanding of how machine learning works are necessary. Some of the Custom AI tools are about writing R or Python codes inside the other Microsoft tools such as writing R or Python in
Power BI.
SQL Server 2016 for R Services and SQL Server 2017 which MNL services
Azure Data Lake Analytics
Azure Data Bricks
Azure HDInsight
.Net Application
And so forth.
For Azure Machine learning there is a possibility to write R or Python code as well, however the drag and drop environment quite easy to use.
The second classification is about cloud vs on-premises AI tools. Many companies still prefer to keep their tools on-premises while some other companies prefer to move to cloud all their business products. In between, there are some companies that able to have both cloud and on-premises.
If the main strategy of the company is about to stay on-premises and they are using Power BI or SQL Server writing R or python can be easy to handle. However, if they prefer to do machine learning on the cloud, the Azure ML Studio, writing R or Python on Databricks, and Azure Data Analytics can be very helpful.
The third categories are about the business problem that we want to solve. The nature of the problem and the scenario that we want to enrich it with AI is also mattered that help us to choose specific tools.
• Apply machine learning on the Internet of the Thing use case scenario
• Text Analytics, speech, image and so forth an analysis
• Apply machine learning on an ETL project
• Fast track create a prototype for a client
• And other examples
Microsoft Machine Learning Use Case Scenarios
IOT scenario
The other classification for AI tools is based on whether they are going to be used for IOT scenarios. The real-time data is a need that has been addressed in Microsoft tools using Event Hub, Stream Analytics, Data Bricks and so forth. In the Power BI, there is a possibility to create a live stream report based on the real data that flow from sensors, applications and so forth.
In most of this scenario, there is a need to identify the anomaly in data or classify the upcoming data into different groups. By using Azure Machine learning with stream analytics or in Data bricks we able to apply machine learning on IoT scenarios.
Image, Text and Voice Analytics
There are different tools for image, text analytics and voice analytics in Microsoft stack. Cognitive services are one of the popular tools for text, voice, and image analytics that provides API to be used in other applications.
However, there is a possibility to do image processing and voice recognition with CNTK platform. These Microsoft package and library provide a facility for developers to employ it for doing machine learning using deep learning approach.
Machine Learning on ETL (Extract, Transfer and Load) Process
The other possibility is about applying machine learning to data that has been loaded and transformed for the aim of visualization and creating reports. There is always a need to apply some descriptive or predictive analytics on data before showing it to the final users. As a result, for people who use the Power BI self-service BI, they able to leverage the machine learning using R and python scripts to make the reports more insightful. The other approach would be using the R or Python in SQL Server 2016 or 2017. Moreover, if the data is on the cloud, there is a possibility to use the Databricks for ETL and machine learning at the same time.
Machine Learning Prototype
For companies that for the first time want to use machine learning on their data, Azure Machine Learning Studio is a great tool that able to demonstrate the real process of machine learning from collecting data to train and test the models. Moreover, the managers and stakeholders able to see a fast track of machine learning process and how it can be used as an API in other applications or a simple Excel file.
To sum up, the selection of the tools is relevant to what is our current architecture, how much effort we want to put on programming and in what scenario, we are planning to have it. The first classification was based on the pre-build AI and custom AI. The second classification was based on the current architecture that we have which is on-premises or cloud base. Finally, the last dimension that we need to consider is about the scenario that we are looking forward such as IOT, ETL or create a prototype.