this link might give you a quick overview:
I think new machine learning algorithms are mostly created if a new type of problem occurs that somehow cannot be fixed with the existing methods. You realize they don't work as you expect them to, you get the problem, you improve the algorithm or maybe create a new one (which is extremely hard to do since most ideas have already been implemented).
If you want to USE a certain algorithm, you should first pick a programming language that suits you and then download the necessary package. Learn how to start (tutorials, try & error) and then get your results.