in ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/regression/LinearRegression.java [148:180]
private void validateParameters() {
if (parameters.getLearningRate() != null && parameters.getLearningRate() < 0) {
throw new IllegalArgumentException("Learning rate should not be negative.");
}
if (parameters.getMomentumFactor() != null && parameters.getMomentumFactor() < 0) {
throw new IllegalArgumentException("MomentumFactor should not be negative.");
}
if (parameters.getEpsilon() != null && parameters.getEpsilon() < 0) {
throw new IllegalArgumentException("Epsilon should not be negative.");
}
if (parameters.getBeta1() != null && (parameters.getBeta1() <= 0 || parameters.getBeta1() >= 1)) {
throw new IllegalArgumentException("Beta1 should be in an open interval (0,1).");
}
if (parameters.getBeta2() != null && (parameters.getBeta2() <= 0 || parameters.getBeta2() >= 1)) {
throw new IllegalArgumentException("Beta2 should be in an open interval (0,1).");
}
if (parameters.getDecayRate() != null && parameters.getDecayRate() < 0) {
throw new IllegalArgumentException("DecayRate should not be negative.");
}
if (parameters.getEpochs() != null && parameters.getEpochs() < 0) {
throw new IllegalArgumentException("Epochs should not be negative.");
}
if (parameters.getBatchSize() != null && parameters.getBatchSize() < 0) {
throw new IllegalArgumentException("MiniBatchSize should not be negative.");
}
}