Aprendizaxe estatística

miniatura|Axuste estatístico elaborado mediante o *software* R. Nel, trátase de **predicir** a variable "tempo mínimo entre erupcións" (eixo Y) a partir dos datos da variable explicativa "duración da erupción" (eixo X).|335x335px
O campo da **aprendizaxe estatística** refírese ás ferramentas matemáticas empregadas para predicir ou estimar un resultado baseándose nunha serie de entradas; é dicir, obter *output* a partir de datos considerados *input*. Estas ferramentas considéranse **supervisadas** ou **non-supervisadas** segundo a disposición do *output* (nunha aprendizaxe estatística non-supervisada trátase de obter relacións e estruturar os datos, pois non se dispón de *output* para clasificalos). 

Cando os **datos** sometidos a análise involucran **variables continuas ou cuantitativas**, é común referirse ás técnicas de aprendizaxe estatística como ferramentas de regresión. Non obstante, tamén hai casos nos que o resultado a predicir non posúe un valor numérico (**variables categóricas ou cualitativas**). Este tipo de problemas considéranse de clasificación supervisada. 

Respecto ás situacións nas que só temos datos de *input* sen relación aparente, é común agrupar aos individuos de estudo en grupos de acordo ás diferentes características observadas nas variables das que se dispón. O problema de agrupar individuos denomínase *clustering* e, a diferenza da clasificación supervisada, non trata de predicir o valor dunha variable, senón "xerar" o propio *output* nunha nova clasificación de individuos. Os grupos finais serán considerados **clústers.** Entre os diferentes métodos de agrupamento encóntranse os **métodos de partición** (algoritmo K-medias), os **métodos xerárquicos** e os **caza-grupos** (Mean-Shift, DBSCAN). 

Para levar a cabo este tipo de análise, a estatística estuda miles de variables que esconden as verdadeiras relacións entre os datos ou individuos. Na **aprendizaxe estatística** é común facer uso de técnicas como compoñentes principais, que reducen significativamente a dimensión dos datos e melloran a visualización dos mesmos permitindo gráficos en dúas dimensións. Esta técnica supón a perda de certa variabilidade dos datos ao tratar de condensar múltiples variables nunhas poucas (na maioría dos casos dous).

## Historia 
O termo **aprendizaxe estatística** adoita asociarse ao auxe de sistemas complexos como redes neuronais e sistemas de intelixencia artificial que dispoñen de múltiples datos a través de Internet. Con todo, os seus sustentos teóricos orixináronse no século XIX de mans de diversos matemáticos e informáticos que, sen sabelo, abriron as posibilidades desta área de coñecemento.

A comezos do século XIX, Legendre e Gauss publicaron *papers* relacionados co célebre método de mínimos cadrados, que á súa vez abriu as portas do que se coñece como regresión linear. As primeiras aplicacións centráronse en problemas de astronomía, pero pronto empezaron a considerarse outras aproximacións. Entre elas, destaca a predición de valores cuantitativos, como o salario dun individuo dependendo da súa idade, sexo, localidade e estudos. 

En canto á clasificación supervisada, Fisher propuxo o método de análise lineal discriminante en 1936. O obxectivo era predicir valores **cualitativos**, como a supervivencia dun paciente que padece unha enfermidade ou as subidas e baixadas do mercado. Nos anos 40 emerxeu unha formulación alternativa chamada regresión loxística. Nos 70's, Nelder e Wedderburn acuñaron o termo ***modelos lineais xeneralizados*** para referirse a unha familia enteira de métodos estatísticos.

