Programming vs ML
2022, May, 19
Let's go through some basic definitions
Dataset
A collection of labels/properties/fields and records.
A record contains values for corresponding labels.
In tabular representation, record is single row of the table.
Programming
A process of writing unambiguous rules in a language that can either be directly understood/executed by a computer or can be translated/complied into a format that can be executed by a computer.
Deterministic by nature.
INPUT(given) -> PROGRAM(known) -> OUTPUT(unknown)
Given a set of input(s), a program can process it and produce meaningful output. Here,
- INPUT is GIVEN
- PROGRAM is KNOWN
- OUTPUT in UNKNOWN
Data Science
Field which deals with extraction of useful insights/rules from large datasets.
Data Science is useful when it is not practical to write a rule based program.
Data Science techinques are mostly based on statistical approximation.
Approximated model will never be 100% accurate.
Models can have 3 different types of maturity:
- Descriptive : Model tries to explain a dataset by visualization or helps to highlight the relationships between important properties. It tries to answer the question :
'Whats going on in the dataset ?'
- Predictive : Model tries to suggest what might happen in future based on existing dataset. It tries to answer the question:
'What could happen next ?'
- Prescriptive : Given current state of the world, model tries to suggest what should be done to achieve desired outcome. It tries to answer the question:
'What should be done next ?'
Machine Learning
INPUT(given) -> PROGRAM(unknown) -> OUTPUT(known)
Given a large set of known input(s) & their corresponding output(s), a program/function/model needs to be deduced that could process unknown inputs in the future and provide close to accurate outputs.
Non-Deterministic by nature.
It may not be easy to explain the output given by a ML trained model. Explainability of model also depends on the technique used.
Aritifical Intelligence
A system that can solve problems that it may have never seen or trained on.
It's logic should not be based on fixed set of pre-programmed rules.
It's can understand the context of a situation and takes decisions based on it.