I am new at google ads, and I have started a new website and I get about 300-600 unique visitors daily. I have placed google ads on my site and I dont know for what reason, almost all the ads are about hosting. My website has nothing to do with hosting.
I am having the same problem with a blog i recently set up within the last few days. The blog is related to football but displays Portugal holiday ads - the word portugal features once on the page but is not the dominant subject.
You have to give the adsense bots a honeymoon period with your site. Implement section targeting. Use H1 tags for headings. (If you're using wordpress, then remove the meta links in your sidebar and use fancy permalinks. Also try adding index.php to the end of your URL to see if the ads change to more relevant ones.)
So, what is your website niche? Anyway, google take some time to give you the matched ads. At the same time, increase your keyword density too
You can not do anything with your adsense advertisement. Google shows advt. relating to your contents of your site or blog. If you have mention any type of single word in your blog or site it will be kept in google mind and automatically displayed advertisement relating to that word only. So for better advertisement you must add more and more original contents in your blog or site. Google will set according to that contents only.
It usually happens to new blogs. A good content that is keyword-optimized is the best way to "teach" Google Adsense Bot whats ads to show. For initial have some backlinks from social bookmarkings help as well.