Many reasons why a dog has excess shedding. Stress/anxiety and diet play the major roll, then there is allergies. Some dogs shed heavy in the fall and again in the spring. Would it be possible your Yorkie is a mix? Since your not sure of his age I just "assumed" he is a rescue, so possibly a mix.
You could add Shed Relief each day to his food, also give him Omega 3 in a gel cap over his food. Course if you knew me, you would also know what I'm about to suggest...........get him off commercial pet food and do some healthy home cooking.