If you are considering seeking any assessments I recommend educating yourself first. Read books on spirited kids, sensory processing disorder, and autism spectrum so that you can already have a sense whether assessment would accomplish anything and to help you understand your child better.
I also recommend tracking his diet as it relates to behavior. Especially track his consumption of food with artificial dyes, dairy, wheat, high fructose corn syrup, and other sugary foods. These foods have all been known to cause serious behavior issues in children with sensitivities. If he eats a lot of these foods such that it is impossible to track, then consider eliminating them from the diet one at a time to see if you get changes. Many people swear by the Feingold Diet.
Make sure he is outside for at least an hour a day and has plenty of chance to run, jump, and climb.
Also take a hard look at his day. Is he in daycare for a lot of hours? Is it a busy, loud group setting? If he has sensory processing issues, that can make his day miserable as we discovered with our son.
Lastly, stop the timeouts in his room. Instead work side by side with him to distract him from negative behaviors, to teach him words to use instead of physically reacting, and to teach him methods to calm himself (these are best practiced when he is not tantruming). Give him a lot of supervision and gentle reminders of appropriate behaviors (kids at this stage typically can not think ahead to a consequence for their action). Catch him behaving and flood him with love and attention. It will take lots and lots and lots of patient repetition on your part.And remember that the smile after he does something wrong does not carry the same meaning as it would if he were 5 or 6, it is simply him thinking about what exciting reaction and attention is he going to get from you now. So just keep calm as you deal with the situation, no "fireworks" displays. He is just testing cause and effect but does not understand it yet.