Staring any new journey always require motivation and proper guidance. Pathway seems very neat and straight at the start, but it's always been a better approach to learn from others' experiences that already have walked through that path. If we already know the hurdles that will cross our pathway, we will be prepared to create our journey easy.

In starting, Machine Learning or Artificial intelligence may be a buzzword to many who are curious but don’t know where to get started. To start with Machine Learning may seem like a formidable task, especially if one lacks a certain background. Here in this article, we will discuss some of the factors that can be obstacles to your ML journey.

Getting started with ML need some basic understanding of Mathematics, specifically Linear Algebra and Calculus. A basic understanding of linear algebra topics like vector, vector algebra, and operations is some key mathematical background needed to get started. Moving to calculus, having a basic understanding of differentiation, partial differentiation, chain-rule; are some of the key first-level skills required to get started with ML. This involves understanding what a loss function is and how to use basic differentiation to optimize any function. The demand for mathematical understanding expands as one dives into higher complexity. Probability and Statistics will come into the picture once a deep dive into ML is taken.

**To sum it up, some fundamentals for ML**

- Vector Algebra and operations (required)
- Ordinary and Partial Differentiation (required)
- Optimising — functions with constraints (nice to have)
- Probability and Statistics for feature engineering and dimensionality reduction (as we dive deeper)

We believe most people have some level of understanding of these topics. We can expect to learn more about it as we encounter more concepts for ML.

Machine Learning is primarily related to computer science, and as such, one may hesitate to get started with ML if they lack any past coding experience. While it is true that programming is the tool to implement ML algorithms, one need not be a hardcore programmer to get started with ML. If you are completely new to ML, it is advisable to get some basic understanding of any programming language. Since Python has been used extensively for this domain and is user-friendly and easy to learn, we would suggest individuals lacking a coding background get some experience with Python. Python is very easy to learn, and the internet is full of resources.

Basic programming skills include learning to use conditional loops, if-else statements, using operands, and writing simple functions can be a key to start with ML using python efficiently. Later in our “blogs,” we will show how to develop some fundamental ML algorithms in python and use in-built ML libraries for complex problems. *Remember, it is more important to understand a code in the early phase than to do it yourself. Once you get the flow of how algorithms are implemented, you will start doing it yourself.*

While it is true that the internet is full of resources that offer an introduction to a deep level of understanding for ML, one might often feel lost in this sea of knowledge. To make things simpler, one needs to break down this journey into parts. One way of starting is to develop an understanding of basic ML terms and concepts before using them in algorithms.

- For example, familiarising oneself with terms such as gradient descent, regularisation, batch-training, and inference will help understand a simple neural network as one compiles all this stuff together. Secondly, understanding ML through applications in domains, which one is familiar. This means try to relate ML to problems that you are familiar with.
- For example, we all know what an OR-gate is… So, if one starts with designing an OR-gate using Neural Network, they may feel more comfortable. Later they can extend this understanding to other domains, but for starters, this makes things easier.

A person may have a proper background in Math and coding; however, they were not in the context of ML. In such a scenario, there is nothing to worry about. Think of Machine Learning as a tool and not as a course. It is advisable to start with concepts and then go to the algorithm. Try to relate ML to your work, and address an issue with ML. As people in this category are no beginner, they may want to skip a step or two and get started with a real-world problem. One suggested prerequisite could be developing an understanding of the ML libraries (Scikit-learn, TensorFlow) and use them in a sample dataset to observe the results and then develop an understanding, while the long approach is to start with a basic ML course that helps them get more comfortable in the algorithmic development area.

We have seen many good initial learners struggling with their ML models' accuracy and getting’s demotivated with the results. From an application point of view, an ML model's accuracy matters the most, ** but the algorithm is more important than the results from the learning point of view**. Thus, for a beginner, the stages of ML are more important than the results.

You must not take your results on your ego and invest too much time around that. The accuracy factor depends on the model you have used, the process you used for data-preprocessing, and your system's most important configuration. Even if you have exactly followed the same path on two different machines, you can still get varying accuracy. The reason for that is because of the internal computations that happen differently on two different systems.

- Develop a basic understanding of math for ML
- Learn Python programming language, just enough to understand the basic implementation of algorithms.
- Start with ML concepts and later compile the concepts to understand ML algorithms.

Hopefully, you have enjoyed the article. Leave a comment if you liked it.

Get well-designed application and interview centirc content on ds-algorithms, machine learning, system design and oops. Content will be delivered weekly.