Modeling reverse thinking for machine learning