Like most code, machine learning happens mainly through algorithms. The initial programmer inputs an algorithm that the machine can use to interpret data. Then, the data is inputted by the user or collected by the machine, and the machine will use the algorithm to interpret it. There are many different algorithms that can be used to accomplish machine learning. Below are a few types.
Types of Algorithms
- Supervised learning: In supervised learning, a machine is given examples of both the desired input and the desired output of a specific instance. It is then asked to replicate that I/O structure.
- Unsupervised learning: In unsupervised learning, a machine is given examples of both the desired input and the desired output of a specific instance but not told which data points are the input and what data points are the output. The machine must use clusters to map the data and then replicate the examples from these maps.
- Semi-Supervised learning: Semi-Supervised learning is a mix of supervised and unsupervised learning. The machine is given examples of the input and output as well as labels for some of the data points. It then must map the unlabeled data points and replicate the example.
- Reinforcement learning: Reinforcement learning uses measurable changes to a machine's environment as data points that cause the robot to map the environment and learn from the changes that occur.
- Learning to learn: Learning to learn uses a machine's previous experience and it's inductive bias (the part of the algorithm that contains the assumptions programmed into the machine) to create general rules on how to behave with and interpret a set of data.
- Transductive: Like learning to learn, transduction focuses on previous experience and inductive bias; however, it applies that experience to individual cases and not general action.
Developmental robotics is what is most commonly associated with AI and often regarded as the ultimate goal. It is the idea of applying a variety of these learning algorithms, along with other branches of AI and robotics, to create something that not only thinks, but moves like a human being. This means applying learning algorithms to robotic code, hardware, and I/O methods. Some examples include but are not limited to:
- Speech recognition
- Facial expressions
- Object Manipulation
Languages that have been used for Implementing these Algorithms
In general, any programming language can be used to code for machine learning if a person knows how to properly implement the algorithms using the language. However, a person needs to keep in mind the speed of the language and how easy it is to use when choosing a language. Here are some examples of common languages used for machine learning: