Monday, February 17, 2020

What is machine learning? - Overview
Machine learning: If you are a person who cares about the word called New technology then you must hear about the term called machine learning. and if you seeking the right definition of machine learning then you are in the right place.
so today am going to answer a very big and famous question that is what is machine learning and how it differs from other areas like data science and artificial intelligence.

What is machine learning

What is Machine learning?

Machine learning is a branch of computer science which deals with different algorithms on different conditions. using these algorithms machines can perform a specific task. we can also use search patterns for performance. 

If I say in simple word then ML is nothing but how we can train a machine so it can learn and perform tasks on its own. 
for example, a robot that can work according to situations without giving outer instructions. and another example is that we all know the site amazon.com that is a very popular eCommerce site. so how amazon recommended products to their customers. it's based on machine learning. it uses the customer's browsing and purchasing history and give us product suggestions.

Also read:


Types of Machine learning

Based on the environment setup there are mainly three types of machine learning models that can be used to train an ML model. 

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Learning


Supervised Learning

In supervised learning, we train a model using some pre-trained data. first, we give some inputs which are pre-labeled and then train the model on the desired output. usually, we make rules and just maps inputs to the output. 
let's take an example to understand it.

Example: let's say we are training a model which predicts that whether there is a dog in a given image or not. then to train a model we first give some images as input. and we already know that there is a dog or not in a particular image. and if the model gives us the wrong output then we train the model on the bases of the desired output. and correct the corresponding output. so the model will be able to take in a picture and determine whether or not it contains a dog.  

Unsupervised Learning

In unsupervised learning, we don't have any pre-labeled data. the model can find the on its own and find the structure in given input and produce the output. here we use the search patterns. 

Example: let's take the same example. so now using unsupervised learning the model can predict whether there is a dog in pictures or not. eg differences in pixel color or orientations.


Reinforcement Learning

In reinforcement learning, we have a dynamic environment in which we perform different goals.

Example: playing a game against anyone. like a machine playing chess against a man.

There are other categorize of machine learning which depends on the output.


Classification

In classification, we divided the inputs into different classes. for example, spam email filtering is a classification technique.


Regression

In Regression, we produce continuously valued outputs. for example, predict the house rent or electricity bill.


Clustering

In clustering, we divide the unlabeled inputs into different groups. for example, the customer segmentation.


Density estimation

In DE we find the distribution of inputs in a particular space. like, predict the result of class students.


Dimensionality reduction

In dimensionality reduction, we simply map the inputs in lower-dimensional space.

Note: if we get the large enough data which is pre-labeled. then we use supervised learning. but it is not possible to get the fully labeled data to train a model. so here the unsupervised or semi-supervised learning comes in use. 
it is the first step that we need to choose which type of learning we are going to use to train our model. whether it's supervised, unsupervised or semi-supervised learning. 

What is semi-supervised learning?

When we use some labeled or unlabeled data set to train our model. then it comes into semi-supervised learning.

After choosing the right learning we also need to choose the proper model and most importantly be able to process data into a pipeline. 

If you like this knowledge then please share this post with your friends and on all your social media handle as much as possible. and don't forget to subscribe to this blog with your email. because you will get notified when am posting relevant content for you  

Sunday, December 29, 2019

What is Data structures and algorithms
What is Data Structures and algorithms: If you are a programmer then you should familiarize yourself with the word called data structures and algorithms. because these two words have their own magic when it comes to programming and coding.

and if you are not well enough to know about the data structure and algorithms then you are in the right place. so today we are going to learn that what is data structure and algorithms and why we need to learn it and where these terms used in the programming. 
Data structures and algorithms


What is Data structures and algorithms

What are Data structures

Data structures are a way to represent data in memory. it's a data representation method. and it tells us how and in which manner we represent the data so the use of data has become efficient in the program. 

because every day we deal with thousands of data. so how we can arrange in a manner so that the use of data becomes so efficient for us and others. so that's why the data structures come into existence. 
data structures tell us and give us the methods to how to arrange the data in memory so we can easily handle it.
in data structures, there is arrays, link list, queues, trees, and so on.

let's understand it with an example

for example, if we develope a program that can store the information of thousands of students in a college. so how we can arrange it so we can easily use it in the future. like we use an array or list. so here the data structure tells us that what's really helps you to store. what you need to use list or array. 
so I think now you understand that what is a data structure and why we need to learn and implement it in our program. 
now let's come to algorithms

What is Algorithms

an algorithm is a step by step process that tells us how a problem can be solved. it is a process that contains steps to perform a task in a problem. 
like an algorithm for sorting a list or array.

