code: function SVM(options) {
      this.options = Object.assign({}, defaultOptions, options);
  
      this.kernel = new Kernel(this.options.kernel, this.options.kernelOptions);
      this.b = 0;
  }
docs: Simplified version of the Sequential Minimal Optimization algorithm for training
  support vector machines
  @param {object} [options] - SVM options
  @param {number} [options.C=1] - regularization parameter
  @param {number} [options.tol=1e-4] - numerical tolerance
  @param {number} [options.alphaTol=1e-6] - alpha tolerance, threshold to decide support vectors
  @param {number} [options.maxPasses=10] - max number of times to iterate over alphas without changing
  @param {number} [options.maxIterations=10000] - max number of iterations
  @param {string} [options.kernel=linear] - the kind of kernel. {@link https://github.com/mljs/kernel/tree/1252de5f9012776e6e0eb06c7b434b8631fb21f0 List of kernels}
  @param {function} [options.random=Math.random] - custom random number generator
  @constructor