Os escenarios **non-lineais** foron considerados como "problemáticos" para os científicos dos anos 70. Daquela, o axuste de métodos **non-lineais** non era factible computacionalmente. Afortunadamente, a tecnoloxía de computación dos anos 80 permitiu que Breiman, J. Friedman, Olshen e Stone introduciran ferramentas de **clasificación** e **árbores de regresión**. Entre as súas contribucións destacadas atópase a implementación práctica dos modelos así como a validación cruzada para seleccionar a mostra de adestramento e distinguila da de validación. No 1986, T. Hastie e R. Tibshirani acuñaron o termo '''*modelos aditivos xeneralizados*,** que consisten en extensións **non-lineais** do modelo de regresión clásico.

A aprendizaxe automática aproveita a maoría de técnicas da estatística para mellorar o adestramento de modelos de regresión, clasificación e predición. Ademais, as técnicas estatísticas de **análise da variabilidade** dos datos permiten incrementar a eficiencia dos axustes e confeccionar mellores modelos.

## Introdución 
Os métodos de aprendizaxe estatística establecen as bases para:

* Aprendizaxe supervisada.
* Aprendizaxe non supervisada.
* Aprendizaxe online.
* Aprendizaxe por reforzo.

A aprendizaxe ten dous obxectivos primordiais: **inferencia** e **predición'*. Os problemas de aprendizaxe supervisada considéranse os máis sinxelos de entender e poñer en práctica. Neles, cada punto do conxunto de adestramento é un par (entrada-saída) ou (*x*,*y*) no que a entrada ten asignada unha saída específica. Chámase "aprendizaxe" ao procedemento mediante o cal se infire a función que relaciona entrada e saída, de forma que dita función poida empregarse para predicir a saída de entradas futuras (sen saída previamente asignada).

Os problemas de aprendizaxe supervisada son problemas de regresión ou de clasificación estatística. A diferenza reside na saída.

* **Problema de regresión**: saída cun rango continuo de valores.
* **Problema de clasificación**: saída cun rango discreto de valores.

Por exemplo, unha regresión podería ter o obxectivo de encontrar a relación funcional entre a voltaxe de entrada V e a intensidade de corrente I da lei de Ohm.

V = I R

Por outra banda, nunha clasificación a saída toma a forma dun conxunto discreto de etiquetas. Este tipo de problemas é máis común na aprendizaxe automática. O recoñecemento facial é un problema de clasificación onde a imaxe da cara dunha persoa funcionaría como entrada, e a etiqueta de saída sería o nome de identificación. Neste caso a imaxe de entrada tería que codificarse mediante un vector multidimensional onde cada elemento representa un píxel da devandita imaxe.

É recomendable que tanto regresión como clasificación aprendan sobre un conxunto de datos de adestramento e empreguen outro conxunto de datos (datos de proba ou validación) para predicir ou clasificar, coa intención de evitar fenómenos de **sobreaxuste**.

## Notación e álxebra esencial 
Sexan n as observacións dunha mostra xenérica, e p o número de variables dispoñibles. 

Dise que x_{i,j} representa o valor da variable *j-ésima* para a observación *i-ésima*, con i = 1,2,...,n e j = 1,2,...,p. 

Sexa X = \begin{pmatrix} x_{1,1} & x_{1,2} & \ldots & x_{1,p} \\ x_{2,1} & x_{2,2} & \ldots & x_{2,p} \\ \ldots & \ldots & \ldots & \ldots \\ x_{n,1} & x_{n,2} & \ldots & x_{n,p} \end{pmatrix}.

Para cada observación cóntase cun vector x_{i} de lonxitude p que contén os valores asociados ás p variables para o individuo *i-ésimo*, é dicir

x_i = \begin{pmatrix} x_{i,1} \\ x_{i,2} \\ \ldots \\ x_{i,p} \end{pmatrix}.

Por outra banda, defínese y_i como a observación *i-ésima* da variable resposta (a que se pretende predicir). As n observacións da variable escríbense nun vector como

y = \begin{pmatrix} y_1 \\ y_2 \\ \ldots \\ y_n \end{pmatrix}.
miniatura|261x261px|Descrición matricial dun modelo multivariante y = X\beta + \epsilon.
Desta forma, as observacións completas consisten en \{(x_1,y_1), (x_2,y_2), \ldots, (x_n,y_n)\} sendo cada x_i un vector de lonxitude p.

Considérase, pois, cada columna da matriz X como unha variable de *input*. A nomenclatura pode variar, pero o consenso é optar por un dos seguintes termos:

* Predictor
* Variable independente
* Variable explicativa

Para y, o común é empregar:

* Resposta
* Variable dependente
* Variable explicada

## Modelos de estimación 
De observarse unha relación cuantitativa entre a **variable resposta** y e os p diferentes **predictores**, é común establecer unha relación entre y e X = (X_1,X_2,\ldots,X_p) da forma

y = f(X) + \epsilon.

Sexa \epsilon un **termo de erro** aleatorio, e f a expresión dunha función descoñecida que actúa sobre X_1,X_2,\ldots,X_p.
miniatura|212x212px|Exemplo de axuste dos datos por regresión lineal.
A **aprendizaxe estatística** propón diferentes aproximacións á estimación de f, algunhas delas amplamente coñecidas como a regresión linear. Non obstante, o *por qué* estimar f presenta dúas situacións claramente diferenciadas: **predición** e **inferencia**. 

### Predición 
En situacións nas que se conta coa matriz de datos X, é común requirir do *output* y no que se coñece como "predición da variable resposta". Pola **hipótese de normalidade** do erro \epsilon, a predición de y resulta

\dot y = \dot f(X),

onde \dot f representa a estimación de f e \dot y a predición para y. A forma de \dot f é tipicamente descoñecida, e cada modelo en particular ocuparase de establecela. Así, en xeral enténdese \dot f como unha *caixa negra.*

Ao predicir, é importante distinguir entre dous tipos de erro: o **reducible** e o **irreducible**.

* O **erro reducible** é potencialmente mellorable, xa que \dot f pode non ser un estimador perfecto de f causando inexactitudes. Unha selección apropiada de técnicas de **aprendizaxe estatística** é capaz de mellorar a estimación e reducir este erro.
* O **erro irreducible** é, como o seu nome indica, implícito ao propio modelo. Unha perfecta estimación da forma \dot y = f(X) non podería reemplazar o papel de \epsilon, pois y é calculada en función do propio erro por definición.

O **erro irreducible** pode estar influenciado por variables que non se encontran entre as p de X, xa que a cantidade \epsilon contén unha variación que non é posible medir.

Dada a predición \dot y = \dot f(X), é demostrable que

\Epsilon(Y-\dot Y)^2 = \Epsilon[f(X)+\epsilon-\dot f(X)]^{2} = [f(X)-\dot f(X)]^{2} + Var(\epsilon)

sendo \Epsilon[f(X)-\dot f(X)]^{2} o valor esperado da diferenza cuadrática entre a resposta predita e o valor real de y. 

A varianza estatística de \epsilon considerase a parte "irreducible" da expresión.

### Inferencia 
Cando o obxectivo da análise non é predicir y a partir de X_1,X_2,\ldots,X_p senón achar a forma en que a variable resposta é afectada polas p variables, fálase de **inferencia**. \dot f toma o papel de *caixa negra* e a meta é obter a súa forma exacta. O método co que proceder depende dunha serie de cuestións.

* Preditores asociados á resposta (identificar os máis importantes).
* Relación entre a resposta e cada preditor.
* Linealidade ou non-linealidade da relación entre y e cada preditor (repercute directamente na complexidade do modelo).

## Clasificación de métodos 
Os métodos de **aprendizaxe estatística** buscan aprender do conxunto de datos de adestramento para estimar a función descoñecida f, é dicir, atopar \dot f tal que y \approx \dot f(X) para calquera observación (X,y). 

### Métodos paramétricos 
# **Asunción de forma para f**. O máis sinxelo é asumir que f é **lineal** en X. Exemplo:f(X) = \beta_0 + \beta_1X_1 + \beta_2X_2 + \ldots + \beta_pX_p.
# **Adestramento ou axuste do modelo**. No caso lineal, será suficiente con estimar os p+1 coeficientes \beta_0,\beta_1,\ldots,\beta_p, é dicir, y \approx \beta_0 + \beta_1X_1 + \beta_2X_2 + \ldots + \beta_pX_p. Para tal caso, adóitanse empregar métodos como mínimos cadrados.

O concepto de *modelo paramétrico* simplifica estimar f a estimar un conxunto de p+1
 parámetros. Con todo, córrese o risco de sobresimplificar o problema ao tentar encaixar a estimación nunha forma de f non verdadeira.

Os *modelos flexibles* son máis complexos ao tratar diferentes formas funcionais para f. En xeral, incurren en *overfitting* (sobreaxuste) e adáptanse demasiado ao **ruído** dos datos.

### Métodos non-paramétricos 
# **Non asunción de forma explícita para f**.
# **Procura de estimacións sen restriccións de forma**.

A principal desvantaxe é que se requiren de moitas observacións para poder atopar unha estimación precisa. Unha posible aproximación son as **TPS** (Thin Plate Splines) baseándose en interpolación e *smoothing,* mais o risco de sobreaxuste aumenta considerablemente.

## Explicabilidade 
*Por que empregar métodos restritivos fronte aos que permiten maior flexibilidade?*A estimación de f expón dúbidas en canto á aproximación a tomar, que pode ser flexible ou restritiva. Un caso disto último sería a regresión linear, onde só podemos xerar rectas de regresión. Outros modelos como as **TPS** permiten un axuste a un rango amplo de formas. Con todo, os modelos restritivos adóitanse interpretar moito máis facilmente. Se a inferencia é o obxecto do estudo estatístico, restrinxir a forma simplifica a comprensión da relación entre y e as variables X_1, X_2, \ldots, X_p. 

De feito, modelos de regresión como o *lasso* favorecen a interpretación dos resultados ao tratar de establecer varios dos coeficientes \beta_0, \beta_1, \ldots, \beta_p a cero. En cambio, dentro dos **modelos aditivos xeneralizados** (siglas GAM, de *Generalized Additive Models* en inglés) proponse unha flexibilidade maior que permite relacións non-lineais. Pola contra, estas adoitan ser moito máis difíciles de explicar, onde a relación entre cada predictor e a resposta é unha curva.

**SVM**s (*Support Vector Machines*), *bagging* e *boosting* funcionan como kernels non-lineais que dificultan a interpretación dos modelos á conta de ser máis flexibles. 

## Aprendizaxe supervisada e non supervisada 
As dúas categorías principais nas que recaen a maior parte de problemas de aprendizaxe estatística son **aprendizaxe supervisada** e **aprendizaxe non supervisada.**

### Supervisada 
Cando para cada observación x_i, i = 1,\ldots,n temos unha resposta y_i asociada, fálase dun problema de aprendizaxe supervisada se o obxectivo para futuras observacións é predicir o valor da variable resposta. Entre os diferentes métodos a empregar atópanse:

* Regresión linear
* Regresión loxística
* **Modelos Aditivos Xeneralizados** (GAM)
* ***Boosting***
* **Support Vector Machines** (SVMs)

### Non supervisada 
Nunha situación na que se dispón dun vector de medidas x_i, i = 1,\ldots,p sen resposta y_i asociada, fálase de aprendizaxe non supervisada se a intención é xuntar as observacións (datos iniciais) en grupos. Unha das principais técnicas é o clustering, que aínda que pode resultar sinxelo para dúas variables, resulta en p(p-1)/2 diagramas de dispersión para p variables, o que dificulta en gran medida a identificacións dos *clústers*.

### Semisupervisada 
No caso de contar cun conxunto de datos (n observacións) cun subconxunto m  dos mesmos para os que se dispón dos valores da variable resposta, n-m desas observacións non contan cun valor da resposta. O conxunto de datos podería considerarse, pois, a base dun problema de **aprendizaxe semisupervisada.**

## Precisión de modelos 
A **precisión** (*accuracy*) dun modelo estatístico trata de medir a mellor aproximación no momento de seleccionar un procedemento de aprendizaxe.

### Erro cuadrático medio (MSE) 
Mide a calidade do axuste cuantificando a **media das diferenzas cuadráticas** entre os valores reais (y_i) e as predicións \dot f(x_i).

MSE = 1/n * \Sigma_{i=1}^{n}(y_i - \dot f(x_i))^2,

con MSE pequeno cando a resposta predita está próxima ao valor real.

No obstante, o MSE de adestramento resulta poco útil a propósitos de análise. O obxectivo é aplicar esta medida sobre **datos completamente novos** e comprobar a desviación da predición respecto ao valor real, non sobre datos que xa coñecemos polo proceso de adestramento.

É dicir, para observacións de adestramento 

\{(x_1,y_1), (x_2,y_2), \ldots, (x_n,y_n)\}

compútase \dot f(x_1), \dot f(x_2), \ldots, \dot f(x_n) e se comparan cos valores reais da resposta y_1, y_2, \ldots, y_n. 

Mais a comprobación 

\dot f(x_i) \approx y_i

non é de interese, senón minimizar a diferenza aproximada entre \dot f(x_0) e y_0.

Así, 

Ave(y_0 - \dot f(x_0))^2

para observacións test do tipo (x_0,y_0) resulta unha medida de precisión máis adecuada que o MSE de adestramento. 

Non obstante, contar con datos de test é unha dificultade engadida ao problema, polo que comunmente recórrese ao método de validación cruzada para estimar o MSE de test empregando parte do conxunto de datos de adestramento.

### Nesgo-Varianza 
É posible descompoñer o MSE esperado para un certo valor x_0 como a suma de tres cantidades.
miniatura|307x307px|Contribucións de **nesgo** e **varianza** ao erro total da predición.
E(y_0 - \dot f(x_0))^2 = Var(\dot f(x_0)) + [Nesgo(\dot f(x_0))]^2 + Var(\epsilon).

* E(y_0 - \dot f(x_0))^2 funciona como o MSE de test *esperado.*
* Ao estimar f repetidamente para todos os valores posibles de x_0 contidos no conxunto de datos de test obtense o MSE total de validación.
* A descomposición en **Nesgo** e **Varianza** establece que para minimizar o erro esperado de test é necesario un método estatístico de aprendizaxe que aspire a **baixa varianza** e **baixo nesgo** (ambas as cantidades sempre son non negativas).
Ademais, o MSE esperado nunca estará por baixo de Var(\epsilon)

* **Varianza**: cantidade na que cambiaría \dot f se estimásemos cun conxunto de datos de adestramento diferente.
* **Nesgo**: erro introducido pola aproximación dun problema real que non é modelable de forma sinxela.

Por regla xeral, os **métodos flexibles** aumentan a varianza e diminúen o nesgo. O **balance Nesgo-Varianza** (*bias-variance trade-off*) é unha medida do axuste dun modelo, pois é sinxelo atopar métodos con alta varianza e nesgo baixo (unha curva que pasase por cada punto das observacións) ou viceversa (liña horizontal aos datos).

### Taxa de erro 
Con y_i non numérico (é dicir, variable resposta cualitativa) o concepto de **balance Nesgo-Varianza** tradúcese a un problema de clasificación.

Cóntase con oservacións \{(x_1,y_1), \ldots, (x_n,y_n)\} con y_1, \ldots, y_n variables cualitativas.

Así, a precisión mídese coa **taxa de erro**

1/n * \Sigma_{i=1}^nI(y_i \neq \dot y_i)

con I **variable indicadora** tal que I(y_i \neq \dot y_i) = 1 se y_i \neq \dot y_i, 0 noutro caso.

Cando I(y_i \neq \dot y_i) = 0 a observación clasificouse correctamente. 

Non obstante, o previamente descrito é o **erro de adestramento**, mais o que resulta de maior interese para medir a precisión do modelo é o **erro de test**, o cal se asocia cun conxunto de observacións da forma (x_0,y_0).

Sexa \dot y_0 a clase predita para o individuo x_0. Deste modo

Ave(I(y_0 \neq \dot y_0))

emprégase como clasificador.

A forma máis común de minimizar a **taxa de erro** nun problema de clasificación é mediante o **clasificador de Bayes**, que asigna a cada observación a clase á que é máis probable que pertenza baseándose nos valores preditos dados. É dicir, localizar a clase j que fai

Pr(y = j| X = x_0) (probabilidade condicionada)

o valor máis alto posible. 

* **Exemplo con dúas clases**: bastaría con saber se Pr(y=1|X=x_0)>0.5. En caso afirmativo, a predición sería a primeira clase. En caso contrario, a segunda (y=2).

A **taxa de erro bayesiana** global resulta 1 - E(max_jPr(y=j|X))), e é análoga ao **erro irreducible**.
miniatura|217x217px|Representación do método de K-vecinos pretos (*K-nearest neighbors*).

### K-vecinos pretos (KNN) 
Cabe a posibilidade de que se descoñeza a distribución condicional de y dado X. Isto imposibilita calcular a **taxa de erro** a través do **clasificador de Bayes**.

A aproximación máis habitual é estimar a distribución condicional de y coñecido X e, posteriormente, asignar á observación con probabilidade máis alta.

Dado un enteiro positivo K e unha observación test x_0, o clasificador KNN identifica os K puntos do conxunto de datos de adestramento máis próximos a x_0. Considérese N_0 este conxunto.

Pr(y=j|X=x_0) = 1/K * \Sigma_{i\in N_0}I(y_i=j),

estima a probabilidade condicionada para a clase j como a fracción de puntos de N_0 que teñen valores de resposta iguais a j.

Despois, o algoritmo de KNN procede aplicando a regra de Bayes e clasificando a observación de test (x_0) na clase que conte coa maior probabilidade.

## Regularización 
miniatura|246x246px|Sobreaxuste (*overfitting*). Os puntos vermellos representan os datos do conxunto de adestramento, a liña verde a relación funcional verdadeira que seguen os datos e a liña azul a función "aprendida" (sobreaxustada aos datos de adestramento).
Un dos problemas máis importantes da aprendizaxe automática é o **sobreaxuste**. O obxectivo da maior parte de procesos de aprendizaxe é predicir, pero ás veces non convén encontrar a función que máis se axuste os datos previamente observados, senón unha que prediga ben datos futuros. 

* O sobreaxuste é síntoma de solucións inestables, onde unha pequena perturbación nos datos do conxunto de adestramento provoca unha gran variación na función aprendida.
* Unha solución estable (función que non incurre en *overfitting'') garantiza xeneralidade e coherencia.

A regularización pode resolver o problema do sobreaxuste e estabilizar o problema. 

* Unha forma sería restrinxir o espazo de hipóteses H a funcións lineais (limita o problema á regresión linear).
* Alternativamente, solucións de maior complexidade consisten no emprego de polinomios de grao p, exponenciais ou funcións limitadas en L1.

Restrinxir o espazo de hipótese evita o sobreaxuste porque limita a forma das funcións e impide elixir unha función de risco empírico arbitrariamente preto a cero.

Un exemplo de regularización é a regularización de Tíjonov. Nela, minimízase:

{1 \over n}*\Sigma_{i=1}^n V(f(x_i),y_i) + {\gamma \lVert f \rVert}^2_H

sendo V(f(x_i),y_i) a función de perda escollida e \gamma un parámetros de regularización (positivo e fixo).

## Limitación do risco empírico 
Considerando un clasificador binario f: X \rightarrow \{0,1\}, pódese aplicar a desigualdade de Hoeffding para limitar a probabilidade de que o **risco empírico** tome unha desviación do risco real a unha distribución subgaussiana.

\mathbb{P} (|\hat{R} (f) - R(f)| \geq \epsilon) \leq 2e^{- 2 n \epsilon^2}

Por regra xeral, a minimización empírica do risco non obriga a empregar un clasificador, senón que hai que elixilo. Por tanto, é útil limitar a probabilidade do supremo da diferenza sobre toda a clase.

\mathbb{P} \bigg( \sup_{f \in \mathcal{F}} | \hat{R} (f) - R(f) | \geq \epsilon \bigg) \leq 2 S(\mathcal{F}, n) e^{-n \epsilon^2 / 8} \approx n^d e^{-n \epsilon^2 / 8}

Onde 

* S(\mathcal{F},n) **número de fragmentación**.
* n **número de mostras** do conxunto de datos de adestramento.

O termo exponencial procede de Hoeffding, pero hai un custo adicional por tomar o supremo sobre toda a clase, o devandito número de fragmentación.

## Notas 
## Véxase tamén 
### Bibliografía 
* G. James, D. Witten, T. Hashie, R. Tibshirani. "An Introduction to Statistical Learning with Applications in R". Ed. 1, New York: Springer, 2013. ISBN 978-1-4614-7137-0.
* T. Hastie, R. Tibshirani, J. Friedman. "The elements of statistical learning: data mining, inference, and prediction". Ed. 2, New York: Springer, 2009. ISBN 978-0-3878-4857-0.
### Outros artigos 
* Regresión linear
* Aprendizaxe automática
* Análise de compoñentes principais
* Análise da regresión