Aprendizaje Supervisado

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Aprendizaje supervisado

Agentes inteligentes.
Aplicando la inteligencia
artificial a robots y softbots
CONTENIDO
1. Objetivos

2. Métodos de aprendizaje supervisado

3. Árboles de decisión para clasificación

4. Máquinas de soporte de vectores

5. Redes neuronales artificiales

6. Aplicaciones del aprendizaje supervisado

7. Bibliografía
Aprendizaje supervisado | 3

Objetivos • Espacio de versiones: estos algoritmos realizan una


descripción de cada uno de los ejemplos recibidos
• Entender en el aprendizaje supervisado y todo lo con base en sus atributos. Después, buscan la
que implica. representación más compacta posible de todos
los ejemplos. Este tipo de algoritmos requiere que
• Conocer en detalle cómo funcionan las técnicas del
todos los ejemplos recibidos sean correctos porque
aprendizaje supervisado con ejemplos concretos.
todos importan en la solución.
• Interpretar los conceptos con alto nivel de
• Aprendizaje Bayesiano: son algoritmos que utilizan
abstracción que se han visto en los temas previos
el teorema de Bayes para hacer inferencia sobre
para aplicarlos a los algoritmos concretos.
los datos recibidos. Tiene especial importancia
• Identificar los elementos comunes del aprendizaje para modelar el entorno e implementar técnicas de
supervisado en los algoritmos concretos que se navegación en robots.
exponen.
• Regresión lineal: este tipo de aprendizaje derivado
de la estadística, da lugar a una amplia familia de
Métodos de aprendizaje algoritmos que utiliza múltiples puntos de ejemplo
supervisado para ajustarlos en una recta y poder predecir
futuros puntos.
El aprendizaje supervisado se basa en el paradigma • Aprendizaje por transferencia: este tipo de
en el que existe un subconjunto de datos válidos que aprendizaje utiliza el modelo de conocimiento
representa el conjunto total de los datos del problema aprendido en un dominio para aplicarlo en otro con
que se quiere resolver. Es muy importante entender, características similares. Es una técnica reciente
que este subconjunto de datos de entrenamiento debe en alza, con multitud de aplicaciones [10].
contener las características generales más importantes
del problema para que, así, el aprendizaje capture todo
el conocimiento sin sesgos erróneos. Esta necesidad
Árboles de decisión para
de datos etiquetados supone una restricción en muchos clasificación
casos, pero es la clave de la potencia de estos algoritmos.
Esta familia de algoritmos de aprendizaje supervisado
Existen un gran número de técnicas que siguen el utiliza reglas de inducción para obtener una definición del
paradigma de aprendizaje supervisado, aunque en este entorno y del modelo de conocimiento [9]. Los árboles
tema solo se van a estudiar las tres más relevantes. Los de decisión permiten dividir cada variable (nodo) en un
árboles de decisión son cruciales para la clasificación conjunto de posibles atributos (rama). Estas ramas no
de ejemplos porque ofrecen una información visual tienen por qué tener un valor fijo de la variable, pueden
fácilmente interpretable. Las máquinas de soporte ser rangos, si la variable es continua y no discreta.
de vectores han demostrado tener una gran potencia
para ciertos problemas de clasificación. Por último,
las redes neuronales artificiales son el gran exponente
de la inteligencia artificial porque tienen la capacidad
de resolver problemas de gran complejidad. Todas
estas técnicas comparten elementos comunes de los
algoritmos de aprendizaje supervisado: proceso de
generalización, sesgos, espacio de hipótesis, función de
coste y algoritmo de búsqueda.

Otras técnicas de aprendizaje supervisado son:


Figura 1. Ejemplo de un nodo, a la izquierda la arquitectura general, a la
• Aprendizaje de reglas de clasificación: esta familia derecha un ejemplo concreto.
de algoritmos trata de generar un conjunto de
reglas que describan todos los ejemplos positivos
del problema, sin describir ninguno negativo. Las principales ventajas de estos árboles de decisión
para clasificación son:
• Aprendizaje PAC: esta familia de algoritmos se
basa en tratar de encontrar la función que mejor • Simples de computar: estos algoritmos son sencillos
generalice los datos (hipótesis). El concepto clave de computar porque solo tienen que leer los valores
es que elige esta función de manera probabilista de las variables de las entradas e incluir estas en la
tratando de minimizar lo máximo posible el clase correspondiente. Esto implica una considerable
error de generalización. La diferencia frente a rapidez para la alta precisión que tienen.
otros algoritmos es el concepto de aprendizaje • Tolerancia a ruido: son capaces de generar una
probabilista buscando reducir la complejidad clasificación correcta, aunque sea un porcentaje
computacional de la solución. pequeño de muestras erróneas que distorsionen
la clasificación.
Aprendizaje supervisado | 4

