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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine 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.
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.
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.
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.
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.
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).
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).
(\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:
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.
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.
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)
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)
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 |
-
2000
- 2000-05-24 WO PCT/US2000/014326 patent/WO2000072257A2/en active IP Right Grant
- 2000-05-24 CA CA2371240A patent/CA2371240C/en not_active Expired - Fee Related
- 2000-05-24 AT AT00936271T patent/ATE311635T1/de not_active IP Right Cessation
- 2000-05-24 CN CNB008080623A patent/CN1197025C/zh not_active Expired - Fee Related
- 2000-05-24 JP JP2000620577A patent/JP2003500766A/ja active Pending
- 2000-05-24 NZ NZ515707A patent/NZ515707A/xx unknown
- 2000-05-24 EA EA200101238A patent/EA200101238A1/ru unknown
- 2000-05-24 ES ES00936271T patent/ES2254182T3/es not_active Expired - Lifetime
- 2000-05-24 AU AU51612/00A patent/AU780050B2/en not_active Ceased
- 2000-05-24 KR KR1020017015064A patent/KR100724104B1/ko not_active IP Right Cessation
- 2000-05-24 DE DE60024452T patent/DE60024452T2/de not_active Expired - Lifetime
- 2000-05-24 IL IL14670500A patent/IL146705A0/xx active IP Right Grant
- 2000-05-24 EP EP00936271A patent/EP1192595B8/en not_active Expired - Lifetime
-
2001
- 2001-11-22 IL IL146705A patent/IL146705A/en not_active IP Right Cessation
- 2001-11-23 NO NO20015723A patent/NO319838B1/no not_active IP Right Cessation
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 |