docs: @Override
      public void trainOnInstanceImpl(Instance instance) {
  
          if (m_weights == null) {
              int length;
               if (instance.classAttribute().isNominal()) {
                   length = instance.numClasses();
               } else {
                   length = 1;
               }
              m_weights = new DoubleVector[length];
              m_bias = new double[length];
              for (int i = 0; i < m_weights.length; i++){
                  m_weights[i] = new DoubleVector(); 
                  m_bias[i] = 0.0;
              }
          }
          for (int i = 0; i < m_weights.length; i++){
                  this.trainOnInstanceImpl(instance, i); 
              }
          m_t++;
      }