| Características principalesEl sistema FLPD se divide en dos
partes: una librería de aprendizaje borroso y un entorno de
experimentación. Librería de aprendizaje borroso
Las características principales implementadas en la librería
son:
- Conjuntos borrosos
-
Se proporcionan las clases necesarias para representar
y manipular conjuntos borrosos discretos y, en menor medida,
continuos. Se incluyen clases específicas para la representación de
conjuntos borrosos transformables en distribuciones de probabilidad
LPD (Least Prejudiced
Distribution), con la maquinaria necesaria para
gestionar de forma automática las transformaciones.
Además de las operaciones básicas sobre conjuntos
borrosos, se implementan aquellas operaciones basadas en la teoría de
asignación de masas, como la fusión de
conjuntos borrosos o la probabilidad
condicional.
- Prototipos borrosos
-
Se proporciona una implementación básica de prototipos
borrosos, como contenedores de atributos borrosos. Es posible realizar
las operaciones de fusión y comparación de prototipos definidas a
partir de la teoría de asignación de masas: fusión,
soporte y soporte medio
normalizado.
- Descripción lingüística
-
La librería incluye las herramientas necesarias para
describir datos lingüísticamente. Para la discretización de datos
continuos, se implementan diversos algoritmos de cobertura
lingüística.
- Algoritmos de inducción de prototipos
-
Se implementa el algoritmo de inducción jerárquica de
prototipos HPI (Hierarchical Prototype
Induction), así como HPIW
(HPI with Weighting),
que, basándose en HPI, estudia la importancia de cada
atributo a la hora de elegir las fusiones a realizar, generando una
ponderación que mejora los resultados de HPI.
- Entrada/salida de datos
-
Se incluye una implementación básica de entrada/salida
de datos, que permite leer y escribir datos de forma sencilla en
distintos formatos (texto, CSV [Comma
Separated Values] y XML
[Extended Markup Language]).
Entorno de experimentación
El entorno de experimentación, basado en la librería, consta
de una serie de utilidades para la línea de comandos y un sencillo
interfaz gráfico escrito en PHP que implementan tareas habituales de
aprendizaje automático:
- Aprendizaje supervisado
-
A partir de un conjunto de datos de entrenamiento se
induce un conjunto de prototipos que después se emplea para clasificar
un conjunto de datos de prueba.
Si se desea aplicar validación cruzada a los
resultados obtenidos, se parte de una base de datos y se divide en
cierto número de folds, aplicando luego
aprendizaje supervisado sobre cada
fold.
- Aprendizaje no supervisado
-
A partir de una base de datos de entrada se inducen
prototipos para discriminar las clases en las que pueden
clasificarse.
Estas funciones de aprendizaje están implementadas sobre un
segundo conjunto de utilidades de más bajo nivel, que se encarga de
realizar las distintas tareas que componen un proceso de aprendizaje
completo:
Manipulación de datos en XML. | Descripción lingüística de datos. | Inducción de prototipos. | Clasificación de datos. | Evaluación de clasificaciones. | Representación gráfica. |
Empleando directamente estas utilidades pueden diseñarse
procesos de aprendizaje personalizados, completamente nuevos o
aprovechando parcialmente la infraestructura de cálculo proporcionada
por el sistema.
|