Introducción a machine learning

MT3006 - Robótica 2

Dos caras de la misma moneda

Versus

statistics

statistics

optimization

optimization

O al menos en sus inicios*

¿Por qué?

La ingeniería tradicional es top-down

\mathbf{x}
y
\mathbf{f}

principios fundamentales

matemática

física

química

electrónica

mecánica

etc.

Pero machine learning es bottom-up

\mathbf{x}
y
\mathbf{f}

el sistema consume data y aprende el modelo

data

Aprender se refiere a emplear un conjunto de ejemplos para inferir algo acerca del proceso subyacente

¿Cómo se ve esto?

Partamos de un ejemplo sencillo

paciente sano

paciente con COVID-19

paciente sano

paciente con COVID-19

al inicio de la pandemia, se tenía poco conocimiento técnico sobre el virus...

paciente sano

paciente con COVID-19

al inicio de la pandemia, se tenía poco conocimiento técnico sobre el virus...

...pero muchos pacientes contagiados

enfermo

saludable

enfermo

saludable

machine learning

enfermo

saludable

machine learning

este es un ejemplo de un problema de clasificación, en donde cada caso debe colocarse dentro de alguna categoría (discreta)

en este caso, el algoritmo de machine learning cumple con dos objetivos:

  • explica la separación de los casos de ejemplo entre las dos categorías (estadística descriptiva)
  • predice si un caso nuevo pertenece a un paciente saludable o enfermo (estadística inferencial)

en este caso, el algoritmo de machine learning cumple con dos objetivos:

  • explica la separación de los casos de ejemplo entre las dos categorías (estadística descriptiva)
  • predice si un caso nuevo pertenece a un paciente saludable o enfermo (estadística inferencial)

formalicemos un poco la situación

Data como punto de inicio

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

datos, observaciones o ejemplos

Data como punto de inicio

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(i)}=\begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_d \end{bmatrix}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

feature vector

vector de características

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

Supervised learning

datos junto con...

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

labels |

y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

etiquetas

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

training data

training set

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

objetivo:

explicación

+

predicción

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}
\mathbf{x}^{(13)}
¿y^{(13)}?

Supervised learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
y^{(1)}
y^{(2)}
y^{(3)}
y^{(4)}
y^{(9)}
y^{(7)}

objetivo:

explicación

+

predicción

y^{(5)}
y^{(8)}
y^{(10)}
y^{(11)}
y^{(12)}
\mathbf{x}^{(13)}
¿y^{(13)}?

Clasificación: \(\quad y\in\{1,2,...,m\}\)
Regresión:      \(\quad y \in \mathbb{R}\)

Ejemplo: regresión

precio ($k)

área

superficial \((m^2)\)

50

100

150

200

250

150

300

Ejemplo: regresión

precio ($k)

50

100

150

200

250

150

300

área

superficial \((m^2)\)

Ejemplo: regresión

precio ($k)

50

100

150

200

250

150

300

225

área

superficial \((m^2)\)

¿Qué otros tipos de machine learning hay?

Unsupervised [self-supervised] learning

\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}
\mathbf{x}^{(1)}
\mathbf{x}^{(3)}
\mathbf{x}^{(11)}
\mathbf{x}^{(5)}
\mathbf{x}^{(4)}
\mathbf{x}^{(9)}
\mathbf{x}^{(2)}
\mathbf{x}^{(7)}
\mathbf{x}^{(10)}
\mathbf{x}^{(8)}
\mathbf{x}^{(12)}

encontrar y/o comprender estructura o distribución

Unsupervised [self-supervised] learning

Ejemplo: clustering

Ejemplo: clustering

Ejemplo: diffusion and denoising

Reinforcement learning

environment

policy

actor

action

state

reward

a_t
R_t
s_t

Ejemplo: robots jugando fútbol

Formalizando aún más al supervised learning, partiendo de un ejemplo conocido

¿Modelo que prediga \(y_i\) para un \(x_i\) desconocido?

¿Modelo que prediga \(y_i\) para un \(x_i\) desconocido?

y=3.0403x+0

¿Modelo que prediga \(y_i\) para un \(x_i\) desconocido?

y=3.0403x+0

trivial, pero con esto ya entrenamos un modelo de machine learning

  • El modelo se encontró con data.
  • El modelo no sólo explica los ejemplos, sino que permite predicciones.
    • Es decir, cumple tanto con la parte descriptiva como la predictiva.

¿Por qué?

  • El modelo se encontró con data.
  • El modelo no sólo explica los ejemplos, sino que permite predicciones.
    • Es decir, cumple tanto con la parte descriptiva como la predictiva.

¿Por qué?

  • Esto, sin embargo, esconde sutilezas fundamentales.

Formalizando conceptos

Emplear regresión lineal implica resolver

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

¿Cómo se ve esto en el proceso?

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

hasta encontrar la mejor

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

se prueban distintas hipótesis

(líneas rectas)

hasta encontrar la mejor

¿Cómo?

(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

encontrando la que minimice la discrepancia (pérdida) entre el modelo y los datos de entrenamiento

\cdots
\cdots
(m^\star,b^\star)=\displaystyle \argmin_{m,b} \sum_{i=1}^n\left[(mx_i+b)-y_i\right]^2

encontrando la que minimice la discrepancia (pérdida) entre el modelo y los datos de entrenamiento

\cdots
\cdots

En general, se da una situación similar en todo problema de supervised learning

\(\Rightarrow\) optimización de pérdida

(loss optimization)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} L(\mathbf{W})

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} L(\mathbf{W})

parámetros del modelo (a encontrar)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} L(\mathbf{W})

función de pérdida (loss function)

Optimización de pérdida

sample loss

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

hipótesis (\(f_1,f_2,...,f_K\) para el caso vectorial)

observaciones

etiquetas | labels (\(y_k^{(i)}\) con \(k=1,...,K\) para el caso vectorial)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

se emplea todo el training set

este caso particular se conoce como la empirical loss  (se efectúa una sumatoria desde \(1\) hasta \(K\) en el caso vectorial)

Optimización de pérdida

\mathbf{W}^\star=\displaystyle \argmin_{\mathbf{W}} \dfrac{1}{n} \sum_{i=1}^{n} \ell\left(f(\mathbf{x}^{(i)},\mathbf{W}), y^{(i)}\right)

se emplea todo el training set

este caso particular se conoce como la empirical loss  (se efectúa una sumatoria desde \(1\) hasta \(K\) en el caso vectorial)

Si bien este setup es adecuado, requiere que seleccionemos la hipótesis (próximas semanas)