Israel has struck targets in central Beirut for the fourth time in a week, leaving at least 20 people dead, Lebanon's health ministry says.