6 Concepts That Will Help You Understand Machine Learning

As curious eLearning professionals who want to make adifference in our own little corner of the universe, we need to break outsideof our comfort zones to look beyond the human brain—and inside the artificialbrain.

From search engines to shipping management to self-drivingcars, machinesare learning how to handle big, tedious, and even complex tasks. This rise ofAI is both frightening and fascinating. The technology seems out of reach. Theprogramming needed to define such seemingly “thinking” machines must take thework of genius. Defining the sort of decision tree needed to account for allcontingencies must take years!

Enter machine learning.

Machine learning is an application of artificialintelligence. Artificial intelligence refers to any device, along with the program that runs it,that can use information about its environment to succeed at an assigned task.The more specialized these tasks are for specific applications, the less theseapplications are classified as AI. Certain AI programs, such as recognizingobjects or people, understanding human speech, or playing strategic games, havebecome routine.

The business of machine learning uses specializedprogramming to build systems that “learn” how to make decisions with regard toa very targeted task, like driving a car. A self-driving car can get better atdriving, but it could never tend a garden or serve a meal.

Sure, developing machine learning involves mechanics,complex programming, and even calculus, but it’s not as complicated as one mightthink. What makes machine learning seem complex is thinking about it in termsof traditional programming. While machine learning is programmed with languageslike Python and JavaScript, there are significant differences.

The following six concepts will help you understand what’sdifferent about machine learning.

1. Standing on three legs

Programming is about designing a system that takes input toprocess and produce an output. Looking at machine learning in the context ofinput-process-output, a fuzzy view of the concept comes into focus. Traditionalprogramming uses data in the form of alphanumeric symbols. It uses a predefineddecision tree to produce a targeted outcome, such as a result displayed on ascreen.

Machine learning, on the other hand, deals with more thanjust data. Input comes from the environment and can be in the form of sound,images, and even three-dimensional space. Instead of predetermined rules toproduce an output, machine learning uses knowledge, training, and, yes, its ownexperience to make decisions. The result is an action that increases the chanceof success at some goal. Output can come in the form of speech, a strategicgame move, or movement in space.

2. Knowledge is power

Traditional programming feeds data through a system of rules,which process the data. But machine learning needs more than just data to makedecisions. It needs knowledge.Knowledge is represented in three formats: facts, procedural, and experience.

  • Facts, or declarative, knowledge is more or lesslike the data that traditional programming uses. A list of names and propertiesfor a profile linked to each of those names is declarative knowledge.
  • Procedural knowledge is knowing how to perform atask, like tying a shoe or driving a car.
  • Experience develops heuristic knowledge, whichis akin to an artist knowing how to use the shape tool in a drawing program tocreate drawings more quickly.

Learning machines use knowledge to adjust their actions tobecome more successful and efficient at a given task. 

3. The case for calculus

Many calculus students wonder how calculus would ever be useful.Of course, calculus has its place in advanced careers like rocket science, but manypeople do not realize that calculus is essential to algorithms. 

Algorithms are the rules for problem-solving. Anyone whotook high school math might remember PEMDAS: parenthesis, exponents,multiplication, division, addition, subtraction. It represents the order ofoperations for solving a complex math problem. That’s an algorithm. Calculusequations encompass a larger set of variables that produce an area ofprobability.

Calculus is commonly used to model weather for trackingstorms. Similar to mapping all the variables in the path of a hurricane,calculus provides the same kind of modeling for guiding machine-learning decisions.This means that unknown variables and contingencies can be accommodated, ratherthan the coders having to imagine and code for only known and predeterminedcontingencies. The use of calculus reduces the amount of coding needed,accounts for unknown variables, and increases the probability of success witheach “decision” made. When a computer “makes a decision,” it is really runningdata through an algorithm to produce a result determined by probability that favorsone result over another.

4. Probably determined

Traditional programming is categorized as deterministicbecause all the possible variables the program may encounter are accounted forin a predetermined decision tree. The system is a series of if-then nodes thatlooks a lot like a flow chart. In a deterministic system, the output is verylimited, and no course of action exists for any unknown variables.

Machine learning uses probabilistic programming. Instead ofcounting on having all decisions predetermined, probabilistic programs are setup to compare unknown input to what is known and calculate the probability ofmeeting requirements for one decision or another. The more input the programprocesses, the more accurate its calculations of probability become.

5. Time to train

Before learning programs can begin learning, they need toknow what to look for. A program designed to play chess is taught how to playby allowing it to make a move and then telling it whether that move is allowedor not. The more wrong moves the program makes, the more it learns about whichmoves are correct and which moves are more likely to result in success.

In an image recognition program, a learning system is shownimages and told which ones are relevant to the target. For example, we cantrain a program to recognize whether an image includes a dog. For each imageshown, the program measures variables like color variety and pixel placement.The program can then be fed test images to compare to the properties of the imagesused to train it. The program’s decisions are confirmed or rejected, whichincreases its accuracy over time.

Because of this training process, probabilistic programs canaccomplish far more with fewer lines of code. The program develops heuristic knowledgethat leads to efficiency and the ability to handle unknown input.

6. Choosing to decide

In the words of the Rush hit “Freewill”: “If you choose notto decide, you still have made a choice.” Machine learning is useful in avariety of applications, but sometimes a simpler solution is more efficient. Forexample, when dealing with only a few variables, such as filtering smallamounts of content by select topics, simple file organization should work justfine. If the amount of content gets unwieldy or the variables for categorizingit grow beyond a few topics, machine learning might be worth the work involvedto implement it.

Similarly, to scale a solution or if the rules or variablesfor producing desired results become too complex, machine learning could offer asolution.

Machine learning is complex, but not as complicated as one might think.The bad news is that resources for developing machine learning are scarce. Thegood news is that machine learning is becoming more modularand is in higher demand. Following the news for smart eLearning solutions thatuse machine learning algorithms can offer a competitive advantage.

Share:


Contributor

Topics: