Granular computing

Granular computing is an emerging computing paradigm of information processing that concerns the processing of complex information entities called "information granules", which arise in the process of data abstraction and derivation of knowledge from information or data. Generally speaking, information granules are collections of entities that usually originate at the numeric level and are arranged together due to their similarity, functional or physical adjacency, indistinguishability, coherency, or the like.

At present, granular computing is more a theoretical perspective than a coherent set of methods or principles. As a theoretical perspective, it encourages an approach to data that recognizes and exploits the knowledge present in data at various levels of resolution or scales. In this sense, it encompasses all methods which provide flexibility and adaptability in the resolution at which knowledge or information is extracted and represented.

Types of granulation
As mentioned above, granular computing is not an algorithm or process; there is no particular method that is called "granular computing". It is rather an approach to looking at data that recognizes how different and interesting regularities in the data can appear at different levels of granularity, much as different features become salient in satellite images of greater or lesser resolution. On a low-resolution satellite image, for example, one might notice interesting cloud patterns representing cyclones or other large-scale weather phenomena, while in a higher-resolution image, one misses these large-scale atmospheric phenomena but instead notices smaller-scale phenomena, such as the interesting pattern that is the streets of Manhattan. The same is generally true of all data: At different resolutions or granularities, different features and relationships emerge. The aim of granular computing is to try to take advantage of this fact in designing more effective machine-learning and reasoning systems.

There are several types of granularity that are often encountered in data mining and machine learning, and we review them below:

Value granulation (discretization/quantization)
One type of granulation is the quantization of variables. It is very common that in data mining or machine-learning applications the resolution of variables needs to be decreased in order to extract meaningful regularities. An example of this would be a variable such as "outside temperature" ($temp$), which in a given application might be recorded to several decimal places of precision (depending on the sensing apparatus). However, for purposes of extracting relationships between "outside temperature" and, say, "number of health-club applications" ($club$), it will generally be advantageous to quantize "outside temperature" into a smaller number of intervals.

Motivations
There are several interrelated reasons for granulating variables in this fashion:
 * Based on prior domain knowledge, there is no expectation that minute variations in temperature (e.g., the difference between 80 - 80.7 °F) could have an influence on behaviors driving the number of health-club applications. For this reason, any "regularity" which our learning algorithms might detect at this level of resolution would have to be spurious, as an artifact of overfitting.  By coarsening the temperature variable into intervals the difference between which we do anticipate (based on prior domain knowledge) might influence  number of health-club applications, we eliminate the possibility of detecting these spurious  patterns.  Thus, in this case, reducing resolution is a method of controlling overfitting.
 * By reducing the number of intervals in the temperature variable (i.e., increasing its grain size), we increase the amount of sample data indexed by each interval designation. Thus, by coarsening the variable, we increase sample sizes and achieve better statistical estimation.  In this sense, increasing granularity provides an antidote to the so-called curse of dimensionality, which relates to the exponential decrease in statistical power with increase in number of dimensions or variable cardinality.
 * Independent of prior domain knowledge, it is often the case that meaningful regularities (i.e., which can be detected by a given learning methodology, representational language, etc.) may exist at one level of resolution and not at another.

For example, a simple learner or pattern recognition system may seek to extract regularities satisfying a conditional probability threshold such as $$p(Y=y_j|X=x_i) \ge \alpha .$$ In the special case where $$\alpha = 1,$$ this recognition system is essentially detecting logical implication of the form $$X=x_i \rightarrow Y=y_j $$ or, in words, "if $$X=x_i,$$ then $Y=y_j $". The system's ability to recognize such implications (or, in general, conditional probabilities exceeding threshold) is partially contingent on the resolution with which the system analyzes the variables.

