Hierarchical forecast reconciliation with machine learning