My 100 Days of Machine Learning: A Journey Towards Consistent Programming
Tags: machinelearning, 100daysofcode, codenewbie, womenintech
Published: 2023-03-08 04:24:12

**Introduction**

Hi everyone! I'm Purva Masurkar, currently a third-year student pursuing BE in Information Technology. Recently, I've made a decision to publicly commit to 100 days of learning Machine Learning and I'm excited to document my journey here on this blog.

As a student, I've struggled to consistently build my programming skills, often finding myself starting from the basics repeatedly and eventually giving up mid-way. Through public commitment and sharing my progress, I hope to build the habit of coding daily and improve my skills in Python, Machine Learning, and Deep Learning.

Additionally, this commitment to public sharing will allow me to improve my English through writing and interacting with like-minded individuals. By documenting my learning journey, I aim to not only track my progress but also convince others to embark on their own journey towards consistent programming and personal growth. 

**## Day 1**

As I kick off my 100 Days of Machine Learning journey, I decided to start off by taking things slow and steady. Day 1 involved getting acquainted with some basic terminologies of Machine Learning. I didn't want to dive too deep into the complexity right away, so I'm taking my time to build a strong foundation. After all, Rome wasn't built in a day, and neither will my ML expertise!


**Machine Learning**

ML is a modern software development technique that enables computers to solve problems by using examples of real world data. It's a subset of Artificial Intelligence that includes three major categories:

- Supervised Learning : In this every data has a corresponding label.
- Unsupervised Learning: There are no labels for the training data.
- Reinforcement learning: In this it tells us which action to take in a situation to maximize the reward.

**Components of ML**

- ML model :It is an extremely generic program or block of code that can be modified to solve different but related problems.
- Model training algorithm: The current model iteration is analyzed to determine what changes can be made to get closer to the goal.
- Model Inference: Here the trained model is used to generate predictions.

**Steps in ML process**

1. Define the problem
2. Build the Dataset
3. Train the model
4. Evaluate the model
5. Use the model

We first collect the data and inspect it for outliers, missing values, data reformatting, and data visualisations. We also randomly split the data, which allows us to keep data hidden during training and use it to test the model before releasing it into production.

The model training algorithm iteratively updates a model's parameters to minimize some loss function.

The *loss function* is a measure of how well the model is performing on a given task. It measures the difference between the predicted output and the true output for a given set of input data. 
Whereas *Model's parameter* are setting or configuration that the training algorithm can update to change how model behaves.

*Hyperparameters* are setting that are not changes during training but can affect how quickly or how reliably the model trains such as number of clusters the model should identify.

**Closing Remarks**

I understand that all of the above terms are basic, but I want to brush up on my previous knowledge for the first two days before diving deeper into it. Please leave comments on how I may better my learnings and blogs. I will take all of your suggestions into consideration.