• Expresibilidad: son fácilmente interpretables por • Optimización: sobre la estructura que se ha hecho
los seres humanos porque se basan en reglas if-else del árbol, se pueden modificar ciertos valores para
y presentan los resultados como si fuesen parte optimizar su diseño. Esto se hace intercambiando
de un algoritmo. Por ello, incluso son utilizados en la profundidad a la que se encuentran dos variables
combinación con otras técnicas para explicar el o ajustando el rango de cada rama de una variable.
resultado de estas [7].
Para recuperar información, las operaciones disponibles
Para generar estos árboles es necesario tener un en los árboles de decisión son:
conjunto de ejemplos de entradas con variables
etiquetadas (mapa variable-etiqueta). Este conjunto • Búsqueda: si se quiere saber la predicción del valor
será el de entrenamiento. El primer paso es seleccionar de una variable concreta, se busca sobre todo el
una de las variables a representar y definirla como nodo árbol la definición del resto de variables según el
raíz (primer nodo del árbol que sirve como comienzo). observable que se tiene (las variables relacionadas
Después se crean tantas ramas y tantos nodos como con la que se quiere predecir). Esta búsqueda es
posibles valores tenga ese atributo. Haciendo esto de bastante compleja, porque añadir un solo nodo en
manera recursiva, se llega hasta los llamados nodos el árbol puede incrementar exponencialmente el
hoja. Estas hojas son nodos en los que ya no quedan número de caminos a evaluar.
más variables a definir en el conjunto de entrenamiento. • Cálculo de la complejidad: una vez creado todo
el árbol, se tiene la profundidad de este y el factor
Sobre estos nodos, se pueden realizar operaciones, de ramificación medio (es la media del número de
diferentes operaciones de mantenimiento y creación ramas que hay en cada nodo). Con esto, se puede
como son: saber, por ejemplo, si tomar un camino u otro en
el árbol (elegir un valor u otro en una variable),
• Poda: en algunos casos, con el objetivo de hacer un
redunda en una solución con mayor número de
árbol más pequeño, se pueden eliminar elementos
posibles combinaciones.
que se consideran innecesarios. Esto puede pasar,
si ciertos nodos son inalcanzables o su coste es • Interpretación: cuando se obtiene un resultado
demasiado elevado y, por ello, nunca van a formar sobre un árbol de decisión, es trivial saber cuáles
parte de la solución. han sido los factores que han llevado hasta ese
resultado, únicamente es necesario hacer el camino
• Balance: la forma en la que se definen los árboles
desde ese nodo hoja hasta el nodo raíz, evaluando
es muy relevante cuando se ejecuta el algoritmo
cuáles fueron las ramas tomadas en cada nodo.
de búsqueda. Con ciertos esquemas, el algoritmo
puede encontrar mucho más rápido la solución que
con otros. Por ello, es posible modificar la estructura
del árbol para cambiar su raíz o la raíz de cualquier
subárbol en cualquier momento. Este proceso se
hace cuando hay demasiados nodos en una de las
ramas y pocos en las otras. La solución es coger
uno de los nodos intermedios de la rama más
cargada y ponerlo como raíz de todo el subárbol.
Aprendizaje supervisado | 5

Figura 2. Ejemplo de árbol de decisión. Tomado de: Medium, Building a decision tree classifier in python, step by step, R. Polanitzer, 2022. https://
medium.com/@polanitzer/building-a-decision-tree-classifier-in-python-step-by-step-9d4eeff02292

Existen numerosas aplicaciones para este tipo de De tal manera, que cuando un nuevo punto sea dado, la
árboles, por ejemplo, la definición de un entorno por SVM lo representará y verá si cae a un lado u otro del
parte de un robot. Con este algoritmo, puede resolver plano, perteneciendo a una clase u otra. Para encontrar
el patrón de pasillos que tiene que tomar para navegar el plano, la SVM necesita “generalizar” las características
de un punto a otro. Existen varios algoritmos de árboles que hacen propia a cada una de las clases.
de decisión para clasificación (ID3). También existen
árboles de regresión (M5). Sin embargo, una de las
familias de algoritmos que más destaca últimamente,
es la de Random Forrest (se podría traducir como
bosques aleatorios). Esta técnica toma un conjunto de
árboles aleatorios generados sobre el mismo conjunto
de datos. Después los agrupa haciendo un árbol de
árboles (de ahí el concepto de bosque) para ir poco
a poco seleccionando cuál es el mejor de todos ellos
para encontrar la clasificación o predicción de una
variable concreta.

