]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): ensure real soft min/max are normalized
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 25 Feb 2025 23:34:23 +0000 (00:34 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 25 Feb 2025 23:34:23 +0000 (00:34 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index a2aa3473bf4581c18e47527f184760ade42be0bc..ced1b7ff3da73c1a006a481a7a7f30ab26a794bb 100644 (file)
@@ -638,9 +638,11 @@ def hp_objective(
     return error
 
 
-def real_soft_max(series: pd.Series) -> float:
-    return spy.special.logsumexp(series)
+def real_soft_max(series: pd.Series, beta=1.0) -> float:
+    maximum = series.max()
+    return maximum + spy.special.logsumexp(beta * (series - maximum)) / beta
 
 
-def real_soft_min(series: pd.Series) -> float:
-    return -spy.special.logsumexp(-series)
+def real_soft_min(series: pd.Series, beta=1.0) -> float:
+    minimum = series.min()
+    return minimum - spy.special.logsumexp(-beta * (series - minimum)) / beta
index 9a4df00f235259adf0069f8dd90db080d940e0f8..575ef13e3eefec606783dd6f1db31d468f30815e 100644 (file)
@@ -644,9 +644,11 @@ def hp_objective(
     return error
 
 
-def real_soft_max(series: pd.Series) -> float:
-    return spy.special.logsumexp(series)
+def real_soft_max(series: pd.Series, beta=1.0) -> float:
+    maximum = series.max()
+    return maximum + spy.special.logsumexp(beta * (series - maximum)) / beta
 
 
-def real_soft_min(series: pd.Series) -> float:
-    return -spy.special.logsumexp(-series)
+def real_soft_min(series: pd.Series, beta=1.0) -> float:
+    minimum = series.min()
+    return minimum - spy.special.logsumexp(-beta * (series - minimum)) / beta