[to the AI Engineer Learning route and 5 basic skills

Source: Internet
Author: User
Tags spark mllib

Original address: http://blog.csdn.net/BaiHuaXiu123/article/details/52478853

Abstract Learning Route

Are you interested in machine learning? In fact, so far, more and more engineers have begun to turn their curiosity into the field of machine learning. In fact, you will find that there is no field that can cause more exposure and attention than machine learning. Machine learning has a high-profile attitude into the consciousness of the general public, whether it is the use of machine learning and other related technologies, Google Alphago 5 innings 4 win the record to defeat the world's go champion, Or will Twitter, which uses machine learning technology, be able to identify if you've posted tweets when you're drunk, and no matter how you discover and understand the existence of machine learning technologies, one thing goes without saying: The age of machine learning has come.

Although machine learning technology looks like this artifact, the curiosity about machine learning is matter, and the need to make it work in related industries is actually another matter. This article will help you understand what it means to be a machine learning engineer and what professional skills are required to work.
If you're considering a career as a machine-learning engineer, you have to figure out two very important things at the beginning. First of all, the machine learning Engineer's post is not a "purely" academic role, you do not need to have scientific research experience or professional academic education background. Second, if you only have the ability of a software engineer or only have the experience of data science is far from being a qualified machine learning engineer, unless you have both technical experience at the same time.

Data analysis Vs. Machine learning Engineers

If you want to be a machine learning engineer, you have to figure out the difference between the former and the data analyst, and it's very important. In short, the most crucial difference between the two is that their ultimate goal is quite different. As a data analyst, your primary responsibility is to analyze the data and extract from these abstract data specific stories that you can understand and generate actionable insights from them. The focus of the data analysis effort is to communicate to the public and show the charts, models have been visualized. The analysis and presentation of data is performed by humans, and other people make business decisions based on the data you present. This, in particular, must give you enough attention-the "audience" of the results after your data analysis is human. But from a machine learning Engineer's point of view, the result of their final output is a working software (not the analysis or visualization you've created all along), and the "audience" of your output is usually made up of other software plugins, These software plugins can operate on their own, with little or no supervision of human labor. The intelligence of software means feasibility, but in machine learning model, decision making is decided by system, and the system can influence the behavior of product or service. That's why software engineering is so important to machine learning engineers.
  

Understanding the ecosystem--to understand the ecosystem of software

Before you begin to learn specific skills, I would like to explain another concept to you. Becoming a machine learning engineer must require you to have a clear understanding of the entire software system you are designing.
For example, if you are working on a chain store project, and the company needs to start a targeted coupon based on the customer's previous purchase history, the goal is to generate coupons that consumers can actually use. In the data analysis model, you can collect the purchasing data of the consumer, and after analyzing the data, we can observe the trend of the purchasing behavior of the consumers and propose a response strategy accordingly. The machine learning method is to write a system that automatically generates coupons. But what is the way to learn to write a system like this? You have to understand the ecosystem of project development--including commodity inventory, commodity category, price, purchase order, point of sale terminal software, CRM management system and so on.
In the final analysis, the process of the project and the understanding of machine learning algorithms do not have much to do with the way and time they are applied, but they require you to have a deep understanding of the system's interconnectedness and require you to successfully write a software with high integration and interface capabilities. Remember, the result of machine learning output is actually a software that can run efficiently!
Now, let's start to understand the details of becoming a machine learning engineer. We will divide this information into two basic points: a brief description of the skills and language and library. First, we will start with the skills introduction and we will introduce the language and library of machine learning in future content.

Skills Introduction
1. Computer Science Fundamentals and programming
Fundamentals and programming of computer science

For machine learning engineers, the importance of the fundamentals of computer science includes data structures (stacks, queues, multi-bit arrays, trees and images, etc.), algorithms (search, classification, optimization, dynamic programming, etc.), computational complexity (P vs NP, NP-complete problem, large O-symbol, approximate algorithm, etc.) and computer architecture (Storage, caching, bandwidth, deadlock, distributed processing, and so on).
When you are programming, you must be able to apply, execute, modify, or process these basic knowledge mentioned above. After-school exercises, coding contests, and hackathon games are the perfect way to hone your skills.
  

2. Probability and statistics probability theory and mathematical statistics

The formal representation of probability (conditional probability, Bayesian law, possibility, independence, etc.) and the technology derived from it (Bayesian network, Markov decision process, hidden Markov model, etc.) are the core of the machine learning algorithm, which can be used to deal with the uncertainty problems in the real world. And this field is closely related to statistics, this discipline provides many kinds of measurement indicators (mean, median, variance, etc.), distribution (uniform distribution, normal distribution, two-item distribution, Poisson distribution, etc.) and analytical methods (ANOVA, hypothesis experiments, etc.), these theories are necessary for the establishment and validation of observational data models. Many of the statistical modeling programs for machine learning algorithms can be extended.

3. Data Modeling and evaluation modeling and evaluation

Data modeling is the process of evaluating the basic structure of a given database in order to discover the useful patterns (correlations, aggregation relationships, feature vectors, etc.) and/or predict the characteristics of previous cases (classification, regression, anomaly detection, etc.). The key to the evaluation process is to continually evaluate the good performance of the given model. Depending on the task in hand, you need to select an appropriate precision/error measurement (such as loss of log classification, squared error of linear regression, etc.) and evaluation strategy (training test, continuous vs. random cross-validation, etc.). Through the iterative study of the algorithm, we can find that there will be a lot of errors, and we can be based on these errors on the model (such as neural network inverse propagation algorithm) to fine-tune, so even if you want to be able to use the most basic standard algorithm, you need to understand these measurement indicators.
  

4. Applying machine learning algorithms and libraries application machines learning algorithms and libraries

Although the standardization of machine learning algorithms can be implemented extensively through library/package/API (such as Scikit-learn,theano, Spark MLlib, H2O, TensorFlow, etc.), the application of the algorithm also includes selecting the appropriate model (decision, tree structure , nearest neighbors, neural networks, support vector machines, multi-model integration, etc.), learning programs for data (linear regression, gradient descent, genetic algorithms, bag flipping, model-specific methods, etc.), and you need to understand how hyper-parameters affect learning. You also need to be aware of the strengths and weaknesses that exist between the different ways, and the many pitfalls that can lead you to a snag (deviations and variances, high fit and low fit, data loss, data lost, etc.). For the challenges of data science and machine learning, you can go to the Kaggle website to get a lot of learning references, you can find the nuances of different problems, so that you can better grasp the machine learning algorithm.

5. Software Engineering and system design software engineering

At the end of each day, machine learning engineers typically produce results or products that are delivered as software. This software is also a small plug-in, it can be applied to a relatively larger product or service ecosystem. You need to have a good grasp of how to make these different widgets work together and communicate with each other smoothly (using library function calls, data interfaces, database queries, etc.), in order for other plugins to work well with your plugin, you need to build the right interface for your spreads. A well-designed system avoids future bottlenecks and allows your algorithmic system to meet the scale-up performance of the exploding data volume. The best practical experience in software engineering (requirements analysis, system design, modularity, versioning, testing, archiving, etc.) is invaluable for capacity, collaboration, quality, and maintainability.

Machine learning job roles--work role

As more and more companies are trying to use emerging technologies to tap into more profits for themselves, the demand for machine-learning-related jobs is increasing. The following picture shows you that compared to a typical machine learning engineer, a relatively important core skill includes the following:

The future of machine technology learning--

Perhaps the most addictive feature of a machine learning engineer is that the role has broad adaptability that seems omnipotent. Many industries, including the education industry, computer science and more, have been positively impacted by machine learning. In fact, you will find that no field does not apply machine learning technology. For some industry cases, they have an extremely urgent need for machine learning technology. The health care industry is an obvious example. Machine learning technology has been widely used in many important areas of the long night of health care, whether it is dedicated to reducing care differences or medical scanning analysis, and machine learning technologies are subtly changing these areas. Mr. David Sontag, an assistant professor at the University of New York's School of Mathematical Sciences and the Data Science Center, recently delivered a speech on machine learning technology and health care systems, in which he discussed how machine learning has transformed the entire healthcare industry through its potential.
There is no doubt that the world is undergoing a rapid and dramatic transformation. The demand for machine learning engineers is showing an exponential growth trend. The world is full of complex challenges, and therefore requires more complex systems to solve these challenges. Machine learning engineers are the best candidates to build these systems. If your future requires better development with machine learning technology, then this is the right time to take your skills and develop your thinking!

[to the AI Engineer Learning route and 5 basic skills

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.