I am currently just getting started in this area due to my interest in AI and I am not quite sure which route to choose.
I am currently just getting started in this area due to my interest in AI and I am not quite sure which route to choose.
I can give a quick comparison on Leaf vs. TensorFlow - although this might seem somewhat biased.
We like what the Google engineers did on TensorFlow and share a lot of similar ideas on how future Machine Learning should be structured and implemented. Especially that in the end it is just a performant pipeline for numeric information processing.
We feel that the biggest difference (besides the different stages of the project) is the language and the ecosystem that it embraces. We are strong believers in Rust and think that it might have good chances to succeed in the long run - which we outline in more detail in the Q&A[1].
Due to your question I would recommend picking up on the basic concepts of machine intelligence and then going with whatever ecosystem fits the task/stack. Might become similar to choices of web frameworks in the next couple of years. I think Neon[2] - as a Python framework - seems to be easy and performant as well.
[1]: https://github.com/autumnai/leaf#why-rust [2]: https://github.com/NervanaSystems/neon
Something like Tensor Flow has a lot of mechanics you have to understand before getting started, and it's "lower-level" than other ML libraries. And I definitely wouldn't advise you to use "deep learning" as your first ML model. It's hard to understand, and the result of training it is hard to interpret.
I spent about a month trying different tools and liked the understandability of Weka. Scikit-learn calls out to C for the heavy lifting, which is great but it's not exactly easy to read and understand the code.