MindMap Gallery General Knowledge of Algorithms got a quality course - reading notes
Spend 3 hours to unlock a required course in the era of human-computer interaction. The laws of nature are no longer all that governs how the world operates. The human world increasingly operates through algorithms. Only by understanding it can you control it.
Edited at 2022-11-15 14:06:57Avatar 3 centers on the Sully family, showcasing the internal rift caused by the sacrifice of their eldest son, and their alliance with other tribes on Pandora against the external conflict of the Ashbringers, who adhere to the philosophy of fire and are allied with humans. It explores the grand themes of family, faith, and survival.
This article discusses the Easter eggs and homages in Zootopia 2 that you may have discovered. The main content includes: character and archetype Easter eggs, cinematic universe crossover Easter eggs, animal ecology and behavior references, symbol and metaphor Easter eggs, social satire and brand allusions, and emotional storylines and sequel foreshadowing.
[Zootopia Character Relationship Chart] The idealistic rabbit police officer Judy and the cynical fox conman Nick form a charmingly contrasting duo, rising from street hustlers to become Zootopia police officers!
Avatar 3 centers on the Sully family, showcasing the internal rift caused by the sacrifice of their eldest son, and their alliance with other tribes on Pandora against the external conflict of the Ashbringers, who adhere to the philosophy of fire and are allied with humans. It explores the grand themes of family, faith, and survival.
This article discusses the Easter eggs and homages in Zootopia 2 that you may have discovered. The main content includes: character and archetype Easter eggs, cinematic universe crossover Easter eggs, animal ecology and behavior references, symbol and metaphor Easter eggs, social satire and brand allusions, and emotional storylines and sequel foreshadowing.
[Zootopia Character Relationship Chart] The idealistic rabbit police officer Judy and the cynical fox conman Nick form a charmingly contrasting duo, rising from street hustlers to become Zootopia police officers!
General knowledge of algorithms
Understanding algorithms
Nature
Algorithms have extremely stringent requirements for clarity
eg. Matchmaker’s experience: Live close – how close is considered close? close to home? Close to work? Prioritization between multiple locations...
Algorithms solve problems with deterministic guarantees
Modeling is the essence of algorithm advantage
eg. When shopping for a thermos kettle online, the thermos kettle is always recommended; when searching for "The Wind", various spy movies are recommended.
Modeling: treat different problems in the same way and solve them with the same set of algorithms
Algorithms are not good or bad, they are all human thoughts behind them
the complexity
Difficulties in evaluating algorithm efficiency: using absolute time to evaluate efficiency is not applicable
Hardware dependencies
gigantic
time complexity
"Functional relationship" in which the "total number of basic operations" grows with the "input size" of the algorithm
eg. To build a 10-meter-high pyramid, the design drawing determines whether 100,000 stones or 500,000 stones should be built: Stone base = basic operation; 10 meters = input scale; drawing = total amount of stone base; the functional relationship between the total amount of stone base and the height of the pyramid is the time complexity
Ways to reduce time complexity
space for time
Space complexity: a functional relationship in which the space resources occupied by the algorithm increase as the input size increases.
It is very cost-effective to sacrifice some storage space (hard disk/memory) in exchange for faster search speed.
divide and conquer thinking
eg. From Fourier transform to fast Fourier transform, compressing audio takes from 1 day to 1 second
Inspire
Utility choice model: approximating reality while maintaining solvability
Utility: Satisfaction
eg. Whether American voters vote or not is affected by many factors such as gender, ethnicity, education level, occupation, etc. There are too many factors that affect utility, and some factors even have complex correlations.
If the model is too complex, the solution cannot be obtained; in this case, the model must be simplified; it is assumed that the relationship between all factors is only linear superposition without complex interactions; this is called a linear effect model
Texas Hold'em Poker: Problem Size Reduction
The scale is too large for computers to handle, so you have to find a way to throw away some information.
eg. Texas Hold'em: Merge similar states
Explore and exploit: iterate to get results
eg. The video website will initially recommend various contents to you, and after a while it will start to recommend the contents you watch most often.
Reflection: Algorithms can only execute and cannot be held responsible; if there is a problem with the algorithm, we have to go back to humans to find the answer.
Algorithms cannot be held responsible for problems
eg. Both bookstores set their own prices at multiples of the other’s prices, resulting in unusually high prices.
Algorithms cannot be responsible for data
eg. I took iced black tea for a urine test and found that the sugar level exceeded the standard, indicating that I was suspected of having diabetes.
Algorithms cannot be held accountable for interpretation
eg. IBM builds Watson medical diagnosis system, but the algorithm cannot provide explanations
design algorithm
Algorithm blueprint
clarify the problem
clear purpose
eg. Match all taxi passengers or match as many passengers as possible as quickly as possible
Clear restrictions
eg. The waiting time for passengers in urban areas cannot exceed 1 minute.
Clarify evaluation criteria
eg. time or cost benefit
Modeling
It is the process of converting real problems into algorithmic problems, and it is also the process of abstracting away a lot of details.
Before designing an algorithm, a mathematical model must be established
Model iteration is very important
Algorithm selection
Determined by the level of achieving the goal and the time complexity
Iterate
algorithms, hardware
Modeling
Determine the hypothesis
Determine the accuracy requirements for prediction results, discard unimportant details, and clarify and quantify fuzzy issues
Validate model
Use common sense to verify; use historical data to verify
Weigh feasibility
It should be close to reality and easy to solve.
Algorithm selection
Relationship: Models and algorithms are not one-to-one correspondence
eg. knapsack problem
Choice: The trade-off between quality and efficiency
eg. The decision to place online ads needs to be done instantly and uses a greedy algorithm;
eg. When planning to protect wild animals, we must find the optimal solution as much as possible and use the branch and bound algorithm.
Advanced: More considerations for algorithm engineers
Prefer algorithms with low data sensitivity, few restrictions, and little dependence on data
algorithm strategy
Iterate
Iterative algorithm: An algorithm that repeats a fixed operation through a loop, with each step starting from the result of the previous step and gradually approaching the answer.
The conditions for the iterative algorithm to be effective: first, the algorithm must converge; second, the fixed point must be unique
The iterative strategy allows for errors in the process of finding the solution, and this error decreases very quickly, so the iterative algorithm is also very fast.
eg. Searching Chicago to find a car is very slow. This is called a brute force algorithm.
eg. Use the iterative algorithm to find a car. In the first step, the distance from the car is 10 kilometers. When you turn the first turn and enter the second iteration, the distance becomes 1 kilometer. After another iteration, it becomes 100 meters. This distance is called " "residual"
divide and conquer
Divide-and-conquer algorithm: a backtracking algorithm that splits large problems into small ones; through backtracking, the same problem is continuously decomposed until the problem is small enough to be solved directly, and then the solutions to the small problems are merged into the original problem solution.
eg. The chief referee of a tennis match subcontracts the refereeing work at different levels.
Traceback: nested loop calls its own procedure
Conditions for the effectiveness of the divide-and-conquer algorithm
Can it be used? Make sure that the problem can be decomposed into sub-problems that are similar to the original problem and that these sub-problems are independent of each other.
Is the solution fast or not?
The two important operations in divide and conquer - decomposition and merging, are not free
eg. Collision detection: To calculate which of the 100 moving balls in the space have collided with each other, the distance between the two is calculated, a total of 4950 times; by dividing the space into two parts and detecting them independently, the number is reduced to 2450 times. Finding suitable division positions when dividing space requires additional computational costs. When merging, it is found that some balls are cut in the middle. To determine whether a collision has occurred, additional calculations are required. This is the cost of the merging result.
If the decomposition problem & the calculation of the merged results are not complex, the divide-and-conquer strategy can reduce the complexity of the algorithm.
The divide-and-conquer algorithm can be calculated in parallel with multiple CPUs, while the iterative algorithm requires that each step should be based on the result of the previous step and calculated in sequence, so it cannot be calculated in parallel with multiple CPUs.
dynamic programming
Solution: Start with the end in mind, build from the small to the big
eg. Candy taking game: Whoever faces 4 candies in the end loses
eg. Rocket vertical soft landing: the final position must be very close to the designated position, the angle between the rocket and the ground must be very close to 90 degrees, and the landing speed must be very close to 0
When facing a multi-step decision-making problem, the optimal decision of a certain step includes and depends on the optimal strategy for smaller-scale problems. This is the optimal substructure.
eg. Candy-taking game: The optimal strategy should be to take two candies at the beginning; but if you do not follow the optimal strategy when facing fewer candies in the future, you will not win if you take two candies now.
The efficiency of dynamic programming is affected by the circumference explosion. At this time, the algorithm engineer may not necessarily solve all the sub-problems accurately, but may only solve a part of them, and it is an inexact solution. Only one estimate is made for the solution of other sub-problems.
branch and bound
Portfolio Optimization
It is not difficult to find a feasible solution, but it is particularly difficult to find the optimal solution.
eg. Find the biggest apple on the tree: cut off the branches that are obviously smaller than the apples, leaving a small number of branches for comparison.
branch and bound
eg. Find the tallest student in middle school
Branch: Junior High School/High School
Delimitation: The spring outing cave of the junior high school is 1.8 meters high, no one needs to bend down - "1.8 meters" is the upper limit of this branch of the junior high school
Pruning: If there is one tree in the senior high school that is over 1.8 meters tall, the entire junior high school can be eliminated.
When the target that can be obtained in a certain sub-search space is not as good as a known feasible solution, this sub-space will be eliminated directly.
How to make branch-and-bound method efficient
It depends on how effectively you can prune; if you only branch without pruning, there is no difference from counting them all.
"Early stopping" strategy: If the obtained temporary optimal dissociation is very close to the real optimal solution, early stopping can greatly save time.
heuristic
When encountering a particularly complex combinatorial optimization problem, if you cannot find the optimal solution, you can turn to heuristic algorithms to find a good feasible solution.
Heuristic algorithms: either consistent with human intuition or natural laws
Monte Carlo
Applicable: Too many possibilities to count
Monte Carlo: Sampling random events in the problem, performing independent calculations for a limited number of samples, and finally statistics of the sample results
It relies heavily on the correctness of the parameters and is not very helpful in revealing the nature of the problem.
Algorithm Frontier
machine learning
Machine learning algorithms are a series of algorithms that allow computers to learn autonomously. They are most suitable for problems that humans cannot solve using clear rules.
Machine learning has learned many details that humans have not been taught and do not understand.
Machine learning learns the complex relationships between things
Learning strategy: How machine learning algorithms learn
K neighbor algorithm, based on memory, finally expresses a bunch of historical data
eg. Case law in the common law system
The decision tree model summarizes the conditional judgments through data induction, and finally expresses some complex conditional judgments.
The neural network model simulates the transmission of nerve signals and the process of nerve responses to different external information, and finally expresses a series of parameter values.
01 Essence: What exactly is an algorithm?
1. Algorithms have extremely strict requirements for clarity.
People can accept a certain degree of ambiguity when doing things, but algorithms have extremely strict requirements for clarity.
The same algorithm and the same input will definitely get the same output (can be reproduced)
An algorithm is a set of tools that solve problems with deterministic guarantees.
2. Modeling is the essence of the algorithm’s advantage
Modeling means treating different problems in the same way and using the same set of algorithms to solve them.
The greatest value of modeling is to give the algorithm extraordinary problem migration capabilities.
3. Algorithms are not good or bad, they are all designers’ thoughts behind them.
Algorithmic models are only the reflection of human thoughts
The algorithm will not be good or bad, but in different scenarios, we need different value preferences and design ideas.
02 Complexity: How to judge whether the algorithm is efficient?
1. Two major problems in evaluating algorithm efficiency
Hardware dependencies
To solve the same problem, it might have taken 1 month 50 years ago, but now it can be calculated in 3 seconds. Can we say that the current algorithm is more efficient? 50 years ago and now, the algorithm may be the same, and the speed increase is because the hardware has improved.
"Infinity" problem
When the input size of the algorithm approaches infinity, the time it takes the algorithm to solve the problem also approaches infinity - there is no definite end time, and using absolute time is less reliable.
2. Time complexity is the most important tool to measure the efficiency of an algorithm.
Time complexity is the total number of certain basic operations in an algorithm, which is a functional relationship that grows with the size of the input to the algorithm.
The job of the algorithm engineer is to find better "blueprints" and algorithms with higher efficiency and lower time complexity.
3. Method 1 to reduce time complexity: exchange space for time
Space complexity: It is a functional relationship that increases as the input size increases as the space resources occupied by the algorithm increase.
4. Method 2 to reduce time complexity: divide and conquer thinking
"Divide and conquer" is to divide a complex 1 problem into two or more identical or similar sub-problems, and then divide the sub-problems into smaller sub-problems until the final sub-problem can be solved simply and directly. The solution of the original problem is the sub-problem. Combination of solutions to problems
The divide and conquer algorithm has a backtracking process. The "divide and conquer" we usually talk about does not. The divide and conquer algorithm has a backtracking process. The usual "divide and conquer" does not.
03 What kind of algorithm is a clever algorithm?
1. Utility selection model: approximate reality and maintain solvability
When people make choices, they usually choose the option that brings them the greatest satisfaction, that is, they choose the option that is most useful to them.
In reality, there are many factors that affect utility, and there are very complex relationships between them. An algorithm that is completely close to reality cannot get a solution.
"Linear utility model" - Assume that the relationship between all factors is just a linear superposition, without complex interactions between each other. In this way, the model becomes solvable.
2. Texas Hold’em: Problem Size Reduction
The Libratus algorithm reduces the total possibilities that need to be processed several times by merging the same situations in Texas Hold'em.
The idea behind the scale reduction algorithm is to reduce a problem that is too large to be calculated to a scale that the computer can handle by discarding a small amount of information.
3. Exploration and utilization: iteratively obtain results
"Explore and exploit"
Exploration: It means constantly recommending various video contents to see what I can watch more easily.
Utilization: When you know that I am interested in a certain type of video, recommend more such videos to me.
Algorithms often use iterative methods to gradually approach the answer to a problem. How to ensure convergence and convergence efficiency reflects the ingenuity of algorithm design.
04 Can computers avoid human errors?
1. Algorithms cannot be responsible for problems
The algorithm only executes the instructions given to it by humans, but what problem this operation solves cannot be understood by the algorithm.
The algorithm is just a tool, just like a hammer in your hand that can drive nails. It is only responsible for driving nails and does not understand what problem it is trying to solve by driving nails.
2. Algorithms cannot be responsible for data
Algorithms only care about "calculation" and don't care about "input" and "output"
Data is garbage, and no matter how good the algorithm is, it is useless. “Garbage in, garbage out”
3. Algorithms cannot be held accountable for interpretation
Algorithms can only provide solutions, not explanations
The diagnosis and treatment opinions provided by the algorithm are always consistent with those of doctors, so the algorithm is meaningless.
The diagnosis and treatment opinions provided by the algorithm are inconsistent with those of doctors, but they cannot give explanations like doctors, so they dare not trust the algorithm rashly on major issues.
Give up some accuracy and choose algorithms that are easier to explain and accept
If there are two algorithms in front of you: the first is highly accurate but complex and difficult to understand; the second is less accurate, but easy to understand and accept. Which one will you choose?
05 Algorithm Blueprint: How to design an algorithm
1. Clarify the problem
First - clarify the purpose
There can be many descriptions of the purpose, such as "matching all taxi passengers" and "matching as many passengers as quickly as possible", or "maximizing vehicle utilization". These are all different. What exactly is required? Which purpose to choose needs to be established at the beginning.
Secondly - clarify the restrictions
For example, "the waiting time of each passenger cannot exceed 10 minutes", "the waiting time of urban passengers cannot exceed 1 minute", etc. It is necessary to establish quantitative indicators.
Whether one can accurately and quickly judge the rationality of restriction conditions is a great test for an algorithm engineer.
Finally - clarify the evaluation criteria
Standard dimensions can have different settings, such as time, cost, income, etc., but they cannot be absent. Without standards, it is impossible to judge whether the problem has finally been solved.
2. Build a model
A mathematical model is needed to build a "bridge" to the computer
Model building is the process of converting real-life problems into algorithmic problems, and using another language to re-describe the problem.
3. Algorithm selection
The same problem, different algorithms have very different efficiencies
Most of the time there is no optimal solution, nor is there a unique solution
4. Iteration
Algorithms cannot directly solve problems, and models are only approximations and abstractions of real problems, which requires algorithm engineers to continuously iterate.
After completing the algorithm design and implementation, keep returning to the original problem to evaluate the algorithm.
Iteration is also a requirement of hardware
Sometimes iteration will change the entire algorithm design idea, which is more important than the algorithm design itself.
06 Modeling: How to map reality into a computer?
1. Determine the hypothesis (variables)
First, we need to figure out what accuracy of prediction results we need to get.
Determining hypotheses is actually a process of establishing important variables and core relationships step by step.
2. Validate the model
There is no fixed method for verifying a model, nor is it static. We have to demonstrate it from multiple angles, and sometimes we need some creative ideas.
3. Trade-off: It should be close to reality and easy to solve.
Whether a model is the best choice depends not only on whether the model is reliable, but also on whether it can be implemented.
High accuracy requirements usually mean difficulties such as many variables, complex logic, and unavailable data.
There is no unified standard for what is best. But it has a bottom line, that is, the model must be able to obtain effective solutions.
07 Algorithm selection: What is the most important consideration when choosing an algorithm?
1. Relationship: Models and algorithms are not in one-to-one correspondence.
Backpack problem: The capacity of the backpack is limited, so choosing what to put in it is a problem
There are many algorithms corresponding to the same model
Violent algorithm: put all the treasures into the backpack and calculate all combinations. Choose the combination that has the highest value and satisfies the backpack capacity
Branch-and-bound method: Select the first treasure and consider whether to take it with you or not. No matter how the decision is made, we have a case-by-case discussion. The original problem of choosing from n treasures has been transformed into a problem of choosing from n-1 treasures. The problem becomes smaller
Genetic algorithm: Imitates the process of genetic variation in nature, treats different combinations of treasures as different DNA sequences, allows them to cross and reproduce according to certain rules, and finally selects the one that survives the fittest
Modeling does not mean that the algorithm selection is completed. Whether the problem can be effectively solved in the end, finding the appropriate algorithm is still crucial.
2. Choice: Trade-off between quality and efficiency
There is no free lunch theorem. Among many algorithmic problems, no algorithm is absolutely the best. To find the most suitable algorithm, you must weigh the pros and cons of the algorithm in different scenarios.
The trade-off between time complexity and quality level of problem solving is the top priority in algorithm selection.
There is no clear standard for weighing algorithms in specific problems
The greedy algorithm is very suitable in advertising scenarios, but it is not suitable when the national environmental protection department plans to protect wild animals.
3. Advanced: More considerations for algorithm engineers
Data issues
1️⃣ Data is inaccurate
2️⃣ Not enough data
Data has redefined the way we think about models, which is also a dimension that algorithm engineers today pay great attention to.
08 Iteration: How to get closer to the answer step by step?
1. Repeat the operation step by step to get closer to the answer
It is clear how each step of the iterative algorithm is performed, and there is also a definite judgment on whether the final answer to the problem can be obtained.
2. Conditions to ensure the effectiveness of the iteration strategy
The algorithm can converge
fixed point
Before performing the iterative algorithm, an analysis of the number of fixed points is required. If we can confirm that there is only one fixed point, then the iterative algorithm can always converge to the desired result. If there is more than one, we are not guaranteed to get the answer we want
3. Why are iterative algorithms faster?
The "residual error" continues to decrease during iterations
09 Divide and Conquer: How to break down the problem and defeat it one by one?
1. Divide large into small backtracking algorithm
The divide-and-conquer algorithm has a backtracking process, but the "divide-and-conquer" we usually talk about does not.
Backtracking: When the program decomposes the problem into two smaller sub-problems, because the sub-problems have the same structure as the original problem, the program will call itself. Call yourself in a loop, which forms a nested loop structure
The divide-and-conquer algorithm is an algorithmic strategy that continuously decomposes the same problem through backtracking until the problem is small enough to be solved directly, and then merges the solutions to the small problems into solutions to the original problem.
2. Conditions to ensure the effectiveness of the divide-and-conquer algorithm
1️⃣ Can it be disassembled?
Make sure that the problem can be decomposed into sub-problems that are similar to the original problem and that these sub-problems are independent of each other.
2️⃣ Fast or not?
Decomposition and merging are not free. If they themselves consume many calculations, then it is likely that the divide-and-conquer strategy cannot improve efficiency and is not considered effective.
3. The special features of the divide-and-conquer algorithm that make it faster
The divide-and-conquer algorithm can use "hardware" to perform "parallel operations"
10 Dynamic programming: How to start from small problems and solve big problems step by step?
1. Problem-solving ideas: Start with the end in mind, build from the small to the big
Get solutions to small problems first, then build solutions to big problems
Solve problems from back to front. Apply the right amount of propulsion with every step
2. Structure of dynamic programming algorithm: optimal substructure
Dynamic programming algorithm: When a multi-step decision-making optimization problem satisfies the optimal substructure, it is an algorithmic strategy that uses the idea of starting with the end in mind and building the big from the small to solve the problem.
Optimal substructure: When facing a multi-step decision-making problem, the optimal decision of a certain step includes and depends on the optimal strategy for smaller-scale problems.
3. Conditions for effective dynamic programming strategy
The efficiency of dynamic programming will be affected by "dimensional explosion"
11 Branch and Bound: How to decide who is the "eliminate"?
1. Combinatorial optimization: Who is the best answer?
Combination: Every decision has several possibilities, such as "putting" or "not putting" a charging station somewhere, these are the two possibilities. When the number of decision variables increases, many decision combinations will be generated between them.
Optimization: Maximizing or minimizing a goal
The characteristic of combinatorial optimization problems is that it is not difficult to find a feasible solution, but it is particularly difficult to find the optimal solution.
2. Branching and delimiting: branching, delimiting, and pruning
Branching: consider the different possibilities of the problem separately.
Delimitation: It is the process of estimating the upper bound of the optimal solution in a certain sub-search space (first determine a "temporary optimal solution" as the standard)
Pruning: When the target upper bound that can be obtained in a certain sub-search space is not comparable to a known feasible solution, the sub-space is directly eliminated.
3. How to make branch definition more effective
Effective pruning: In order to further improve the efficiency of the branch and bound method, we can use the "early stopping" strategy.
12 Heuristics: What to do after giving up the optimal solution?
1. Heuristic algorithms: algorithms based on human intuition
Heuristic algorithms are a type of algorithm that people develop based on a certain set of rules through their understanding of the problem.
Heuristic algorithms are designed for specific problems and require detailed analysis of specific problems.
2. Metaheuristic algorithm: algorithm based on understanding of nature
A series of general heuristic algorithms summarized through people's observation and simulation of nature or general logic when humans solve problems.
3. When to use heuristics
Use it when you can't find the optimal solution and "fall back to the next best solution"
Two disadvantages
1️⃣ There is no guarantee of the optimal solution
2️⃣ Easy to use or not easy to use, it’s a process of trial and error
13 Monte Carlo: What to do after losing certainty?
1. Monte Carlo method: stochastic simulation of the real world
The strategy of sampling random events in the problem, conducting independent calculations for a limited number of samples, and finally statisticalizing the sample results
Each sample represents a simulation of reality. A finite number of simulations are used to replace the possibility of all parallel universes.
2. Problems applicable to Monte Carlo
The Monte Carlo method is used when there are too many possibilities for us to calculate. If there are very few possibilities that need to be considered, just calculate them directly.
3. Things to note when using Monte Carlo
1️⃣The Monte Carlo method is an estimate of the problem, not an exact calculation.
2️⃣The success of the Monte Carlo method relies heavily on the correctness of the model and parameters
3️⃣The Monte Carlo method will reduce our chance of discovering the essence of the problem
14 Machine learning: What exactly is the machine learning?
1. If people don’t know how to teach, let the computer learn by itself.
Machine learning algorithms are a series of algorithms that allow computers to learn autonomously. They are best used on problems that humans cannot solve with clear rules.
2. What does machine learning do?
Machine learning has learned many details that humans have not been taught and do not understand themselves.
3. What exactly does machine learning learn?
The complex relationship between things, especially certain pattern characteristics in the relationship
15 Learning strategies: How does machine learning acquire knowledge?
1. The same ability can be based on different knowledge
Knowledge is our understanding of information and the relationships between things
Ability is the ability to apply knowledge into practice
Having knowledge does not mean having ability, but without knowledge there is no ability
2. Methods of acquiring knowledge: different learning models
k neighbor algorithm: judge by comparing with historical data
Decision tree model: Summarize the conditional judgment through data induction; compare the correlation between each feature and the object to be learned, put the high correlation in the conditional judgment, and throw away the low correlation.
Neural network model: simulates the transmission of nerve signals and the process of nerve responses to different information from the outside world. There are no real nerves in the algorithm, nor the strength of the nerve responses. Instead there are a lot of parameters. The closer the parameter is to zero, the less important the feature it represents
3. How to pass on the acquired knowledge to humans
difficulty
1️⃣ Machine learning expresses knowledge differently from humans
2️⃣ Human memory and computing power are limited
Current approach
1️⃣ Use simpler algorithms or models from the source
2️⃣ Explain the impact of important variables in the algorithm
16 Algorithmic thinking: How to deal with algorithm engineers?
1️⃣ Many people focus on the specific results of the immediate problem, while algorithm engineers care more about general solutions to solve more and broader problems.
2️⃣ Learn to use data to communicate with algorithm engineers. The more data and the higher the quality, the more interested algorithm engineers will be in solving the problem you are trying to solve.
3️⃣ The best way to interact with algorithm engineers is to switch back and forth between abstract models and real scenarios together.