Máquinas de soporte de
vectores
Las máquinas de soporte de vectores (en inglés,
support vector machines o SVMs) tienen como
principal objetivo la clasificación de los datos en
dos clases claramente separadas [3]. El concepto es
encontrar un plano que separe lo máximo posible dos
clases de un conjunto de datos. Figura 3. Máquinas de soporte de vectores. Tomado de: https://
en.wikipedia.org/wiki/Support-vector_machine
El conjunto de datos inicial que recibe la SVM está
completamente mezclado, aunque las etiquetas
de las clases son conocidas a priori (por lo que se
considera aprendizaje supervisado). La máquina
representa estos datos de entrada como vectores
y los transforma a un espacio con n dimensiones.
La SVM es capaz de generar un plano que separe
lo máximo posible los puntos de las dos clases.
Aprendizaje supervisado | 6

El objetivo principal de una máquina de soporte de


vectores es encontrar el plano que mejor separe el
conjunto de entrenamiento en dos subconjuntos. El
problema es que encontrar este plano no es algo trivial,
porque los datos tienden a estar mezclados. El concepto
de encontrar el “mejor” plano es importante, debido a que
habrá puntos que caigan muy cerca de la separación.
Con estos puntos en la frontera, es necesario optimizar
lo máximo posible el plano de tal forma que se encuentre
equidistante a los dos conjuntos de puntos ya conocidos.

Las SVMs pueden ser utilizadas para modelos de


clasificación binarios que toman decisiones como si un
correo electrónico es malicioso o no, si un cliente es o no
apto para un banco o si un paciente va a sufrir o no una
enfermedad. Todos estos ejemplos incluyen numerosos
parámetros y las clases no están bien delimitadas
entre sí. Por ello, es tan importante separar el plano de
decisión, porque habrá datos muy ambiguos. El plano de
separación se conoce como hiperplano y los ejemplos
se llaman vectores de soporte.

Para conseguir esta máxima separación existen


diferentes métodos en función de la implementación
de la SVM. La más básica es intentar maximizar la
separación de todos los puntos al plano trazado, es decir,
maximizar los márgenes entre los puntos y el plano. Esto
puede hacerse con un ajuste de mínimos cuadrados y
un descenso de gradiente que garantice encontrar la
separación óptima mediante la fórmula:

Figura 5. Clasificación lineal SVM en un espacio de dimensiones


Figura 4. Siendo d* la distancia óptima del sumatorio de la distancia superiores. A la derecha datos no separables linealmente en 2D pero
entre todos los puntos x (de i hasta n) y la recta r. En este caso, el sí en 3D. Tomado de: E. Kim, Everything you wanted to know about
programador puede seleccionar qué puntos integran el conjunto x para the kernel trick, 2015, https://www.eric-kim.net/eric-kim-net/posts/1/
compararlo con el hiperplano. kernel_trick_blog_ekim_12_20_2017.pdf

Sin embargo, hay casos en los que los dos conjuntos Durante este apartado de las SVMs se ha hablado de
no son linealmente separables, es decir, no se puede una técnica de clasificación binaria. Sin embargo, esta
dibujar una recta, se divida en dos conjuntos los datos puede ser fácilmente adaptada para hacer clasificación
de entrada. Para solucionar este tipo de problemas, multiclase. Para ello, se divide el problema en una
hay dos soluciones. La primera es incluir un parámetro agregación de SVMs (cada una tomando una decisión
c que modifique la recta para ajustarse a los casos binaria) que de forma conjunta pueden hacer clasificación
particulares, aunque esta no es una solución adecuada en múltiples clases [1].
para generalizar. La segunda solución que es la que da la
potencia a las SVMs son las funciones kernel. Otra característica de las SVMs es que pueden ser
utilizadas como aprendizaje no supervisado. En este
Las funciones kernel [2], hacen un mapeo de los datos en apartado, se ha explicado un ejemplo en el que se tienen
dos dimensiones a un espacio con mayor dimensionalidad los datos etiquetados, pero se puede utilizar igual si
(3D, 4D, 5D, etc.). Esto se hace porque al aumentar la los datos no están etiquetados. La diferencia es que la
dimensionalidad de los datos, se espera que se cree una SVM tiene la tarea extra de probar múltiples divisiones
separación lineal entre los datos que no existía en una de los datos hasta encontrar la mejor agrupación. Estas
dimensión inferior. Así se pueden crear hiperplanos de mayor SVMs no supervisadas están aún en desarrollo y tienen
dimensionalidad que separen adecuadamente los datos. En una precisión menor que las que se utilizan con datos ya
la (figura 5) se ve claramente como datos que parecen no etiquetados.
separables linealmente en 2D, sí que lo son en 3D.
Aprendizaje supervisado | 7

