FastMail now has individually trainable bayes databases for each user to improve spam filtering. This is currently only available for Full and Enhanced accounts with Normal, Aggressive or Custom filtering setup on the Options -> Spam/Virus Protection screen.
For personal bayes databases to be effective, you have to train them with at least 200 spam messages and 200 non-spam messages. You can train your personal bayes database by selecting some messages and using the Report spam and Report non-spam options from the Actions menu on the Mailbox screen.
If you haven't yet trained 200 spam and non-spam messages, then we use a global continuously updated bayes database against your incoming messages, which helps detect spam/non-spam, but isn't as good as a personally trained one. To see if email being delivered to you is currently using the global or personal bayes database, you can look at the headers of the message (on the view message screen, click the Show full headers link). One of the headers present should be called X-Spam-hits, within that header will be the text BAYES_USED and immediately after it either global or user. If it currently says global it means you still need to train more spam/non-spam messages before the personal database can be used.
For more information on the per-user bayes database system, please see this forum thread: http://www.emaildiscussions.com/showthread.php?t=49547
For IMAP users who don't use the web interface much, there's also an experimental feature in beta testing that lets you specify folders as containing spam/non-spam. Messages placed in those folders will automatically be learnt as appropriate. For more information on this feature, please see this forum thread: http://www.emaildiscussions.com/showthread.php?t=49936