That is not good to have a dog biting someone who comes in your house when you're there. He should not be taking the law into his own paws. It's up to the leader to decide and up to your dog to watch. I would have one person, a friend come over and when the dog is acting calm and nice, the friend can give out some super yummy treats. The friend should not instigate patting or anything....just sit there and be fairly quiet, just talking to you and tossing treats when the dog is calm. NOT when he is acting up. Then ask another friend and so on. Gradually get the dog use to people coming over and associating them with a safe, pleasant time. Do keep the muzzle on and a leash so you can contol him. Teach him things if you haven't already, like a down stay etc. Reward for correct responses.
I also recommend getting a behaviorist who uses only positive methods. This dog doesn't need anymore punishing techniques. The behaviorist should be certified and you should get recommendations, find out where he/she was trained. He/she could observe your dog and how you both interact. This can be invaluable.
In addition to your dog getting so he trusts people more, he should also, at the same time be learning that people are "leaders" and he doesn't need to take care of you or your pack. That's your job. (other than a barking to alert you to danger) (In extreme cases, where someone is attacking you, that is a different story) But these people are not attacking you and so your dog is on the wrong track to think he needs to make these decisions.
He must have had bad experiences with people and perhaps not the proper (if any) kind of socializing as a pup. However, often, lack of socialization doesn't cause aggression, more like extreme fear. But that can turn into aggression later. Anyhow, a behaviorist could watch his body language and tell you more.
I would impliment some NILIF, not to the extreme, but some of it. That and some more obedience skills puts you in the driver's seat and him in the passenger seat. LOL.
http://www.dogbreedinfo.com/nothingfree.htm Be assertive, calm, in control of your emotions so that your dog knows he has a good leader. Reinforce behavior you like with something the dog really loves. Distract, redirect the dog to something else when he's engaged in behavior you don't like. Be careful not to inadvertantly reward him when he's acting aggressive, by trying to sooth him or talk to him. You'd be suprised what a dog can construe as reward. The instant he stops acting aggressively, even for a second, when he is calm and relaxed, praise him.
Let us know how he comes along.