Conjuntos y relaciones: las piezas con las que se construyen las definiciones en IA
Conjuntos, subconjuntos, operaciones, producto cartesiano, relaciones, equivalencias y órdenes, con diagramas de Venn, la matriz de una relación y para qué sirve todo esto en la inteligencia artificial.
Serie Fundamentos de IA Parte 5 de 52
- Mapa de la inteligencia artificial: qué es cada cosa y cómo encaja todo
- Breve historia de la inteligencia artificial: de Turing a los modelos de lenguaje
- Datos, modelo, entrenamiento, inferencia: los conceptos básicos en un solo ejemplo
- Cómo leer la notación matemática: símbolos, subíndices, sumatorios y cuantificadores
- Conjuntos y relaciones: las piezas con las que se construyen las definiciones en IA
- Funciones y aplicaciones: por qué todo modelo de IA es una función
- Lógica y demostraciones: las reglas con las que se razona en IA
- Grafos y árboles: la estructura sobre la que se apoyan la búsqueda y las redes neuronales
- Álgebra lineal para aprendizaje automático: vectores, matrices y por qué la IA sobre todo multiplica
- Derivadas, gradiente y regla de la cadena: cómo sabe un modelo en qué dirección aprender
- Descenso de gradiente: cómo aprende un modelo
- Qué es la probabilidad: del lanzamiento de un dado a los axiomas de Kolmogórov
- Probabilidad condicionada y teorema de Bayes: cómo cambiar una estimación cuando te enteras de algo nuevo
- Variable aleatoria y función de distribución: una sola función que lo dice todo sobre la distribución
- Función de densidad y función de probabilidad: por qué una variable continua tiene probabilidad cero en cada punto
- Esperanza, varianza y covarianza: dónde está una distribución, qué anchura tiene y qué se relaciona con qué
- Resumen de las distribuciones de probabilidad: Bernoulli, binomial, Poisson, uniforme, normal y exponencial
- Ley de los grandes números y teorema central del límite: por qué las medias se comportan de forma tan predecible
- Estadística y estimación de parámetros: máxima verosimilitud, MAP e intervalos de confianza
- Teoría de la información: entropía, entropía cruzada y divergencia KL, el origen de las funciones de pérdida
- Búsqueda en el espacio de estados: BFS, DFS, UCS y A* con animaciones
- Juegos y adversarios: minimax, poda alfa-beta y Monte Carlo tree search
- Satisfacción de restricciones: backtracking, propagación de restricciones y AC-3 con un sudoku y un mapa de regiones checas
- Lógica y sistemas basados en conocimiento: encadenamiento hacia delante y hacia atrás, resolución y sistemas expertos
- Planificación: STRIPS, el mundo de bloques, heurísticas a partir de la relajación y la planificación en los agentes de IA
- Búsqueda local y recocido simulado: un viajante por las capitales regionales checas
- Algoritmos genéticos: población, cruce, mutación y selección en una mochila para la excursión
- Estrategias evolutivas y programación genética: de la regla de un quinto a la ley de Kepler
- Optimización por colonia de hormigas: cómo un rastro de feromona encuentra un camino corto
- Optimización por enjambre de partículas: inercia, experiencia propia y experiencia del enjambre
- Neuroevolución: evolución de los pesos y la forma de las redes neuronales, y el algoritmo NEAT
- Conjuntos difusos y funciones de pertenencia: cómo escribir «algo cálido»
- Lógica difusa y probabilidad: por qué «algo cálido» no significa «probablemente cálido»
- Lógica difusa: t-normas, implicaciones y reglas SI–ENTONCES
- Control difuso: Mamdani y Sugeno, del ventilador al péndulo invertido sobre un carro
- Agrupamiento difuso: el algoritmo fuzzy c-means y los puntos entre clusters
- Sistemas neuro-difusos (ANFIS): reglas difusas que aprenden de los datos
- Cadenas de Markov: matriz de transición, distribución estacionaria y PageRank
- Modelos ocultos de Márkov: el algoritmo de Viterbi y el casino deshonesto
- Redes bayesianas: por qué está mojada la hierba y qué significa eso para el aspersor
- El filtro de Kalman: cómo estimar a partir de mediciones imprecisas dónde está un coche y a qué velocidad va
- Tipos de aprendizaje automático: supervisado, no supervisado, semisupervisado y más
- Prompts, contexto y RAG: cómo darle a un modelo la información correcta
- Autocodificadores variacionales (VAE): imágenes nuevas a partir de un espacio latente continuo
- Redes generativas adversarias (GAN): el falsificador contra el detective
- Modelos de difusión: cómo el ruido puro se convierte en una imagen
- Procesos de decisión de Markov: estados, acciones, recompensas y ecuaciones de Bellman
- Q-learning y DQN: aprender el valor de las acciones, de la tabla a la red neuronal
- Gradiente de la política y PPO: aprender directamente la política
- Cómo funciona un agente de IA: un modelo de lenguaje en un bucle con herramientas
- Programación con agentes de IA: encargo, pruebas y revisión
- Evaluación y seguridad de los sistemas de IA: cómo medir y cómo vigilar
Temario completo de la serie 52 de 83 temas publicados
- Qué son un conjunto, un subconjunto y el producto cartesiano, y por qué el número de subconjuntos crece exponencialmente.
- Qué es una relación, qué propiedades tiene y cómo dibujarla como matriz y como grafo.
- Por qué la clasificación es una partición en clases de equivalencia y un modelo es una función, una relación especial.
Conviene conocer antes: Cómo leer la notación matemática: símbolos, subíndices, sumatorios y cuantificadores
Los conjuntos y las relaciones son las piezas con las que se construye casi cualquier definición en IA. El espacio de estados es un conjunto de estados, las transiciones entre ellos son relaciones, los datos de entrenamiento son un conjunto de pares y la clasificación reparte las entradas en clases. Quien entiende estos dos conceptos lee las definiciones de las siguientes partes como texto corriente.
La notación de los símbolos (∈, ⊆, ∪, ×) la vimos en la parte anterior. Aquí iremos más al fondo: qué significan exactamente, qué propiedades tienen y para qué sirven en la inteligencia artificial.
1. Qué es un conjunto
Definición — conjunto y elemento
Un conjunto es una colección de objetos distintos entre sí. A estos objetos los llamamos elementos del conjunto.
La notación x ∈ A significa «x es un elemento del conjunto A», y la notación x ∉ A, «x no es un elemento de A».
Un conjunto es una bolsa en la que metes cosas. Solo nos interesa lo que hay en la bolsa, no en qué orden lo metiste ni cuántas veces. Dos canicas del mismo color son, para el conjunto, un solo color.
Un conjunto se escribe o bien enumerando sus elementos entre llaves —A = {1, 2, 3} o {↑, →, ↓, ←}— o bien mediante una propiedad que cumplen los elementos: {x ∈ ℕ : x es par}. Para A = {1, 2, 3} se cumple 2 ∈ A y 5 ∉ A. La notación mediante una propiedad puede describir también conjuntos infinitos y en IA se usa casi siempre: «el conjunto de todos los estados desde los que se puede llegar a la meta».
Definición — igualdad de conjuntos
Los conjuntos A y B son iguales, A = B, cuando tienen exactamente los mismos elementos: ∀x : (x ∈ A ⇔ x ∈ B).
Dos bolsas son iguales cuando contienen lo mismo. Por eso {1, 2, 2} = {2, 1} = {1, 2}: no importan ni el orden ni las repeticiones.
Definición — cardinalidad y conjunto vacío
La cardinalidad |A| de un conjunto finito A es el número de sus elementos.
El conjunto vacío ∅ es el conjunto que no tiene ningún elemento; |∅| = 0.
La cardinalidad es la respuesta a la pregunta «¿cuánto hay en la bolsa?»: |{1, 2, 3}| = 3. El conjunto vacío es una bolsa vacía: sigue siendo un conjunto, solo que no hay nada dentro.
2. Subconjuntos y conjunto potencia
De un conjunto podemos elegir otros más pequeños. Para ello necesitamos tres conceptos que se apoyan unos en otros: el subconjunto, el subconjunto propio y el conjunto potencia.
Definición — subconjunto
Un conjunto A es subconjunto de un conjunto B, y escribimos A ⊆ B, cuando cada elemento de A es también elemento de B: ∀x : x ∈ A ⇒ x ∈ B.
Un subconjunto es una selección de la bolsa: tomas algunas cosas de B y las metes en una bolsa más pequeña A. No puedes añadir a A nada que no esté en B. Así, {1, 3} ⊆ {1, 2, 3}, pero {1, 4} ⊄ {1, 2, 3}, porque el 4 no está en el conjunto original. Todo conjunto es subconjunto de sí mismo y el conjunto vacío es subconjunto de cualquier conjunto.
Definición — subconjunto propio
A es un subconjunto propio de B, y escribimos A ⊂ B, cuando A ⊆ B y a la vez A ≠ B.
Un subconjunto propio es una selección en la que falta al menos algo. {1, 3} ⊂ {1, 2, 3}, pero {1, 2, 3} no es subconjunto propio de sí mismo: lo tomaste absolutamente todo.
Definición — conjunto potencia
El conjunto potencia 𝒫(A) es el conjunto cuyos elementos son todos los subconjuntos de A: 𝒫(A) = {S : S ⊆ A}.
Teorema. Para un conjunto finito A se cumple |𝒫(A)| = 2|A|.
El conjunto potencia es la lista de todas las selecciones que se pueden hacer de la bolsa, incluidas la selección vacía y la selección de todo. Por qué hay 2n: con cada elemento decides si lo metes en la selección o no. Son dos posibilidades por cada elemento; para tres elementos, 2 · 2 · 2 = 8; para diez elementos, ya 1024.
Para A = {a, b, c} se tiene 𝒫(A) = {∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}: 8 subconjuntos en total. Este crecimiento exponencial te lo encontrarás en IA a cada paso. Un modelo que tiene que elegir cuáles de 50 características usar tiene 250 opciones: más de mil billones de posibilidades. Por eso la selección de características no se hace probando todas las combinaciones.
3. Operaciones con conjuntos
Definición — unión, intersección, diferencia, complemento
A ∪ B = {x : x ∈ A ∨ x ∈ B} — unión,
A ∩ B = {x : x ∈ A ∧ x ∈ B} — intersección,
A ∖ B = {x : x ∈ A ∧ x ∉ B} — diferencia,
Ac = U ∖ A — complemento respecto al conjunto universal U (el «universo»).
Leyes de De Morgan: (A ∪ B)c = Ac ∩ Bc y (A ∩ B)c = Ac ∪ Bc.
La unión es «o uno, o el otro, o ambos»; la intersección, «ambos a la vez»; la diferencia, «esto, pero no aquello», y el complemento, «todo lo demás». La ley de De Morgan dice que «no es cierto que llueva o nieve» equivale a «no llueve y no nieva».
En la práctica de la IA, las intersecciones se usan por ejemplo al evaluar un modelo. Si P es el conjunto de correos que el modelo marcó como spam y S el conjunto de correos que realmente son spam, entonces la precisión (precision) es |P ∩ S| / |P| —cuántos de los marcados eran realmente spam— y la exhaustividad (recall) es |P ∩ S| / |S| —cuánto spam atrapó el modelo—.
4. Producto cartesiano y n-tuplas
Definición — par ordenado y producto cartesiano
Un par ordenado (a, b) se diferencia del conjunto {a, b} en que el orden importa: (a, b) = (c, d) ⇔ a = c ∧ b = d.
Producto cartesiano A × B = {(a, b) : a ∈ A, b ∈ B}. Para conjuntos finitos, |A × B| = |A| · |B|.
En general, A1 × … × An es el conjunto de n-tuplas; An = A × … × A (n veces).
El producto cartesiano es la tabla de todas las combinaciones. Tres camisetas y dos pantalones dan 3 · 2 = 6 atuendos. Las coordenadas de un punto del plano son pares de ℝ × ℝ = ℝ2.
El producto cartesiano está por todas partes en IA. Los datos de entrenamiento supervisado son un subconjunto de X × Y: pares (entrada, respuesta correcta). Una foto de 28 × 28 píxeles es un punto de ℝ784. Y en un problema de búsqueda, la función de transición está definida sobre S × A, es decir, sobre pares (estado, acción).
5. Relaciones
Definición — relación
Una relación binaria entre los conjuntos A y B es cualquier subconjunto R ⊆ A × B. En lugar de (a, b) ∈ R se escribe a R b y se lee «a está relacionado con b».
Si A = B, hablamos de una relación sobre el conjunto A.
Una relación es una lista de pares que «van juntos». Quién es padre de quién, qué ciudad tiene conexión directa con cuál, qué estado lleva a cuál. Nada más: solo una lista de pares.
Una relación sobre un conjunto pequeño se puede dibujar de dos maneras. Tomemos la relación «a divide a b» (b es múltiplo de a) sobre el conjunto {1, …, 6}. Como matriz: en la fila a y la columna b hay un punto cuando a divide a b. Y como grafo dirigido: una flecha de a a b.
matriz: fila a, columna b
grafo: flecha a → b (sin bucles a → a)
La relación tiene 14 pares. En IA te encontrarás ambas formas: la matriz de la relación es con lo que calcula el ordenador (matriz de adyacencia de un grafo, matriz de similitud), y el grafo es lo que dibuja una persona. Las transiciones entre estados en la búsqueda son una relación sobre el conjunto de estados, y el grafo de los k vecinos más cercanos de la propagación de etiquetas es la relación «está entre los más cercanos».
6. Propiedades de las relaciones
Definición — propiedades de una relación sobre un conjunto
Una relación R sobre el conjunto A es
- reflexiva si ∀a ∈ A : a R a,
- simétrica si ∀a, b : a R b ⇒ b R a,
- antisimétrica si ∀a, b : (a R b ∧ b R a) ⇒ a = b,
- transitiva si ∀a, b, c : (a R b ∧ b R c) ⇒ a R c.
Reflexiva: cada uno está relacionado consigo mismo. Simétrica: funciona en ambos sentidos. Antisimétrica: en ambos sentidos solo cuando se trata de lo mismo. Transitiva: si hay camino de a a b y de b a c, también lo hay directamente de a a c.
Para relaciones sobre el conjunto {1, …, 6} queda así, y por la combinación de propiedades se reconoce de qué tipo de relación se trata:
| Relación | Reflexiva | Simétrica | Antisimétrica | Transitiva |
|---|---|---|---|---|
| a ≤ b | sí | no | sí | sí |
| a divide a b | sí | no | sí | sí |
| mismo resto al dividir entre 3 | sí | sí | no | sí |
| |a − b| = 1 («vecinos») | no | sí | no | no |
7. Equivalencia y partición en clases
Definición — equivalencia y partición
Una relación que es reflexiva, simétrica y transitiva es una relación de equivalencia. La clase de equivalencia de un elemento a es [a] = {x ∈ A : x R a}.
Una partición del conjunto A es una colección de subconjuntos no vacíos, disjuntos dos a dos, cuya unión es A.
Teorema. Las clases de cualquier equivalencia forman una partición de A, y al revés: cada partición determina la equivalencia «pertenece a la misma parte».
Una equivalencia es «es igual en algo que»: mismo color, mismo resto, misma clase. Una relación así siempre divide el conjunto en cajones que no se solapan y que entre todos lo cubren todo. Cada elemento está exactamente en un cajón.
Esto es exactamente lo que hace la clasificación: divide el conjunto de todas las entradas posibles en clases —spam y no spam; perro, gato y loro—. Y el agrupamiento (clustering) busca una partición de los datos sin que nadie le diga cuáles son las clases. El resultado de k-means de la parte sobre los tipos de aprendizaje es una partición de los puntos en tres clases.
8. Órdenes
Definición — orden parcial y orden total
Una relación que es reflexiva, antisimétrica y transitiva es un orden parcial.
Si además cualquier par de elementos es comparable (∀a, b : a R b ∨ b R a), se trata de un orden total (lineal).
Un orden dice qué va «antes» de qué. Con los números ordenados por tamaño se puede comparar cualquiera con cualquiera. En un orden parcial, no siempre: 4 y 6 no se dividen entre sí, así que según la divisibilidad no sabemos cuál es «menor».
Un orden parcial se dibuja con un diagrama de Hasse: los elementos menores abajo, los mayores arriba y una línea solo entre vecinos inmediatos; el resto se deduce por transitividad. Aquí tienes los divisores de 12 ordenados por divisibilidad:
En el diagrama se ve que 1 divide a todos y 12 es divisible por todos, pero 4 y 6, o 2 y 3, no se pueden comparar. En IA los órdenes aparecen dondequiera que algo se ordena o se planifica: el orden de los resultados de búsqueda, las prioridades en la frontera del algoritmo A* o las dependencias entre los pasos de un plan («primero abre la puerta, luego pasa»). Por cierto, el grafo de dependencias entre módulos del temario de esta serie también es un orden parcial.
9. La función como relación especial
Definición — función
Una función de A en B es una relación f ⊆ A × B en la que cada elemento a ∈ A tiene exactamente un elemento b ∈ B con (a, b) ∈ f. Ese elemento se denota f(a).
Una función es una relación que a cada pregunta responde con exactamente una respuesta. «Es progenitor de» no es una función: una persona puede tener varios hijos. «Tiene como madre» sí lo es: cada uno tiene exactamente una.
Así se cierra el círculo: un modelo de aprendizaje automático es una función f : X → Y, es decir, una relación especial entre entradas y salidas. A las funciones y sus propiedades se dedica la siguiente parte del temario.
10. Resumen
- Un conjunto es una colección de elementos sin orden y sin repeticiones; un conjunto de n elementos tiene 2n subconjuntos.
- Unión, intersección, diferencia y complemento son «o», «y», «pero no» y «todo lo demás»; sobre las intersecciones se apoyan la precisión y la exhaustividad de un modelo.
- El producto cartesiano forma pares: de ellos se componen los datos (entrada, respuesta) y las transiciones (estado, acción).
- Una relación es un conjunto de pares. Una equivalencia divide el conjunto en clases (clasificación, agrupamiento); un orden determina qué va antes de qué.
- Una función es una relación con exactamente una respuesta, y un modelo es una función.
¿Lo ves de otra manera? Escribe a support@coden-app.com.