Figure 1. Tentative level of working in different machine learning tools.
As long as our goal is concerned, to achieve excellence in any product with machine learning, above given tools/programming packages can be used. We have three path to choose from and each one has its own significance.
Use of ML Libraries
This is the path most taken. Most used and stable libraries are as shown above. These are particularly used by programmers in service and smaller product companies, where goal is to process client data and deliver or integrate such libraries in to final product and deliver.
If one know how to use in the best way, you win. There is problem also, if you do not possess knowledge about what is happening inside black box (library) then one wont be able to troubleshoot or improve in the algorithm. Core knowledge is always required to improve,design memory and compute efficient product.
Tensorflow, Theano and Keras however provides all level of granular control to user.
Write From Scratch
Will require some sort of mathematical background and core programming knowledge to write memory and compute efficient codes.
generally these practice are preferred by core product development and research industries like Google, Facebook and Microsoft.
this is the hard path to travel but on this path you are the king.
GUI
This is used by two kind of people
Non programming community - like biologist and statistician , who quickly wants to get the things done without going in to core
For Proof of concept - programmers often use such tools to get the proof of concept done, before real implementation to get enough confidence before development.
Azure and H2o-flow are nice tools in this category.
Combination of 1 and 2
I prefer this method where a person is known about basic things and utilizing ml libraries to get things quickly and nicely done.
Combination of 1 and 3
H2O and Azure like tools provides this kind of flexibility. Where one can use GUI to batch-mark the performance and use the same tool to make a product, without putting noise in the performance or integration issue.
I have hands on experience with all tools described above. Through-out up coming tutorial we will be using ALL the above given approaches.
Will code from scratch, use tools, GUI and will Learn how to make it even better.
I will follow these route for making you families with any algorithm
I will walk you through the basic of algorithm with example. [You can expect very simplified mathematics]
I will make quick and dirty implementation of the same algorithm in python with one example. [With well commented code - code will be made available on Github]
I will use machine learning library and will implement on the same example. [with real use cases]
you can see my all blog post at - https://www.machinelearningpython.org/
I hope you will enjoy learning.
댓글