Anda di halaman 1dari 15

Qu es Machine Learning?

Pero, qu es exactamente Machine Learning?. El Machine Learning es el diseo y estudio de las


herramientas informticas que utilizan la experiencia pasada para tomar decisiones futuras; es el estudio
de programas que pueden aprenden de los datos. El objetivo fundamental del Machine
Learning es generalizar, o inducir una regla desconocida a partir de ejemplos donde esa regla es
aplicada. El ejemplo ms tpico donde podemos ver el uso del Machine Learning es en el filtrado de los
correo basura o spam. Mediante la observacin de miles de correos electrnicos que han sido marcados
previamente como basura, los filtros de spam aprenden a clasificar los mensajes nuevos. El Machine
Learning combina conceptos y tcnicas de diferentes reas del conocimiento, como
las matemticas, estadsticas y las ciencias de la computacin; por tal motivo, hay muchas maneras de
aprender la disciplina.

Aprendizaje supervisado
En los problemas de aprendizaje supervisado se ensea o entrena al algoritmo a partir de datos
que ya vienen etiquetados con la respuesta correcta. Cuanto mayor es el conjunto de datos ms
el algoritmo puede aprender sobre el tema. Una vez concludo el entrenamiento, se le brindan
nuevos datos, ya sin las etiquetas de las respuestas correctas, y el algoritmo de aprendizaje
utiliza la experiencia pasada que adquiri durante la etapa de entrenamiento para predecir un
resultado. Esto es similar al mtodo de aprendizaje que se utiliza en las escuelas, donde se nos
ensean problemas y las formas de resolverlos, para que luego podamos aplicar los mismos
mtodos en situaciones similares.

Aprendizaje no supervisado
En los problemas de aprendizaje no supervisado el algoritmo es entrenado usando un conjunto de
datos que no tiene ninguna etiqueta; en este caso, nunca se le dice al algoritmo lo que
representan los datos. La idea es que el algoritmo pueda encontrar por si solo patrones que
ayuden a entender el conjunto de datos. El aprendizaje no supervisado es similar al mtodo que
utilizamos para aprender a hablar cuando somos bebes, en un principio escuchamos hablar a
nuestros padres y no entendemos nada; pero a medida que vamos escuchando miles de
conversaciones, nuestro cerebro comenzar a formar un modelo sobre cmo funciona el
lenguaje y comenzaremos a reconocer patrones y a esperar ciertos sonidos.

Aprendizaje por refuerzo


En los problemas de aprendizaje por refuerzo, el algoritmo aprende observando el mundo que le
rodea. Su informacin de entrada es el feedback o retroalimentacin que obtiene del mundo
exterior como respuesta a sus acciones. Por lo tanto, el sistema aprende a base de ensayo-error.
Un buen ejemplo de este tipo de aprendizaje lo podemos encontrar en los juegos, donde vamos
probando nuevas estrategias y vamos seleccionando y perfeccionando aquellas que nos ayudan
a ganar el juego. A medida que vamos adquiriendo ms practica, el efecto acumulativo del
refuerzo a nuestras acciones victoriosas terminar creando una estrategia ganadora.
El aprendizaje automtico o aprendizaje de mquinas (del ingls, "Machine Learning") es el
subcampo de las ciencias de la computacin y una rama de la inteligencia artificial cuyo objetivo es
desarrollar tcnicas que permitan a las computadoras aprender. De forma ms concreta, se trata
de crear programas capaces de generalizar comportamientos a partir de una informacin
suministrada en forma de ejemplos. Es, por lo tanto, un proceso de induccin del conocimiento.

En aprendizaje automtico y minera de datos, el aprendizaje supervisado es una tcnica para


deducir una funcin a partir de datos de entrenamiento. Los datos de entrenamiento consisten de
pares de objetos (normalmente vectores): una componente del par son los datos de entrada y el
otro, los resultados deseados. La salida de la funcin puede ser un valor numrico (como en los
problemas de regresin) o una etiqueta de clase (como en los de clasificacin). El objetivo del
aprendizaje supervisado es el de crear una funcin capaz de predecir el valor correspondiente a
cualquier objeto de entrada vlida despus de haber visto una serie de ejemplos, los datos de
entrenamiento. Para ello, tiene que generalizar a partir de los datos presentados a las situaciones
no vistas previamente.

