The thing they don't tell you about a "parameter-free" optimizer is that it has no parameters because you haven't added them yet.1 JAYA — Sanskrit for victory, named by R. Venkata Rao in 2016 — needs only a population size and a stopping rule, and that minimalism is exactly what makes it interesting to break.1. "Parameter-free" almost always means "the parameters are baked in." It's a design choice you cannot tune, which is a parameter pretending to be a virtue.
In the summer of 2022 I was a research intern with Prof. Jayaraman Valadi at FLAME University, working on feature selection for protein-function identification with four other students.2 The task: given a dataset with hundreds of attributes per protein, find the small subset that carries maximum information — and discard the rest before the classifier overfits on noise. JAYA had a reputation for being good at this kind of stochastic search. We wanted to know if a couple of targeted modifications could push it further.2. The other four were Nandini Gandhi, Oom Rawat, Hrushikesh Bhosale, and Aamod Sane. The poster ended up listing all of us — feature-selection work isn't really a one-person sport.
// pull"Parameter-free" almost always means the parameters are baked in.
§01JAYA, briefly
JAYA's update rule fits in a tweet. For each candidate x_i in the population, you nudge it toward the current best x_b and away from the current worst x_w:
x_i' = x_i + r₁ (x_b − |x_i|) − r₂ (x_w − |x_i|)
where r₁ and r₂ are uniform random in [0,1]. That's it. No inertia term. No crossover rate. No mutation rate. The only knobs are how many candidates and how long to run.3 This is an honestly good design.3. Compared with PSO (which needs an inertia weight, a cognitive coefficient, and a social coefficient) or GA (crossover rate, mutation rate, selection scheme), JAYA is dramatically less fiddly to set up. You can run it in twenty lines of Python.
It is also a design that throws away most of what genetic algorithms learned in the 1970s about searching combinatorial spaces. Crossover lets two candidates trade genes. Mutation prevents premature convergence on a local optimum. JAYA replaces both with "be more like the best, less like the worst," which is closer to gradient descent than evolution.
§02Two modifications
Our modifications were aimed at two things the original JAYA doesn't account for when doing feature selection.
First, the fitness function. Vanilla JAYA, used for feature selection, will happily score a 50-feature subset and a 5-feature subset on accuracy alone — and accuracy almost always rewards more features, at least until the classifier overfits and falls off the cliff. We defined a fitness function that characterises the trade-off between subset size and accuracy, so the algorithm is rewarded for finding smaller subsets that still classify well. This was the modification that did the most work.
Second, elitism: preserving the best individuals across iterations rather than letting them be overwritten by the stochastic update. Without it, a good solution found early can be lost to random drift in later generations. With it, the population has a floor — the best solution so far is always in the mix.
§03Three protein datasets
We tested on three datasets, each posing a different feature-selection challenge:
- Apolipoprotein identification — distinguishing apolipoproteins from other plasma proteins.
- Cancer-related protein identification — proteins associated with tumour pathways.
- Toxin protein identification — protein toxins versus non-toxic background.
The classifier was a Random Forest, kept stable across runs so the differences would come from the feature selection, not the model. The result: the improved JAYA obtained improvements either in the size of the selected attribute subset, or in accuracy, or both — depending on the dataset.44. The wins were dataset-dependent, which is a way of saying your mileage may vary — and also that feature selection is always a conversation between the algorithm and the structure of the data it's searching.
We presented the work as poster PP-28 at INBIX'22, the Indian Conference on Bioinformatics, at VFSTR. The conclusion, as we wrote it: a simple algorithm like JAYA with an appropriate fitness function and preserved elite solutions can provide good performance in feature-selection tasks. That sentence is less exciting than it sounds, and more useful than it looks.
§04What "improved" means
Three years on, I think the lesson isn't really about JAYA. It's about "parameter-free" as a claim. A parameter-free algorithm makes a strong design choice — to not expose certain knobs to the user — and that choice is itself a parameter, just one you can't tune. When the choice is right, the simplicity is a gift. When it's wrong, you spend time grafting the missing knobs back on, and the elegance was always borrowed.
// pullThe honest version is to say what your algorithm is committed to, and what it leaves open.
The highest-leverage modification wasn't anything exotic — it was rewriting the objective. Re-asking what you're optimising for tends to outperform re-engineering how. The fitness function that penalises large subsets did more than any operator change could. Elitism kept the search honest. Together, they turned a parameter-free algorithm into a slightly-less-parameter-free algorithm that knew what it was looking for.
The poster is still up at github.com/shubhangithub/inbix22.
— written between two stops at the British Library, on a Wednesday.