ES2254182T3 - Mejora del descubrimiento de conocimientos desde multiples conjuntos de datos utilizando multiples maquinas de soporte vectorial. - Google Patents

Mejora del descubrimiento de conocimientos desde multiples conjuntos de datos utilizando multiples maquinas de soporte vectorial.

Info

Publication number
ES2254182T3
ES2254182T3 ES00936271T ES00936271T ES2254182T3 ES 2254182 T3 ES2254182 T3 ES 2254182T3 ES 00936271 T ES00936271 T ES 00936271T ES 00936271 T ES00936271 T ES 00936271T ES 2254182 T3 ES2254182 T3 ES 2254182T3
Authority
ES
Spain
Prior art keywords
data
machines
training
level
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00936271T
Other languages
English (en)
Inventor
Stephen D. Barnhill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Health Discovery Corp
Original Assignee
Health Discovery Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Health Discovery Corp filed Critical Health Discovery Corp
Application granted granted Critical
Publication of ES2254182T3 publication Critical patent/ES2254182T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Abstract

Método implementado para ordenadores para el proceso de grandes conjuntos de datos utilizando múltiples máquinas de soporte vectorial que comprende: la recepción de una entrada de entrenamiento (103; 203) que comprende una pluralidad de conjuntos de datos de entrenamiento que contienen una pluralidad de puntos de datos de entrenamiento de distintos tipos de datos; el proceso previo (104; 204) de cada uno de un primer conjunto de datos de entrenamiento que comprende un primer tipo de datos y un segundo conjunto de datos de entrenamiento que comprende un segundo tipo de datos para añadir dimensionalidad a cada uno de los puntos de datos de entrenamiento dentro del primer y segundo conjunto de datos de entrenamiento; el entrenamiento (105; 210) de una primera o más máquinas de soporte vectorial de primer nivel (1302A, 1302B) utilizando el primer conjunto de datos de entrenamiento procesados previamente (1304A), comprendiendo cada primera o más máquinas de soporte vectorial de primer nivel unprimer núcleo diferente; el entrenamiento (105; 210) de una segunda o más máquinas de soporte vectorial de primer nivel (1302C, 1302D) utilizando el segundo conjunto de datos de entrenamiento procesados previamente (1304B), comprendiendo cada segunda o más máquinas de soporte vectorial de primer nivel un segundo núcleo diferente; la recepción de las entradas de prueba (108; 212) que comprende una pluralidad de conjuntos de datos de prueba que contienen una pluralidad de puntos de datos de prueba de los diferentes tipos de datos.

Description

