This article briefs the architecture of the machine learning platform to the specific functions and then brings the readers to think from the perspective of requirements and finds the right way to build a machine learning platform. Finally, it is recommended that Microsoft open source platforms are privately-configured machine learning training platforms.
Machine learning requires not only data scientists to develop new models, software engineers to apply new models, but also software engineers and operations engineers to build machine learning platforms. Building a machine learning platform is an important part of the enterprise and team that apply machine learning. I hope this article can bring readers new thinking and new directions in career development in the artificial intelligence boom.
This article attempts to cover all aspects of the machine learning platform based upon Microsoft:
Azure Cloud: Microsoft Machine Learning Service
Azure Cloud, with its years of research and development Microsoft has launched a machine learning cloud platform on this MaaS demand. The platform is “a fully managed cloud service that enables data experts and develop Azure Cloud – Microsoft Machine Learning Services to efficiently embed predictive analytics into their applications helping organizations to use large data sets” At the same time, it provides a complete set of machine learning workflows for data download, model selection, model training and data prediction, and is presented to developers in a very friendly visual interface at each step.
As shown in the following figure, Azure Cloud provides a friendly online development environment. Developers can build their own experiments to test the feasibility of autonomous design workflows, and can also provide a workflow for testing workflows in the form of Web services. Used in the future.
In the experiment section, the developer can complete the workflow design by dragging the module on the left. There are a wide variety of modules, including preloaded data, data format conversion tools, data input and output, feature selection, machine learning algorithms, R language interfaces, statistical functions, and text analysis.
In addition, Azure offers a large number of online videos and tutorials for developers to learn. For example, a classic machine learning algorithm development process includes the five steps of acquiring data, preprocessing, defining features, selecting learning algorithms, and making predictions. There is also an online community for developers to discuss machine learning related issues. The most commendable, developers can also develop algorithms into the market (Marketplace) are sold to other people, they rely on their own ingenuity to get the proper material compensation.
The Azure cloud machine learning platform, based on years of technology accumulation of Xbox and Bing search, and the research results of Microsoft’s global research institutes, brings them together into a very simple cloud computing service for developers. In general, this platform is a subversion of past forms of data mining and machine learning. It provides novice and startup companies with a cheap and effective mining platform. Before that, only large companies with strong capital could imagine. We believe that in the future, more algorithms will be launched on the Azure cloud machine learning platform to provide quality services to more enterprises.
AutoML: Machine Learning Automation
From a machine learning perspective, AutoML can be seen as a very powerful system for learning and generalizing on given data and tasks. But it emphasizes that it must be very easy to use. From an automation perspective, AutoML can be seen as designing a series of advanced control systems to operate machine learning models so that the model can automatically learn the appropriate parameters and configurations without human intervention.
A generic AutoML definition is as follows:
The core tasks of AutoML:
- Better performance
- No human assistance
- Lower computation budgets
AutoML problem composition
The main problem of AutoML can be composed of three parts: feature engineering, model selection, and algorithm selection:
Feature engineering plays a pivotal role in machine learning. In AutoML, the purpose of automatic feature engineering is to automatically explore and construct related features so that the model can perform optimally. In addition, there are some specific feature enhancement methods, such as feature selection, feature dimension reduction, feature generation, and feature coding. These steps are currently not at the stage of automation.
These steps are also accompanied by a certain parameter search space. The first type of search space is provided by the method. For example, the PCA’s own dimension reduction parameters need to be adjusted. The second is that the feature space is expanded when the feature is generated.
Model selection involves two steps: selecting a model and setting its parameters. Correspondingly, the purpose of AutoML is to automatically select the most appropriate model and set its optimal parameters.
For algorithm selection, the goal of AutoML is to automatically select an optimization algorithm to achieve a balance of efficiency and precision. Commonly used optimization methods are SGD, L-BFGS, GD, etc. Which optimization algorithm is used and the configuration of the corresponding optimization algorithm also requires a set of search spaces.
Look at the whole situation
By combining the above three key steps, a complete AutoML process can be divided into two categories: one is to integrate the above three steps into one complete pipeline; the other is network architecture search, which can automatically learn To the optimal network structure. In the process of learning, some optimizations are made on the above three issues.
Basic Optimization Strategy
Once the search space is determined, we can optimize it with a utility optimizer. Here, AutoML mainly answers three questions: – Which search space does the selected optimizer work on? – What kind of feedback does it need? – What configuration does it need to achieve a good result?
Simple optimized search methods include grid search and random search. Among them, grid search is widely used.
The methods of optimization from the sample mainly include heuristic search, derivative-free optimization, and reinforcement learning methods. The gradient descent method is an important optimization strategy.
Basic Evaluation Strategy
When designing an evaluation strategy, AutoML answers three questions: Can this strategy be evaluated quickly? – Can this strategy provide an accurate evaluation? – What kind of feedback does this strategy require?
The basic evaluation strategies include:
– Direct evaluation: Evaluate directly on the target data. This is the strategy that is used the most.
– Sampling: When the amount of data samples is very large, some samples are sampled for evaluation.
– Early Stop: When encountering extreme conditions that make the network perform poorly, consider making an early stop.
– Parameter reuse: Reuse previously learned parameters on new tasks. This is available when the two task configurations are similar. Conjugate evaluation. For some quantifiable configurations, it can be done using the conjugate evaluation method.
Advanced evaluation strategy
There are two main types of advanced evaluation strategies: meta-learning and transfer learning.
- Meta-learning method: Basic parameters and structural configurations are extracted from previous learning experiences.
- Transfer learning method: Extract some of the knowledge that can be reused from previous learning experiences.
Azure Machine Learning Studio
Azure Machine Learning Studio has a large number of machine learning algorithms that you can now use to build predictive analytics solutions. These algorithms can be used for general machine learning: regression analysis, classification, clustering, and anomaly detection, each of which can solve different types of machine learning problems.
Microsoft Azure’s Machine Learning Algorithm is designed to help you filter the available machine learning algorithms and choose the right one for your predictive analytics solution. Cheat Sheet will ask you these two questions: the nature of the data, the problem you are trying to solve, and then suggest an algorithm you can try.
About Azure Machine Learning Studio
Azure Machine Learning Studio provides many different advanced machine learning algorithms to help you generate analytical models. First, determine the general type of machine learning task to perform because the algorithms grouped in each category are appropriate for a particular forecasting task.
After selecting an algorithm and configuring its parameters you can use one of the training modules to run the data through the selected algorithm, or you can use the scan parameters to iterate through all possible parameters and determine the optimal configuration of the task and data.
Learning algorithm category
Azure Machine Learning Studio provides the following types of machine learning algorithms, grouped by typical machine learning scenarios.
1. abnormal detection
Anomaly detection involves many important tasks in machine learning, and anomaly detection techniques are applicable to a variety of industries:
1. Identify possible fraudulent transactions.
2. Learning mode indication of network intrusion occurred
3. Find patients with abnormal clusters
4. Check value entered into the system
By definition, exceptions are rare events, so it can be difficult to collect representative data samples for modeling. The algorithms included in this section have been specifically designed to address the core build and training model issues of anomaly detection.
This category includes the following modules: Single-class support vector machine, PCA-based anomaly detection.
A classification algorithm is used to predict the class or class of a single data instance. For example, an email filter uses a binary classification to determine if an email is spam. There are two forms of classification tasks. One is a binary classification designed to predict one of two results, and the other is a multi-class classification designed to predict one of multiple results. The output of the classification algorithm is a classifier that can be used to predict the label of a new (unlabeled) instance.
The category Modules References.Machine Learning.Initialize Model.Classification includes the following modules: multi-type decision forest, multi-class decision forest, multi-class logistic regression, multi-class neural network, one-to-many class, dual class average perceptron, dual class Bayeux Point machine, dual class promotion decision tree, dual class decision forest, dual class decision forest, dual class logistic regression, dual class neural network, dual class support vector machine, dual class local deep support vector machine.
The clustering algorithm can learn how to group a group of items together based on a set of features. For example, clustering is often used in text analysis to group text segments containing common words together. Unlabeled data can be grouped using clustering by finding the closest data points and then determining the centroid or center point of each combination. After training the algorithm, you can use it to predict the cluster to which the data instance belongs.
Category Modules References.Machine Learning.Initialize Model.Clustering Includes modules: K average clustering
A regression algorithm is an algorithm that learns to predict the actual function words of a single data instance. For example, the house price predictor can use a regression algorithm to predict the current house price. The regression algorithm determines each feature distribution of the data for which the regression function is to be performed. After the algorithm trains, the function used to predict the marker data, it can be used to predict the label of the new (unlabeled) instance.
Category Modules References.Machine Learning.Initialize Model.Regression
Microsoft Cognitive Services
Today, machine learning and artificial intelligence are no longer mysterious black technologies. It is more likely for natural human-computer interaction applications to allow applications to plug in smart wings and make applications Owner’s wisdom. So, below, we will introduce you to our cognitive services, and hope that you can bring intelligence into your application and make your ideas come true.
Just a few years ago, colleagues from the sales department took customers to find our R&D department. At that time, we showed us a long list of all the patents related to Microsoft in various markets. Long list, I was shocked at first, I did not expect Microsoft to have so many patented projects, including search, data structure and so on. But on the other hand, I feel very sorry, because these patents are already buried in our various product lines, including Office, Windows, and Bing search, but I have no way to give our friends. Today, the emergence of cognitive services is to open up these high-tech and black technologies in the form of APIs.
The application interface is open to everyone so that your application can understand the data you see, including text and video, picture, voice. Microsoft has these technologies and product technologies for many years. It is not a brand new thing. It is gradually deepening and improving. Today, these powerful models, including the various product lines we just mentioned, are Xiaobing, Xiaona, Bing search, etc. that everyone saw this morning. These models and algorithms are open to everyone and can be shared with everyone. Put it in your own apps and products. So our slogan is to hope that our cognitive services will be your strongest brain.
Cognitive services are a set of API interfaces, as well as some tools and systems that can train your own data. Our ultimate goal is to make it easy to use and make you feel at your fingertips. Everyone has noticed today, it is completely a “Microsoft Love” theme, Microsoft loves open source, Microsoft loves Linux, Microsoft loves cognitive services, and Microsoft loves cross-platform, cross-device, and you don’t need to use Visual Studio. You don’t have to use Script. I will do some demonstrations later. I hope that these API interfaces will make it easy for you to develop applications. You don’t have to think about the algorithms and models behind them. Let’s help you get these things done. Just pay attention. Your own application, your business, your business, your logic.
Microsoft – BoT Framework
The Microsoft Chat Robot Framework (Bot Framework) allows your service to create and connect AI robots, through which your service can chat freely with users by typing, texting, Skype, Slack, Office 365 mail and other popular services. Wait.
Chat bots are fast becoming a part of our digital life, and they have become another important way of interacting with users or services after the web and mobile. Developers writing chatbots face the same problem. For example, robots need basic input and output operations. They must have language and dialogue functions. They must keep in touch with customers, and it is best to conduct dialogue and language communication in the way customers choose. The Chatbot Framework provides a set of tools for solving these problems for developers, such as automatic translation of 30 languages, user and callback state management, debugging tools, embedded web chat controls, and a full set of features that users can discover, try and add. The way they like the robot.
The Chat Robot framework consists of several components, including the Bot Connector, the Bot Builder SDK, and the Bot Directory.
Bot Connector helps chat bots seamlessly connect to text/text messages, Office 365 mail, Skype, Slack and other services. You only need to register your bot in the Bot Directory, configure the desired channel, and then publish it.
Bot Builder SDK
Bot Builder SDK is an open source secondary development package. If you want to develop a chat bot based on Node.js or C#, there is everything you need in this package. The open source address of github is: https://github.com/Microsoft /BotBuilder
- Start learning Bot Builder C#
- Start learning Bot Builder Node.js version
The Bot Directory is a public directory of all chatbots registered through the Bot Connector. Users can discover, try, add robots from the Bot Directory and add robots to their favorites list. When the Bot Directory is initially open to the public, the Bot Directory will specifically recommend chat bots at the Microsoft 2016 Build conference.
ML.Net Machine Learning Framework based upon.Net Platform
ML.Net is a cross-platform, open source machine learning framework. It enables.NET developers to develop their machine learning models and add them to their own applications, all without the prior knowledge of machine learning development and debugging machine models.
ML.Net Originally developed by Microsoft Research, it evolved into a series of frameworks over the past decade and is used by many product groups, including Microsoft’s Windows, Bing, Azure, and more.
ML.Net The first preview release includes the ability to develop tasks such as text categorization and sentiment analysis and regression (such as weather forecasting and price forecasting), in addition to ML.Net It also brings the first draft of the.NET API, which can be used to train models or use models for prediction, as well as core components like learning algorithms, converters, and core machine learning data structures.
In general, ML.Net will make your machine learning development experience on the.NET platform great.
Over time, ML.Net will be applied to more other machine learning scenarios, such as recommendation systems, anomaly detection, etc. and other similar deep learning scenarios. All of which will be based on the use of existing popular depth learning frameworks, including TensorFlow, Caffe2, CNTK, and Accord.NET such a general machine learning framework.
ML.Net is the ability to allow code-first, supporting application local deployment and building your own models complements the experience provided by Azure machine learning and cognitive services.
The rest of the blog will provide more about ML.Net Details:
- ML.Net Core component
- Use ML.Net Emotional classification
- Road ahead
- Shape the ML.Net you want together
ML.Net Core component
ML.Net is a project of the.NET Foundation (.NET Foundation). The repo now includes the.NET C# API for training and using machine learning models, as well as a series of mainstream machine learning tasks (such as regression and classification). The required transforms (translators) and learners (learners).
The goal is to provide an end-to-end workflow that includes machine learning techniques such as preprocessing, feature engineering, modeling, evaluation, and operationalization to incorporate machine learning into your.NET applications.
ML.Net Provides the types and runtime support required for all aspects of machine learning, including core data types, scalable pipelines, high-performance arithmetic, heterogeneous data structures, tool support, and more.
The image below shows ML.Net with a complete list of the components included in 0.1.
The goal is to make ML.Net a generic API like CNTK, Accord.NET, or a library like TensorFlow which can be used through a unified API.
These 6 platforms are enough to start with Microsoft’s machine learning.