Redes neuronales • Capa oculta: es la capa que se encarga de hacer


el verdadero procesamiento de la información.
artificiales Aunque se habla de capa en singular, es un conjunto
de capas. Este conjunto puede incluir un número
Las redes neuronales artificiales es la familia de elevado de capas que se conectan entre sí para
algoritmos más conocida y utilizada de inteligencia crear el modelo de conocimiento.
artificial. Tienen una clara inspiración biológica tratando • Capa de salida: es la capa final, en la que se crea
de imitar el funcionamiento del cerebro humano y la una neurona por cada posible estado en la salida.
primera versión fue propuesta por Marvin Minsky en la Sí, por ejemplo, el problema es reconocer tipos de
década de los 50. Desde entonces, han evolucionado razas de perros en una imagen, se creará una clase
considerablemente hasta llegar a convertirse hoy en día por cada raza a reconocer, por tanto, una neurona
en una auténtica revolución. por raza. La neurona que se activa de la capa de
Las redes neuronales artificiales son un modelo salida es el resultado predicho por la red neuronal.
simplificado del cerebro humano y su funcionamiento,
y como tal hay que entenderlo. La unidad fundamental Además de las capas, las neuronas tienen un elemento
es la neurona que puede estar encendida (1) o apagada clave para su funcionamiento, la función de activación
(0) y que, a su vez, tiene conexiones con otras neuronas. [8]. Esta función determina si una neurona se activa o no
Las neuronas están organizadas en capas y las capas se en función de las conexiones con sus neuronas vecinas.
conectan entre sí para crear la red. Las neuronas se encuentran conectadas entre sí, y a
cada conexión se le asigna un peso. Los pesos de las
conexiones para cada neurona están normalizados de tal
forma que siempre suman 1. Así, la función de activación
determina si para un peso de activación concreto, esta
neurona se activa o no. Se puede entender como un rango,
si el impulso transmitido a una neurona por sus conexiones
es fuerte y supera un cierto rango, esta neurona, a su vez,
transmite el impulso a sus conexiones.

Por ejemplo, si se estudia la neurona X conectada con las


neuronas X1, X2 y X3 y se asume que la neurona X1 tiene
un peso W1 asociado de 0.5, la neurona X2 tiene un peso
asociado W2 de 0.3 y la neurona X3 tiene un peso W3
asociado de 0.2, se puede ver que todos los pesos suman
1. Para saber si la neurona X se activa o no, hay que sumar
todos los pesos de sus conexiones. Si la neurona X1 tiene
el estado 1 significa que está activa y transmite el impulso
a la neurona X; las otras dos neuronas están apagadas y,
por tanto, el peso de activación de la neurona X es 0.5.
Mirando la función de activación de X, se ve que el límite
para activarla es 0.6, como no se ha llegado a ese límite,
esta neurona no se activa.

Figura 6. Red neuronal artificial. Tomado de https://es.wikipedia.org/


wiki/Red_neuronal_artificial.

Existen tres capas principales en una red neuronal:

• Capa de entrada: a capa de entrada se encarga de


codificar la información del entorno. La codificación
se hace en binario apagando o encendiendo
neuronales. Por ejemplo, en el caso de las imágenes
en blanco y negro, si la imagen tiene 128 píxeles, se
tendrán 128 neuronas en la capa de entrada. El pixel
que esté en blanco se representará con una neurona
con el estado 1 y la imagen que esté en negro se
representará con una neurona en el estado 0. Sin Figura 7. Esquema de activación de una red de neuronas. Cada w es el
embargo, esta no es la única representación posible. peso de activación. Tomado de: https://upload.wikimedia.org/wikipedia/
commons/thumb/b/b0/Perceptr%C3%B3n_5_unidades.svg/1200px-
Perceptr%C3%B3n_5_unidades.svg.png
Aprendizaje supervisado | 8

Existen numerosas funciones de activación en función


de las necesidades.

Figura 8. Funciones de activación de redes de neuronas. Tomado de: http://www.turingfinance.com/wp-content/uploads/2014/04/Activations-


Functions.png.