Mejora del descubrimiento de conocimientos desde múltiples conjuntos de datos utilizando múltiples máquinas de soporte vectorial.
Sector técnico al que pertenece la invención
La presente invención se refiere al uso de máquinas autoadaptables para descubrir conocimientos, a partir de datos. Más concretamente, la presente invención se refiere a optimizaciones para máquinas autoadaptables y a los datos de entrada y salida asociados, para mejorar el conocimiento descubierto a partir de múltiples conjuntos de datos.
Antecedentes de la invención
El descubrimiento de conocimientos es el producto final más codiciado de las recopilaciones de datos. Avances recientes en la tecnología de bases de datos ha llevado a un crecimiento significativo de los sistemas y métodos para generar, recopilar y almacenar grandes cantidades de datos. Aunque la tecnología de bases de datos permite la recopilación y el almacenamiento eficientes de grandes conjuntos de datos, el desafío de facilitar la comprensión humana de la información presente en estos datos se está haciendo cada vez más difícil. Incluso con todas las técnicas que existen, el problema resulta difícil de enfocar. Como consecuencia, existe una necesidad de una nueva generación de herramientas automatizadas de descubrimiento de conocimientos.
Como ejemplo específico, el Proyecto Genoma Humano está llenando una base de datos multi gigabyte, que describe el código genético humano. Antes de que este mapeo del genoma humano sea finalizado (previsto para el 2003), se espera que la base de datos aumente su tamaño de forma significativa. La amplia cantidad de datos en dicha base de datos supera a las herramientas tradicionales de análisis de datos, tales como las hojas de cálculo y las consultas ad hoc. Los métodos tradicionales de análisis de datos se pueden utilizar para crear informes instructivos a partir de datos, pero no tienen la capacidad de ayudar al hombre de forma inteligente y automática para el análisis y descubrimiento de patrones de conocimientos útiles en grandes cantidades de datos. Asimismo, utilizando los rangos y estándares de interpretación tradicionalmente aceptados, es habitualmente imposible para el hombre identificar los patrones de conocimiento útiles, incluso en el caso de pequeñas cantidades de datos.
Un desarrollo reciente que ha demostrado ser efectivo en algunos ejemplos de aprendizaje de máquinas es la red neuronal de retropropagación. Las redes neuronales de retropropagación son máquinas autoadaptables o "de aprendizaje" que se pueden preparar para descubrir conocimientos en un conjunto de datos que no sean fácilmente evidentes para el ser humano. Sin embargo, hay algunos problemas en los enfoques con redes neuronales de retropropagación, que impiden que dichas redes neurales sean máquinas de aprendizaje controladas. Por ejemplo, un inconveniente importante de las redes neuronales de retropropagación es que la función de riesgo empírica puede tener muchos mínimos locales, un hecho que puede ocultar fácilmente la solución óptima del descubrimiento, mediante esta técnica. Los procedimientos de optimización estándar utilizados por las redes neuronales de retropropagación pueden converger en un mínimo, pero el método de la red neuronal no puede garantizar que, incluso un mínimo local, alcance el mínimo global deseado. La calidad de la solución obtenida a partir de una red neuronal depende de varios factores. En particular, la habilidad del profesional que implementa la red neuronal determina su beneficio final, pero incluso factores aparentemente tan ventajosos como la selección aleatoria de pesos iniciales pueden llevar a resultados no satisfactorios. Además, la convergencia del método basado en el gradiente, utilizando en el aprendizaje de redes neuronales, es intrínsecamente lenta. Otro inconveniente consiste en que la función sigmoidea tiene un factor de escala, que afecta a la calidad de la aproximación. Posiblemente el mayor factor limitativo de las redes neuronales relacionadas con el descubrimiento de conocimientos es "la maldición de la dimensionalidad" asociada al crecimiento desproporcionado del tiempo y la potencia de cálculo requeridos para cada característica o dimensión adicional en los datos de entrenamiento.
Los defectos de las redes neuronales se superan utilizando máquinas de soporte vectoriales. En términos generales, una máquina de soporte vectorial mapea los vectores de entrada en un espacio con características de un elevado número de dimensiones a través de una función de mapeo no lineal, elegida a priori. En este espacio con características de un elevado número de dimensiones, se construye un hiperplano de separación óptimo. El hiperplano óptimo se utiliza a continuación para determinar cosas tales como separaciones de clases, ajuste de regresión, o precisión en estimaciones de la densidad.
Dentro de una máquina de soporte vectorial, la dimensionalidad del espacio de características puede ser enorme. Por ejemplo, una función de mapeo polinómica de cuarto grado genera un espacio de entrada de 200 dimensiones que será mapeado en un espacio con características de 1600 millones de dimensiones. El truco del núcleo y la dimensión Vapnik-Chervonenkis permiten a la máquina de soporte vectorial evitar la "maldición de la dimensionalidad", limitando a otros métodos, y se derivan de forma efectiva respuestas generalizables de este espacio con características de un elevado número de dimensiones.
Si los vectores de entrenamiento se separan por el hiperplano óptimo (o hiperplano óptimo generalizado), entonces el valor esperado de la probabilidad de cometer un error en un ejemplo de prueba estará limitado por los ejemplos en el conjunto de entrenamiento. Este límite no depende ni de la dimensionalidad del espacio de las características, ni de la norma del vector de coeficientes, ni del límite del número de vectores de entrada. Por lo tanto, si el hiperplano óptimo se puede construir a partir de un pequeño número de vectores de soporte en relación al tamaño del conjunto de entrenamiento, la capacidad de generalización será alta, incluso en el espacio dimensional infinito.
De esta forma, las máquinas de soporte vectoriales proporcionan una solución deseable para el problema del descubrimiento de conocimientos a partir de grandes cantidades de datos de entrada. Sin embargo, la capacidad de una máquina de soporte vectorial de descubrir conocimientos a partir de un conjunto de datos está limitada en proporción a la información incluida dentro del conjunto de datos de entrenamiento. En consecuencia, es necesario un sistema y un método para procesar los datos previamente de manera que aumenten los datos de entrenamiento para maximizar el descubrimiento de conocimientos mediante la máquina de soporte vectorial.
Asimismo, los resultados en bruto de una máquina de soporte vectorial pueden no dar a conocer totalmente los conocimientos de la manera más fácil de interpretar. Por ello, sigue existiendo la necesidad de un sistema y un método para procesar posteriormente los datos de salida de una máquina de soporte vectorial a efectos de maximizar el valor de la información administrada al ser humano o para su proceso automatizado adicional.
Además, la capacidad de una máquina de soporte vectorial de descubrir conocimientos a partir de datos está limitada por la selección del núcleo. De acuerdo con ello, sigue existiendo la necesidad de un sistema y un método mejorados para seleccionar y/o crear un núcleo deseado para una máquina de soporte vectorial.
El documento EP-A-0887761 describe un método para mejorar la eficacia de una máquina de soporte vectorial, al determinar a priori un conjunto de vectores de soporte que aproximan los parámetros de decisión de la máquina de soporte vectorial de la misma manera que lo hace el conjunto completo de vectores de soporte.
Resumen de la invención
La presente invención satisface las necesidades mencionadas anteriormente, dando a conocer un sistema y un método para mejorar el conocimiento descubierto a partir de conjuntos múltiples de datos, utilizando múltiples máquinas de aprendizaje en general, y en particular múltiples máquinas de soporte vectorial. Uno o más conjuntos de datos de entrenamiento se procesan previamente a efectos de permitir la aplicación más ventajosa de la máquina autoadaptable. Cada punto de datos de entrenamiento comprende un vector con una o más coordenadas. El proceso previo del conjunto de datos de entrenamiento puede comprender la identificación de puntos de datos perdidos o erróneos, y la toma de medidas necesarias para corregir los datos defectuosos o, si es necesario, eliminar el comentario o el campo entero del ámbito del problema. El proceso previo de conjuntos de datos de entrenamiento también puede comprender la adición de dimensionalidad a cada punto en los datos del entrenamiento, añadiendo una o más coordenadas nuevas al vector. Las nuevas coordenadas añadidas al vector se pueden derivar aplicando una transformación a una o más de las coordenadas originales. La transformación se puede basar en el conocimiento del técnico, o se puede derivar mediante cálculo. En una situación en la que el conjunto de datos de entrenamiento comprende una variable continua, la transformación puede comprender la clasificación óptima de la variable continua del conjunto de datos de entrenamiento.
De este modo, las representaciones adicionales de los datos de entrenamiento proporcionadas por el proceso previo pueden mejorar la capacidad de la máquina autoadaptable para descubrir conocimientos a partir de dichos datos. En el contexto particular de máquinas de soporte vectorial, cuanto más grande es la dimensionalidad del conjunto de datos de entrenamiento, mayor será la calidad de las generalizaciones que se puedan derivar de éstos. Cuando el conocimiento que se va a dar a conocer a partir de los datos está relacionado con una regresión o una estimación de densidad o cuando los resultados de los datos de entrenamiento comprendan una variable continua, los resultados de los datos de entrenamiento se pueden procesar posteriormente clasificando de forma óptima los resultados de los datos de entrenamiento para derivar clasificaciones de la variable continua.
Un conjunto de datos de prueba se procesa previamente de la misma manera que el conjunto de datos de entrenamiento. A continuación, la máquina autoadaptable entrenada se evalúa utilizando el conjunto de datos de prueba procesados previamente. Se puede procesar posteriormente un resultado de la prueba de la máquina autoadaptable entrenada para determinar si este resultado de la prueba es una solución óptima. El proceso posterior del resultado de la prueba puede comprender la interpretación de dicho resultado de la prueba en un formato que se puede comparar con el conjunto de datos de prueba. Etapas de proceso posterior alternativas pueden mejorar la capacidad humana de interpretar o la aptitud para el proceso adicional de los datos de salida.
En el contexto de una máquina de soporte vectorial, la presente invención también prevé la selección de un núcleo antes de entrenarla. La selección de un núcleo se puede basar en el conocimiento previo del problema concreto que se está tratando o en el análisis de las propiedades de cualquier dato disponible para ser utilizado con la máquina autoadaptable y depende normalmente de la naturaleza del conocimiento que se va a extraer de los datos. Opcionalmente, se puede aplicar un proceso iterativo que compare los resultados del entrenamiento o de la prueba procesados posteriormente para tomar una determinación sobre qué configuración da la solución más óptima. Si el resultado de la prueba no proporciona la mejor solución, se puede ajustar la selección del núcleo y la máquina de soporte vectorial se puede volver a entrenar y volver a probar. Cuando se determina que se ha identificado la solución óptima, se puede recopilar y procesar previamente un conjunto de datos reales del mismo modo que el conjunto de datos de entrenamiento. El conjunto de datos procesados previamente reales se introduce en la máquina autoadaptable para su proceso. Los resultados reales de la máquina autoadaptable se pueden procesar posteriormente interpretando los resultados reales en un clasificador alfanumérico derivado informáticamente.
En una forma de realización a título de ejemplo, se proporciona un sistema que mejora el conocimiento descubierto a partir de datos utilizando una máquina de soporte vectorial. El sistema del ejemplo comprende un dispositivo de almacenamiento para almacenar un conjunto de datos de entrenamiento y un conjunto de datos de prueba, y un procesador para ejecutar una máquina de soporte vectorial. El procesador también se puede utilizar para recopilar el conjunto de datos de entrenamiento de la base de datos, procesando previamente el conjunto de datos de entrenamiento para mejorar cada uno de una serie de puntos de datos de entrenamiento, entrenando a la máquina de soporte vectorial utilizando el conjunto de datos de entrenamiento procesados previamente, recopilando el conjunto de datos de prueba de la base de datos, procesando previamente el conjunto de datos de prueba de la misma manera que el conjunto de datos de entrenamiento, probando la máquina de soporte vectorial entrenada utilizando el conjunto de datos de prueba procesados previamente, y en respuesta al resultado de la prueba de la máquina de soporte vectorial entrenada, procesando posteriormente los resultados de la prueba para determinar si dichos resultados son la mejor solución. El sistema del ejemplo también puede incluir un dispositivo de comunicaciones para recibir el conjunto de datos de prueba y el de entrenamiento desde una fuente remota. En ese caso, el procesador se puede utilizar para almacenar el conjunto de datos de entrenamiento en el dispositivo de almacenamiento antes de procesar previamente el conjunto de datos de entrenamiento y para almacenar el conjunto de datos de prueba en el dispositivo de almacenamiento antes de procesar previamente el conjunto de datos de prueba. El sistema del ejemplo también puede incluir un dispositivo de visualización para visualizar los datos de prueba procesados posteriormente. El procesador del sistema del ejemplo también se puede utilizar para realizar las funciones adicionales descritas anteriormente. El dispositivo de comunicaciones se puede utilizar además para enviar un clasificador alfanumérico derivado informáticamente a una fuente remota.
En una forma de realización a título de ejemplo, se proporcionan un sistema y un método para mejorar el descubrimiento de conocimientos a partir de datos utilizando múltiples máquinas autoadaptables en general, y máquinas de soporte vectorial en particular. Los datos de entrenamiento para una máquina autoadaptable se procesan previamente para añadirles significado. El proceso previo de los datos puede implicar la transformación de los puntos de datos y/o ampliar dichos puntos. Al darle significado a los datos, se proporciona a la máquina autoadaptable una gran cantidad de información para procesar. Respecto a las máquinas de soporte vectorial en particular, cuanto mayor es la cantidad de información que se procesa, mejores generalizaciones se pueden obtener sobre los datos. Las múltiples máquinas de soporte vectorial, comprendiendo cada una distintos núcleos, se entrenan con los datos de entrenamiento procesados previamente y se prueban con los datos de prueba procesados previamente de la misma forma. Los resultados de la prueba de varias máquinas de soporte vectorial se comparan para determinar cual de los resultados de la prueba, si los hubiese, representa un solución óptima. La selección de uno o más núcleos se puede ajustar y se pueden volver a entrenar y volver a probar una o más máquinas de soporte vectorial. Cuando se determina que se ha obtenido una solución óptima, los datos reales se procesan previamente y se introducen en la máquina de soporte vectorial que comprende el núcleo que produjo la solución óptima. Los resultados reales de la máquina autoadaptable se pueden procesar posteriormente a continuación en un clasificador alfanumérico derivado informáticamente para que una persona o un proceso informático automatizado los interprete.
En otra forma de ejemplo de realización, se proporcionan un sistema y un método para clasificar de forma óptima una variable continua. Un conjunto de datos que representa una variable continua incluye puntos de datos que comprenden, cada uno, una muestra de variable continua y un identificador de clases. Se determina un número de distintos identificadores de clases dentro del conjunto de datos y un número de contenedores candidato basados en el rango de las muestras y en un nivel de precisión de las muestras dentro del conjunto de datos. Cada contenedor candidato representa un sub-rango de muestras. Para cada contenedor candidato, se calcula la entropía de los puntos de datos que caen dentro de dicho contenedor. A continuación, para cada secuencia de contenedores candidatos que tienen una entropía colectiva minimizada, se define un punto de corte en el rango de muestras como límite del último contenedor candidato en la secuencia de contenedores candidatos. Como proceso iterativo, se calcula la entropía colectiva para diferentes combinaciones de contenedores candidatos secuenciales. Además, se puede ajustar el número de puntos de cortes definidos para determinar el número óptimo de puntos de corte, que se basan en un cálculo de la entropía mínima. Tal como se mencionó anteriormente, el sistema y el método modelos para clasificar de forma óptima una variable continua se pueden utilizar para procesar previamente datos que se van a introducir en una máquina autoadaptable y para procesar posteriormente los resultados de la máquina autoadaptable.
En otra forma de realización a título de ejemplo se proporcionan un sistema y un método para mejorar el descubrimiento de conocimientos a partir de datos utilizando una máquina autoadaptable en general y una de soporte vectorial en particular en un entorno de redes distribuido. Un cliente puede transmitir datos de entrenamiento, datos de prueba y datos reales al servidor del proveedor desde una fuente remota, a través de una red distribuida. El cliente puede transmitir también información de identificación del servidor tal como el nombre de usuario, una contraseña y el identificador de una cuenta financiera. Los datos de entrenamiento, los datos de prueba y los datos reales se pueden almacenar en un dispositivo de almacenamiento. Los datos de entrenamiento se pueden procesar previamente a continuación para darles significado. El proceso previo de los datos puede implicar transformar los puntos de datos y/o ampliar los puntos de datos. Al darle significado a los datos, se proporciona a la máquina autoadaptable una gran cantidad de información para procesar. Respecto a las máquinas de soporte vectorial en particular, cuanto mayor es la cantidad de información que se procesa, mejores generalizaciones se pueden obtener sobre los datos. Por lo tanto, la máquina autoadaptable se entrena con los datos de entrenamiento procesados previamente y se somete a prueba con datos de prueba procesados previamente de la misma manera. Los resultados de la prueba de la máquina autoadaptable se procesan posteriormente para determinar si el conocimiento descubierto a partir de los datos de prueba es ventajoso. El proceso posterior incluye la interpretación de los resultados de la prueba en un formato que se puede comparar con los datos de prueba. Los datos reales se procesan previamente y se introducen en la máquina autoadaptable entrenada y probada. Los resultados reales de la máquina autoadaptable se pueden procesar posteriormente en un clasificador alfanumérico derivado informáticamente para que una persona o un proceso informático automatizado lo interpreten. Antes de transmitir el clasificador alfanumérico al cliente a través de una red distribuida, el servidor se puede utilizar para comunicarse con una entidad financiera con el objetivo de recibir fondos de una cuenta financiera del cliente identificado por el identificador de la cuenta financiera.
En otra forma de realización a título de ejemplo, se entrenan una o más máquinas de soporte vectorial utilizando un primer conjunto de datos de entrenamiento procesados previamente y se entrenan una o más segundas máquinas de soporte vectorial utilizando un segundo conjunto de datos de entrenamiento procesados previamente. Los resultados óptimos de máquinas de soporte vectorial similares se pueden combinar para formar un nuevo conjunto de datos de entrada para una o más máquinas de soporte vectorial adicionales.
Breve descripción de los dibujos
La figura 1 es un organigrama que ilustra un método modelo general para incrementar los conocimientos que se pueden extraer de los datos utilizando una máquina autoadaptable.
La figura 2 es un organigrama que ilustra un método modelo para incrementar los conocimientos que se pueden extraer de los datos utilizando una máquina de soporte vectorial.
La figura 3 es un organigrama que ilustra un método de clasificación óptima modelo que se puede utilizar en una configuración independiente o junto con una máquina autoadaptable para las técnicas de proceso previo o proceso posterior de acuerdo con un ejemplo de realización de la presente invención.
La figura 4 ilustra un conjunto de datos no expandidos modelo que se pueden introducir en una máquina de soporte vectorial.
La figura 5 ilustra un resultado procesado posteriormente modelo generado por una máquina de soporte vectorial que utiliza el conjunto de datos de la figura 4.
La figura 6 ilustra un conjunto de datos expandidos modelo que se pueden introducir en una máquina de soporte vectorial.
La figura 7 ilustra un resultado procesado posteriormente modelo generado por una máquina de soporte vectorial utilizando el conjunto de datos de la figura 6.
La figura 8 ilustra la entrada y el resultado modelos de una aplicación independiente del método de clasificación óptima de la figura 3.
La figura 9 es una comparación de los resultados procesados posteriormente modelo procedentes de una primera máquina de soporte vectorial que comprende un núcleo lineal y una segunda maquina de soporte vectorial que comprende un núcleo polinómico.
La figura 10 es un diagrama esquemático funcional que ilustra un entorno operativo modelo para una forma de realización a título de ejemplo de la presente invención.
La figura 11 es un diagrama esquemático funcional que ilustra un entorno operativo modelo alternativo para una forma de realización alternativa de la presente invención.
La figura 12 es un diagrama esquemático funcional que ilustra un entorno operativo de red modelo para la implementación de otra forma de realización alternativa de la presente invención.
La figura 13 es un diagrama esquemático que ilustra un sistema jerárquico de la máquina de soporte vectorial múltiple.
Descripción detallada de las formas de realización a título de ejemplo
La presente invención proporciona métodos mejorados para descubrir conocimientos a partir de datos utilizando máquinas autoadaptables. Aunque existen ejemplos de máquinas autoadaptables y se esperan avances en este campo, las formas de realización a título de ejemplo de la presente invención se centran en la máquina de soporte vectorial. Tal como se conoce en este campo, las máquinas autoadaptables comprenden algoritmos que se pueden entrenar para generalizar utilizando datos con resultados conocidos. Los algoritmos de las máquinas autoadaptables entrenadas se pueden aplicar a casos de resultados desconocidos para su predicción. Por ejemplo, una máquina autoadaptable se puede entrenar para reconocer patrones en los datos, estimar la regresión en los datos o para estimar la densidad de probabilidad dentro de los datos. Las máquinas autoadaptables se pueden entrenar para resolver una amplia variedad de problemas, tal como es conocido por los técnicos en la materia. Una máquina autoadaptable entrenada se puede probar opcionalmente utilizando datos de prueba para asegurar que sus resultados son válidos dentro de un margen de error aceptable. Una vez que se entrena y se prueba una máquina autoadaptable, se pueden introducir datos reales en la misma. Los resultados reales de una máquina autoadaptable comprenden conocimientos descubiertos procedentes de los datos de entrenamiento al aplicarlos a los datos reales.
Un primer aspecto de la presente invención trata de mejorar el descubrimiento de conocimientos procesando previamente opcionalmente los datos antes de utilizarlos para entrenar una máquina autoadaptable y/o procesando posteriormente opcionalmente los resultados procedentes de una máquina autoadaptable. Según está establecido generalmente, los datos de proceso previo comprenden el reformateado o el aumento de los datos para permitir que la máquina autoadaptable se aplique de la manera más ventajosa. De forma similar, el proceso posterior incluye la interpretación de los resultados procedentes de la máquina autoadaptable para descubrir sus características significativas. Las características significativas que se van a determinar a partir de los resultados pueden ser específicas de un problema o de los datos. El proceso posterior implica la interpretación de los resultados de una forma comprensible para el ser humano o para un ordenador.
De ahora en adelante las formas de realización a título de ejemplo de la presente invención se describirán haciendo referencia a los dibujos, en los que los números indican elementos similares en las diversas figuras. La figura 1 es un organigrama que ilustra un método general (100) para mejorar el descubrimiento de conocimientos utilizando máquinas autoadaptables. El método (100) comienza en el bloque de inicio (101) y sigue en la etapa (102), donde se formaliza un problema específico para la aplicación del descubrimiento de conocimientos mediante el aprendizaje de una máquina. Es particularmente importante realizar una formulación adecuada de los resultados deseados de la máquina autoadaptable. Por ejemplo, prediciendo un comportamiento futuro de una acción de valores individual, o de un índice de mercado, una máquina autoadaptable es probable que funcione mejor cuando predice un cambio esperado en el futuro que prediciendo el futuro nivel de un precio. Las expectativas de los futuros precios se pueden derivar posteriormente en una etapa de proceso posterior, tal como se describirá más adelante en esta memoria descriptiva.
Después de formalizar el problema, la etapa (103) se dirige a la recopilación de datos de entrenamiento. Los datos de entrenamiento comprenden un conjunto de puntos de datos con características conocidas. Los datos de entrenamiento se pueden recopilar a partir de una o más fuentes locales y/o remotas. La recopilación de los datos de entrenamiento se puede realizar manualmente o mediante un proceso automatizado, tal como los métodos electrónicos de transferencia de datos. Por lo tanto, se puede implementar una forma de realización a título de ejemplo de la presente invención en un entorno informático de redes. Los entornos operativos modelo para la implementación de varias formas de realización de la presente invención se describirán detalladamente con respecto a las figura 10-12.
A continuación, en la etapa (104) los datos de entrenamiento recopilados se procesan previamente opcionalmente para permitir que la máquina autoadaptable se aplique de la manera más ventajosa en la extracción de los conocimientos inherentes a los datos de entrenamiento. Durante esta fase de proceso previo los datos de entrenamiento se pueden expandir opcionalmente mediante transformaciones, combinaciones o la manipulación de medidas individuales o múltiples dentro de los registros de los datos de entrenamiento. Según se utiliza en este documento, los datos que se expanden se refieren a la alteración de la dimensionalidad de los datos de entrada cambiando el número de observaciones disponibles para determinar cada punto de entrada (como alternativa, esto se podría describir añadiendo o borrando columnas dentro de una tabla en la base de datos). A modo de ilustración, un punto de datos puede comprender las coordenadas (1, 4, 9). Una versión expandida de este punto de datos puede resultar en las coordenadas (1, 1, 4, 2, 9, 3). En este ejemplo, puede verse que las coordenadas añadidas al punto de datos expandido se basan en la transformación raíz cuadrada de las coordenadas originales. Añadiendo dimensionalidad al punto de datos, este punto expandido proporciona una representación variada de los datos de entrada que es potencialmente más significativa para extraer conocimientos con la máquina autoadaptable. La expansión de datos en este sentido da la oportunidad a las máquinas autoadaptables de extraer conocimientos difícilmente reconocibles en los datos de entrenamiento no expandidos.
La expansión de los datos puede comprender la aplicación de cualquier tipo de transformación significativa de los datos y la adición de esas transformaciones a los datos originales. Los criterios para determinar si una transformación es significativa pueden depender de los propios datos de entrada y/o del tipo de conocimiento buscado en los datos. Los tipos ilustrativos de las transformaciones de datos incluyen: la adición de información de técnicos; marcaje; conversión binaria; seno, coseno, tangente, cotangente, y otras transformaciones trigonométricas; agrupaciones; cambios de escalas; análisis estadístico y de probabilidad; pruebas de significación; pruebas de resistencia; búsqueda de regularidades en 2D; Modelización de Hidden Markov; identificación de relaciones de equivalencia; aplicación de tablas de contingencia; aplicación de los principios de la teoría de grafos; creación de mapas vectoriales; suma, resta, multiplicación, división, aplicación de ecuaciones polinómicas u otras transformaciones algebraicas; identificación de proporcionalidad; determinación del poder de discriminación; etc. En el contexto de datos médicos, las transformaciones potencialmente significativas incluyen: asociación con rangos de referencia médicos estándar conocidos; truncamiento fisiológico; combinaciones fisiológicas, combinaciones bioquímicas; aplicación de reglas heurísticas; determinaciones de criterios diagnósticos; sistemas de ponderación médica; transformaciones diagnósticas, transformaciones médicas; aplicación de conocimientos profesionales; técnicas de marcaje; aplicación de conocimientos de otros campos; conocimiento de redes bayesianas; etc. Éstas y otras transformaciones, así como sus combinaciones, se les ocurrirán a aquellos con conocimientos ordinarios en la materia.
Los técnicos en la materia también deberían darse cuenta de que las transformaciones de los datos se pueden realizar sin añadir dimensionalidad a los puntos de datos. Por ejemplo, un punto de datos puede comprender la coordenada (A, B, C). Una versión transformada de este punto puede resultar en las coordenadas (1, 2, 3), donde la coordenada "1" tiene alguna relación conocida con la coordenada "A", la coordenada "2" tiene alguna relación conocida con la coordenada "B", y la coordenada "3" tiene alguna relación conocida con la coordenada "C". Puede ser necesaria una transformación de letras a números, por ejemplo, si la máquina autoadaptable no entiende las letras. Son posibles otros tipos de transformaciones sin añadir dimensionalidad a los puntos de datos, incluso con respecto a los datos que están originalmente en forma numérica. Además, hay que tener en cuenta que los datos procesados previamente a los que se les añade un significado pueden incluir un análisis de datos incompleto, corrupto o, de otra manera, "sucio". Una máquina autoadaptable no puede procesar datos "sucios" de manera significativa. Por eso, una etapa de proceso previo puede incluir la limpieza de un conjunto de datos para borrar, reparar o sustituir puntos de datos sucios.
Volviendo a la figura 1, el método modelo (100) continúa en la etapa (106), donde se entrena a la máquina autoadaptable utilizando datos procesados previamente. Tal como es sabido en la materia, una máquina autoadaptable se entrena ajustando sus parámetros operativos hasta que se consigan unos resultados de entrenamiento satisfactorios. La determinación de si un resultado de entrenamiento es satisfactorio se puede realizar manual o automáticamente comparando el resultado de entrenamiento con las características de los datos de entrenamiento. Una máquina autoadaptable se considera entrenada cuando sus resultados de entrenamiento están dentro del umbral de error predeterminado por las características conocidas de los datos de entrenamiento. En algunas situaciones, puede ser conveniente, si no necesario, procesar posteriormente el resultado de entrenamiento de la máquina autoadaptable de la etapa (107). Tal como se ha mencionado, el proceso posterior del resultado de la máquina autoadaptable implica la interpretación del resultado de una forma significativa. En el contexto de un problema de regresión, por ejemplo, puede ser necesario determinar las clasificaciones del rango para el resultado de la máquina autoadaptable para determinar si los puntos de datos de entrada están correctamente clasificados. En el ejemplo de un problema de reconocimiento de patrones, normalmente no es necesario procesar posteriormente el resultado de entrenamiento de una máquina autoadaptable.
En la etapa (108), los datos de prueba se recopilan opcionalmente al preparar la prueba de la máquina autoadaptable entrenada. Los datos de prueba se pueden recopilar de una o más fuentes locales y/o remotas. En la práctica, los datos de prueba y los datos de entrenamiento se pueden recopilar de la(s) misma(s)
fuente(s) al mismo tiempo. Por lo tanto, los conjuntos de datos de prueba y datos de entrenamiento se pueden dividir en conjuntos de datos comunes y se pueden almacenar en un medio de almacenamiento local para su utilización como diferentes conjuntos de datos de entrada para una máquina autoadaptable. Sin tener en cuenta cómo se recopilan los datos de prueba, se puede procesar previamente cualquier dato de prueba en la etapa (110) de la misma manera que los datos de entrenamiento. Como debería ser obvio para los técnicos en la materia, una prueba adecuada del aprendizaje sólo se puede realizar utilizando los datos de prueba en el mismo formato que los datos de entrenamiento. A continuación, en la etapa (112) la máquina autoadaptable se prueba utilizando los datos de prueba procesados previamente, si los hubiese. Los resultados de la prueba de las máquinas autoadaptables se procesan posteriormente opcionalmente en la etapa (114) para determinar si los resultados son satisfactorios. Una vez más, la etapa de proceso posterior incluye la interpretación del resultado de la prueba de una forma significativa. La forma significativa puede ser cualquiera comprensible para un ser hombre o para un ordenador. Sin embargo, el resultado de la prueba se debe procesar posteriormente de forma que se pueda comparar con los datos de prueba para determinar si los resultados son satisfactorios. Los ejemplos de las etapas de proceso posterior incluyen, pero no se limitan, a los siguientes: determinaciones de clasificación óptima, técnicas de cambio de escala (lineales y no lineales), transformaciones (lineales y no lineales), y estimaciones de probabilidad. El método 100 termina en la etapa (116).
La figura 2 es un organigrama que ilustra un método modelo (200) para mejorar los conocimientos que se pueden extraer de datos utilizando un tipo específico de máquina autoadaptable conocido como máquina de soporte vectorial (SVM). Una SVM implementa un algoritmo especializado para proporcionar una generalización cuando se estima una función multidimensional a partir de una recopilación limitada de datos. Una SVM puede ser particularmente útil en la resolución de problemas de estimación de dependencias. Más concretamente, una SVM se puede utilizar con precisión en la estimación de funciones indicadoras (por ejemplo, problemas de reconocimiento de patrones) y de funciones de valor real (por ejemplo, problemas de aproximación de funciones, de estimación de regresión, de estimación de densidad, y la resolución de problemas inversos). La SVM fue desarrollada originalmente por Vladimir N. Vapnik. Los conceptos subyacentes en la SVM se explican detalladamente en su libro, titulado Statistical Learning Theory ("Teoría de Aprendizaje Estadístico") (John Wiley & Sons, Inc. 1998), incorporado aquí en su totalidad como referencia. En consecuencia, a lo largo de esta memoria descriptiva se presupone el conocimiento de las SVM y de su terminología.
El método modelo (200) comienza en el bloque de inicio (201) y sigue en la etapa (202), donde se formula un problema y a continuación en la etapa (203), donde se recopila un conjunto de datos de entrenamiento. Tal como se describió con referencia a la figura 1, los datos de entrenamiento se pueden recopilar a partir de una o más fuentes locales y/o remotas, mediante un proceso manual o automatizado. En la etapa (204), los datos de entrenamiento se procesan previamente opcionalmente. Una vez más, los datos de proceso previo comprenden la mejora de la coherencia dentro de los datos de entrenamiento limpiando los datos, transformando los datos y/o expandiendo los datos. Los técnicos en la materia deben tener en cuenta que las SVM son capaces de procesar datos de entrada que tienen una dimensionalidad extremadamente grande. De hecho, cuanto más grande sea la dimensionalidad de los datos de entrada, mejores serán las generalizaciones que la SVM puede calcular. Por lo tanto, a pesar de que las transformaciones de datos de entrenamiento puede que no expandan los datos de entrenamiento, en el contexto específico de las SVM es preferible que los datos de entrenamiento se amplíen añadiéndoles información significativa.
En la etapa (206) se selecciona un núcleo para la SVM. Tal como es sabido en la materia, diferentes núcleos harán que una SVM produzca grados de calidad variable en los resultados para un determinado conjunto de datos de entrada. Por lo tanto, la selección de un núcleo apropiado puede ser esencial para conseguir la calidad deseada del resultado de la SVM. En una forma de realización de la presente invención, se puede elegir un núcleo basado en un conocimiento de comportamiento previo. Tal como es sabido en la materia, los núcleos modelo incluyen núcleos polinómicos, núcleos clasificadores de base radial, núcleos lineales, etc. En una forma de realización alternativa, se puede crear un núcleo personalizado específico para un problema o para un tipo de conjunto de datos concretos. En otra forma de realización, las SVM múltiples se pueden entrenar y probar simultáneamente, utilizando cada una un núcleo diferente. La calidad de los resultados para cada SVM entrenada y probada simultáneamente se puede comparar utilizando una variedad de métricas seleccionables o ponderadas (ver etapa -222-) para determinar el núcleo más aconsejable.
A continuación, en la etapa (208) los datos de entrenamiento procesados previamente se introducen en la SVM. En la etapa (210), la SVM se entrena utilizando los datos de entrenamiento procesados previamente para generar un hiperplano óptimo. Opcionalmente, la salida de entrenamiento de la SVM se puede procesar posteriormente a continuación en la etapa (211). Una vez más, puede ser deseable el proceso posterior del resultado de entrenamiento de la SVM, o incluso necesario, en este punto para calcular correctamente rangos o categorías para los resultados. En la etapa (212) los datos de prueba se recopilan de forma similar a las descripciones previas de la recopilación de datos. Los datos de prueba se procesan previamente en la etapa (214) de la misma manera descrita anteriormente para los datos de entrenamiento. A continuación, en la etapa (216) los datos de la prueba procesados previamente se introducen en la SVM para su proceso con el objetivo de determinar si la SVM se entrenó de manera deseable. Los resultados de la prueba se reciben procedentes de la SVM en la etapa (218) y se procesan posteriormente opcionalmente en la etapa (220).
Basándose en los resultados de la prueba procesados posteriormente, en la etapa (222) se determina si la SVM alcanzó un mínimo óptimo. Los técnicos en la materia deberían apreciar que una SVM se puede utilizar para establecer un resultado que tenga un error global mínimo. Sin embargo, tal como se ha mencionado anteriormente, los resultados de salida de una SVM para un conjunto de datos determinado normalmente variarán en relación a la selección del núcleo. Por lo tanto, existen de hecho múltiples mínimos globales que se pueden determinar con una SVM para un conjunto determinado de datos. Según se usa en este documento, el término "mínimo óptimo" o "solución óptima" hace referencia al mínimo global seleccionado considerado como óptimo (por ejemplo, la solución óptima para un conjunto de criterios específicos y preestablecidos de un problema) cuando se compara con otros mínimos globales determinados por una SVM. En consecuencia, en la etapa (222) se determina si el mínimo óptimo establecido puede suponer comparar el resultado de un SVM con un valor histórico o predeterminado. Ese valor predeterminado puede depender del conjunto de datos de prueba. Por ejemplo, en el contexto de un problema de reconocimiento de patrones donde un punto de datos es clasificado por una SVM con una cierta característica o sin ella, un error global mínimo del 50% no sería óptimo. En este ejemplo, un mínimo global del 50% no es mejor que el resultado que se obtendría con una moneda al aire para determinar si el punto de datos tiene esa característica. Como segundo ejemplo, en el caso en el que se entrenen y se prueben simultáneamente múltiples SVM con varios núcleos, los resultados para cada SVM se pueden comparar con los resultados de otras SVM para determinar la solución óptima práctica para ese conjunto de núcleos específico. La determinación de si se ha establecido una solución óptima, se puede realizar manualmente o mediante un proceso de comparación automatizado.
Si se determina que no se ha podido obtener el mínimo óptimo con la SVM entrenada, el método avanza a la etapa (224), donde se ajusta la selección del núcleo. El ajuste de la selección del núcleo puede comprender la selección de uno o más núcleos nuevos o el ajuste de los parámetros del núcleo. Además, en el caso en el que se entrenen y se prueben simultáneamente múltiples SVM, los núcleos seleccionados se pueden sustituir o modificar mientras los otros núcleos se pueden reutilizar para control. Después de ajustar la selección del núcleo, el método (200) se repite a partir de la etapa (208), en la que los datos de entrenamiento procesados previamente se introducen en la SVM para su entrenamiento. Cuando en la etapa (222) se determina que se ha alcanzado el mínimo óptimo, el método pasa a la etapa (226), en la que se recopilan datos reales de manera similar a como se describió anteriormente. Las características de los resultados deseadas son conocidas con respecto a los datos de entrenamiento y los datos de prueba no se conocen con respecto a los datos reales.
En la etapa (228), se procesan previamente los datos reales de la misma manera que los datos de entrenamiento y los de prueba. En la etapa (230), los datos procesados previamente reales se introducen en la SVM para su proceso. Los resultados reales de la SVM se reciben en la etapa (232) y se procesan posteriormente en la etapa (234). En una forma de realización de la presente invención, el proceso posterior comprende la conversión del resultado de la SVM en un clasificador alfanumérico derivado informáticamente, para su interpretación por un ser humano o por un ordenador. Preferiblemente, el clasificador alfanumérico comprende un único valor fácilmente comprensible para un ser humano o para un ordenador. El método (200) termina en la etapa (236).
La figura 3 es un organigrama que ilustra el método (300) de clasificación óptima modelo, que se puede utilizar para procesar previamente datos o procesar posteriormente el resultado de una máquina autoadaptable de acuerdo con una forma de realización a título de ejemplo de la presente invención. Además, tal como se describirá más adelante, el método de clasificación óptima modelo se puede utilizar como técnica de clasificación autónoma, independiente de las máquinas autoadaptables. El método (300) de clasificación óptima modelo comienza en el bloque inicial (301) y continúa en la etapa (302), en la que se recibe el conjunto de datos de entrada. El conjunto de datos de entrada comprende una secuencia de muestras de datos de una variable continua. Las muestras de datos están dentro de una o más categorías de clasificación. A continuación, en la etapa (304), se inicializan las variables binarias y de seguimiento de clases. Tal como es sabido en la técnica, las variables binarias se refieren a las variables de resolución y las variables de seguimiento de clases se refieren al número de clasificaciones en el conjunto de datos. La determinación de los valores para la inicialización de las variables binarias y de seguimiento de clases se puede realizar manualmente o mediante un proceso automatizado, tal como un programa informático para analizar conjuntos de datos de entrada. En la etapa (306), se calcula la entropía de los datos para cada binario. La entropía es una magnitud matemática que mide la incertidumbre de una distribución aleatoria. En el método modelo (300), la entropía se utiliza para estimar las gradaciones de la variable de entrada de manera que se consigue la capacidad de clasificación máxima.
El método (300) produce una serie de "cortes" en la variable continua, de manera que la variable continua se puede dividir en categorías o clases discretas. Los cortes seleccionados por el método modelo (300) son óptimos en el sentido de que la entropía media de cada categoría discreta resultante se minimiza. En la etapa (308), se hace la determinación sobre si todos los cortes se han colocado dentro del conjunto de datos de entrada que comprende la variable continua. Si no se han colocado todos los cortes, las combinaciones binarias secuenciales se prueban para la determinación del límite en la etapa (310). A partir de la etapa (310), el método modelo (300) se conecta en bucle a través de la etapa (306) y vuelve a la etapa (308), donde se vuelve a determinar si todos los cortes se han colocado dentro del conjunto de datos de entrada que comprende la variable continua. Cuando se han colocado todos los cortes, la entropía de todo el sistema se evalúa en la etapa (309) y se compara con los resultados previos probando más o menos cortes. Si no se puede concluir que se ha determinado un estado de entropía mínima, se deberán evaluar otras posibles selecciones de corte y el método continúa en la etapa (311). A partir de la etapa (311) se elige una selección para una serie de cortes no probada hasta ahora y el proceso anterior se repite desde la etapa (304). Cuando cualquiera de los límites de la resolución determinados por la amplitud del binario se ha probado o se ha identificado la convergencia a una solución mínima, el criterio de clasificación óptimo es el resultado de la etapa (312) y el método (300) de clasificación óptima modelo finaliza en la etapa (314).
El método (300) de clasificación óptima aprovecha las técnicas de programación dinámica. Tal como es sabido en la materia, las técnicas de programación dinámica se pueden utilizar para mejorar significativamente la eficiencia en la resolución de algunos problemas complejos estructurando cuidadosamente un algoritmo para reducir los cálculos redundantes. En el problema de clasificación óptima, una aproximación sencilla de la búsqueda exhaustiva de todos los cortes posibles en los datos de la variable continua resultaría en un algoritmo de complejidad exponencial y dificultaría la resolución del problema para entradas de datos incluso de tamaño moderado. Aprovechando la propiedad aditiva de la función de destino, que en este problema es la entropía media, el problema se puede dividir en una serie de subproblemas. Formulando correctamente las subestructuras algorítmicas para resolver todos los subproblemas y almacenando las soluciones de los subproblemas, se puede identificar y evitar una gran cantidad de cálculo redundante. Al utilizar la aproximación de la programación dinámica, el método (300) de clasificación óptima modelo se puede implementar como un algoritmo con una complejidad polinómica, que se puede utilizar para resolver problemas de envergadura.
Tal como se ha mencionado anteriormente, el método (300) de clasificación óptima modelo se puede utilizar en el proceso previo de datos y/o en el proceso posterior de los resultados de una máquina autoadaptable. Por ejemplo, como etapa de transformación de proceso previo, el método (300) de clasificación óptima modelo se puede utilizar para extraer información de clasificación de datos en bruto. Como técnica de proceso posterior, el método de clasificación óptima de rangos modelo se puede utilizar para determinar valores límite óptimos para marcadores basados objetivamente en datos, mejor que depender de aproximaciones ad hoc. Tal como debería ser evidente, el método (300) de clasificación óptima modelo tiene aplicaciones en el reconocimiento de patrones, clasificación, problemas de regresión, etc. El método (300) de clasificación óptima modelo también se puede utilizar como técnica de clasificación autónoma, independiente de las SVM y otras máquinas autoadaptables. Se describirá una aplicación independiente del método (300) de clasificación óptima modelo con referencia a la figura 8.
La figura 4 ilustra un conjunto de datos no expandido (400) modelo que se puede utilizar como entrada para una máquina de soporte vectorial. Este conjunto de datos (400) se denomina "no expandido" porque no se le ha añadido información adicional. Tal como se ha indicado, el conjunto de datos no expandidos comprende el conjunto de datos de entrenamiento (402) y el conjunto de datos de prueba (404). Tanto el conjunto de datos de entrenamiento no expandidos (402) como el conjunto de datos de prueba no expandidos (404) comprenden puntos de datos, tales como el punto de datos modelo (406), que se refieren a los datos del historial médico de pacientes médicos de muestra. El conjunto de datos (400) se puede utilizar para entrenar una SVM para determinar si un paciente con cáncer de mama va a recaer o no.
Cada punto de datos incluye cinco coordenadas de entrada, o dimensiones, y una clasificación de salida llamada (406a-f) que representa datos médicos recopilados de cada paciente. En particular, la primera coordenada (406a) representa la "Edad", la segunda coordenada 406b representa el "Nivel de Receptores de Estrógenos", la tercera coordenada (406c) representa el "Nivel de Receptores de Progesterona", la cuarta coordenada (406d) representa el "Total de Nódulos Linfáticos Extraídos", la quinta coordenada (406e) representa "Nódulos Linfáticos Extraídos Positivos (Cancerosos)", y la clasificación de salida (406f) representa la "Clasificación de Recaídas". Una característica conocida importante de los datos (400) es la clasificación de salida (406f) (Clasificación de Recaídas) que, en este ejemplo, indica si el paciente médico de muestra respondió favorablemente al tratamiento sin la recidiva del cáncer ("-1") o si lo hizo negativamente con la recidiva del cáncer ("1"). Esta característica conocida se utilizará para aprender mientras se procesan los datos de entrenamiento en la SVM, se utilizará en una evaluación después de introducir los datos de prueba en la SVM, creando una prueba "ciega", y será obviamente desconocida en los datos reales de los pacientes tratados.
La figura 5 ilustra un resultado de la prueba modelo (502) procedente de una SVM entrenada con el conjunto de datos de entrenamiento no expandidos (402) y probada con el conjunto de datos no expandidos (404) que se muestran en la figura 4. El resultado de la prueba (502) se ha procesado posteriormente para que sea comprensible para un ser humano o para un ordenador. Tal como se ha indicado, el resultado de la prueba (502) muestra que las 24 muestras (puntos de datos) se examinaron con la SVM y que la SVM identificó de forma errónea cuatro de las ocho muestras positivas (50%) y 6 de las 16 muestras negativas (37,5%).
La figura 6 ilustra un conjunto de datos expandidos (600) modelo que se puede utilizar como entrada para una máquina de soporte vectorial. Este conjunto de datos (600) se denomina "expandido" porque se le ha añadido información adicional. Hay que tener en cuenta que aparte de la información añadida, el conjunto de datos expandidos (600) es idéntico al conjunto de datos no expandidos (400) ilustrado en la figura 4. La información adicional se ha suministrado al conjunto de datos expandidos utilizando un método de clasificación óptima de rangos (300) modelo descrito con referencia a la figura 3. Tal como ya se ha indicado, el conjunto de datos expandidos comprende un conjunto de datos de entrenamiento (602) y un conjunto de datos de prueba (604). Tanto el conjunto de datos de entrenamiento expandidos (602) como el conjunto de datos de prueba expandidos (604) comprenden puntos de datos, tales como el punto de datos (606) modelo, que se refiere a los datos del historial médico de pacientes médicos de muestra. Una vez más, el conjunto de datos (600) se puede utilizar para entrenar una SVM para saber si un paciente con cáncer de mama recaerá en la enfermedad.
Mediante la aplicación del método de clasificación óptima (300) modelo, cada punto de datos expandidos incluye veinte coordenadas (o dimensiones) (606a1-3) hasta (606e1-3), y una clasificación de salida (606f), que representan conjuntamente los datos médicos y sus transformaciones de clasificación para cada paciente. En particular, la primera coordenada (606a) representa la "Edad", la segunda coordenada hasta la cuarta coordenada (606a1-606a3) son variables que se combinan para representar una categoría de edad. Por ejemplo, un rango de edades se puede clasificar, por ejemplo, en las categorías "joven", "de mediana edad" y "anciano" con respecto al rango de edades presentes en los datos. Tal como se ha indicado, se puede utilizar una cadena de variables "0" (-606a1-), "0" (-606a2-), "1" (-606a3-) para indicar que un cierto valor de edad está clasificado como "anciano". De forma similar, se puede utilizar una cadena de variables "0" (-606a1-), "1" (-606a2-), "0" (-606a3-) para indicar que un valor de edad está clasificado como "de mediana edad". Asimismo, se puede utilizar una cadena de variables "1" (-606a1-), "0" (-606a2-), "0" (-606a3-), para indicar que un valor de edad concreto está clasificado como "joven". Al analizar la figura 6, se puede ver que los valores de clasificación óptima del rango de "Edad" (606a), utilizando el método (300) modelo, resultaron ser 31-33 = "joven", 34 = "de mediana edad" y 35-49 = "anciano". Las otras coordenadas, llamadas coordenada 606b "Nivel de Receptores de Estrógeno", coordenada (606c) "Nivel de Receptores de Progesterona", coordenada (606d) "Nódulos Linfáticos Totales Extraídos", y la coordenada (606e) "Nódulos Linfáticos Extraídos Positivos (cancerosos)", se han clasificado óptimamente de manera similar.
La figura 7 ilustra un resultado de la prueba expandida (702) modelo procedente de una SVM entrenada con el conjunto de datos de entrenamiento expandidos (602) y probada con el conjunto de datos expandidos (604) que se muestra en la figura 6. El resultado de los datos de prueba expandidos (702) se ha procesado posteriormente para que sea comprensible para un ser humano o para un ordenador. Tal como se ha indicado, el resultado de los datos de prueba expandidos (702) muestra que se examinaron un total de 24 muestras (puntos de datos) con la SVM y que la SVM identificó de forma errónea cuatro de las ocho muestras positivas (50%) y cuatro de las dieciséis negativas (25%). En consecuencia, comparando este resultado (702) de los datos de prueba expandidos con el resultado de los datos de prueba no expandidos (502) de la figura 5, se puede observar que la expansión de los puntos de datos conduce a resultados mejorados (es decir, un error global mínimo más bajo), en particular una instancia reducida de pacientes que se tendrían que someter sin necesidad a revisiones del tratamiento contra el cáncer.
La figura 8 ilustra una entrada y una salida modelos para una aplicación independiente del método de clasificación óptima 300 descrita en la figura 3. En el ejemplo de la figura 8, el conjunto de datos de entrada (801) comprende un "Número de Nódulos Linfáticos Positivos" (802) y la "Clasificación de Reaparición" (804) correspondiente. En este ejemplo, el método de clasificación óptima (300) se ha aplicado al conjunto de datos de entrada (801) para localizar el punto límite óptimo para determinar el tratamiento contra la reaparición del cáncer, basándose exclusivamente en el número de nódulos linfáticos positivos recogidos de una muestra de tejido después de cirugía. El estándar médico conocido sirve para prescribir un tratamiento a cualquier paciente con al menos tres nódulos positivos. Sin embargo, el método de clasificación optima (300) demuestra que el límite óptimo (806), basado en los datos de entrada (801), debería situarse en un valor superior de 5,5 nódulos linfáticos, que se corresponde con la norma médica que prescribe tratamientos de revisión para pacientes con al menos seis nódulos linfáticos positivos.
Tal como se muestra en el cuadro comparativo (808), la técnica anterior acepta un punto límite médico (\geq 3,0) que resultó en el 47% de recaídas clasificadas correctamente y en el 71% de no-recaídas clasificadas correctamente. En consecuencia, el 53% de las recaídas se clasificó de forma incorrecta (no se recomendó erróneamente seguir con el tratamiento) y un 29% de las no recaídas se clasificó incorrectamente (se recomendó erróneamente seguir con el tratamiento). En comparación, el punto límite determinado por el método de clasificación óptima (300)
(\geq 5,5) tuvo como resultado el 33% de recaídas clasificadas correctamente y el 97% de no recaídas clasificadas correctamente. En consecuencia, el 67% de las recaídas se clasificó incorrectamente (se recomendó erróneamente no seguir con el tratamiento) y el 3% de las no recaídas se clasificó incorrectamente (se recomendó erróneamente seguir con el tratamiento).
Tal como se muestra en este ejemplo, puede ser viable alcanzar una instancia más alta de identificaciones correctas de aquellos pacientes que no tienen que someterse a tratamientos postoperatorios contra el cáncer, utilizando el método de clasificación óptima (300) modelo. Aunque el punto límite determinado por el método de clasificación óptima (300) consiguió un porcentaje moderadamente más alto de recaídas clasificadas incorrectamente, alcanzó un porcentaje significativamente más bajo de no recaídas clasificadas de forma incorrecta. Por lo tanto, considerando este compromiso, y teniendo en cuenta que el objetivo del problema de optimización era evitar un tratamiento innecesario, los resultados del punto límite determinados por el método de clasificación óptima (300) son matemáticamente superiores a los del punto límite médico de la técnica anterior. Este tipo de información puede ser muy útil para ayudar a los pacientes a decidir entre seguir tratamientos como la quimioterapia o arriesgarse a recaer en un cáncer de mama.
La figura 9 es una comparación del resultado de los datos procesados posteriormente modelo procedentes de una primera máquina de soporte vectorial que comprende un núcleo lineal y una segunda máquina de soporte vectorial que comprende un núcleo polinómico. La figura 9 demuestra que una variación en la selección de un núcleo puede afectar a la calidad de los resultados de una SVM. Tal como ya se ha indicado, los resultados procesados posteriormente de una primera SVM (902) que comprende un núcleo de producto escalar lineal indican que para un conjunto de prueba determinado de 24 muestras, se identificaron erróneamente 6 de las 8 muestras positivas y también 3 de las 16 muestras negativas. Haciendo una comparación, los resultados procesados posteriormente de una segunda SVM (904) que comprende un núcleo polinómico indican que para el mismo conjunto de datos de prueba sólo se identificaron erróneamente dos de las ocho muestras positivas y que fueron identificadas cuatro de las dieciséis muestras negativas. En comparación, el núcleo polinómico dio resultados significativamente mejores en relación a la identificación de muestras positivas y sólo dio resultados levemente peores en la identificación de muestras negativas. Por ello, tal como resultará evidente para los técnicos en la materia, el error global mínimo del núcleo polinómico es menor que el error global mínimo del núcleo lineal para este conjunto de datos.
La figura 10 y el siguiente análisis tienen como objetivo proporcionar una descripción breve y general de un entorno informático adecuado para implementar la presente invención. Aunque el sistema que se muestra en figura 10 es un ordenador personal convencional (1000), los técnicos en la materia se darán cuenta de que la invención también se puede implementar utilizando otros tipos de configuraciones de sistemas informáticos. El ordenador (1000) incluye una unidad central de proceso (1022), una memoria del sistema (1020), y un bus de Entrada/Salida ("E/S") (1026). Un bus del sistema (1021) conecta la unidad central de proceso (1022) con la memoria del sistema (1020). Un controlador de buses 1023 controla el flujo de datos en el bus de E/S (1026) y entre la unidad central de proceso (1022) y una variedad de dispositivos internos y externos de E/S. Los dispositivos de E/S conectados al bus E/S (1026) puede tener acceso directo a la memoria del sistema (1020) utilizando un controlador de Acceso Directo a la Memoria (Direct Memory Access ("DMA")) (1024).
Los dispositivos de E/S están conectados al bus E/S (1026) mediante un conjunto de interfaces de dispositivos. Las interfaces de dispositivos pueden incluir tanto componentes de hardware como de software. Por ejemplo, se pueden conectar al bus de E/S (1026) una unidad de disco duro (1030) y una unidad de disco flexible (1032) para leer o escribir medios extraíbles (1050) a través de los controladores de unidades de disco (1040). Puede estar conectada una unidad de disco óptico (1034) para leer o escribir medios ópticos (1052) al bus de E/S (1026) utilizando una "Small Computer System Interface" ("SCSI") (1041). Como alternativa, una interfaz IDE (ATAPI) o EIDE puede estar asociada a una unidad óptica tal como una unidad de CD-ROM. Las unidades y sus medios legibles por ordenadores asociados proporcionan un almacenamiento permanente para el ordenador (1000). Además de los medios legibles por ordenadores descritos anteriormente, también se pueden utilizar otros tipos de medios legibles por ordenadores, tal como las unidades ZIP, o similares.
Un dispositivo de visualización (1053), tal como un monitor, está conectado al bus de E/S (1026) a través de otra interfaz, tal como un adaptador de vídeo (1042). Una interfaz paralela (1043) conecta dispositivos periféricos sincrónicos, tal como una impresora láser (1056), al bus de E/S (1026). Una interfaz en serie (1044) conecta los dispositivos de comunicación al bus de E/S (1026). Un usuario puede introducir órdenes e información en el ordenador (1000) a través de la interfaz en serie (1044) o utilizando un dispositivo de entrada, tal como un teclado (1038), un ratón (1036) o un módem (1057). También se pueden conectar otros dispositivos periféricos (no mencionados) al ordenador (1000), tales como dispositivos de entrada/salida de audio o dispositivos de captura de imagen.
Se pueden almacenar una serie de módulos de programas en las unidades y en la memoria del sistema (1020). La memoria del sistema (1020) puede incluir una Memoria de Acceso Aleatorio ("Random Access Memory") ("RAM") y una Memoria de Sólo Lectura ("Read Only Memory") ("ROM"). Los módulos de programas controlan cómo funciona el ordenador (1000) y cómo interactúa con el usuario, con los dispositivos de E/S o con otros ordenadores. Los módulos de programas incluyen rutinas, sistemas operativos (1065), programas de aplicación, estructuras de datos, y otros componentes de software o firmware. En una forma de realización ilustrativa, la presente invención puede comprender uno o más módulos de programas de proceso previo (1075A), uno o más módulos de programas de proceso posterior (1075B), y/o uno o más módulos de programas de clasificación óptima (1077) y uno o más módulos de programas de la SVM (1070) almacenados en las unidades o en la memoria del sistema (1020) del ordenador (1000).
En particular, los módulos de programas de proceso previo (1075A), los módulos de programas de proceso posterior (1075B), junto con los módulos de programas de la SVM (1070) pueden comprender instrucciones ejecutables para procesar previamente datos y procesar posteriormente los resultados procedentes de una máquina autoadaptable y pueden implementar el algoritmo de aprendizaje según los métodos modelo descritos en referencia a las figuras 1 y 2. Además, los módulos de programas de clasificación óptima (1077) pueden incluir instrucciones ejecutables informáticamente para clasificar de forma óptima un conjunto de datos según los métodos modelo descritos en referencia a la figura 3.
El ordenador (1000) puede operar en un entorno de redes utilizando conexiones lógicas a uno o más ordenadores remotos, tal como el ordenador remoto (1060). El ordenador remoto (1060) puede ser un servidor, un router, un dispositivo de igual a igual u otro nodo de red común, y normalmente incluye muchos o todos los elementos descritos junto con el ordenador (1000). En un entorno de redes, los módulos de programas y los datos se pueden almacenar en un ordenador remoto (1060). Las conexiones lógicas descritas en la figura 10 incluyen una red de área local ("LAN") (1054) y una red extensa ("WAN") (1055). En un entorno LAN, una interfaz de redes (1045), tal como una tarjeta adaptadora Ethernet, se puede utilizar para conectar un ordenador (1000) a un ordenador remoto (1060). En un entorno WAN, el ordenador (1000) puede utilizar un dispositivo de telecomunicaciones, tal como un módem (1057), para establecer una conexión. Se podrá apreciar que las conexiones de redes mostradas son ilustrativas y que se pueden utilizar otros dispositivos para establecer un enlace de comunicaciones entre ordenadores.
La figura 11 es un diagrama esquemático funcional que ilustra un entorno operativo modelo alternativo para la implementación de la presente invención. La presente invención se puede implementar en una configuración especializada de múltiples sistemas informáticos. Un ejemplo de configuración de sistemas informáticos múltiples se denominará de ahora en adelante como BIOWulf^{TM} Support Vector Processor (BSVP). El BSVP combina los últimos avances en tecnología hardware de computación en paralelo con los últimos avances matemáticos en el reconocimiento, estimación de regresión, y estimación de densidad. Aunque la combinación de estas tecnologías es una implementación única y novedosa, la configuración del hardware se basa en las implementaciones del superordenador Beowulf promovidas por el Goddard Space Flight Center de la NASA.
El BSVP proporciona una potencia computacional masivamente en paralelo necesaria para acelerar el entrenamiento y la evaluación de la SVM en conjuntos de datos a gran escala. El BSVP incluye una arquitectura de hardware dual en paralelo y un software personalizado de funcionamiento en paralelo para permitir una utilización eficiente del multiproceso y del intercambio de mensajes para identificar de manera eficiente los vectores de apoyo en aplicaciones prácticas. La optimización del hardware y del software permite al BSVP realizar de forma significativa implementaciones típicas de la SVM. Además, a medida que la tecnología informática de consumo progresa, se asegura la capacidad de actualización del BSVP al estar basado en software de código abierto y tecnologías de interfaz estandarizadas. Las futuras plataformas informáticas y la tecnología de redes se puede asimilar en el BSVP a medida que se vuelvan más rentables económicamente sin repercusiones en la implementación del software.
Tal como se muestra en la figura 11, el BSVP consta de un sistema multiterminal de supercomputación tipo Beowulf con veinte nodos de proceso (1104a-t) y un nodo del ordenador principal (1112). Los nodos de proceso (1104a-j) están interconectados mediante un conmutador (switch) (1102a), mientras que los nodos de proceso (1104k-t) están interconectados mediante un conmutador (1102b). El nodo del ordenador principal (1112) está conectado a uno de los conmutadores de redes (1102a) o (1102b) (-1102a- de la figura) mediante un cable Ethernet (1114) apropiado. Además, el conmutador (1102a) y el conmutador (1102b) están interconectados mediante un cable Ethernet (1114) apropiado para que los veinte nodos de proceso (1104a-t) y el nodo del ordenador principal (1112) estén en comunicación entre ellos de forma eficaz. Los conmutadores (1102a) y (1102b) constan preferiblemente de interconexiones Fast Ethernet. La arquitectura dual en paralela del BSVP se logra mediante la implementación de la configuración en paralelo de máquinas de múltiple intercambio de mensajes del superordenador Beowulf y utilizando un ordenador SMP de procesador dual de alto rendimiento como el nodo del ordenador principal (1112).
En esta configuración modelo, el nodo del ordenador principal (1112) contiene tecnología SMP de multi-procesador aglutinado y consiste en un ordenador Pentium II Xeon dual a 450 Mhz con 18 GB de almacenamiento Ultra SCSI, 256 MB de memoria, dos NIC de 100 Mbit/s y de un dispositivo de cinta para copias de seguridad de red DAT de 24 GB. El nodo del ordenador principal (1112) ejecuta NIS, MPL y/o PVM en Linux para gestionar la actividad del BSVP. El nodo del ordenador principal (1112) también proporciona una pasarela entre el BSVP y el mundo exterior. Como tal, la red interna del BSVP está aislada de la interacción con el exterior, lo que permite al sistema multiterminal funcionar como un único equipo.
Los veinte nodos de proceso (1104a-t) son ordenadores configurados de forma idéntica que contienen procesadores Pentium a 150 MHz, 32 MB de RAM, 850 MB de DD, disco flexible de 1,44 MB, y una NIC Fast Ethernet mb100 Mb/s. Los nodos de proceso (1104a-t) están interconectados entre sí y con el nodo del ordenador principal a través de conexiones NFS sobre TCP/IP. Además de las computaciones BSVP, los nodos de proceso están configurados para proporcionar capacidades de demostración, mediante una batería de monitores anexa con cada uno del teclado y ratón del nodo dirigido a un único dispositivo de teclado, y un dispositivo único de ratón mediante los conmutadores KVM 1108a y 1108b.
La personalización y el desarrollo del software permiten la optimización de las actividades en el BSVP. La concurrencia en sectores de los procesos de SVM se explota de la manera más ventajosa posible mediante la paralelización híbrida suministrada por el hardware de BSVP. El software implementa el soporte del ciclo completo de los datos en bruto a la solución implementada. Un motor de bases de datos proporciona el almacenamiento y la flexibilidad requeridos para procesar previamente datos en bruto. Las rutinas personalizadas automatizan el proceso previo de los datos antes del entrenamiento de la SVM. Las transformaciones múltiples y las manipulaciones de datos se llevan a cabo dentro de un entorno de bases de datos para generar datos candidatos de entrenamiento.
La máxima capacidad teórica de proceso del BSVP es 3,90 GFLOPS. Basándose en las pruebas de rendimiento realizadas por el Goddard Space Flight Center de la NASA en sus máquinas tipo Beowulf, el rendimiento real esperado debería ser de aproximadamente 1,56 GFLOPS. Por lo tanto, el rendimiento alcanzado utilizando la potencia de cálculo del componente básico en este ordenador de sistema multiterminal tipo Beowulf sigue la línea de superordenadores como el Cray J932/8. Otras pruebas del Beowulf en instituciones de investigación y académicas indican que puede conseguirse un rendimiento del orden de 18 veces que en un procesador único, con un sistema multiterminal Beowulf de 20 nodos. Por ejemplo, un problema de optimización que requiera 17 minutos y 45 segundos de tiempo en un procesador Pentium individual se resolvió en 59 segundos en un Beowulf con 20 nodos. Por lo tanto, la naturaleza de alto rendimiento del BSVP facilita el análisis práctico de conjuntos de datos considerados actualmente muy incómodos de manejar para los sistemas informáticos convencionales.
La potencia de cálculo masiva del BSVP hace particularmente útil la implementación de SVM múltiples en paralelo para resolver problemas reales que implican un gran número de entradas. Los ejemplos de la utilidad de las SVM en general y de las BSVP en particular comprenden: investigación genética, en particular el Proyecto Genoma Humano; la evaluación de la eficiencia en la gestión sanitaria; decisiones terapéuticas y seguimiento de tratamientos; clasificación terapéutica adecuada; técnicas de desarrollo farmacéutico; descubrimiento de estructuras moleculares; evaluaciones de pronóstico; informática médica; detección de fraudes de facturación; control de inventarios; evaluaciones y predicciones de existencias; evaluaciones y predicciones de materias primas; y cálculos de probabilidad de seguros.
Los técnicos en la materia apreciarán que la arquitectura del BSVP descrita anteriormente es de naturaleza ilustrativa y no tiene que limitar el alcance de la presente invención. Por ejemplo, la elección de veinte nodos de proceso se basaba en la conocida arquitectura Beowulf. Sin embargo, el BSVP también se puede implementar utilizando más o menos de veinte nodos de proceso. Además, los componentes de hardware y software específicos mencionados anteriormente son sólo ejemplos. Tal como se ha indicado, la forma de realización del BSVP de la presente invención está configurada para que sea compatible con componentes de hardware y software alternativos y/o futuros.
La figura 12 es un diagrama esquemático funcional que ilustra un entorno operativo de red modelo para la implementación de una forma de realización alternativa de la presente invención. En el entorno operativo de red modelo, un cliente (1202) u otra entidad puede transmitir datos a través de una red de ordenadores distribuida, tal como Internet (1204), a un proveedor (1212). Los técnicos en la materia deberían apreciar que el cliente (1202) puede transmitir datos desde cualquier tipo de ordenador o instrumento de laboratorio que incluya o esté en comunicación con un dispositivo de comunicaciones y un dispositivo de almacenamiento de datos. Los datos transmitidos por el cliente (1202) pueden ser datos de entrenamiento, datos de prueba y/o datos reales que se procesarán en una máquina autoadaptable. Los datos transmitidos por el cliente se reciben en el servidor web del proveedor (1206), que puede transmitir los datos a una o más máquinas autoadaptables a través de la red interna (1214a-b). Tal como se ha descrito anteriormente, las máquinas autoadaptables pueden comprender SVM, BSVPs (1100), redes neurales, otras máquinas autoadaptables o sus combinaciones. Es preferible que el servidor web (1206) esté aislado de las máquinas autoadaptables por medio de un cortafuegos (1208) u otro sistema de seguridad. El proveedor (1212) también puede estar en comunicación con una o más entidades financieras (1210), mediante Internet (1204) o mediante un enlace de comunicaciones destinado o bajo petición. El servidor web (1206) u otro dispositivo de comunicaciones puede ocuparse de las comunicaciones con una o más entidades financieras. Las entidades financieras pueden comprender bancos, bancos de Internet, cámaras de compensación, empresas de tarjetas de débito y de crédito, o similares.
Cuando está en funcionamiento, el proveedor puede ofrecer servicios de proceso con máquinas autoadaptables a través de un sitio web alojado en el servidor web 1206 u otro servidor en comunicación con el servidor web (1206). Un cliente (1202) puede transmitir datos al servidor web (1206) para que sean procesados por una máquina autoadaptable. El cliente (1202) también puede transmitir información de identificación, tal como nombre de usuario, contraseña y/o identificador de cuenta financiera al servidor web. Al recibir los datos y la información de identificación, el servidor web (1206) puede retirar electrónicamente una cantidad de fondos predeterminada de una cuenta financiera gestionada o autorizada por el cliente (1202) en la entidad financiera (1210). Además, el servidor web puede transmitir los datos del cliente al BSVP (1100) o a otra máquina autoadaptable. Cuando el BSVP (1100) ha concluido el proceso de los datos y el proceso posterior de los resultados, los resultados procesados posteriormente se devuelven al servidor web (1206). Tal como se ha descrito anteriormente, los resultados de una máquina autoadaptable se pueden procesar posteriormente para generar un clasificador alfanumérico derivado informáticamente, de un solo valor o multivalor, para que un ser humano o un ordenador los interprete. El servidor web (1206) puede entonces asegurar que se ha garantizado el pago del cliente antes de que los datos de salida procesados posteriormente se transmitan de nuevo al cliente (1202) por medio de Internet (1204).
Las SVM se pueden utilizar para resolver una amplia variedad de problemas reales. Por ejemplo, las SVM se pueden aplicar en el análisis de datos de contabilidad e inventarios, de la bolsa y de datos del mercado de materias primas, de datos de seguros, datos médicos, etc. Como tal, el entorno de redes descrito anteriormente se puede aplicar en muchas industrias y segmentos de mercado. En el contexto de análisis de datos de inventario, por ejemplo, un cliente puede ser un minorista. El minorista puede proporcionar datos de inventario y de auditoría al servidor web (1206) en determinadas ocasiones. Los datos de inventario y de auditoría se pueden procesar con el BSVP y/o con una o más máquinas autoadaptables para evaluar las necesidades del inventario del minorista. De manera similar, en el contexto del análisis de datos médicos, el cliente puede ser un laboratorio médico y puede transmitir datos reales recopilados de un paciente al servidor web (1206) mientras el paciente está en el laboratorio médico. Los resultados generados por el proceso de los datos médicos con el BSVP u otra máquina autoadaptable se pueden devolver al laboratorio médico y entregar al paciente.
En otra forma de realización, la presente invención prevé que una pluralidad de máquinas de soporte vectorial se pueden configurar para procesar jerárquicamente múltiples conjuntos de datos en paralelo o secuencialmente. En particular, una o más máquinas de soporte vectorial de primer nivel se pueden entrenar y probar para procesar un primer tipo de datos, y una o más máquinas de soporte vectorial de primer nivel se pueden entrenar y probar para procesar un segundo tipo de datos. Los tipos de datos adicionales también se pueden procesar con otras máquinas de soporte vectorial de primer nivel. Los resultados de algunas o de todas las máquinas de soporte vectorial de primer nivel se pueden combinar de manera lógica para producir un conjunto de datos de entrada para una o más máquinas de soporte vectorial de segundo nivel. De modo similar, los resultados de una pluralidad de máquinas de soporte vectorial de segundo nivel se pueden combinar de manera lógica para producir datos de entrada para una máquina de soporte vectorial de tercer nivel. La jerarquía de las máquinas de soporte vectorial se pueden expandir a un número cualquiera de niveles según sea necesario. De este modo, las máquinas de soporte vectorial de nivel jerárquico más bajo se pueden utilizar para procesar previamente datos e introducirlos en máquinas de soporte vectorial de nivel jerárquico más alto. Además, se pueden utilizar máquinas de soporte vectorial de nivel jerárquico más alto para procesar posteriormente los datos que salen de las máquinas de soporte vectorial de nivel jerárquico más bajo.
Cada máquina de soporte vectorial en la jerarquía o en cada nivel jerárquico de las máquinas de soporte vectorial se pueden configurar con un núcleo diferente. Por ejemplo, las máquinas de soporte vectorial utilizadas para procesar un primer tipo de datos se pueden configurar con un primer tipo de núcleo, mientras que las máquinas de soporte vectorial utilizadas para procesar un segundo tipo de datos se puede configurar con un segundo tipo de núcleo. Además, múltiples máquinas de soporte vectorial en el mismo o en diferente nivel jerárquico se pueden configurar para procesar el mismo tipo de datos utilizando núcleos distintos.
La figura 13 se presenta a modo de ejemplo sólo para ilustrar un sistema jerárquico de máquinas de soporte vectorial. Tal como se ha indicado, una o más máquinas de soporte vectorial de primer nivel (1302A1) y (1302A2) se pueden entrenar y probar para procesar un primer tipo de datos de entrada (1304A), tales como datos de mamografías, pertenecientes a una muestra de pacientes médicos. Una o más de estas máquinas de soporte vectorial pueden incluir un núcleo distinto (denominado núcleo 1 y núcleo 2). También una o más máquinas de soporte vectorial de primer nivel (1302B1) y (1302B2) se pueden entrenar y probar para procesar un segundo tipo de datos (1304B), tales como datos sobre el genoma, para una muestra igual o diferente de pacientes médicos. Una vez más, una o más máquinas de soporte vectorial adicionales pueden comprender un núcleo distinto (denominado núcleo 1 y núcleo 3). Los resultados de cada una de las máquinas de soporte vectorial del tipo de primer nivel se pueden comparar entre sí (es decir, los resultados A1 -1306A- comparados con los resultados A2 -1306B-; los resultados B1 -1306C- comparados con los resultados B2 -1306D-) para determinar resultados óptimos (-1308A- y -1308B-). A continuación, los resultados óptimos de los dos tipos de máquinas de soporte vectorial de primer nivel (1308A) y (1308B) se pueden combinar para formar un nuevo conjunto de datos de entrada multidimensional (1310), que se refiere por ejemplo a datos mamográficos y genómicos. El nuevo conjunto de datos se puede procesar a continuación con una o más máquinas de soporte vectorial de segundo nivel (1312A) y (1312B) entrenadas y probadas adecuadamente. Los resultados (1314A) y (1314B) procedentes de las máquinas de soporte vectorial de segundo nivel (1312A) y (1312B) se pueden comparar para determinar un resultado óptimo (1316). Los resultados óptimos (1316) pueden identificar relaciones causales entre los puntos de datos mamográficos y genómicos. Como resultará evidente para los técnicos en la materia, la jerarquía pensada para las máquinas de soporte vectorial puede tener aplicaciones en cualquier campo o industria en la que se requiera el análisis de datos con una máquina autoadaptable.
El proceso jerárquico de conjuntos múltiples de datos que utilizan múltiples máquinas de soporte vectorial se puede utilizar como método para procesar previamente o procesar posteriormente datos que se van a introducir o extraer de otras máquinas de soporte vectorial o máquinas autoadaptables. Además, se pueden procesar previamente o procesar posteriormente datos de entrada y/o salida de la mencionada arquitectura jerárquica de las máquinas de soporte vectorial.

