Weak Learner is a base learner in Ensemble Learning used to generate a boosted learner.
Criteria of Weak Learner: As long as better than random guessing.
But sill there is a trade off between several factors.
1, Lower bias but avoid overfitting.
2, Fast training time. It is important to keep a fast training time for base learners since we need to end up with a few hundred or even thousand of them.
3, So as prediction time.
Good starting point: Decision Tree can meet those three factors by controlling maximum depth.
So long as the algorithm suppors weighted samples, it can be used as base learner(weak learner) for boosting. For instance, Neural nets.