What is the difference between Proto-personas, Data-driven, Lean Persona and Ad hoc Personas?

So I'm a little confused between these 4 types of personas I've discovered in books and articles.

  1. Proto-persona
  2. Ad hoc Persona
  3. Data-driven Persona
  4. Lean Persona

What are the differences between them?

Thank you in advance,