Machine Learning
Pablo Belmar Apablaza
Regresión Logística
Árboles de decisión
Temas
Support vector machine
Antes !
¿Cómo el computador enfrenta un problema?
Antes de hablar sobre ML
¿Cómo el humano enfrenta un problema?
Lógica humana:
• Analizar la situación, y luego tomar una decisión.
Lógica del computador:
• Compara los datos de entrada, y toma un camino.
Fuente: Matías Katz
-Razonamiento:
• Llueve, entonces llevo chaqueta.
• No tengo hambre, entonces no como.
-Ordenes preestablecidas:
• P -> Q
• -P -> -Q
- Razonamiento:
• Si el semáforo está en rojo parpadeando, pero pasaron sólo 5
segundos desde que empezó a parpadear, y la calle que voy a cruzar
tiene menos de 10 metros de ancho, y no estoy cargando nada que
me haga caminar lento, y no hay autos que vengan rápido por la calle
que intenten cruzar el semáforo en rojo o en amarillo, entonces
cruzo.
-Órdenes preestablecidas:
Si “Parpadeo” = verdadero
Si “Tiempo de parpadeo” < 5 seg:
Si “Longitud calle” < 10 mts:
Si “Cargando algo pesado” = falso:
Si “Autos andando rápido” = falso:
Cruzar
Si no:
No cruzar
Diferencias entre algoritmos de IA y algoritmos tradicionales de reglas
Fuente: Gartner
Métodos de clasificación
La clasificación supervisada es una de las tareas que más frecuentemente son
llevadas a cabo por los denominados Sistemas Inteligentes. Por lo tanto, un gran
número de paradigmas desarrollados bien por la Estadística (Regresión Logística,
Análisis Discriminante) o bien por la Inteligencia Artificial (Redes Neuronales,
Inducción de Reglas, Árboles de Decisión, Redes Bayesianas) son capaces de
realizar las tareas propias de la clasificación.
Clasificación
Cuando usamos clasificación, el resultado es una clase, entre un
número limitado de clases. Con clases nos referimos a categorías
arbitrarias según el tipo de problema
Por ejemplo, si queremos detectar si un correo es spam o no, sólo hay
2 clases. Y el algoritmo de machine learning de clasificación, tras darle
un correo electrónico, tiene que elegir a qué clase pertenece: spam o
no-spam
Hay muchos más ejemplos, por supuesto:
¿comprará el cliente este producto? [sí, no]
¿tipo de tumor? [maligno, benigno]
¿subirá el índice bursátil? IBEX mañana [sí, no]
¿es este comportamiento una anomalía? [sí, no]
Regresión Logística
¿Cuál es la diferencia entre regresión lineal y logística?
La regresión lineal es adecuada para estimar valores continuos (por
ejemplo, estimar el precio de la vivienda), pero no es la mejor
herramienta para predecir la clase de un punto de dato observado.
Para estimar la clase de un punto de datos, necesitamos algún tipo de
orientación sobre cuál sería la clase más probable para ese punto de
dato. Para ello, se utiliza la regresión logística.
• Regresión lineal
La regresión lineal trata de encontrar una función que relaciona una variable dependiente
continua, Y, con algunos predictores (variables independientes x_1, x_2, …) Por ejemplo, una
regresión lineal simple asume una función de la forma:
• aquí, se trata de encontrar el valor de los parámetros θ_0, θ_1, θ_2, …,
donde el término θ_0 es el interceptor. Todo esto se muestra
generalmente como:
Regresión logística
La regresión logística es una variación de la regresión lineal, y es útil
cuando la variable dependiente observada, Y, es categorica. Esto
produce una fórmula que predice la probabilidad de una etiqueta de
clase como una función de las variables independientes.
La regresión logística ajusta una curva especial en
forma de S tomando como base una regresión lineal
y transformando la estimación numérica en una
probabilidad utilizando la siguiente función, que se
llama función sigmoidea:
Así, la regresión logística pasa
la entrada a la función
sigmoide/logística para
después tratar el resultado
como una probabilidad como
se muestra en la figura.
Vamos a ver como funciona !
Ejemplo: Fuga de clientes con regresión logística
Las empresas siempre están preocupadas por la cantidad de clientes que dejan su negocio por
competidores. Es por esto que los analistas de las empresas necesitan entender quién se va y por qué.
Se trabajará con un conjunto de datos de telecomunicaciones para predecir la rotación o fuga de
clientes. Este es un conjunto de datos de clientes históricos donde cada fila representa un cliente. Los
datos son relativamente fáciles de entender y procesar. Por lo general, es menos costoso mantener a los
clientes que adquirir nuevos, por lo que el enfoque de este análisis es predecir los clientes que
permanecerán en la empresa.
Este conjunto de datos proporciona información que ayuda a predecir qué comportamiento son
necesarios para retener clientes. Así, se puede analizar los datos relevantes de los clientes y desarrollar
programas específicos para su retención.
Codigo !
Árboles de Decisión
La idea básica de un árbol de decisiones es mapear todas las posibles rutas de toma de decisiones que
tienen la forma de un árbol. Así, los árboles de decisión están formados por nodos y su lectura se realiza
de la raíz hacia las hojas terminales. En un árbol de decisión se puede distinguir 3 tipos diferentes de
nodos:
* Nodo raíz: en él se produce la primera división en función de la variable más importante.
* Nodos intermedios: nodos que vuelven a dividir el conjunto de datos en función de las variables.
* Nodos terminales: se ubican en la parte inferior y su función es indicar la clasificación definitiva.
Un parámetro importan a configurar es la profundidad de un árbol, que viene determinada por el
número máximo de niveles después de la raíz.
Vamos a ver
como funciona !
Ejemplo
Una de las tareas de un investigador médico es recopilar datos para algún estudio en particular. Por
ejemplo, recopilar datos sobre un conjunto de pacientes, todos los cuales padecen la misma
enfermedad. Durante el curso del tratamiento, cada paciente respondió a uno de los 5 medicamentos,
Medicamento A, Medicamento B, Medicamento C, Medicamento X y Medicamento Y.
Parte de su trabajo es construir un modelo para averiguar qué medicamento podría ser apropiado para
un futuro paciente con la misma enfermedad. Los conjuntos de características de este conjunto de
datos son la edad, el sexo, la presión arterial y el colesterol de los pacientes, y el objetivo es el fármaco
al que respondió cada paciente.
El conjunto de datos corresponde a una muestra de clasificador binario, y puede usar la parte de
entrenamiento del conjunto de datos para construir un árbol de decisión y luego usarlo para predecir la
clase de un paciente desconocido, o para recetarle a un nuevo paciente.
Codigo !
Máquinas de Vectores de
Soporte
Las Máquinas de Vectores de Soporte (SVM, del inglés, Support Vector Machine) funciona asignando datos a un espacio de
características de alta dimensión para que los puntos de datos se puedan clasificar, incluso cuando los datos no se pueden separar
linealmente. Se encuentra un separador entre las categorías, luego los datos se transforman de tal manera que el separador podría
dibujarse como un hiperplano. Después de esto, las características de los nuevos datos se pueden utilizar para predecir el grupo al
que debe pertenecer un nuevo registro.
El hiperplano que mejor distingue las zonas de las distintas clases es el hiperplano que maximiza el margen entre estas. Las máquinas
de vectores de soporte son una técnica que encuentra la mejor separación posible entre clases. Con dos dimensiones es fácil
entender lo que está haciendo. Normalmente, los problemas de aprendizaje automático tienen muchísimas dimensiones. Así que en
vez de encontrar la línea óptima, el SVM encuentra el hiperplano que maximiza el margen de separación entre clases.
Se llama máquina en español por la parte de "machine" learning. Los vectores de soporte son los puntos que definen el margen
máximo de separación del hiperplano que separa las clases. Se llaman vectores, en lugar de puntos, porque estos puntos tienen
tantos elementos como dimensiones tenga nuestro espacio de entrada. Es decir, estos puntos multi-dimensionales se representan
con un vector de $n$ dimensiones.
Vamos a ver
como
funciona !
Ejemplo
Se utilizará SVM para construir y entrenar un modelo utilizando registros de
células humanas y clasificará las células según sean benignas o malignas.
El conjunto de datos consta de varios cientos de registros de muestras de células
humanas, cada uno de los cuales contiene los valores de un conjunto de
características celulares.
Los campos de
cada registro
son:
Codigo !
Machine Learning
Pablo Belmar Apablaza