I'm just starting my journey with Machine Learning. I became a Senior Ruby Developer, and currently looking into new fields.
I'm terrified about GPT Chat which looks incredible and scary in the same time. :)
My plan is to learn Machine Learning and long-term go more into this field of career.
What is Machine Learning?
Machine Learning is a type of AI where we are training algorithms with data, so they can perform and learn better how to do their tasks without directly programming those behaviors.
A simple example of how Machine Learning works:
- we are giving some input (image) and tell that this image is a cat
- we are giving many cats images, so the computer can find a pattern
- then when we have enough data, we can ask a computer if it recognises if there is a cat in this picture
- we are receiving back feedback, on what the computer thinks
- the more we train the system, the better answer will be.
Types of Machine Learning
- Supervised - our data is labeled and we are using those labels for the decision. For example, we are deciding if we want to hire a person based on the skills, this person gave us in a CV,
- Unsupervised - we don't have labels so our computer needs to recognize and group the data. For example, we are giving pictures of apple and pizza, and the computer needs to recognize what they are. Second example would be Association Rule Learning - based on some data we can predict the next output. It is used for example in recommendations.
- Reinforcement - the program does not know anything in the beginning, but with the system of reward and punishment, slowly it learns how to get the best result. It can be used for example in games, the computer can slowly get better results by trying many different paths.
Difference between machine learning and programming algorithms
1. Typical programming algorithms are structured like this:
- we have inputs
- we are giving the instruction for the output
- we are receiving output in the end
2. Machine Learning algorithms are structured differently:
- we have inputs
- we have an output we want to achieve
- our computer is trying to guess what would be the best way to get expected output