I've recently stumbled upon machine learning, generating user recommendations based on user data, generating text teaser based on an article. Although there are tons of framework that does this(Apache Mahout, Duine framework and more) I wanted to know the core principles, core algorithms of machine learning and in the future implement my own implementation of machine learning.
Where do I actually start learning Machine Learning as its basics or Machine Learning starting with concepts then to implementation? Although I have an weak to average math skills(I think that this will not hurt? If So what branches of mathematics should I study before Jumping to Machine Learning?)
Note that this is not related to my academics rather I want to learn this as an independent researcher and I am quite fascinated how machine learning works