# Relaxed Rule-Based Learning for Automated Predictive Maintenance: Proof of Concept
## 2 Relaxed Separate-and-Conquer Rule Learning approach
Let \(\mathbf{A}\) be a rule learner. Let us denote by \(Q_{\mathbf{A}}(n,m,r,k)\) the size of a training set such that with a high probability \(\mathbf{A}\) guesses the function correctly given the training set of this size. Denote \(Q_{SECO}\) and \(Q_{RSC}\) the respective sizes of training sets for SeCo with the \(ChooseNext\) heuristic and RSC. Then we make the following conjecture. Conjecture 1: \(Q_{SECO}(n,m,r,k)\) _is exponentially (by factor about 2\({}^{\prime}\)) larger than \(Q_{RSC}(n,m,r,k)\)._The intuition behind this conjecture is that SeCo in fact considers not one but many training sets that are obtained from the original set by removal the rows covered by the already discovered rules. Since we do not know in advance which rules will be discovered first, we must consider removal of rows covered by all possible \(2^{r}\) subsets of rules. After those removals the remaining training set must be sufficiently large to derive the remaining rules. On the other hand the RSC is not subject to such a constraint. Thus we predict that the learning space needed for good performance of SeCo is larger by an exponential factor in \(r\) than such a space for RSC. This exponential factor is a compensation price for distortion of the learning space carried out by SeCo during its performance. Conjecture 1 is closely related to so called _Juntas Learning Problem_[35] that is essentially a theoretical abstraction of the task of feature selection. The important difference is that we consider not a problem in general but rather specific algorithms for solving the problem. ## 3 Experiments

The purpose of this section is to empirically assess the potential of our Relaxed Separate-and-Conquer (RSC) approach. For this purpose, we compare RSC with Decision Tree (DT) and Separate-and-Conquer (SeCo) methods. We use the SeCo method equipped with the same heuristic as RSC (but computed over the dataset yet uncovered by the current collection of rules). Below we overview the DT method that we use for the experiments. In the context of ML, DT is a directed rooted tree, whose non-leaf nodes correspond to conditions on attributes of a dataset and leaves correspond to the outcomes. The outgoing edges of each non-leaf node are labeled with \(True\) and \(False\) meaning whether or not the condition associated with that node is satisfied. Thus each edge is associated with a condition which is either condition associated with its tail or the negation of this condition. The semantics of DT is tied to its root-leaf paths. Each such a path \(P\) is seen as the set of conditions \(\mathit{Cond}_{1},\ldots,\mathit{Cond}_{q}\) associated with the edges of \(P\) plus the outcome \(\mathit{out}\) associated with the leaf. Thus each root-leaf path \(P\) of DT can be seen as a _rule_ of the form \(\mathit{Cond}_{1}\wedge\cdots\wedge\mathit{Cond}_{q}\to\mathit{out}\), where \(\mathit{Cond}_{1}\wedge\cdots\wedge\mathit{Cond}_{q}\) is the _body_ of the rule consisting of conjunctions of individual conditions and \(\mathit{out}\) is the _outcome_ of the rule. The procedure of turning a DT into a set of rules as described above is called _linearization_. For example, the rules corresponding to the DT in Figure 1 are the following: \((A<3)\wedge(B>5)\to 1\); \((A<3)\wedge(B\leq 5)\to 0\); \((A\geq 3)\to 1\). We use a standard DT algorithm provided by the ML Python library Scikit-Learn [36], with the Gini index served as the splitter and the DT depth is upper-bounded by 7. To obtain a set of rules the resulting DT is _linearized_. For failure prediction we have two types of outcome only: \(\mathit{out}=1\) associated with a failure and \(\mathit{out}=0\) otherwise. We record only those rules whose outcome is 1. In other words, we ignore the rules with outcome 0 explaining why a particular failure _does not_ occur because these rules are simply not relevant for our task. **Choice of parameters. ** As specified in the previous section, the RSC algorithm requires setting of three parameters: \(\mathit{init\_free},\mathit{init\_prec},\mathit{prec\_loss}\).