how to make applications in general or learn machine learning directly?

Report
Question

Please briefly explain why you feel this question should be reported .

Report
Cancel

Should I first learn how to make applications in general or learn machine learning directly?

in progress 0
Team 6 months 1 Answer 24 views 0

Answer ( 1 )

  1. Please briefly explain why you feel this answer should be reported .

    Report
    Cancel

    Machine learning is a concept while Python is a tool or language which can be used to implement the concepts in machine learning.
    To give you an analogy:

    A good French Cook Book teaches you about different recipes for different occasions such as traditional dinner, party or a brunch. Similarly, machine learning teaches you different concepts and mathematical foundations behind it which you may apply for different problem statements like learning a language model or classifying a particular image.

    After reading a particular recipe in the cookbook, you gather all the ingredients such as salt, flour, baking soda, meats and vegetables. Similarly, after understanding basic concepts of machine learning such as:

    • Type of problem statements – Classification, Regression, Clustering, Dimensionality Reduction
    • Areas – Traditional, deep learning, Natural Language Processing, Image processing
    • Models – KNN, SVM, Decision Trees, Logistic Regression, Neural Nets etc.
    • Learning Algorithms – Gradient Descent (via back-propagation, auto-differentiation), K-Means clustering etc..
    • Concepts of learning – Training, Testing, Batching, Hyper-parameter tuning.

    If you don’t understand any of the above, don’t worry. Just remember that you have your cookbook with you to learn more.

    Now you know the recipe and have the ingredient. To cook those exquisite french recipes, you would require a variety of tools. There may be different sets of such tools which may be particularly suitable for baking while others may be more suitable for frying and searing.
    Python is one such set of tool which is helpful in many aspects of machine learning. Though, most of the machine learning algorithms can be implemented using basic data structures provided by the default python libraries, you may want to install and learn many machine learning specialist libraries to do the same job more efficiently and seemlessly. A few examples –

    • Numpy/Scipy – A mathematical handling of arrays and lists. It makes many data pre-processing and mathematical calculations easy.
    • scikit-learn – It provides a high level library to run many popular machine learning models like SVM, KNN, Logistic Regression etc. It is very helpful for machine learning beginner concepts as well as traditional machine learning algorithms. Though it is very well written and documented, being a high-level library makes it less flexible for implementing elaborate custom models. Also, without GPU support it is pretty slow.
    • Tensorflow – It provides a mechanism to define models as a collection of nodes called computational graphs. Anyone having a basic understanding of deep learning, would find it intuitive to use such a library to work upon there problem statements. Also, GPU support and huge active community of developers makes it lucrative as compared to many of its alternatives.
    • Other problem specific libraries – OpenCV for image related tasks. NLTK for natural language processing problems.

    Some large problem statements use many or all of these libraries to solve the problem.
    So, I hope you now understand what learning ML entails. Knowing basic concepts of Python would definitely help you in the implementation stages, but you would want to read and master the French cookbook first.

Leave an answer