ADPTSK
Article: "An adaptive double-parameter softmin based Takagi-Sugeno-Kang fuzzy system for high-dimensional data", Fuzzy Sets and Systems, 2025, doi:10.1016/j.fss.2025.109582.
Script: examples/reproductions/adptsk_2025.py
Protocol of the Article
Section 4.1 of the article. These settings are the defaults of ADPTSKClassifier.
| Point | Article | In the script |
|---|---|---|
| Inputs | scaled to \([0, 1]\) | MinMaxScaler fitted on the training part |
| Fuzzy sets | three per feature, centres 0, 0.5 and 1, spreads of 1 | defaults (mf_init="grid", n_mfs=3) |
| Membership | Gaussian bounded below by \(e^{-K}\) (Eq. 41) | default (GaussianPiMF); k of 0.6, 1.0 (the default) and 2.0 |
| Firing strength | ADP-softmin, \(\kappa = 690\), \(\xi = 730\) (Eqs. 33 and 34) | default |
| Consequents | start at zero | default |
| Optimizer | Adam on the whole training set below 500 samples, 200 iterations, learning rate 0.001 | defaults |
| Evaluation | ten-fold cross-validation, repeated three times | the same, stratified folds |
Result
Output of the script, on four threads:
Table 3: ADPTSK (mean test accuracy in percent)
std: over the runs, and over the means of the repetitions
dataset K article highFIS std
Colon 0.6 83.97 84.44 10.75 / 2.91
Colon 1.0 82.46 80.63 11.51 / 2.63
Colon 2.0 77.30 75.16 13.21 / 1.89
Leukemia 0.6 97.32 96.67 6.04 / 0.67
Leukemia 1.0 97.20 95.24 6.73 / 0.67
Leukemia 2.0 92.50 86.49 11.95 / 1.31
Summary of the last model fitted
ADPTSKClassifier
task classification, 2 classes
features 7129 seen in fit, 7129 used by the model
rules 3 (rule base: coco)
fuzzy sets 3 per feature, GaussianPiMF
firing strength ADPSoftminRuleLayer
defuzzifier SumBasedDefuzzifier
consequents ClassificationConsequentLayer
parameters 85554 trainable (42774 antecedent, 42780 consequent)
Training
batch size full batch
epochs 200 epochs, learning rate 0.001, training loss 0.5000 -> 0.0000, training accuracy 1.0000
The article studies ten values of \(K\) and reports each of them; the script runs three. On Colon the three values are within about two points of the article, and the fall of the accuracy as \(K\) grows is reproduced: 84.4, 80.6 and 75.2 against 84.0, 82.5 and 77.3. On Leukemia \(K = 0.6\) and \(K = 1\) are within two points of the article, and the accuracy falls for \(K = 2\) as well.
With 62 and 72 samples, one test sample is 1.6 and 1.4 points of the cross-validated accuracy, and the standard deviation between the 30 runs is 6 to 13 points. The second value of the last column is the deviation between the means of the three repetitions.
On SRBCT (83 samples, 2308 genes), with ten folds and \(K = 1\), highFIS gives 98.89 against 98.75 in the article.
The article recommends a \(K\) of at most one. With a larger \(K\) the training of the antecedents can lower the test accuracy while the training accuracy stays at 100%, so check a validation set before training longer.
Differences from the Article
- Gradient of the adaptive parameters. highFIS treats \(\hat\eta\) and \(\hat q\) as constants in the backward pass. Letting the gradient through them gives the same accuracy.
- Precision. The bounds \(\kappa\) and \(\xi\) are those of double precision. highFIS works in single precision and evaluates the softmin in the logarithmic domain, where they do not have to hold.
- Loss. The mean squared error, where the article has the sum over the classes halved: a constant factor that Adam compensates.
- Datasets. The article uses fourteen datasets. Colon and Leukemia are the two that OpenML provides with the samples and features of the article and without further dependencies; SRBCT above uses the copy distributed with the code of the HDFIS article.
Reproducibility
The script fixes the seeds, uses deterministic algorithms and four threads, and ends by printing the versions of the libraries and the processor. Another number of threads, another processor or another version of the numerical libraries can change the result.
Run It
The data are downloaded from OpenML on the first run. A run takes about an hour, most of it on Leukemia.