Checklist NOAI Singapore 2026 Final Assessment · Task 1
Gradient Boosting from Scratch
Implement a gradient-boosting regressor with L1 and L2 losses using NumPy and scikit-learn decision trees.
The task
Programming Task 1 (Machine Learning – Regression, 25 marks including a 5-mark bonus) is set for a low-power environmental sensor that cannot run XGBoost or LightGBM. Part 1 (8 marks) implements the L1 and L2 negative gradients and the median and mean initialisations; Part 2 (12 marks) builds the class structure and the fitting algorithm of a gradient-boosting regressor on top of DecisionTreeRegressor; Part 3 (bonus, 5 marks) adds early stopping.
The notebook supplies a reference table of loss functions and negative gradients and test cells for each question, using make_regression data.
Abridged by SOTA from the official materials. The official statement has the exact rules, and it wins wherever this summary differs.
At a glance
- You get
- The task notebook (numpy, sklearn DecisionTreeRegressor,
make_regression,train_test_split,mean_squared_error). - You submit
- The completed notebook.
- Scoring
- Marks per question as stated in the notebook (2 + 2 + 2 + 2, 4, 8, bonus 5).
- Rules
- Only numpy and standard decision trees; no XGBoost or LightGBM.
- Format
- NOAI 2026 Final Assessment, 6 March 2026, 9:30 am–12:30 pm (3 hours, 100 marks): Section 1 (20 MCQs, 20 marks) and three programming tasks. Individual.