let's understand it with an example

let's take the same example that we have above so a program stores the information of thousands of students in a college. so to sort the name of students we need an algorithm. so we need to develop an algorithm that tells us how we can sort the data step by step. and which task we need to perform. 

so I think now you understand that what is an algorithm and why we need to learn and use it in our program. 

Data structures and algorithms are interrelated. because to develop an algorithm we need to select a data structure. and after selecting a data structure we need to develop an algorithm to perform various operations on the data structure. like sorting, insertion, deletion and searching on a link list, etc. 

But here is a big question for all of us?

That is for a problem there are many different solutions and for every solution, there is an algorithm. so for solving a problem, there are many algorithms. so how we can choose an algorithm to solve a particular task is a problem. 

so we need to choose an algorithm that is efficient to solve a particular problem. like to search an element in a list we have two methods. first is linea search and second is a binary search. so how we need to select a searching algorithm which is more efficient. 

So how we can find the efficiency of an algorithm?
the efficiency of an algorithm depends on two things.

  • Time complexity
  • Space complexity

What is Time complexity

time complexity is a time in which an algorithm needs to complete a task.

What is Space complexity

space complexity is a memory space that an algorithm needs to complete a task. 

like a binary search algorithm needs a sorted array or list and but the linear search algorithm doesn't need a sorted list or array. but if the values are so big in the list then binary search is easy to implement then linear search.

and to select the data structure for our problem we need to understand the different types of data structures and mostly it depends on the situation of our problem. for more information, you can read this post. 

so I think now you understand what is data structures and algorithms and where and how we can select the data structure and algorithm for our problem. 
if you like this post then please share this post as much as you can. and don't forget to subscribe to this blog using your email to get daily updates. 

Friday, December 27, 2019

How to learn competitive programming
How to learn competitive programming: If you are a programmer or a level-up coder. then you should familiar with the word called competitive programming. 
if you want to become a competitive programmer and don't know how to learn competitive programming. then you are in right place.
How to learn competitive programming
I am also a competitive programmer and I started my journey to become a competitive programmer in middle or 2017. and I think I have that much of knowledge so I can give you the way that how you can start with competitive programming.

So this is my way which I prefer that you should follow to learn competitive programming. 

Also, read



I divided my words so you can easily follow the things which I recommended. you should follow these steps if you want to become competitive programming.

Steps to become a competitive programmer

  • Pick up a programming language
  • Learn data structures
  • Learn Algorithms
  • Hands-on practice
  • Follow cycle

Before we started if you don't know what is really competitive programming. then you should read my last post where I define the whole terminology of competitive programming. this will give you the proper idea that what is competitive programming and you really need to learn competitive programming or not. 
So let's start with our main topic...

Pick up a programming language

if you really want to learn competitive programming then you should have proper knowledge of at least one programming knowledge. I think everyone has their own favorite programming language.

let me take an example. am a person who always loves to code in python programming. and one thing is that you can start learning competitive programming with any programming language. even with javascript or php. which is the scripting language?
and after picking a language in which you are comfortable to code. then start learning this language from basic to advance. 

let's say if I started with python then I first learned basic things that what is python and in which areas the python used. how many versions are available currently in the market. and what libraries used in python and what is the use of all these libraries.

after that, I started learning coding in the python. I start with the basics like first, I learned about loops, statements, variables, operators, lists, dictionaries, and other things as well. at the same time, I also practice for code with my own hands. 

and then I jumped to the advanced topics in python like how to use files and graphics using libraries and how to use other external tools like Github, and how to work with other programming languages like working with an XML file with python and soon...
it took me 1 month to learn the whole python programming language. and trust me a programming language never ends. so every day I learn new things in python.

Learn Data Structures

After picking a programming language. you should need to learn data structure in the same language. let's say that if I choose python and after a sufficient knowledge of python. I started learning data structures in python. 
one thing I want to clear is that here I only mean with data structures, not with algorithms. 

in data structures, I learned about lists, stack, queue, heap, tree, and graph. and implement these things using the python programming language. using data structure I got the initial knowledge about what is stack, queue, heap, tree, and graph. and this process took me the extra half month to complete it. then I jumped over the algorithms.

Learn Algorithms

After learning the general introduction about the data structure and learn about how to implement these things in one of my favorite programming language which is python. and then I started with the algorithm. in algorithm I started learning how to perform the operations on the data structures like how to insert, deleted, sort, merge link lists, queue, heap, tree, and graph. and implement these operations using python programming. 

