Programming vs ML

2022, May, 19

ExplainerData Science

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.