As an example of this last point, consider the feature space shown to the right. The variables may each be regarded at two different resolutions. Variable $$X$$ may be regarded at a high (quaternary) resolution wherein it takes on the four values $$\{x_1, x_2, x_3, x_4\}$$ or at a lower (binary) resolution wherein it takes on the two values $$\{X_1, X_2\}.$$ Similarly, variable $$Y$$ may be regarded at a high (quaternary) resolution or at a lower (binary) resolution, where it takes on the values $$\{y_1, y_2, y_3, y_4\}$$ or $$\{Y_1, Y_2\},$$ respectively. At the high resolution, there are no detectable implications of the form $$X=x_i \rightarrow Y=y_j,$$ since every $$x_i$$ is associated with more than one $$y_j,$$ and thus, for all $$x_i,$$ $$p(Y=y_j|X=x_i) < 1.$$ However, at the low (binary) variable resolution, two bilateral implications become detectable:   $$X=X_1 \leftrightarrow Y=Y_1 $$ and $$X=X_2 \leftrightarrow Y=Y_2 $$, since every $$X_1$$ occurs iff $$Y_1$$ and $$X_2$$ occurs iff $$Y_2.$$ Thus, a pattern recognition system scanning for implications of this kind would find them at the binary variable resolution, but would fail to find them at the   higher quaternary variable resolution.

Issues and methods
It is not feasible to exhaustively test all possible discretization resolutions on all variables in order to see which combination of resolutions yields interesting or significant results. Instead, the feature space must be preprocessed (often by an entropy analysis of some kind) so that some guidance can be given as to how the discretization process should proceed. Moreover, one cannot generally achieve good results by naively analyzing and discretizing each variable independently, since this may obliterate the very interactions that we had hoped to discover.

A sample of papers that address the problem of variable discretization in general, and multiple-variable discretization in particular, is as follows:, , , , , , , , , , , , , , , , ,, , ,.

Variable granulation (clustering/aggregation/transformation)
Variable granulation is a term that could describe a variety of techniques, most of which are aimed at reducing dimensionality, redundancy, and storage requirements. We briefly describe some of the ideas here, and present pointers to the literature.

Variable transformation
A number of classical methods, such as principal component analysis, multidimensional scaling, factor analysis, and structural equation modeling, and their relatives, fall under the genus of "variable transformation." Also in this category are more modern areas of study such as dimensionality reduction, projection pursuit, and independent component analysis. The common goal of these methods in general is to find a representation of the data in terms of new variables, which are a linear or nonlinear transformation of the original variables, and in which important statistical relationships emerge. The resulting variable sets are almost always smaller than the original variable set, and hence these methods can be loosely said to impose a granulation on the feature space. These dimensionality reduction methods are all reviewed in the standard texts, such as, , and.

Variable aggregation
A different class of variable granulation methods derive more from data clustering methodologies than from the linear systems theory informing the above methods. It was noted fairly early that one may consider "clustering" related variables in just the same way that one considers clustering related data. In data clustering, one identifies a group of similar entities (using a "measure of similarity" suitable to the domain — ), and then in some sense replaces those entities with a prototype of some kind. The prototype may be the simple average of the data in the identified cluster, or some other representative measure. But the key idea is that in subsequent operations, we may be able to use the single prototype for the data cluster (along with perhaps a statistical model describing how exemplars are derived from the prototype) to stand in for the much larger set of exemplars. These prototypes are generally such as to capture most of the information of interest concerning the entities.

Similarly, it is reasonable to ask whether a large set of variables might be aggregated into a smaller set of prototype variables that capture the most salient relationships between the variables. Although variable clustering methods based on linear correlation have been proposed, more powerful methods of variable clustering are based on the mutual information between variables. Watanabe has shown that for any set of variables one can construct a polytomic (i.e., n-ary) tree representing a series of variable agglomerations in which the ultimate "total" correlation  among the complete variable set is the sum of the "partial" correlations exhibited by each agglomerating subset (see figure). Watanabe suggests that an observer might seek to thus partition a system in such a way as to minimize the interdependence between the parts "... as if they were looking for a natural division or a hidden crack."

