  We present an efficient approach for generating highly accurate molecular
potential energy surfaces (PESs) using self-correcting, kernel ridge regression
(KRR) based machine learning (ML). We introduce structure-based sampling to
automatically assign nuclear configurations from a pre-defined grid to the
training and prediction sets, respectively. Accurate high-level \textit{ab
initio} energies are required only for the points in the training set, while
the energies for the remaining points are provided by the ML model with
negligible computational cost. The proposed sampling procedure is shown to be
superior to random sampling and also eliminates the need for training several
ML models. Self-correcting machine learning has been implemented such that each
additional layer corrects errors from the previous layer. The performance of
our approach is demonstrated in a case study on a published high-level
\textit{ab initio} PES of methyl chloride with 44,819 points. The ML model is
trained on sets of different size and then used to predict the energies for
tens of thousands of nuclear configurations within seconds. The resulting
datasets are utilized in variational calculations of the vibrational energy
levels of CH$_3$Cl. By using both structure-based sampling and self-correction,
the size of the training set can be kept small (e.g. 10\% of the points)
without any significant loss of accuracy. In \textit{ab initio} rovibrational
spectroscopy, it is thus possible to reduce the number of computationally
costly electronic structure calculations through structure-based sampling and
self-correcting KKR-based machine learning by up to 90\%.