Cuando se llega a la capa de salida, las neuronas de Este método utiliza un ajuste de mínimos cuadrados
salida se activan con un peso determinado por sus (ajuste matemático de optimización), que indica si los
conexiones inmediatamente anteriores. Ese peso pesos deben aumentarse o disminuirse para mejorar
está normalizado a 1. Así, en las redes neuronales, las el comportamiento de la red y como de severo debe
salidas son probabilistas, no se escoge una clase con ser este ajuste, haciéndolo siempre desde la capa de
probabilidad 1, sino que se escoge como salida la de salida hacia la capa de entrada pasando por las capas
mayor probabilidad. ocultas intermedias.

El proceso definido hasta ahora se considera como Un problema en las redes neuronales, asociado a la
feedforward, es decir, alimentación hacia delante de la función de activación y la retropropagación del error,
red. Pero las predicciones que hace una red se tienen es el desvanecimiento de gradiente [6]. Este error
que ir ajustando. De esta manera, cada vez que se provoca, que la actualización de pesos en las capas más
transmite un impulso desde la capa de entrada hasta próximas a la capa de entrada no se haga correctamente
la de salida, se dice que se ha ejecutado una época (en y la actualización de pesos sea mínima, haciendo que no
inglés epoch) de la red. Para ajustar las predicciones de se ajusten casi nunca y no permitiendo a la red aprender
la red a los datos reales y que, de esta manera, la red un modelo correcto.
aprenda, es necesario hacer una retropropagación del
error (en inglés back propagation) [4]. Esta combinación de función de activación y
retropropagación del error, consigue ir ajustando los
Inicialmente, en la red neuronal, se escoge pesos pesos, hasta que el algoritmo aprende el modelo de
aleatorios para las conexiones entre redes porque no se conocimiento. Existen otros parámetros que se pueden
sabe cuáles son los óptimos. Durante la retropropagación controlar para modificar el comportamiento de las redes
del error, se ajustan esos coeficientes hasta que la red de neuronas, pero eso es trabajo específico del científico
prediga adecuadamente los datos que se tienen. de datos.
Aprendizaje supervisado | 9

Un aspecto fundamental para que la red aprenda los pesos


adecuados durante el ajuste del error, es que la función Bibliografía
de activación sea no lineal. De esta manera, se evita que [1] Frossyniotis, D. S. (2001). A multi-SVM classification
la derivada de la optimización por descenso de gradiente system. International Workshop on Multiple Classifier
sea 0 y el algoritmo no sepa como ajustar los pesos. Systems, 198-207.
[2] Guo, B. G. (2008). Customizing kernel functions for
Aplicaciones del SVM-based hyperspectral image classification. IEEE

aprendizaje supervisado
Transactions on Image Processing, 622-629.
[3] Hearst, M. A. (1998). Support vector machines. IEEE
El aprendizaje supervisado ha sido y actualmente es la Intelligent Systems and their applications, 18-28.
rama fundamental del aprendizaje automático. Aunque [4] Hecht-Nielsen, R. (1992). Theory of the
la capacidad de resolución de problemas está limitada backpropagation neural network. Neural networks
por la necesidad de tener un gran volumen de datos for perception .
etiquetados, en los problemas en los que esta condición [5] Hijazi, S. K. (2015). Using convolutional neural
se da, los resultados son tan buenos, que los algoritmos networks for image recognition. Cadence Design
se pueden utilizar a nivel industrial. Systems Inc.
Los algoritmos de aprendizaje supervisado se utilizan [6] Hochreiter, S. (1998). The vanishing gradient problem
fundamentalmente para clasificación y regresión during learning recurrent neural nets and problem
(predicción de valores de variables). solutions. International Journal of Uncertainty,
Fuzziness and Knowledge-Based Systems, , 107-
Las aplicaciones de clasificación permiten resolver 116.
problemas de reconocimiento visual (detección [7] Ranka, S. &. (1998). CLOUDS: A decision tree
automática de patrones en una imagen [5]), visión classifier for large datasets. In Proceedings of the 4th
artificial (reconocimiento de objetos por parte de robots), knowledge discovery and data mining conference.
procesamiento natural del lenguaje (para entender
[8] Sharma, S. S. (2017). Activation functions in neural
palabras), etc.
networks. Towards data science, 310-316.
Las aplicaciones de predicción de valores permiten [9] Swain, P. H. (1977). The decision tree classifier:
resolver problemas de estimación de parámetros Design and potential. IEEE Transactions on
(modelos de predicción meteorológicos), generación Geoscience Electronics, 142-147.
de nuevos datos (generación de imágenes falsas que [10] Torrey, L. a. (2010). Transfer learning. Handbook
parecen reales), modelos de recomendación (generación of research on machine learning applications and
de recomendaciones con base en los gustos de los trends: algorithms, methods, and techniques, 242-
usuarios), predicción de tendencias (en modelos 264.
económicos, etc.).

También podría gustarte