so after learning algorithms, I started using the data structures and algorithm techniques in my code.
so that results in me that how to handle complexity in the program. and how to make a solution to a bigger problem with the minimum line of code. and trust me this gives me a lot of confident that how to handle coding problems and solve them in a minute. and this is the real competitive programming.

because competitive programming means that how we can minimize the resources that are used by our code with our experience. like if a program takes 100 bytes of memory and 10 seconds of time to run then using the competitive programming we can minimize the memory size and time-space used by the program.

Hands-on practice

after learning data structures and algorithms in a particular programming language and have a sufficient knowledge that how to use these techniques in our code. you need a very special and important thing which is practice-practice-practice...
because practice makes perfect. 

so there is the number of websites where you can make your account and start practice in your particular topic. like if you are not good enough in data structures then you can go to the hacker rank website and start solving problems on data structures. 

Follow cycle

this is one of the most important things. and nobody can tell you about this. if you really want to be good at competitive programming then you should follow the whole cycle. because when I finished up with my practice. I realize that there are some topics in which I was not good. and also there are numerous topics in python which I was not touched at a single time. so I follow back the process and start learning the things which I was left previously. 

and trust me I follow back the whole cycle so many times. and this makes me good and better every day in competitive programming. so this is my way which I follow to learn competitive programming. you can also join me and start learning today... 

if you do then comment me with yes or no then never mind. 
good luck with your journey
if you like this post and this knowledge helps you something then please share this post. so others can also get the things which you have. you can also subscribe to this blog using email. 

Tuesday, December 24, 2019

What is Competitive programming
What is Competitive programming: if you are a programmer then you have heard about the term called competitive programming. and most of the programmers are crazy about competitive programming.

and if you are new in programming and want to know about the competitive programming then you are in the right place. so today I am going to show you something special and fully expect competitive programming. 
Competitive programming
competitive programming
So I am going to divide the things for you. so my words become easy to understand for you.
  • why competitive programming.
  • what is competitive programming?
  • how to learn competitive programming.

Note: if you are a programmer then you should read this post at the end of the line. 

Why competitive programming

In today's world, the IT companies and product-based companies like google, facebook, amazon, Microsoft and other powerful companies have always a requirement for a post of a competitive programmer. and if you are in the world of information and technology then the thing which is called competitive programming is mattered a lot for you.

because the world has new opportunities for everyone and the things which were easy to maintain in the past. but today there is a lot of complicated things for a programmer.

Let's understand it with an example

If I say that there are billions of searches for a query on google. so to understand how Google uses software and hardware to maintain it's service. not even in a country but globally. and how to google trained their new software so they will become very easy to use. like google has google maps, classroom, hangout, google drive, youtube, google mail and a very famous platform for readers and creators which is a blogger.

and you will be shocked to hear that millions of peoples sign up on the google blog to create their own blog every single day. 

so how google maintain these things. so these whole criteria go to competitive programming. only and only competitive programming is responsible to grow a world where these things are possible to maintain. 

so I think now you should know why you need to get hands-on practice on competitive programming. 

What is competitive programming

Around half of the programmers think that competitive programming is a programming language. but in reality, it is not a programming language. to easily understand the meaning of competitive programming I break the word in two parts. first is competitive and second is programming. 

What is Competitive

In my opinion, if I rewrite the meaning of competition in the IT sector. then competitive is a position where we don't have full resources.

for example, if I say that write a program for the addition of two numbers. then there is not any existence of the competitive word. because there is not any terms and condition for write code. 

but if I say that write a program for the addition of two numbers. and the program has maximum use of memory is only 30 bits and the run time of the program is only 0.001 second. so here I have a lack of resources where I only have 0.001 second of time and 30 bits of space. so there is competitive. 
now come to programming. 

What is Programming 

Programming is a way to interact with the computer system. because our computer only knows the low-level language. which is a combination of 0 and 1.
there are hundreds of programming languages available to write the program for our computer. so the computer can run the things in a manner which is satisfied with us. 

So competitive programming is nothing but how you code efficiently so your code will run in minimum time and take fewer resources like memory and hardware. 

and if you are seeking a job in the IT sector. then you should know how to write an efficient code so your code will run in no time and will take fewer resources. because this will reduce the cost of your product and save the time of your customers. and this will surely beneficial for you. so now you get the response that why you need hands-on practice in competitive programming.

How to start with competitive programming

So now you set you your mind that you will learn competitive programming. so here are the steps which you need to follow...

You need a fresh post on this topic. 
so follow this link to get the path to learn competitive programming. 
How to learn competitive programming.


If you find this post something helpful for you. then please share this post across all social media. and never forget to subscribe with your email. that means you are aware of your career.