Article Contents
Article Contents

# Cluster, classify, regress: A general method for learning discontinuous functions

• * Corresponding author: Clement Etienam

This manuscript has been authored by UT-Battelle, LLC, under contract DE-AC05-00OR22725 with the US Department of Energy (DOE). The US government retains and the publisher, by accepting the article for publication, acknowledges that the US government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this manuscript, or allow others to do so, for US government purposes. DOE will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan http://energy.gov/downloads/doe-public-access-plan

• This paper presents a method for solving the supervised learning problem in which the output is highly nonlinear and discontinuous. It is proposed to solve this problem in three stages: (ⅰ) cluster the pairs of input-output data points, resulting in a label for each point; (ⅱ) classify the data, where the corresponding label is the output; and finally (ⅲ) perform one separate regression for each class, where the training data corresponds to the subset of the original input-output pairs which have that label according to the classifier. It has not yet been proposed to combine these 3 fundamental building blocks of machine learning in this simple and powerful fashion. This can be viewed as a form of deep learning, where any of the intermediate layers can itself be deep. The utility and robustness of the methodology is illustrated on some toy problems, including one example problem arising from simulation of plasma fusion in a tokamak.

Mathematics Subject Classification: Primary: 58F15, 58F17; Secondary: 53C35.

 Citation:

• Figure 1.  Numerical examples 1-4 (row a), 2 (row b), and 3 (row c). The functions are plotted in columns (a), along with the final CCR machine output $f_r(x , f_c(x))$, and the intermediate $f_c(x)$. Columns (b) show a scatter plot of the true $f(x)$ and the CCR machine $f_r(x , f_c(x))$, illustrating the correlation. Column (c) shows a histogram of $f_r(x , f_c(x))-f(x)$, illustrating the dissimilarity between the CCR reconstruction and the truth

Figure 2.  The results of CCR (a), DNN (b), and MLP(c) as applied to numerical example 2, $f_2$

Figure 3.  Numerical example 5. $f_5(x)$ is plotted in panel (a), and $f_r(x, f_c(x))$ and $f_c(x)$ are plotted in panels (b) and (c), respectively. Panel (e) shows a scatter plot of the true $y(x)$ and the CCR machine $f_r(x , f_c(x))$, illustrating the correlation. Panel (d) shows a histogram of $f_r(x , f_c(x))-y(x)$, illustrating the dissimilarity between the CCR reconstruction and the truth

Figure 4.  Numerical example 6. $f_6(x)$ is plotted in panel (a), and $f_r(x, f_c(x))$ and $f_c(x)$ are plotted in panels (b) and (c), respectively. Panel (e) shows a scatter plot of the true $y(x)$ and the CCR machine $f_r(x , f_c(x))$, illustrating the correlation. Panel (d) shows a histogram of $f_r(x , f_c(x))-y(x)$, illustrating the dissimilarity between the CCR reconstruction and the truth

Figure 5.  Numerical example 7. Subfigure (a) shows some two variable slices over test data of the true function $\chi$ (a-c), the CCR machine output $f_r(x , f_c(x))$ (d-f), the absolute difference $|\chi(x) - f_r(x , f_c(x))|$ (g-i), and the intermediate $f_c(x)$ (j-l), with remaining inputs set to the mean $\mathbb E(x_{\backslash ij})$, where $x_{\backslash ij} = (m_1, \dots, m_{i-1}, m_{i+1}, \dots m_{j-1}, m_{j+1}, \dots, m_{10})$ (assuming $i<j$). Subfigure (b) shows the input data distribution marginals

Figure 6.  Numerical example 7. Subfigure (a) shows all the remaining two variable slices of the true function $\chi$ (constructed as described in Fig. 5), and subfigure (b) shows the corresponding CCR machine output $f_r(x , f_c(x))$

Figure 7.  Numerical example 7. The first 500 (random) training data output values are plotted in Panel (a), along with the clustering values of the training data, showing $\chi$ and the cluster labels. Panel (b) shows prediction results on test data: the final CCR machine output $f_r(x , f_c(x))$, the true $\chi(x)$, and the intermediate $f_c(x)$. Panel (c) shows a scatter plot of the true $y(x)$ and the CCR machine $f_r(x , f_c(x))$. Panel (d) shows a histogram of $f_r(x , f_c(x))-\chi(x)$

Table 1.  L2 and R2 comparison for the 7 numerical examples

 Accuracy 1 2 3 4 5 6 7 L2 0.9934 0.9961 0.9964 0.9978 0.9825 0.9934 0.9835 R2 0.9978 0.9967 0.9987 0.9983 0.9845 0.9945 0.9832

Table 2.  Error attainment with set of sample points for active learning with Example 2 and strategy 1a: $N_{\rm res} = 1000$ and all points are used for passive learning, while only $n = 150$ points are used for active. We see with active learning we recover the same accuracy as to when all the points are used

 Active Passive L2 Error 0.0039 0.0039 $N$ 150 1000

Figures(7)

Tables(2)