Aprendizaje no supervisado es un mtodo de Aprendizaje Automtico donde un modelo es


ajustado a las observaciones. Se distingue del Aprendizaje supervisado por el hecho de que no hay
un conocimiento a priori. En el aprendizaje no supervisado, un conjunto de datos de objetos de
entrada es tratado. As, el aprendizaje no supervisado tpicamente trata los objetos de entrada
como un conjunto de variables aleatorias, siendo construido un modelo de densidad para el
conjunto de datos.

El aprendizaje no supervisado puede ser usado en conjunto con la Inferencia bayesiana para
producir probabilidades condicionales (es decir, aprendizaje supervisado) para cualquiera de las
variables aleatorias dadas. El Santo Grial del aprendizaje no supervisado es la creacin de
un cdigo factorial de los datos, esto es, un cdigo con componentes estadsticamente
independientes. El aprendizaje supervisado normalmente funciona mucho mejor cuando los datos
iniciales son primero traducidos en un cdigo factorial.

El aprendizaje no supervisado tambin es til para la compresin de datos: fundamentalmente,


todos los algoritmos de compresin dependen tanto explcita como implcitamente de
una distribucin de probabilidad sobre un conjunto de entrada.

Otra forma de aprendizaje no supervisado es la agrupacin (en ingls, clustering), el cual a veces
no es probabilstico.

APRENDISAJE SUPERVISADO: Cuando tenemos un conjunto de variables que pueden ser


denotadas como entradas, que se miden o preajustan. Estos tienen alguna influencia en una o mas
salidas. El objetivo es utilizar las entradas para predecir los valores de las salidas.
Entradas -------> Prediciones ------------>input --------> Variables independientes

Feature ---------> Caracteristicas

Salidas -----------> Respuestas --------------> Variables dependientes

Regresin (regression): cuando predecimos salidas cuantitativas.

Clasificacion (Clasification): Cuando predecimos salidas cualitativas.

ordenado categorico : ordered categorical

Modelo lineal y minimos cuadrados

METODO DEL VECINO MAS CERCANO (Nearest-Neighbor Methods)


MODELO DE REGRESION LINEAL Y MINIMOS CUADRADOS (Linear Regression Models and Least
Squares)

tenemos que escoger los datos de entrenamiento (x1,y1)...(xn,yn) ,,, para estimar los parametros
, cada xi es un vector Es un vector de mediciones de caractersticas para el caso i-simo, el mas
popular metodo de estimacion es el de minimo cuadrados. en el que escojimos el coeficiente ,
Para minimizar la suma residual de cuadrados.

Lo que se hace es sustituir la expresin que de f(x) que depende de las s para minimizar la
ecuacin, lo que se hace es tratar de encontrar los mejores s para describir Y.

Los mtodos con penalizacin usuales son Ridge y Lasso, los dos agregan un parmetro que
implica el problema de tener un mtodo para definir el mejor valor para el modelo. Explico con
ejemplos que se hace para determinar el parmetro.
Para el modelo Ridge a la funcin de errores es como la de los mnimos cuadrados pero
agregando un trmino ms. La ecuacin es la siguiente:

Para el modelo Lasso es similar a la de Ridge, pero en la penalizacin en lugar de considerar


los s al cuadrado se considera su valor absoluto. La ecuacin es la siguiente:

Lamento poner las ecuaciones, pero creo que pese a que no se entienda la teora de manera total ,
al observando las diferencias en las ecuaciones se puede apreciar la diferencia en los mtodos. En
la primera grfica de la entrada no lo mencion, pero si se presiona sobre la imagen y se observa
con cuidado que tiene trazadas 3 rectas sobre los datos de color negro, estas tres rectas
corresponden a los 3 mtodos distintos.

Una visin o idea grfica de lo que pasa con el modelo o tcnica, es visto en la siguiente imagen.
Al final el objetivo de la regresin lineal es encontrar el plano que mejor satisface ciertas
condiciones para asegurar que predice o explica lo mejor posible los datos.

Imagen tomada del libro de Trevor Hastie y Robert Tibshirani.

METODO LINEAL DE REGRESION


Notas clases

metodo de minimos cuadrados: nos permite minimizar una funcion de costo que esta expresada
como la diferencia al cuadrado de mis prediciones y de los valores reales (valor objetivo),
asumiendo que mis datos siguen un modelo lineal nos permite desarrollar una metodologia para
calcular los parametros que minimiza esa funcion de costo

