Hola. En este video presentamos una técnica muy conocida para la construcción de conjuntos difusos a partir de datos. El problema general lo denominaremos "Agrupamiento difuso" y la técnica en especial que vamos a presentar es la técnica del "Fuzzy c-Means". Ilustramos, primero, el problema con un ejemplo hipotético. Supongamos que necesitamos agrupar las edificaciones que se están presentando, es decir, determinar cuáles de ellas se parecen entre sí y cuáles son distintas; y compliquemos un poco más el problema: imaginemos que tenemos que utilizar una estrategia que nos funcione bien en contextos muy distintos. Habrá locaciones en donde las edificaciones se parezcan todas entre sí y otros lugares en donde las edificaciones sean muy diversas. Y nuestra tarea consiste entonces en encontrar la forma de agrupar esas edificaciones. ¿Por qué? Podemos imaginar, de pronto, que estamos construyendo alguna política de urbanismo y necesitamos formular ciertas soluciones para tipos de vivienda distintos, entonces tenemos que saber cuáles son parecidas entre sí y cuántos tipos de vivienda pudiéramos identificar. El problema podemos separarlo en dos partes. Por una parte, necesitamos, para cada una de esas edificaciones, encontrar valores numéricos que las representen. Es lo que diríamos la caracterización. Cada una de estas edificaciones las denominaríamos "un individuo en una población de edificaciones" y necesitamos extraer características numéricas de cada una de ellas. Por ejemplo, área construida, consumo energético, número de personas que la habitan. Todos esos son datos numéricos. Y en este ejemplo estamos imaginando que necesitamos d de esas características denominadas x1, x2 hasta xd y debemos buscarlas, encontrar esos números para cada una de las n edificaciones. Lo organizamos en alguna tabla y nuestra tarea entonces consiste en, después de eso, construir unos conjuntos en donde cada conjunto tenga elementos parecidos entre sí y los conjuntos sean distintos entre sí. Esa segunda parte es la tarea que denominamos "agrupamiento" como tal. Es un problema muy estudiado desde las matemáticas y una primera aproximación que se conoce son los algoritmos "divisivos". Un algoritmo divisivo, comienza con la definición de un único conjunto que abarca a todos los elementos y luego se va dividiendo ese conjunto. Primero lo dividimos en 2, con algún criterio, y después dividiremos alguno de esos 2 para obtener 3; de nuevo, con algún criterio, y seguiremos el proceso hasta tener tantos conjuntos como individuos. Por supuesto que debemos determinar también en qué momento parar. Imaginen ustedes que tenemos 1.000 individuos, iniciaríamos con un solo conjunto y si seguimos indefinidamente, al final tendríamos 1.000 conjuntos y de eso no se trata. Pero es la secuencia de pasos hasta parar en algún momento. Hay otro tipo de algoritmos que recorren el camino al revés: son los algoritmos "aglomerativos", que comienzan por la definición de conjuntos individuales y van buscando los más parecidos para fusionarlos y construir, entonces, un primer conjunto con 2 elementos; luego, fusionar y tener menos conjuntos y seguir así hasta tener un único conjunto con todos los elementos. De nuevo, el problema es determinar en dónde parar. Y para determinar en dónde parar necesitamos tener algún criterio que nos diga: "Este es un buen agrupamiento". Y un agrupamiento, lo hemos dicho ya en varias ocasiones, lo obtendremos cuando los elementos al interior de cada conjunto sean parecidos y al comparar un conjunto con otro tengan elementos diferentes. Parecidos y diferentes, en el lenguaje matemático se traduce a distancias; distancias cortas, distancias grandes. Aquí nos estamos moviendo en el escenario de los espacios vectoriales y las características son distintos vectores. Lo que necesitamos es alguna estrategia, algún algoritmo para encontrar conjuntos cuyos elementos al interior estén cerca, tengan distancias cortas y por fuera tengan distancias grandes. Vale la pena recordar, del mundo del álgebra lineal, que hay muchas formas de determinar la distancia entre vectores y las consecuencias geométricas son muy interesantes. Si definimos la circunferencia como el conjunto de puntos cuya distancia al centro es la misma y en particular la circunferencia unitaria, el conjunto de puntos cuya distancia al centro es 1, encontramos que hay muchas circunferencias distintas porque hay muchas formas de medir esa distancia. Estamos muy acostumbrados a utilizar la distancia euclidiana y el resultado es el segundo que ustedes ven en estas gráficas, pero cada una de esas gráficas corresponde a conjuntos cuya distancia al centro es 1. Pero son distintas formas de medir la distancia: la distancia 1 que es la suma de los valores absolutos de las coordenadas, la distancia 2 que es la euclidiana, la distancia infinito que toma el valor absoluto de la mayor de las coordenadas o inclusive distancias inducidas por matrices cuadradas, como la que se ilustra aquí, que nos da como resultado elipses. Y cada una de estas distancias las podemos aprovechar en problemas de agrupamiento. Cerrando este paréntesis del álgebra lineal, volvamos al problema de agrupamiento, pero ahora agrupamiento difuso. Tenemos las características de nuestros individuos; n individuos y cada uno con d características, y ahora, lo que queremos es construir conjuntos difusos que se van a traslapar el uno con otro, con grados de pertenencia entre 0 y 1. ¿Cómo lo vamos a hacer? Aquí es donde entra el algoritmo Fuzzy c-Means, el más popular de estos algoritmos.