It sounds like perhaps he's gotten away with a lot since he was very small when you got him? Perhaps he is aggressive because he was allowed to be when he was little and it is what he knows. I'm afraid I'm not very helpful for a question like this as there are too many variables in describing his behavior as aggressive. I would suggest seeing a local dog trainer and asking their advice. Perhaps you can find someone that is able to come and see your dog doing this behavior wherever it is that the behavior begins and if there is anything that specifically seems to trigger it. It sounds like it doesn't happen at home so I'm not sure what is triggering the behavior. Perhaps if it's in public it's an issue related to proper socialization? I hope you are able to find a trainer to shed some light on this for you!