Claims (19)

1. Método implementado para ordenadores para el proceso de grandes conjuntos de datos utilizando múltiples máquinas de soporte vectorial que compren-
de:
la recepción de una entrada de entrenamiento (103; 203) que comprende una pluralidad de conjuntos de datos de entrenamiento que contienen una pluralidad de puntos de datos de entrenamiento de distintos tipos de datos;
el proceso previo (104; 204) de cada uno de un primer conjunto de datos de entrenamiento que comprende un primer tipo de datos y un segundo conjunto de datos de entrenamiento que comprende un segundo tipo de datos para añadir dimensionalidad a cada uno de los puntos de datos de entrenamiento dentro del primer y segundo conjunto de datos de entrenamiento;
el entrenamiento (105; 210) de una primera o más máquinas de soporte vectorial de primer nivel (1302A, 1302B) utilizando el primer conjunto de datos de entrenamiento procesados previamente (1304A), comprendiendo cada primera o más máquinas de soporte vectorial de primer nivel un primer núcleo diferente;
el entrenamiento (105; 210) de una segunda o más máquinas de soporte vectorial de primer nivel (1302C, 1302D) utilizando el segundo conjunto de datos de entrenamiento procesados previamente (1304B), comprendiendo cada segunda o más máquinas de soporte vectorial de primer nivel un segundo núcleo diferente;
la recepción de las entradas de prueba (108; 212) que comprende una pluralidad de conjuntos de datos de prueba que contienen una pluralidad de puntos de datos de prueba de los diferentes tipos de datos;
el proceso previo (110; 214) de cada uno de un primer conjunto de datos de prueba que comprende el primer tipo de datos y un segundo conjunto de datos de prueba que comprende el segundo tipo de datos para añadir dimensionalidad a cada uno de los puntos de datos de prueba dentro del primer y segundo conjunto de datos de prueba;
la prueba (112; 218, 220) de las máquinas de soporte vectorial de primer nivel entrenadas utilizando el primer y segundo conjunto de datos de prueba procesados previamente para generar uno o más primer y segundo resultados de prueba (1306A, 1306B, 1306C, 1306D);
la identificación (222) de una primera solución óptima (1308A), si la hay, entre el primer o más resultados de prueba;
la identificación (222) de una segunda solución óptima (1308B), si la hay, entre el segundo o más resultados de prueba;
la combinación de la primera solución óptima con la segunda solución óptima para crear un conjunto de datos de entrada de segundo nivel (1310) para introducirlo en una o más máquinas de soporte vectorial de segundo nivel (1312A, 1312B);
la generación de un resultado de segundo nivel (1314A, 1314B) para cada una o más de la máquina de soporte vectorial de segundo nivel; y
la identificación de una solución óptima de segundo nivel (1316).
2. Método, según la reivindicación 1, en el que cada etapa de proceso previo comprende además:
la determinación de que al menos uno de los puntos de datos está sucio; y
en respuesta a la determinación de que el punto de datos está sucio, la limpieza del punto de datos sucio borrando, reparando o reemplazando el punto de datos.
3. Método, según cualquiera de las reivindicaciones 1 ó 2, que además comprende las etapas de:
la recepción de entradas reales que comprenden uno o más conjunto de datos reales que contienen una pluralidad de puntos de datos reales de los diferentes tipos de datos;
el proceso previo de la pluralidad de conjuntos de datos reales para añadir dimensionalidad a cada punto de datos reales;
el proceso de la pluralidad de conjuntos de datos reales procesados previamente utilizando las máquinas de soporte vectorial de primer nivel que generaron la primera y segunda soluciones óptimas y la máquina de soporte vectorial de segundo nivel que generó la solución óptima de segundo nivel.
4. Método, según cualquiera de las reivindicaciones 1 a 3, en el que cada uno de los puntos de datos de entrenamiento comprende un vector que tiene al menos una coordenada original; y
en el que el proceso previo del conjunto de datos de entrenamiento comprende la adición de al menos una nueva coordenada al vector.
5. Método, según la reivindicación 4, en el que se obtiene al menos una nueva coordenada aplicando una transformación a al menos una coordenada origi-
nal.
6. Método, según la reivindicación 5, en el que la transformación se basa en los conocimientos del técnico.
7. Método, según la reivindicación 5, en el que la transformación se obtiene informáticamente.
8. Método, según una cualquiera de las reivindicaciones 5 a 7, en el que el conjunto de los datos de entrenamiento comprende una variable continua; y en el que la transformación comprende la clasificación óptima de la variable continua del conjunto de datos de entrenamiento.
9. Método, según una cualquiera de las reivindicaciones 5 a 8, en el que la etapa de identificación de una primera solución óptima comprende:
el proceso posterior de cada uno de los primeros resultados de prueba interpretando el primer o más resultados de prueba en un formato común; y
la comparación de cada uno de los primeros resultados de prueba procesados posteriormente con cada uno de los otros para determinar cual del primer o más resultados de prueba representa un primer error global mínimo más bajo.
10. Método, según una cualquiera de las reivindicaciones 1 a 8, en el que la etapa de identificación de una segunda solución óptima comprende:
el proceso posterior de cada uno del segundo o más resultados de prueba interpretando cada uno de los segundos resultados de prueba en un formato común; y
la comparación de cada uno de los segundos resultados de prueba procesados posteriormente con cada uno de los otros para determinar cual del segundo o más resultados de prueba representa un segundo error global mínimo más bajo.
11. Método, según una cualquiera de las reivindicaciones 1 a 8, en el que cada máquina de soporte vectorial de primer nivel genera un resultado de entrenamiento que comprende una variable continua; y
en el que el método comprende además la etapa de proceso posterior de cada uno de los resultados de entrenamiento clasificando óptimamente los resultados de entrenamiento para derivar los puntos límite en la variable continua.
12. Método, según una cualquiera de las reivindicaciones 5 a 11, que además comprende las siguientes etapas:
si no se identifica una primera solución óptima, la selección de diferentes núcleos para la primera o más máquinas de soporte vectorial de primer nivel;
la repetición de las etapas de entrenamiento y de prueba de la primera o más máquinas de soporte vectorial de primer nivel; y
la identificación de la primera solución óptima, si existe, a partir del primer o más resultados de prueba.
13. Método, según una cualquiera de las reivindicaciones 5 a 11, que además comprende las siguientes etapas:
si no se identifica una segunda solución óptima, la selección de diferentes núcleos para la segunda o más máquinas de soporte vectorial de primer nivel;
la repetición de las etapas de entrenamiento y de prueba de la segunda o más máquinas de soporte vectorial de primer nivel; y
la identificación de la segunda solución óptima, si existe, a partir del segundo o más resultados de prueba.
14. Método, según cualquiera de las reivindicaciones 12 ó 13, en el que la etapa de selección de diferentes núcleos se realiza basándose en el comportamiento previo o en los datos históricos y depende de la naturaleza de los datos.
15. Sistema informático para procesar grandes conjuntos de datos que contienen una pluralidad de tipos de datos, comprendiendo el sistema informático un procesador (1022); un dispositivo de entrada para recibir los datos de entrada que tienen que procesarse (1026); un dispositivo de memoria (1020) en comunicación con el procesador que tiene una pluralidad de módulos de programa almacenados en el mismo, la pluralidad de módulos de programa que comprende un módulo de proceso previo (1075A) para añadir dimensionalidad a los datos de entrada y un módulo de soporte vectorial; y un dispositivo de salida, caracterizado porque:
el módulo de soporte vectorial (1075B) ejecuta una pluralidad de máquinas de soporte vectorial de primer nivel (1302A, 1302B, 1302C, 1302D) y una o más máquinas de soporte vectorial de segundo nivel (1312A, 1312B), en el que la pluralidad de máquinas de soporte vectorial de primer nivel comprenden al menos una primera o más máquinas de soporte vectorial de primer nivel (1302A, 1302B) y una segunda o más máquinas de soporte vectorial de primer nivel (1302C, 1302D), comprendiendo cada una uno o más núcleos distintos, en el que la primera o más máquinas de soporte vectorial de primer nivel se entrenan y se prueban utilizando datos procesados previamente de un primer tipo de datos (1304A) para generar un primer o más resultados (1306A, 1306B) para la identificación de una primera solución óptima (1308A), y la segunda o más máquinas de soporte vectorial de primer nivel se entrenan utilizando datos procesados previamente de un segundo tipo de datos (1304B) para generar un segundo o más resultados (1306C, 1306D) para la identificación de una segunda solución óptima (1308B), y en el que la primera y segunda soluciones óptimas se combinan como una entrada de segundo nivel (1310) a la única o más máquinas vectoriales de soporte de segundo nivel (1312A, 1312B); y
el dispositivo de salida genera un resultado de segundo nivel (314A, 1314B) que comprende una solución óptima de segundo nivel (1316) generada por la única o más máquinas de soporte vectorial de segundo nivel.
16. Sistema informático, según la reivindicación 15, en el que la pluralidad de módulos de programa comprende además un módulo de proceso posterior (1075B) para la interpretación del primer o más resultados de prueba de la primera o más máquinas de soporte vectorial de primer nivel en un formato común y la identificación de un primer error global mínimo más bajo.
17. Sistema informático, según la reivindicación 15, en el que la pluralidad de módulos de programa comprende además un módulo de proceso posterior (1075B) para la interpretación del segundo o más resultados de prueba de la segunda o más máquinas de soporte vectorial de primer nivel en un formato común y la identificación de un segundo error global mínimo más bajo.
18. Sistema informático, según la reivindicación 15, en el que el primer o más resultados comprende una variable continua y la pluralidad de módulos de programa comprende además un módulo de clasificación óptima (1077) para derivar los puntos límite en la variable continua.
19. Sistema informático, según la reivindicación 15, en el que el segundo o más resultados comprende una variable continua y la pluralidad de módulos de programa comprende además un módulo de clasificación óptima (1077) para derivar los puntos límite en la variable continua.
ES00936271T 1999-05-25 2000-05-24 Mejora del descubrimiento de conocimientos desde multiples conjuntos de datos utilizando multiples maquinas de soporte vectorial. Expired - Lifetime ES2254182T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13571599P 1999-05-25 1999-05-25
US135715P 1999-05-25

