- Machine Learning in Java
- AshishSingh Bhatia Bostjan Kaluza
- 425字
- 2021-06-10 19:29:54
Solving problems with machine learning
Among the different machine learning approaches, there are three main ways of learning, as shown in the following list:
- Supervised learning
- Unsupervised learning
- Reinforcement learning
Given a set of example inputs X, and their outcomes Y, supervised learning aims to learn a general mapping function f, which transforms inputs into outputs, as f: (X,Y).
An example of supervised learning is credit card fraud detection, where the learning algorithm is presented with credit card transactions (matrix X) marked as normal or suspicious (vector Y). The learning algorithm produces a decision model that marks unseen transactions as normal or suspicious (this is the f function).
In contrast, unsupervised learning algorithms do not assume given outcome labels, as they focus on learning the structure of the data, such as grouping similar inputs into clusters. Unsupervised learning can, therefore, discover hidden patterns in the data. An example of unsupervised learning is an item-based recommendation system, where the learning algorithm discovers similar items bought together; for example, people who bought book A also bought book B.
Reinforcement learning addresses the learning process from a completely different angle. It assumes that an agent, which can be a robot, bot, or computer program, interacts with a dynamic environment to achieve a specific goal. The environment is described with a set of states and the agent can take different actions to move from one state to another. Some states are marked as goal states, and if the agent achieves this state, it receives a large reward. In other states, the reward is smaller, non-existent, or even negative. The goal of reinforcement learning is to find an optimal policy or a mapping function that specifies the action to take in each of the states, without a teacher explicitly telling whether this leads to the goal state or not. An example of reinforcement learning would be a program for driving a vehicle, where the states correspond to the driving conditions, for example, current speed, road segment information, surrounding traffic, speed limits, and obstacles on the road; and the actions could be driving maneuvers, such as turn left or right, stop, accelerate, and continue. The learning algorithm produces a policy that specifies the action that is to be taken in specific configurations of driving conditions.
In this book, we will focus on supervised and unsupervised learning only, as they share many concepts. If reinforcement learning sparked your interest, a good book to start with is Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew Barto, MIT Press (2018).
- Java編程全能詞典
- GNU-Linux Rapid Embedded Programming
- AWS:Security Best Practices on AWS
- 2018西門子工業(yè)專家會議論文集(上)
- Windows Server 2003系統(tǒng)安全管理
- Hands-On Reactive Programming with Reactor
- 空間機械臂建模、規(guī)劃與控制
- Linux系統(tǒng)下C程序開發(fā)詳解
- 常用傳感器技術(shù)及應用(第2版)
- Hands-On Business Intelligence with Qlik Sense
- Win 7二十一
- 傳感器技術(shù)及實訓(第2版)
- Hands-On Edge Analytics with Azure IoT
- Web性能權(quán)威指南
- 游戲外掛攻防藝術(shù)