One practical approach to building such a tree is to successively choose for agglomeration the two variables (either atomic variables or previously agglomerated variables) which have the highest pairwise mutual information. The product of each agglomeration is a new (constructed) variable that reflects the local joint distribution of the two agglomerating variables, and thus possesses an entropy equal to their joint entropy. (From a procedural standpoint, this agglomeration step involves replacing two columns in the attribute-value table—representing the two agglomerating variables—with a single column that has a unique value for every unique combination of values in the replaced columns . No information is lost by such an operation; however, if one is exploring the data for inter-variable relationships, it would generally not be desirable to merge redundant variables in this way, since in such a context it is likely to be precisely the redundancy or dependency between variables that is of interest;  and once redundant variables are merged, their relationship to one another can no longer be studied.

System granulation (aggregation)
In database systems, aggregations (see e.g. OLAP aggregation and Business intelligence systems) result in transforming original data tables (often called information systems) into the tables with different semantics of rows and columns, wherein the rows correspond to the groups (granules) of original tuples and the columns express aggregated information about original values within each of the groups. Such aggregations are usually based on SQL and its extensions. The resulting granules usually correspond to the groups of original tuples with the same values (or ranges) over some pre-selected original columns.

There are also other approaches wherein the groups are defined basing on, e.g., physical adjacency of rows. For example, Infobright implemented a database engine wherein data was partitioned onto rough rows, each consisting of 64K of physically consecutive (or almost consecutive) rows. Rough rows were automatically labeled with compact information about their values on data columns, often involving multi-column and multi-table relationships. It resulted in a higher layer of granulated information where objects corresponded to rough rows and attributes - to various aspects of rough information. Database operations could be efficiently supported within such a new framework, with an access to the original data pieces still available.

Concept granulation (component analysis)
The origins of the granular computing ideology are to be found in the rough sets and fuzzy sets literatures. One of the key insights of rough set research—although by no means unique to it—is that, in general, the selection of different sets of features or variables will yield different concept granulations. Here, as in elementary rough set theory, by "concept" we mean a set of entities that are indistinguishable or indiscernible to the observer (i.e., a simple concept), or a set of entities that is composed from such simple concepts (i.e., a complex concept). To put it in other words, by projecting a data set (value-attribute system) onto different sets of variables, we recognize alternative sets of equivalence-class "concepts" in the data, and these different sets of concepts will in general be conducive to the extraction of different relationships and regularities.

Equivalence class granulation
We illustrate with an example. Consider the attribute-value system below:


 * {| class="wikitable" style="text-align:center; width:30%" border="1"

! Object !! $$P_1$$ !! $$P_2$$ !! $$P_3$$ !! $$P_4$$ !! $$P_5$$ ! $$O_1$$ ! $$O_2$$ ! $$O_3$$ ! $$O_4$$ ! $$O_5$$ ! $$O_6$$ ! $$O_7$$ ! $$O_8$$ ! $$O_9$$ ! $$O_{10}$$
 * + Sample Information System
 * 1 || 2 || 0 || 1 || 1
 * 1 || 2 || 0 || 1 || 1
 * 2 || 0 || 0 || 1 || 0
 * 0 || 0 || 1 || 2 || 1
 * 2 || 1 || 0 || 2 || 1
 * 0 || 0 || 1 || 2 || 2
 * 2 || 0 || 0 || 1 || 0
 * 0 || 1 || 2 || 2 || 1
 * 2 || 1 || 0 || 2 || 2
 * 2 || 0 || 0 || 1 || 0
 * }

When the full set of attributes $$P = \{P_1,P_2,P_3,P_4,P_5\}$$ is considered, we see that we have the following seven equivalence classes or primitive (simple) concepts:



\begin{cases} \{O_1,O_2\} \\ \{O_3,O_7,O_{10}\} \\ \{O_4\} \\ \{O_5\} \\ \{O_6\} \\ \{O_8\} \\ \{O_9\} \end{cases} $$

Thus, the two objects within the first equivalence class, $$\{O_1,O_2\},$$ cannot be distinguished from one another based on the available attributes, and the three objects within the second equivalence class, $$\{O_3,O_7,O_{10}\},$$ cannot be distinguished from one another based on the available attributes. The remaining five objects are each discernible from all other objects. Now, let us imagine a projection of the attribute value system onto attribute $$P_1$$ alone, which would represent, for example, the view from an observer which is only capable of detecting this single attribute. Then we obtain the following much coarser equivalence class structure.



\begin{cases} \{O_1,O_2\} \\ \{O_3,O_5,O_7,O_9,O_{10}\} \\ \{O_4,O_6,O_8\} \end{cases} $$

This is in a certain regard the same structure as before, but at a lower degree of resolution (larger grain size). Just as in the case of value granulation (discretization/quantization), it is possible that relationships (dependencies) may emerge at one level of granularity that are not present at another. As an example of this, we can consider the effect of concept granulation on the measure known as attribute dependency (a simpler relative of the mutual information).

To establish this notion of dependency (see also rough sets), let $$[x]_Q = \{Q_1, Q_2, Q_3, \dots, Q_N \}$$ represent a particular concept granulation, where each $$Q_i$$ is an equivalence class from the concept structure induced by attribute set $m$. For example, if the attribute set $Q$ consists of attribute $$P_1$$ alone, as above,  then the concept structure $$[x]_Q$$ will be composed of
 * $$\begin{align}

Q_1 &= \{O_1,O_2\}, \\ Q_2 &= \{O_3,O_5,O_7,O_9,O_{10}\}, \\ Q_3 &= \{O_4,O_6,O_8\}. \end{align}$$ The dependency of attribute set $Q$ on another attribute set $Q$, $$\gamma_P(Q),$$ is given by



\gamma_{P}(Q) = \frac{\left | \sum_{i=1}^N {\underline P}Q_i \right |} {\left | \mathbb{U} \right |} \leq 1 $$

That is, for each equivalence class $$Q_i$$ in $$[x]_Q,$$ we add up the size of its "lower approximation" (see rough sets) by the attributes in $P$, i.e., $${\underline P}Q_i.$$ More simply, this approximation is the number of objects which on attribute set $P$ can be positively identified as belonging to target set $$Q_i.$$ Added across all equivalence classes in $$[x]_Q,$$ the numerator above represents the total number of objects which—based on attribute set $P$—can be positively categorized according to the classification induced by  attributes $P$. The dependency ratio therefore expresses the proportion (within the entire universe) of such classifiable objects, in a sense capturing the "synchronization" of the two concept structures $$[x]_Q$$ and $$[x]_P.$$ The dependency $$\gamma_{P}(Q)$$ "can be interpreted as a proportion of such objects in the information system for which it suffices to know the values of attributes in $Q$ to determine the values of attributes in $P$" (Ziarko & Shan 1995).

Having gotten definitions now out of the way, we can make the simple observation that the choice of concept granularity (i.e., choice of attributes) will influence the detected dependencies among attributes. Consider again the attribute value table from above:


 * {| class="wikitable" style="text-align:center; width:30%" border="1"

! Object !! $$P_1$$ !! $$P_2$$ !! $$P_3$$ !! $$P_4$$ !! $$P_5$$ ! $$O_1$$ ! $$O_2$$ ! $$O_3$$ ! $$O_4$$ ! $$O_5$$ ! $$O_6$$ ! $$O_7$$ ! $$O_8$$ ! $$O_9$$ ! $$O_{10}$$
 * + Sample Information System
 * 1 || 2 || 0 || 1 || 1
 * 1 || 2 || 0 || 1 || 1
 * 2 || 0 || 0 || 1 || 0
 * 0 || 0 || 1 || 2 || 1
 * 2 || 1 || 0 || 2 || 1
 * 0 || 0 || 1 || 2 || 2
 * 2 || 0 || 0 || 1 || 0
 * 0 || 1 || 2 || 2 || 1
 * 2 || 1 || 0 || 2 || 2
 * 2 || 0 || 0 || 1 || 0
 * }

Consider the dependency of attribute set $$Q = \{P_4, P_5\}$$ on attribute set $$P = \{P_2, P_3\}.$$  That is, we wish to know what proportion of objects can be correctly classified into classes of $$[x]_Q$$ based on knowledge of $$[x]_P.$$ The equivalence classes of $$[x]_Q$$ and of $$[x]_P$$ are shown below.


 * {| class="wikitable"

! $$[x]_Q$$ ! $$[x]_P$$ \begin{cases} \{O_1,O_2\} \\ \{O_3,O_7,O_{10}\} \\ \{O_4,O_5,O_8\} \\ \{O_6,O_9\}\end{cases} $$ \begin{cases} \{O_1,O_2\} \\ \{O_3,O_7,O_{10}\} \\ \{O_4,O_6\} \\ \{O_5,O_9\} \\ \{O_8\}\end{cases} $$
 * }

The objects that can be definitively categorized according to concept structure $$[x]_Q$$ based on $$[x]_P$$ are those in the set $$\{O_1,O_2,O_3,O_7,O_8,O_{10}\},$$ and since there are six of these, the dependency of $Q$ on $Q$, $$\gamma_{P}(Q) = 6/10.$$ This might be considered an interesting dependency in its own right, but perhaps in a particular data mining application only stronger dependencies are desired.

We might then consider the dependency of the smaller attribute set $$Q = \{P_4\}$$ on the attribute set $$P = \{P_2, P_3\}.$$  The move from $$Q = \{P_4, P_5\}$$ to $$Q = \{P_4\}$$ induces a coarsening of the class structure $$[x]_Q,$$ as will be seen shortly. We wish again to know what proportion of objects can be correctly classified into the (now larger) classes of $$[x]_Q$$ based on knowledge of $$[x]_P.$$ The equivalence classes of the new $$[x]_Q$$ and of $$[x]_P$$ are shown below.


 * {| class="wikitable"

! $$[x]_Q$$ ! $$[x]_P$$ \begin{cases} \{O_1,O_2,O_3,O_7,O_{10}\} \\ \{O_4,O_5,O_6,O_8,O_9\} \end{cases} $$ \begin{cases} \{O_1,O_2\} \\ \{O_3,O_7,O_{10}\} \\ \{O_4,O_6\} \\ \{O_5,O_9\} \\ \{O_8\}\end{cases} $$
 * }

Clearly, $$[x]_Q$$ has a coarser granularity than it did earlier. The objects that can now be definitively categorized according to the concept structure $$[x]_Q$$ based on $$[x]_P$$ constitute the complete universe $$\{O_1,O_2,\ldots,O_{10}\}$$, and thus the dependency of $P$ on $Q$, $$\gamma_{P}(Q) = 1.$$ That is, knowledge of membership according to category set  $$[x]_P$$ is adequate to determine category membership in $$[x]_Q$$ with complete certainty; In this case we might say that $$P \rightarrow Q.$$ Thus, by coarsening the concept structure, we were able to find a stronger (deterministic) dependency. However, we also note that the classes induced in $$[x]_Q$$ from the reduction in resolution necessary to obtain this deterministic dependency are now themselves large and few in number; as a result, the dependency we found, while strong, may be less valuable to us than the weaker dependency found earlier under the higher resolution view of $$[x]_Q.$$

In general it is not possible to test all sets of attributes to see which induced concept structures yield the strongest dependencies, and this search must be therefore be guided with some intelligence. Papers which discuss this issue, and others relating to intelligent use of granulation, are those by Y.Y. Yao and Lotfi Zadeh listed in the below.

Component granulation
Another perspective on concept granulation may be obtained from work on parametric models of categories. In mixture model learning, for example, a set of data is explained as a mixture of distinct Gaussian (or other) distributions. Thus, a large amount of data is "replaced" by a small number of distributions. The choice of the number of these distributions, and their size, can again be viewed as a problem of concept granulation. In general, a better fit to the data is obtained by a larger number of distributions or parameters, but in order to extract meaningful patterns, it is necessary to constrain the number of distributions, thus deliberately coarsening the concept resolution. Finding the "right" concept resolution is a tricky problem for which many methods have been proposed (e.g., AIC, BIC, MDL, etc.), and these are frequently considered under the rubric of "model regularization".

Different interpretations of granular computing
Granular computing can be conceived as a framework of theories, methodologies, techniques, and tools that make use of information granules in the process of problem solving. In this sense, granular computing is used as an umbrella term to cover topics that have been studied in various fields in isolation. By examining all of these existing studies in light of the unified framework of granular computing and extracting their commonalities, it may be possible to develop a general theory for problem solving.

In a more philosophical sense, granular computing can describe a way of thinking that relies on the human ability to perceive the real world under various levels of granularity (i.e., abstraction) in order to abstract and consider only those things that serve a specific interest and to switch among different granularities. By focusing on different levels of granularity, one can obtain different levels of knowledge, as well as a greater understanding of the inherent knowledge structure. Granular computing is thus essential in human problem solving and hence has a very significant impact on the design and implementation of intelligent systems.