Answers.Body: <p>As it is referred in the survey paper &quot;Active Learning Literature Survey&quot;:</p>
  <blockquote>
  <p>The key idea behind <strong>active learning</strong> is that a machine learning algorithm can
  achieve greater accuracy with fewer training labels if it is allowed to choose the
  data from which it learns. An active learner may pose queries, usually in the form
  of unlabeled data instances to be labeled by an <em>oracle</em> (e.g., a human annotator).
  Active learning is well-motivated in many modern machine learning problems,
  where unlabeled data may be abundant or easily obtained, but labels are difficult,
  time-consuming, or expensive to obtain.</p>
  </blockquote>
  <p><strong>Online learning</strong> uses data which become available in a sequential order. It's main goal is to update the best predictor for future data at each step.</p>
  <p>So, online learning is a more general method of machine learning that is opposed to <strong>offline learning</strong>, or <strong>batch learning</strong>, where the whole dataset has already been generated and used for training / updating the model's parameters. Moreover, a common technique for training Machine Learning models is to first perform online learning, in order to acquire an adequate data size, and then perform offline learning on the whole dataset and finaly compare the results generated by the two learning processes.</p>
  <p>On the other hand, active learning can be performed both with online learning[<a href="https://www.eecs.tufts.edu/%7Edsculley/papers/activeSpam.pdf" rel="nofollow noreferrer">1</a>] and offline learning, in order to reduce manual annotation effort during the annotation of training data for machine learning classifiers. That is, independently of how data have been generated and with what order, active learning should make the least queries, to an Oracle, needed for annotation of a subset of the data.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-24T21:03:19.223Z
Answers.LastActivityDate: 2020-08-24T21:12:00.230Z
Answers.LastEditDate: 2020-08-24T21:12:00.230Z
Answers.UserDisplayName: ddaedalus
Answers.Body: <p><strong>Active learning (AL)</strong> is a <em>weakly supervised learning</em> (WSL) technique where you can have both labelled and unlabelled data [<a href="https://academic.oup.com/nsr/article/5/1/44/4093912" rel="noreferrer">1</a>]. The main idea behind AL is that the learner (or learning algorithm) can query an &quot;oracle&quot; (e.g. a human) to label some unlabelled instances. AL is similar to <em>semi-supervised learning</em> (SSL), which is also a WSL technique, given that both deal with unlabelled and labeled data, but do that differently (i.e. SSL does not use an oracle).</p>
  <p><a href="https://en.wikipedia.org/wiki/Online_machine_learning" rel="noreferrer"><strong>Online learning</strong></a> are machine learning techniques that update the models as new data is collected or arrives sequentially, as opposed to <strong>batch learning</strong> (or <em>offline learning</em>), where you first collect a dataset of multiple instances and then you train a model once (although you can later update it when you update your dataset). Batch learning is currently the common way of training machine learning models, given that it avoids problems like the known <a href="https://ai.stackexchange.com/a/13293/2444"><strong>catastrophic interference</strong></a> (aka <em>catastrophic forgetting</em>) problem, which can occur if you learn online. For example, neural networks are known to face this problem when learning online. There are <strong>incremental learning</strong> (aka <em>lifelong learning</em>) algorithms that attempt to address this <em>catastrophic interference</em> problem.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-24T20:48:35.230Z
Answers.Text: Ah, I had misunderstood what online learning was previously. If you are training on streaming data, is online learning the typical approach?
Answers.UserDisplayName: David
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-24T20:50:29.780Z
Answers.Text: @David Yes, I would say that you need online learning if you want to learn from a stream of data. Note that you should probably look into incremental learning algorithms, which are algorithms that somehow try to avoid the problems that naive online learning algorithms can incur.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-24T20:52:55.417Z
Answers.Text: What do you think about online algorithms compared to boosting algorithms? It seems that boosting algorithms can also be used with streaming data as well.
Answers.UserDisplayName: David
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-24T20:54:52.530Z
Answers.Text: @David To be honest, I am not familiar with boosting algorithms, though I've heard of them many times. I just didn't yet have the opportunity to learn about them. I suggest that you ask a question on the site. Maybe someone can give you a more precise answer. Try to ask a specific question.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-24T20:44:43.903Z
Answers.LastActivityDate: 2020-08-25T11:09:38.147Z
Answers.LastEditDate: 2020-08-25T11:09:38.147Z
Answers.UserDisplayName: nbro
Body: <p>The definitions for these two appear to be very similar, and frankly, I've been only using the term &quot;active learning&quot; the past couple of years. What is the actual difference between the two? Is one a subset of the other?</p>
  