Soluciona problemas de Regresion, porque los valores que tenemos no son discretos (clases) si no
que son valores numericos, que resto mi predicion con los valores de entrada,

Estimaciones muy eficientes para hacer prediciones,

un modelo es un conjunto de parametros que me permite predecir, extraer conocimiento a partir


de mis dataset,

Generalization, overfitting and underfitting

Valor de y (valor predicho) y el valor real esta muy lejos, esto significa overfitting

Datos, decimos que es capaz de generalizar desde el conjunto de entrenamiento para el conjunto
de prueba (Generalization)

Si el modelo es muy complejo y se adapta slo al conjunto de entrenamiento hay


sobreequipamiento (overfitting) ; Buen rendimiento en el conjunto de entrenamiento. Malo en el
conjunto de pruebas

La eleccin de un modelo demasiado simple se llama underfitting

Buen rendimiento en el conjunto de entrenamiento. Malo en el conjunto de pruebas


Una solucin: Regularizacin: Restringir explcitamente un modelo para evitar la sobreejecucin
overfitting

Una solucin: Regularizacin: Restringir explcitamente un modelo para evitar la sobreejecucin


overfitting

Label: etiqueta

feature: caracteristicas

Librerias Python

Jupyter Notebook: Entorno interactivo para ejecutar cdigo en el navegador

Numpy: Proporciona funcionalidad para matrices multidimensionales, operaciones de lgebra


lineal, generadores de nmeros pseudoaleatorios, El array Numpy es la estructura de datos
fundamental en scikit-learn

Scipy: Coleccin de funciones para la computacin cientfica en Python, Proporciona rutinas


avanzadas de lgebra lineal, optimizacin de funciones matemticas, procesamiento de seales,
distribuciones estadsticas, Scipy.sparse: Matrices escasas

Matplotlib: Proporciona funciones para hacer visualizaciones como grficos de lneas, histogramas,
diagramas de dispersin

Pandas: Biblioteca para la discusin y anlisis de datos , Construido alrededor de una estructura de
datos llamada el DataFrame: Una tabla , Permite consultas tipo SQL y combinaciones de tablas,
cada columna puede tener un tipo separado , Permite ingerir datos de mltiples formatos de
archivo y bases de datos, como SQL, Excel y CSV

Mglearn: Biblioteca de funciones de utilidad escrita para el libro Introduccin al aprendizaje


automtico con python

Ejemplo iris

Measuring performance: training and testing data (Medicin del


rendimiento: datos de formacin y pruebas)
Objetivo: Construir un modelo de aprendizaje automtico a partir de datos que puedan predecir
las especies de iris para un nuevo conjunto de mediciones.

Nuestro modelo generalizar bien? Cmo evaluar su rendimiento?


No podemos usar los datos que usamos para construir el modelo!

Le mostramos nuevos datos para los que tenemos etiquetas

Divida los datos etiquetados:

training data or training set : Datos de entrenamiento o formacin

test data or test set : Datos de prueba o conjunto de pruebas

Data exploration (Exploracin de datos)


Inspeccione los datos antes de construir el modelo!

- Anormalidades y peculiaridades

- Necesitamos el aprendizaje automtico?

- Los datos son lo suficientemente buenos?

Visualizar los datos

- scatter plot (2D)

-pair plots: scatter_matrix

Our first model

-K nearest neighbors!

Redes Neuronales Artificiales alias Deep Learning

Conjuntos de elementos de procesamiento que emulan algunas caracteristicas de funcionamiento


del cerebro humano.

La neurona biologica:

- Los elementos de proceso (neuronas) reciben las seales de entradas

- Las seales pueden ser modificadas por los pesos sinapticos

- Los elementos de proceso suman las entradas afectadas por las sinapsis
- Bajo una circunstancia apropiadas la neurona transmite una seal de salida

- La salida del elemento de proceso puede ir a muchas neuronas

Arquitectura de una red MLP (perceptron multicapa)

Arquitectura general de una red Perceptron Multicapa

- Es una red con varias capas

- Posee conectividad total

- Por lo general se le implementan unidades de tendencia o umbral

- Utiliza funciones de activacin continuas

Mtodos Lineales para Regresin

Regresion Lineal y Minimos Cuadrados