Publications (1)

Publication Number Publication Date
ES2254182T3 true ES2254182T3 (es) 2006-06-16

Family

ID=22469322

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00936271T Expired - Lifetime ES2254182T3 (es) 1999-05-25 2000-05-24 Mejora del descubrimiento de conocimientos desde multiples conjuntos de datos utilizando multiples maquinas de soporte vectorial.

Country Status (14)

Country Link
EP (1) EP1192595B8 (es)
JP (1) JP2003500766A (es)
KR (1) KR100724104B1 (es)
CN (1) CN1197025C (es)
AT (1) ATE311635T1 (es)
AU (1) AU780050B2 (es)
CA (1) CA2371240C (es)
DE (1) DE60024452T2 (es)
EA (1) EA200101238A1 (es)
ES (1) ES2254182T3 (es)
IL (2) IL146705A0 (es)
NO (1) NO319838B1 (es)
NZ (1) NZ515707A (es)
WO (1) WO2000072257A2 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091211A1 (en) * 2001-05-07 2002-11-14 Biowulf Technologies, Llc Kernels and methods for selecting kernels for use in learning machines
ATE450834T1 (de) * 2001-01-23 2009-12-15 Health Discovery Corp Rechnergestützte bildanalyse
AUPR464601A0 (en) * 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
KR100483602B1 (ko) * 2001-10-12 2005-04-15 (주)이캐빈 이메일 모니터링 방법 및 시스템
ITBO20010763A1 (it) 2001-12-14 2003-06-16 Renato Campanini Metodo , e relativa apparecchiatura , per la ricerca automatica di zone di interesse in immagini digitali di tessuto biologico
JP4034602B2 (ja) * 2002-06-17 2008-01-16 富士通株式会社 データ分類装置、データ分類装置の能動学習方法及び能動学習プログラム
CN1327376C (zh) * 2004-04-08 2007-07-18 上海交通大学 基于支持向量机的软测量仪表建模方法
CN100353355C (zh) * 2004-08-12 2007-12-05 上海交通大学 减少支持向量与训练时间的交叉合并方法
US20080103998A1 (en) * 2004-12-24 2008-05-01 Gates Kevin E Method for Generating Multiple Orthogonal Support Vector Machines
US7197487B2 (en) * 2005-03-16 2007-03-27 Lg Chem, Ltd. Apparatus and method for estimating battery state of charge
JP4662909B2 (ja) * 2006-11-16 2011-03-30 日本電信電話株式会社 特徴評価方法及び装置及びプログラム
JP4446035B2 (ja) * 2007-11-02 2010-04-07 国立大学法人山口大学 健全性劣化評価システム
EP2252889B1 (en) * 2008-02-08 2020-10-07 Health Discovery Corporation Method and system for analysis of flow cytometry data using support vector machines
CN101252224B (zh) * 2008-04-08 2012-02-08 西安电子科技大学 平板裂缝天线缝制造精度对电性能影响的预测方法
JPWO2012091093A1 (ja) * 2010-12-28 2014-06-05 啓 田代 緑内障診断チップと変形プロテオミクスクラスター解析による緑内障統合的判定方法
CN102509116A (zh) * 2011-11-23 2012-06-20 西北工业大学 一种支持向量机和粗糙集的故障诊断知识获取方法
US20140358830A1 (en) 2013-05-30 2014-12-04 Synopsys, Inc. Lithographic hotspot detection using multiple machine learning kernels
JP6208552B2 (ja) * 2013-11-14 2017-10-04 株式会社デンソーアイティーラボラトリ 識別器、識別プログラム、及び識別方法
JP6908977B2 (ja) * 2016-07-22 2021-07-28 株式会社トプコン 医療情報処理システム、医療情報処理装置及び医療情報処理方法
WO2018064794A1 (en) * 2016-10-05 2018-04-12 Intel Corporation General purpose input/output data capture and neural cache system for autonomous machines
CN107194416B (zh) * 2017-04-28 2021-06-08 成都天钥科技有限公司 对象识别方法及装置、终端、处理器、存储介质
CN107316054A (zh) * 2017-05-26 2017-11-03 昆山遥矽微电子科技有限公司 基于卷积神经网络和支持向量机的非标准字符识别方法
CN109936525B (zh) 2017-12-15 2020-07-31 阿里巴巴集团控股有限公司 一种基于图结构模型的异常账号防控方法、装置以及设备
CN108198268B (zh) * 2017-12-19 2020-10-16 江苏极熵物联科技有限公司 一种生产设备数据标定方法
CN110031793B (zh) * 2019-04-09 2023-06-02 中国电子科技集团公司第三十六研究所 一种干涉仪测向方法、装置和系统
US11720818B2 (en) 2019-09-11 2023-08-08 Samsung Display Co., Ltd. System and method to improve accuracy of regression models trained with imbalanced data
WO2021188354A1 (en) * 2020-03-14 2021-09-23 DataRobot, Inc. Automated and adaptive design and training of neural networks
KR20220020103A (ko) 2020-08-11 2022-02-18 주식회사 케이티 실감형 미디어 컨텐츠를 제공하는 서버, 방법 및 컴퓨터 프로그램

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138694A (en) * 1991-06-28 1992-08-11 United Technologies Corporation Parallel processing qualitative reasoning system
JPH05101028A (ja) * 1991-10-04 1993-04-23 Nippon Telegr & Teleph Corp <Ntt> 複数特徴量の統合判定方法
US5649068A (en) * 1993-07-27 1997-07-15 Lucent Technologies Inc. Pattern recognition system using support vectors
JPH07253961A (ja) * 1994-01-26 1995-10-03 Meidensha Corp ニューラルネットワークにおける連続値処理方法
JPH10247243A (ja) * 1997-03-04 1998-09-14 Mitsubishi Heavy Ind Ltd 識別装置
US6134344A (en) * 1997-06-26 2000-10-17 Lucent Technologies Inc. Method and apparatus for improving the efficiency of support vector machines

