I'm currenty reading 'Machine Learning, an algorithmic perspective' by Marsland. He uses Python and assumes no higher math knowledge. I would recommend it to get a basic and intuitive understanding. He explains things in English, then presents the math notation, then explains the math notation in English again. Then, he provides Python code, and explains the Python code in English. Radical, I know.
I'm also using http://www.nltk.org/ NLTK to do document classification for a client right now, using insights gleaned from his book and also metaoptimzie (http://metaoptimize.com/qa).