Self-Adaptive Learning