la forma del modelo de Regresion lineal es el siguiente:

Los parmetros del modelo son desconocidos y las variables pueden provenir de diferentes
fuentes:

Entradas Cuantitativas
Transformaciones de insumos cuantitativos, tales como tronco, raz cuadrada o cuadrado;
Expansiones de base, que conducen a una representacin polinomial;
Interacciones entre variables

No importa la fuente del Xj, el modelo es lineal en los parmetros.

El mas popular metodo de estimacion es minimo cuadrados, en el que elegimos el coeficiente beta
para minimizar la suma residual de los cuadrados

Regresion lineal Ridge y Lasso


Tambin es un modelo lineal para Regresin

Reduce los coeficientes de regresin imponiendo una penalizacin a su tamao

clasificacin
SVM(Suport Vector Machine) : Una Mquina Vector de Soporte (SVM) es un algoritmo supervisado
de aprendizaje de mquina que puede ser empleado tanto para la clasificacin como para la
regresin

Un modelo SVM es una representacin de los ejemplos como puntos en el espacio, mapeados de
modo que los ejemplos de las categoras separadas se dividan por una brecha clara que es lo ms
amplia posible.

Support vectors: Los vectores de soporte son los puntos de datos ms cercanos al hiperplano, los
puntos de un conjunto de datos que, si se eliminan, alteran la posicin del hiperplano divisor

Qu es un hiperplano? Para una tarea de clasificacin con slo dos caractersticas (como la
imagen anterior), puede pensar en un hiperplano como una lnea que separa y clasifica
linealmente un conjunto de datos.
Intuitivamente, cuanto ms alejados del hiperplano nuestros puntos de datos se encuentran, ms
confiados estamos de que se han clasificado correctamente. Por lo tanto, queremos que nuestros
puntos de datos estn lo ms alejados posible del hiperplano, sin dejar de estar en el lado
correcto.

Cmo encontramos el hiperplano correcto? , La distancia entre el hiperplano y el punto de datos


ms cercano de cada conjunto se conoce como el margen. El objetivo es elegir un hiperplano con
el mayor margen posible entre el hiperplano y cualquier punto dentro del conjunto de
entrenamiento

The kernel trick

Qu sucede cuando no hay hiperplano claro? the kernel trick

Caractersticas del proyecto en un espacio dimensional superior utilizando ncleos kernel trick
(transformaciones basadas en productos punto)
Pro y contra del SVM

pros

Exactitud
Funciona bien en conjuntos de datos ms pequeos
Puede ser ms eficiente porque utiliza un subconjunto de puntos de entrenamiento

contra

No es adecuado para conjuntos de datos ms grandes, ya que el tiempo de entrenamiento


con SVM puede ser alto
Menos efectivo en conjuntos de datos ms ruidosos con clases superpuestas

Anlisis de modelos en Python

Cuanto mayor sea c, menor ser la regularizacin

Los efectos de la baja regularizacin:

(+) Ajuste el conjunto de entrenamiento lo mejor posible


(-) Encuentre un vector de coeficientes cercano a cero
(+) Intente ajustarse a la mayora de los puntos de datos
(-) Resaltar la importancia de que cada punto de datos individual se clasifique overfitting
becomes correctamente

En las altas dimensiones, los modelos lineales para la clasificacin se vuelven muy potentes
Cuanto mayor sea el nmero de caractersticas, ms importante ser la proteccin contra
la overfitting becomes

Modelos lineales para la clasificacin multiclass

Muchos modelos de clasificacin lineal son para la clasificacin binaria solamente


Tcnicas para ampliar un algoritmo de clasificacin binaria a multiclass: One -vs.-rest: se
aprende un modelo binario para cada clase que intenta separar esa clase de todas las
otras clases
Un vector de coeficientes y un intercepto para cada clase

Regresion Logistica:

Variables que deseamos predecir: Target Variable

De variables predictivas o caractersticas x

Cuestiones: Sensibilidad a los valores extremos , La variable de salida no es intuitiva

Una hiptesis en regresin lineal:


Queremos para la regresin logstica modificamos nuestra hiptesis:

donde g es la funcion logistica o sigmoide

Dgale al paciente que hay un 70% de probabilidad de que el tumor sea maligno

Lmite de decisin

Cul es la hiptesis de la computacin?

Cundo se tomar cada decisin?


estadistico