Machine Learning Algorithms Landing
What is Algorithm Landing? No, we’ve come across people who have first questions about what an algorithm is. Algorithm, in mathematics (arithmetic) and computer science, a defined, computer-executable instruction of a finite sequence of steps or sequences commonly used in computation, data processing, and automated reasoning. As an efficient method, algorithms are used to compute functions, which consist of a series of well-defined instructions and can be clearly expressed in limited time and space.
Simple understanding: Algorithms are certain computing methods, but these methods are implemented by computers, so they require a series of computer instructions. Take a specific example, in order to calculate some problems, we will abstract the problem into a mathematical function, such as a binary linear function. We have the elimination method to solve. This elimination method can be understood as an algorithm.
How to land for Machine Learning Algorithms
What is Algorithm Landing?
The landing of the algorithm can be simply understood as: the algorithm works.
It used to be artificial experience, slapped the head or processed it with Excel, or system some logic rules. Now, you have a set of algorithms online that can assist/replace human decision-making, and it works. For example, if you have launched a set of recommendation algorithms, this algorithm will be executed online, instead of manual testing, to automatically detect blood sugar data for the elderly, and give how much change has been brought about in the past, and whether it has a good control effect on the control parameters.
Another example is your fall detection planning algorithm for the elderly. This algorithm replaces manual estimation and adopts the elderly’s gait, actions, behaviors, habits, changes, etc., and this algorithm saves a lot of experimental research time for falls, and the algorithm results can be It is convenient to compare the previous data and see how much cost reduction the actual implementation brings.
It can be concluded that the implementation of the algorithm depends on the system products and also on the effect evaluation. So, as an algorithm engineer, what can you do when the algorithm is implemented? What skills do you need to have?
|Technical ability||Data Processing, Analysis and Mining|
|Algorithmic ability||algorithm understanding, program design, experimental design, etc|
|Business||Business Understanding and Abstraction|
|Processing||Processes and Objectives|
Data processing, analysis and mining capabilities for Machine Learning Algorithms Landing
Data full stack capability. Algorithms must deal with data, and algorithm engineers must also participate in data processing.
Through the dirty work of the data, you can understand the problems reflected behind the data. After the process of data processing and analysis, you also have a sufficient understanding of the data input into your algorithm, and you are more able to optimize and iterate the algorithm.
While doing the algorithm, if you have the analytical ability, you can independently verify the conclusions and challenges put forward by the business personnel, which can achieve multiplier effect in the implementation process of the algorithm. It is very necessary in the definition stage of the problem and in the later stage of analysis of the effect of the algorithm results.
Machine Learning Algorithms Ability
- Master the basic theory of algorithms
- Design of Algorithm Scheme
- Design of Algorithm Experiments
As an algorithm engineer, you need to have a solid theoretical foundation of algorithms and understand the principles, advantages and disadvantages behind the algorithm. Without the support of this step, the overall algorithm design cannot be supported.
Algorithm solution design can be understood as: given you an actual algorithm problem, can you design the input and output of the algorithm, what constraints are there, what is the suitable algorithm, what are the advantages of your algorithm, etc.? Algorithmic engineers are more appropriate for algorithmic solutions than algorithmic engineers. The design of the algorithm experiment involves how to verify the algorithm effect, how to monitor the algorithm effect, etc., how to design the A/B test, and so on.
Engineering Ablity for Machine Learning Algorithms
Algorithmic models need to be deployed, so engineering capabilities are also essential. Although many companies use SDE (Software Development Engineer) to finally complete the model deployment, the algorithm needs to be connected and communicated with SDE. The code is written too poorly, if it is not standardized and there is no documentation, it will simply fail. A lot of workload for SDE and test engineers.
Many algorithm engineers don’t pay attention to programming, thinking that as long as it can be implemented, it will be fine. In fact, good programming habits and codes can be multiplied with half the effort when verified by offline experiments, which can quickly adjust parameters and optimize, saving time. Later transition to online deployment can also be quickly converted.
In addition, the amount of data is now very large, and it also involves parameter adjustment and distributed training under large-scale data. Those who do not have engineering capabilities will also be eliminated.
Business Understanding and Abstraction for Machine Learning Algorithms Landing
As the ability with the most votes, there are many people who cannot understand it. What is business understanding and abstraction? This is an important ability that algorithm engineers should have but most of them do not have, that is, abstracting the actual business problem into a technical problem.
Many people should have participated in mathematical modeling. Mathematical modeling is the need to translate the problems that need to be solved in actual scenarios in mathematical language, and then use algorithms to solve them. Even simple mathematical application problems translate the problems of practical scenarios into mathematical language. In practical work, quickly understand business requirements and goals, abstract business problems, and abstract them into mathematical problems to express.
Second, treat yourself as a product manager, and do things with a starting point and purpose. As an algorithm engineer, isn’t it useful that algorithms can solve practical problems? So you need to understand the business goals and what goals the algorithm can bring. And this also requires a sufficient understanding of the business to know what value the algorithm can bring to the business.
In addition, some scene requirements do not necessarily need to be solved by algorithms. Don’t think about what neural network can be used for this, and that can try some reinforcement learning.
Communication skills for Machine Learning Algorithms Landing
As an algorithm engineer, you’re not just an engineer buried in code. First, you need to be able to express your thoughts so that the other person can understand and understand. Second, quickly understand what others are trying to say, or some of the meaning behind it. Otherwise, you have nothing to do with force, and you have nowhere to express it to make people feel it. Wouldn’t you panic! Learn the art of communication!
Algorithm engineer is not a single role, you are a member of the team, whether it is your own expression or the understanding expressed by others, it is your indispensable ability as a team role.
In the end, can you land with so many abilities? Are you landing because your algorithm is very strong? otherwise. The so-called do your best, know the destiny.
It is still difficult to push the landing by one person, but you can maximize the probability of landing from an algorithmic point of view. Assuming that the landing involves four functional positions: business, algorithm, product and R&D, the probability of each function landing independently ：
The overall landing probability：
, at least you can make p2 as large as possible.
Summary of main algorithm landing scenarios
Recommendation algorithm: Our spending power should not be underestimated. Because of consumption, various shopping and consumption platforms have been brought. These platforms recommend products to us through recommendation algorithms through mining and classification of our basic information and purchase information. At present, the recommendation algorithm is the main landing product of the Internet algorithm, and it is involved in almost all major Internet platforms and catering applets.
Search algorithm: keyword-based search optimization, keyword-based search recommendation. Similar to the recommendation algorithm, the search algorithm performs search recommendation and search optimization through user click records, etc. There is also a lot of involvement on the Internet platform.
Computer vision algorithm: mostly used in security, face recognition in parks, industrial fault detection, and some robot scenarios.
Natural language processing algorithm: It is mostly used in intelligent customer service, business circle guidance robots, chat robots and other fields.
Operation research optimization algorithm: It is mostly used in advertising traffic optimization, route planning, inventory optimization, dynamic commodity pricing, O2O scheduling and other scenarios.
Reinforcement learning algorithm: mostly used in product recommendation, game AI, O2O scheduling and other scenarios
Machine Learning Algorithms: Mostly used in financial risk control, traffic/demand forecasting and other scenarios.
There are some other scenarios. Relatively speaking, it is easy to implement a little algorithm, focusing on system-related, and there is no or less manual operation. Such as recommendation, game AI, etc. The original manual decision-making execution and operation, and now want to use algorithms to replace the decision-making, so the implementation of the implementation of the promotion is difficult and subject to strong resistance.
1. Regularization Algorithms
2. Ensemble Algorithms
3. Decision Tree Algorithm
5. Artificial Neural Network
6. Deep Learning
7. Support Vector Machine
8. Dimensionality Reduction Algorithms
9. Clustering Algorithms
10. Instance-based Algorithms
11. 贝叶斯算法（Bayesian Algorithms
12. Association Rule Learning Algorithms
13. Graphical Models