Tags: <machine-learning><comparison><terminology><online-learning><active-learning>
Title: What is the difference between active learning and online learning?
UserDisplayName: David
ThreadText: # What is the difference between active learning and online learning?
  
  (Asked by: username_0 on 2020-08-24)
  
  The definitions for these two appear to be very similar, and frankly, I've been only using the term "active learning" the past couple of years. What is the actual difference between the two? Is one a subset of the other?
  
  **Tags:** machine-learning, comparison, terminology, online-learning, active-learning
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2020-08-24. Score: 15 | Accepted answer
  
  **Active learning (AL)** is a *weakly supervised learning* (WSL) technique where you can have both labelled and unlabelled data [[1](https://academic.oup.com/nsr/article/5/1/44/4093912)]. The main idea behind AL is that the learner (or learning algorithm) can query an "oracle" (e.g. a human) to label some unlabelled instances. AL is similar to *semi-supervised learning* (SSL), which is also a WSL technique, given that both deal with unlabelled and labeled data, but do that differently (i.e. SSL does not use an oracle).
  
  [**Online learning**](https://en.wikipedia.org/wiki/Online_machine_learning) are machine learning techniques that update the models as new data is collected or arrives sequentially, as opposed to **batch learning** (or *offline learning*), where you first collect a dataset of multiple instances and then you train a model once (although you can later update it when you update your dataset). Batch learning is currently the common way of training machine learning models, given that it avoids problems like the known [**catastrophic interference**](https://ai.stackexchange.com/a/13293/2444) (aka *catastrophic forgetting*) problem, which can occur if you learn online. For example, neural networks are known to face this problem when learning online. There are **incremental learning** (aka *lifelong learning*) algorithms that attempt to address this *catastrophic interference* problem.
  
  > **Comments:**
  > **username_0**: Ah, I had misunderstood what online learning was previously. If you are training on streaming data, is online learning the typical approach?  
  > **username_2**: @username_0 Yes, I would say that you need online learning if you want to learn from a stream of data. Note that you should probably look into incremental learning algorithms, which are algorithms that somehow try to avoid the problems that naive online learning algorithms can incur.  
  > **username_0**: What do you think about online algorithms compared to boosting algorithms? It seems that boosting algorithms can also be used with streaming data as well.  
  > **username_2**: @username_0 To be honest, I am not familiar with boosting algorithms, though I've heard of them many times. I just didn't yet have the opportunity to learn about them. I suggest that you ask a question on the site. Maybe someone can give you a more precise answer. Try to ask a specific question.  
  
  ---
  
  ### Answer by username_1 on 2020-08-24. Score: 5
  
  As it is referred in the survey paper "Active Learning Literature Survey":
  
  > The key idea behind **active learning** is that a machine learning algorithm can
  > achieve greater accuracy with fewer training labels if it is allowed to choose the
  > data from which it learns. An active learner may pose queries, usually in the form
  > of unlabeled data instances to be labeled by an *oracle* (e.g., a human annotator).
  > Active learning is well-motivated in many modern machine learning problems,
  > where unlabeled data may be abundant or easily obtained, but labels are difficult,
  > time-consuming, or expensive to obtain.
  
  **Online learning** uses data which become available in a sequential order. It's main goal is to update the best predictor for future data at each step.
  
  So, online learning is a more general method of machine learning that is opposed to **offline learning**, or **batch learning**, where the whole dataset has already been generated and used for training / updating the model's parameters. Moreover, a common technique for training Machine Learning models is to first perform online learning, in order to acquire an adequate data size, and then perform offline learning on the whole dataset and finaly compare the results generated by the two learning processes.
  
  On the other hand, active learning can be performed both with online learning[[1](https://www.eecs.tufts.edu/%7Edsculley/papers/activeSpam.pdf)] and offline learning, in order to reduce manual annotation effort during the annotation of training data for machine learning classifiers. That is, independently of how data have been generated and with what order, active learning should make the least queries, to an Oracle, needed for annotation of a subset of the data.
  
  
  ---
  
  