This looked like a normalization question on the surface and I nearly treated it that way.
Start by clarifying the business context and data distributions, then propose separate normalization for each target (e.g., min-max scaling for the non-positive target and standardization for the non-negative target). Use appropriate output activations (softplus for non-negative, negated softplus for non-positive) and combine losses with uncertainty-based weighting. Finally, describe how to invert the transforms at inference to produce predictions in the original units.
Pro tip: Mention that you would monitor per-task loss scales during training and dynamically adjust weights (e.g., using uncertainty weighting) to prevent one task from dominating, and always validate that the inverse transforms are correctly applied to avoid off-by-a-sign errors.
Ask about the business meaning of each target, their distributions, and whether the sign constraints are strict or just observed. Confirm if the ranges are fixed or can vary.
For the non-positive target, shift and scale to a symmetric range (e.g., divide by 10,000 to get [-1,0] or use min-max to [-1,0]). For the non-negative target, standardize or min-max scale to [0,1] or [-1,1].
Use a softplus activation for the non-negative head and a negated softplus for the non-positive head, ensuring outputs respect the sign. Alternatively, predict in unconstrained space and apply the constraint via a transformation.
Use a weighted sum of losses (e.g., MSE or Huber) on the normalized targets. Consider uncertainty-based weighting (Kendall et al.) or dynamic weight adjustment to balance tasks.
Reverse the normalization (e.g., multiply by 10,000 and negate for the non-positive target; inverse standardize for the non-negative target) to produce predictions in the original units.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.