I know you say you'd like to learn online, but I highly recommend picking up Duda and Hart's Pattern Classification to have a theoretical complement to the "hands on", programming type introductions. It's a very accessible intro to the topic, but also covers a lot of material in depth -- in particular, the topics you mention.