Online Batch Learning

Overview

online batch learning is an algorithm for unsupervised learning that mimics the process of batch learning entirely online.

OBL enables continuous improvement while taking advantage of powerful techniques utilized in offline machine learning.

the primary goal of OBL is to form a foundation on which to build intelligent agent architectures, whose ability to create models of the world extends beyond the limits of current systems, utilizing a frame-based system that introduces symbolic approaches to cognition alongside connectionism.

reasoning and decision-making are performed by applying high-level logic to the activity of neural networks.

Batches

a batch is an data structure used for online learning that stores data in real time. once a batch reaches full capacity, it performs a clustering process to group points of data together, then finds the centroids of each cluster to produce an output. the batch then clears its data as it’s centroids are sent downstream, and begins collecting data once more.

Pipelines

the data received by a batch as input and the centroids produced as output have equivalent data types. centroids can thus be sent to other batches as input, forming chains.

a pipeline is a data structure that links multiple batches together end-to-end such that the output of one becomes the input of the next.

Classifiers

a classifier is a data structure at the end of a pipeline that accumulates centroids and uses them to classify patterns. classifiers get rid of useless centroids and create new centroids automatically when an existing class fails to categorize a sufficient number of examples or when a pattern does not fit in an existing class.

the result is a self-regulating system that attempts to find the minimum number of classes that sufficiently categorize all potential patterns.

Leave a comment