Abductive Learning ================== Traditional supervised machine learning, e.g. classification, is predominantly data-driven, as shown in the below figure. Here, a set of data examples is given, including training instances :math:`\{x_1,\dots,x_m\}` and corresponding ground-truth labels :math:`\{\text{label}(x_1),\dots,\text{label}(x_m)\}`. These data are then used to train a classifier model :math:`f`, aiming to accurately predict the unseen data instances. .. image:: ../_static/img/ML.png :align: center :width: 280px In **Abductive Learning (ABL)**, we assume that, in addition to data, there is also a knowledge base :math:`\mathcal{KB}` containing domain knowledge at our disposal. We aim for the classifier :math:`f` to make correct predictions on data instances :math:`\{x_1,\dots,x_m\}`, and meanwhile, the pseudo-groundings grounded by the prediction :math:`\left\{f(\boldsymbol{x}_1), \ldots, f(\boldsymbol{x}_m)\right\}` should be compatible with :math:`\mathcal{KB}`. The process of ABL is as follows: 1. Upon receiving data instances :math:`\left\{x_1,\dots,x_m\right\}` as input, pseudo-labels :math:`\left\{f(\boldsymbol{x}_1), \ldots, f(\boldsymbol{x}_m)\right\}` are predicted by a data-driven classifier model. 2. These pseudo-labels are then converted into pseudo-groundings :math:`\mathcal{O}` that are acceptable for logical reasoning. 3. Conduct joint reasoning with :math:`\mathcal{KB}` to find any inconsistencies. If found, the pseudo-groundings that lead to minimal inconsistency can be identified. 4. Modify the identified facts through **abductive reasoning** (or, **abduction**), returning revised pseudo-groundings :math:`\Delta(\mathcal{O})` which are compatible with :math:`\mathcal{KB}`. 5. These revised pseudo-groundings are converted back to the form of pseudo-labels, and used like ground-truth labels in conventional supervised learning to train a new classifier. 6. The new classifier will then be adopted to replace the previous one in the next iteration. This above process repeats until the classifier is no longer updated, or the pseudo-groundings :math:`\mathcal{O}` are compatible with the knowledge base. The following figure illustrates this process: .. image:: ../_static/img/ABL.png :width: 800px We can observe that in the above figure, the left half involves machine learning, while the right half involves logical reasoning. Thus, the entire Abductive Learning process is a continuous cycle of machine learning and logical reasoning. This effectively forms a paradigm that is dual-driven by both data and domain knowledge, integrating and balancing the use of machine learning and logical reasoning in a unified model. For more information about ABL, please refer to `References <../References.html>`_. .. _abd: .. admonition:: What is Abductive Reasoning? Abductive reasoning, also known as abduction, refers to the process of selectively inferring certain facts and hypotheses that explain phenomena and observations based on background knowledge. Unlike deductive reasoning, which leads to definitive conclusions, abductive reasoning may arrive at conclusions that are plausible but not conclusively proven. In ABL, given :math:`\mathcal{KB}` (typically expressed in first-order logic clauses), one can perform both deductive and abductive reasoning. Deductive reasoning allows deriving :math:`b` from :math:`a`, while abductive reasoning allows inferring :math:`a` as an explanation of :math:`b`. In other words, deductive reasoning and abductive reasoning differ in which end, right or left, of the proposition “:math:`a\models b`” serves as conclusion.