Also Published As

Publication number Publication date
NO20015723L (no) 2002-01-23
NO20015723D0 (no) 2001-11-23
CA2371240A1 (en) 2000-11-30
KR100724104B1 (ko) 2007-06-04
JP2003500766A (ja) 2003-01-07
EP1192595B1 (en) 2005-11-30
EP1192595B8 (en) 2006-02-01
KR20020030744A (ko) 2002-04-25
WO2000072257A3 (en) 2002-01-03
ATE311635T1 (de) 2005-12-15
EA200101238A1 (ru) 2002-10-31
EP1192595A2 (en) 2002-04-03
AU780050B2 (en) 2005-02-24
IL146705A (en) 2006-10-31
IL146705A0 (en) 2002-07-25
DE60024452T2 (de) 2006-08-03
WO2000072257A2 (en) 2000-11-30
CN1358288A (zh) 2002-07-10
NO319838B1 (no) 2005-09-19
CN1197025C (zh) 2005-04-13
CA2371240C (en) 2011-08-09
NZ515707A (en) 2003-06-30
AU5161200A (en) 2000-12-12
DE60024452D1 (de) 2006-01-05

Similar Documents

Publication Publication Date Title
ES2254182T3 (es) Mejora del descubrimiento de conocimientos desde multiples conjuntos de datos utilizando multiples maquinas de soporte vectorial.
US6157921A (en) Enhancing knowledge discovery using support vector machines in a distributed network environment
US6658395B1 (en) Enhancing knowledge discovery from multiple data sets using multiple support vector machines
CA2388595C (en) Methods and devices for identifying patterns in biological systems and methods for uses thereof
US6714925B1 (en) System for identifying patterns in biological data using a distributed network
US6760715B1 (en) Enhancing biological knowledge discovery using multiples support vector machines
US7664328B2 (en) Joint classification and subtype discovery in tumor diagnosis by gene expression profiling
WO2001031579A2 (en) Methods and devices for identifying patterns in biological patterns
CA2330878C (en) Pre-processing and post-processing for enhancing knowledge discovery using support vector machines
AU2002253879A1 (en) Methods of identifying patterns in biological systems and uses thereof
Al-Obeidat et al. Combining machine learning and metaheuristics algorithms for classification method PROAFTN
CN117496279B (zh) 影像分类模型建立方法及装置、分类方法、装置及系统
Babu et al. 3 Foundation of Machine Learning-Based Data Classification Techniques
Juuti et al. Stochastic Discriminant Analysis
Babu et al. Foundation of Machine Learning-Based Data Classification Techniques for Health Care
Patel et al. Breast Cancer Detection Framework using Evolutionary Search and SVM Classifier
Kasabov et al. A generic connectionist-based method for on-line feature selection and modelling with a case study of gene expression data analysis