Vanilla TSK
Vanilla TSK is the standard first-order Takagi-Sugeno-Kang fuzzy model with Gaussian antecedents, product aggregation, and sum-based defuzzification.
Reference
Takagi, T. & Sugeno, M. (1985). "Fuzzy identification of systems and its applications to modeling and control." IEEE Trans. Syst., Man, Cybern. SMC-15(1):116–132. DOI: 10.1109/TSMC.1985.6313399
Mathematical Formulation
Antecedent
Each rule evaluates \(D\) Gaussian membership functions and aggregates them with the product t-norm:
Defuzzification (sum-based)
Vanilla TSK normalizes rule firing strengths by their sum:
In highFIS this is implemented by
highfis.defuzzifiers.SumBasedDefuzzifier.
When the antecedent is rewritten in log-space, Equation (3) is mathematically equivalent to a softmax over log firing strengths:
This exposes the saturation issue: as \(D\) grows, the log-domain activations become more extreme, making the normalized weights dominated by a single rule.
Consequent (first-order)
The final TSK output is a weighted sum of first-order consequents:
Selectable building blocks
The formulation above is the default of TSKClassifier and TSKRegressor. They are also
the generic estimators of highFIS: the membership function, the T-norm and the defuzzifier
can be chosen with the mf, t_norm and defuzzifier arguments.
from highfis import TSKClassifier
clf = TSKClassifier(n_mfs=3, mf="bell", t_norm="min", defuzzifier="softmax_log")
The available values and what each one does are described in Building Blocks of the Generic TSK. The other families keep their published combination and do not take these arguments.
Code ↔ Paper Correspondence
| Equation | Class / Method | Description |
|---|---|---|
| (1) | GaussianMF.forward() |
Gaussian membership evaluation |
| (2) | RuleLayer with t_norm="prod" |
Product t-norm antecedent |
| (3) | SumBasedDefuzzifier.forward() |
Sum-based rule normalization |
| (4) | SoftmaxLogDefuzzifier |
Equivalent log-space softmax form |
| (5) | ClassificationConsequentLayer.forward() / RegressionConsequentLayer.forward() |
Weighted first-order consequent |
Implementation notes
TSKClassifierandTSKRegressordefault toSumBasedDefuzzifier.- The highFIS estimator wrappers
TSKClassifierandTSKRegressorconstruct the Gaussian antecedent MFs frominput_configs,n_mfs,mf_init, andsigma_scale. GaussianMFstores a raw parameter that is transformed withsoftplusto guarantee \(\sigma > 0\).SumBasedDefuzzifierclamps rule weights to a small floor before normalization, improving numeric stability without changing the semantic sum-based normalization.- In high dimensions, vanilla TSK is prone to softmax saturation because the normalized weights in Equation (4) are equivalent to a softmax over log-domain firing strengths.
Strict paper mode
- With the default
batch_size="auto"the estimator applies the HTSK batch protocol:512, falling back tomin(N_t, 60)when it exceeds the training set. - Validation split is not auto-generated by the model/estimator; pass
x_valandy_valexplicitly when you want early stopping based on validation metrics.