MX2008000911A - Entrenar un sistema de aprendizaje con funciones de costo arbitrarias. - Google Patents
Entrenar un sistema de aprendizaje con funciones de costo arbitrarias.Info
- Publication number
- MX2008000911A MX2008000911A MX2008000911A MX2008000911A MX2008000911A MX 2008000911 A MX2008000911 A MX 2008000911A MX 2008000911 A MX2008000911 A MX 2008000911A MX 2008000911 A MX2008000911 A MX 2008000911A MX 2008000911 A MX2008000911 A MX 2008000911A
- Authority
- MX
- Mexico
- Prior art keywords
- data
- learning system
- cost function
- estimated
- learning
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
La descripcion del tema pertenece a los sistemas y metodos para entrenar a los sistemas de aprendizaje de maquina. Muchas funciones de costo no son suaves o no se pueden diferenciar, y no pueden ser facilmente utilizadas durante el entrenamiento de un sistema de aprendizaje de maquina. El sistema de aprendizaje de maquina puede incluir un conjunto de gradientes estimados, basados en al menos una parte de los resultados posicionados o clasificados, generados por el sistema de aprendizaje. Los gradientes estimados pueden ser seleccionados para reflejar los requerimientos de una funcion de costo, y utilizados en lugar de la funcion de costo para determinar o modificar los parametros del sistema de aprendizaje durante el entrenamiento del sistema de aprendizaje.
Description
ENTRENAR UN SISTEMA DE APRENDIZAJE CON FUNCIONES DE COSTO ARBITRARIAS
Campo de la Invención Esta es una aplicación que reclama el beneficio bajo 35
U.S.C. 119(e) de la Solicitud de Patente Provisional de los Estados Unidos, Número de Serie 60/600,080, titulada "ENTRENAR SISTEMAS DE MEDICIÓN CON FUNCIONES DE COSTO ARBITRARIAS", y presentada el 18 de Julio del 2005. Antecedentes de la Invención La cantidad de datos disponibles para los buscadores de información ha crecido de forma astronómica, ya sea siendo parte del resultado de la proliferación de fuentes de información en Internet, o como el resultado de esfuerzos privados para organizar la información de los negocios dentro de una compañía, o cualquier variedad de causas diferentes. A medida que la cantidad de datos disponibles ha crecido, también lo ha hecho la necesidad para ser capaz de distinguir y localizar datos relevantes. Un problema relacionado, es la necesidad de ubicar los datos que han sido identificados como relevantes. Cuando los usuarios buscan colecciones de datos para datos específicos, los usuarios comúnmente desean más que una lista de resultados que simplemente tengan relación alguna a la solicitud de búsqueda ingresada por los usuarios. Los usuarios generalmente quieren ser capaces de localizar
rápidamente los mejores resultados o los más relevantes dentro de la lista. Posicionar los resultados de la búsqueda, puede ayudar a los usuarios en localizar rápidamente los datos más relevantes. Generalmente, un posición alta indica a los usuarios que existe una alta probabilidad de que la información, la cual los usuarios buscaron se encuentre en el resultado de búsqueda. Un avance es el utilizar los sistemas de aprendizaje de la máquina para localizar, clasificar, posicionar o procesar datos de cualquier otra forma. Los sistemas de aprendizaje de máquina, incluyen dichos sistemas como redes neutrales que apoyan a las máquinas de vector ("SVMs") y a los preceptones, entre otros. Estos sistemas pueden ser utilizados para una variedad de procesamientos de datos o tareas de análisis, que incluyen, pero no se limitan a patentes ópticos y reconocimiento de objeto, control y sistemas de retroalimentación y categorización de texto. Otros usos potenciales para los sistemas de aprendizaje de máquina, incluyen cualquier aplicación que pueda beneficiarse de la clasificación de datos o regresión de datos. Comúnmente, el sistema de aprendizaje de máquina es entrenado para mejor el funcionamiento y generar resultados de búsqueda óptima, resultados de clasificación o resultados de posición. Dichos sistemas de aprendizaje de máquina son comúnmente entrenados utilizando una función de costo, la cual
el proceso de aprendizaje intenta minimizar. A menudo, sin embargo, las funciones de costo de interés no son minimizadas directamente, ya que esto ha presentado un problema difícil de resolver. Por ejemplo, en problemas de recuperación de documentos, una medida de cualidad del sistema entrenado es el área debajo de la Curva de Operación de Recepción (ROC). La curva ROC es un diagrama de gráfica del número de los verdaderos positivos (por ejemplo, documentos relevantes recuperados), contra el número de falsos positivos (por ejemplo, documentos irrelevantes recuperados). Dichas funciones de costo no son funciones diferenciales de las salidas de los sistemas de aprendizaje de máquina utilizados, y esta falta de suavidad presenta dificultades para entrenar utilizando dichas funciones directamente. La siguiente descripción presenta un resumen simplificado de una o más modalidades de un sistema de entrenamiento de un sistema de aprendizaje y/o un método con el objeto de proporcionar una comprensión básica de algunos aspectos de dichas modalidades. Este resumen no es una descripción extensa, y no es pretendida para identificar los elementos clave o críticos de las modalidades, ni delinear el alcance de dichas modalidades. Su único propósito es el presentar algunos conceptos de las modalidades descritas en una forma simplificada, como un preludio de la descripción detalla que será descrita posteriormente.
Descritos brevemente, los sistemas y/o métodos descritos aquí proporcionados para el entrenamiento de los sistemas de aprendizaje de máquina. El sistema descrito aquí, puede incluir un conjunto de gradientes estimados basados al menos en parte en los datos estructurados generados por el sistema de aprendizaje y una función de costo. Los gradientes estimados pueden ser utilizados en lugar de la función de costo para determinar o modificar los parámetros del sistema de aprendizaje de máquina durante el entrenamiento del sistema. Para lograr la comprensión de lo anterior y los fines relatados, ciertos aspectos ilustrativos del tema materia son descritos aquí, en conexión con la siguiente descripción y los dibujos adjuntos. Estos aspectos son indicadores de varias formas en las que el tema materia puede ser practicado, donde se pretende que todo se encuentre dentro del alcance del tema materia. Otras ventajas y características nuevas pueden volverse aparentes a partir de la descripción detallada siguiente, cuando es considerada en conjunto con los dibujos. Breve Descripción de los Dibujos La figura 1, es una ilustración de un sistema para generar datos estructurados de acuerdo con un aspecto del tema materia descrito aquí. La figura 2, es una ilustración de un sistema para generar datos estructurados de acerado con un aspecto del tema materia descrito aquí.
La figura 3, es una ilustración del sistema para generar datos estructurados de acuerdo con un aspecto del tema materia descrito aquí. La figura 4A, es una ilustración de un posicionamiento ejemplar de una serie de documentos. La figura 4B, es una ilustración de un posicionamiento ejemplar de una serie de documentos. La figura 4C, es una ilustración de un posicionamiento ejemplar de una serie de documentos. La figura 5, es un diagrama de bloques del sistema de una red con capas múltiples. La figura 6, es un diagrama de bloques del sistema de una red neural de una sola capa. La figura 7, es un diagrama de bloques del sistema de una unidad de una red neural. La figura 8, es una ilustración de un método para preparar un sistema de aprendizaje para operar de acuerdo con un aspecto del tema materia descrito aquí. La figura 9, ilustra un método par entrenar un sistema de aprendizaje con una función de costo arbitrario, de acuerdo con un aspecto del tema materia descrito aquí. La figura 10, ilustra un método para actualizar los parámetros del sistema de aprendizaje de máquina. La figura 11, es un diagrama de bloques esquemático que ilustra un ambiente de operación adecuado.
La figura 12, es un diagrama de bloques esquemático de un ambiente de una muestra de computación. Descripción Detalla de la Invención Los varios aspectos del tema materia descritos aquí, son descrito ahora con referencia a los dibujos, donde los números similares se refieren a los elementos similares o correspondientes a lo largo. Deberá de ser entendido, sin embargo, que los dibujos y la descripción detallada que se relaciona al mismo, no son pretendidos para limitar al tema materia a la forma particular descrita. En cambio, la intención es el cubrir todas las modificaciones, equivalentes y alternativas que caen dentro del espíritu y alcance del tema materia. Tal y cómo es descrito aquí, los términos "componentes", "sistema" y sus similares son pretendidos para referirse a una entidad relacionada con la computadora, ya sea hardware, una combinación de hardware y software, software o software en ejecución. Por ejemplo, un componente puede ser, pero está limitado a ser, un proceso en operación en un procesador, un procesador, un objeto, un ejecutable, una ejecución de hilo, un programa y/o una computadora. Como medio de ilustración, tanto la aplicación que se ejecuta en la computadora y la computadora puede ser un componente. Uno o más componentes pueden residir dentro de un proceso y/o un hilo de ejecución y un componente puede ser localizado en una
computadora y/o distribuido entre dos o más computadoras. La palabra "ejemplar", es utilizada aquí para servir como un ejemplo, caso o ilustración. Cualquier aspecto o diseño descrito aquí como "ejemplar" no es necesario para ser construido como preferido ventajoso sobre otro aspectos o diseños. Tal y como es utilizado aquí, el término "inferir" o "inferencia" se refiere generalmente al proceso de razonamiento acerca de estados que infieren en el sistema, ambiente y/o usuario de un conjunto de observaciones capturadas a través de eventos y/o datos. La inferencia puede ser empleada para identificar un contexto específico o acción, o puede generar una probabilidad de distribución sobre los estados, por ejemplo. La inferencia puede es probable que sea, la computación de una distribución de probabilidad sobre los estados de interés basados en una consideración de datos y eventos. La inferencia también se refiere a las técnicas utilizadas para componer los eventos de al nivel de un conjunto de eventos y/o datos. Dichos resultados de la inferencia en la construcción de nuevos eventos o acciones de un conjunto de eventos observados y/o datos de eventos almacenados, ya sea que los eventos estén correlacionados en una proximidad temporal cercana o no, y ya sea si los eventos y datos vienen de uno más eventos y fuentes de datos. Además, el tema materia descrito puede ser implementado
como un sistema, un método, aparato o artículo de manufactura utilizando una técnicas de programación estándar y/o técnicas de ingeniería para producir un software, firmware, hardware o cualquier combinación de los mismos para controlar una computadora o procesador basado en un aparato para implementar aspectos descritos aquí. El término "artículo de manufactura" (o alternativamente, "producto de programa de computadora") tal y cómo es utilizado aquí es pretendido para abarcar un programa de computadora accesible desde cualquier aparato que se puede leer en computadora, portador o media. Por ejemplo, un medio que se puede leer en computadora puede incluir pero no se limita a aparatos de almacenamiento magnético (por ejemplo, disco duro, disco floppy, bandas magnéticas...), discos ópticos (por ejemplo, un disco compacto (CD), disco versátil digital (DVD)...), tarjetas inteligentes, y aparatos de memoria de flash (por ejemplo, tarjeta, estimado). Adicionalmente, deberá de ser apreciado que una onda de portador puede ser utilizado para llevar los datos electrónicos que se pueden leer por computadora, tal como aquellos utilizados en transmitir y recibir correo electrónico o al acceder a una red como Internet o a una red de área local (LAN). Por supuesto, aquellos expertos en la técnica reconocerán que muchas modificaciones pueden ser hechas a esta configuración sin salirse del espíritu y alcance del tema materia. Frecuentemente, los sistemas de aprendizaje de máquina
son utilizados para procesar datos. Por ejemplo, los sistema de aprendizaje de máquina pueden ser utilizados para recuperar información o posicionamiento de los artículos de datos. El término sistema de aprendizaje de máquina es generalmente pretendido para referirse a una entidad que se puede relacionar por computadora, ya sea un hardware, una combinación de hardware y software, software o un software en ejecución. Para los propósitos de esta descripción, los términos sistema de aprendizaje de máquina y sistema de aprendizaje, serán utilizados de forma intercambiable. Generalmente, los sistemas de aprendizaje necesitan ser entrenados para procesar los datos, de acuerdo a las necesidades de los usuarios. Una variedad de métrica, tal como las funciones de costo, pueden ser utilizados para evaluar el desempeño del sistema de aprendizaje. Los sistemas de aprendizaje deberán de ser entrenados para optimizar el desempeño con respecto a la métrica o función de costo, que serán utilizados para evaluar al sistema de aprendizaje. Un uso para dichos sistemas de aprendizaje de máquina es el posicionar los elementos en los conjuntos de datos. Un conjunto de datos específico de interés, es un conjunto de páginas web recuperadas como resultado de una solicitud de búsqueda formulada por un usuario. Dentro del conjunto de datos, un usuario comúnmente desea las páginas web en el resultado para ser ordenadas, de las páginas que más se
acerquen a su solicitud de búsqueda a las que menos se acerquen. Las páginas web que tienen la misma similitud de respuestas (por ejemplo, la misma probabilidad de un encuentro con la solicitud basada sobre cierto criterio) deberán de recibir la misma posición. Para la presentación al usuario, el ordenar las páginas web con la misma posición puede ser arbitrario puede ser basado sobre cualquier esquema apropiado. Otro uso importante para describir los sistemas es responder las preguntas. Al responder la pregunta, un conjunto de respuestas ubicado (por ejemplo, cuerdas o frases) es regresado como un resultado de una solicitud de búsqueda formulada por un usuario. La primera respuesta regresada deberá de ser la que más se acerque o parezca a la respuesta en cuestión. Los otros miembros del conjunto de datos pueden ser ignorados completamente o regresados más abajo en la lista. En este caso, la métrica o la función de costo miden únicamente si la respuesta superior es la correcta. Deberá de ser entendido que los sistemas de aprendizaje de máquina pueden ser utilizados para una variedad de usos más allá del problema de posición descrito aquí. Además, deberá de ser entendido que un número ilimitado de opciones de solicitud adicionales existen. Estos aspectos de alternativa deben de ser incluidos dentro del alcance de esta descripción y de las reivindicaciones adjuntas a la misma. En otras palabras, es entendido que los nuevos conceptos y funcionalidad
descritos en el mismo pueden ser aplicados a un número infinito de escenarios, siendo cada cual incluido dentro del espíritu y alcance de esta descripción y reivindicaciones adjuntas a la misma. La figura 1, es una ilustración de un sistema 100 para generar datos estructurados de acuerdo con un aspecto del tema materia descrito aquí. Tal y como es utilizado aquí, los datos estructurados pueden incluir datos ordenados, datos parcialmente ordenados, gráficas, secuencias, cuerdas o sus similares. El sistema 00 puede ser utilizado para posicionar y/o ubicar datos o para recuperación de información, pero no está limitado a dichos usos. El sistema 100, incluye un componente de aprendizaje 110, un almacén de datos de salida 120 y un conjunto de datos estructurados 130. El componente de aprendizaje 110 puede incluir cualquier sistema de aprendizaje de máquina que puede ser entrenado utilizando el grasiento de descenso. Los ejemplos presentados como parte de esta descripción, generalmente ilustran los sistemas de aprendizaje que utilizan redes neurales para implementar el componente de aprendizaje 110. Sin embargo, los artesanos de habilidad ordinaria en está área reconocerán que otros sistemas de aprendizaje de máquina, incluyendo pero sin limitarse a, sistemas de método de aprendizaje de kernel, métodos Bayesianos, y métodos de encendido, pueden ser utilizados en con conexión con el tema materia descrito aquí. Dichos
artesanos también reconocerán de forma legible que las modificaciones pueden ser hechas a ejemplos específicos presentados con el objeto de sustituir otros sistemas de aprendizaje de máquina en lugar de una red neural como el componente de aprendizaje 110. El algoritmo de aprendizaje utilizado para dichos sistemas de aprendizaje deberá de depender en los gradientes de la función de costo. Aunque las modificaciones de este tipo pueden ser hechas, aquellas modificaciones son detalles de implementación simples, y no se sales del alcance del tema materia descrito. La entrada del almacén de datos 120 contiene a los datos para ser ingresados y procesados por el componente de aprendizaje 110. Un almacén de datos, tal y como es utilizado aquí, es cualquier colección de datos que incluyen, pero no se limitan a, una base de datos o a una colección de archivos, que incluyen archivos de texto, páginas web, archivos de imagen, datos de audio, datos de video, archivos de procesamiento de palabra y sus similares. Los datos dentro de la entrada del almacén de datos 120, pueden ser formateados de una forma adecuada para ser utilizados por el componente de aprendizaje 110. Alternativamente, el componente de aprendizaje puede incluir un componente de formateo (no mostrado) que rinde los datos en un formato adecuado para la operación por el componente de aprendizaje 110. Además, el formato de los datos dentro de la entrada del almacén de datos 120, puede
variar basada en un modo o fase de operación del componente de aprendizaje 110, tal como una fase de entrenamiento, un fase de prueba o una fase de operación. El componente de aprendizaje 110, puede procesar los datos desde la entrada del almacén de datos 120 y la salida de un conjunto de datos estructurados 130. Los datos estructurados 130, pueden ser utilizados por componentes o presentados a un usuario, o a ambos. Por ejemplo, el sistema puede incluir un componente de vista, no mostrado, el cual muestra los datos estructurados a los usuarios en cualquier formato útil para o deseado por los usuarios. Un ejemplo de dichos datos estructurados, incluirán el resultado de una búsqueda de documentos en una red como una respuesta a una solicitud del usuario (por ejemplo, páginas web en el Internet). Un conjunto de documentos de respuesta, pueden ser presentados al componente de aprendizaje 110 como un dato de entrada y posicionados en un orden basado sobre ciertos criterios, antes de ser presentados al usuario como datos estructurados o en este ejemplo, los resultados de búsqueda posicionados. En general, los sistemas de aprendizaje tienen múltiples fases de operación. La fase inicial es conocida como la fase de entrenamiento. Durante la fase de entrenamiento, un conjunto de datos de entrenamiento pueden ser accedidos dentro del sistema de aprendizaje. El sistema de aprendizaje aprende a
optimizar el procesamiento de datos durante el procesamiento de los datos de entrenamiento. Después, un conjunto de validación de datos puede ser accedido dentro del sistema de aprendizaje. Los resultados de procesamiento del conjunto de datos de validación por el sistema de aprendizaje, puede ser medido utilizando una variedad de métrica de evaluación para evaluar el desempeño del sistema de aprendizaje. El sistema de aprendizaje puede alternar entre los datos de entrenamiento y los datos de validación para optimizar el desempeño del sistema. Una vez que el sistema de aprendizaje logra un nivel de desempeño deseado, los parámetros del sistema de aprendizaje pueden se fijados, de modo que el funcionamiento permanezca constante antes de que el sistema de aprendizaje entre dentro de la fase de operación. Durante la fase de operación, la cual comúnmente sigue tanto al entrenamiento como a la validación, los usuarios pueden utilizar el sistema de aprendizaje para procesar los datos operacionales, y obtener los resultados deseados de los usuarios. En un aspecto adicional del sistema para generar datos estructurados, ilustrados en la figura 2, el componente de aprendizaje 110 o el sistema de aprendizaje de la máquina pueden recibir los datos de almacenes de datos separados, dependiendo en el modo o fase de operación. El componente de aprendizaje 110, puede recibir un conjunto de datos específicamente seleccionado para entrenar el sistema de
aprendizaje de un almacén de entrenamiento de datos 210, durante la fase de entrenamiento. El componente de aprendizaje 110, puede recibir un conjunto de validación de datos de un almacén de validación de datos 220. Además, el componente de aprendizaje 110 puede recibir datos de un almacén de datos de prueba separado 230, durante la fase de operación. La calidad de los resultados del sistema de aprendizaje puede ser medida, utilizando una amplia variedad de funciones de costo o de evaluación métrica. Dicha métrica es el medio de posición recíproco (MRR), el cual se aplica a la tarea de relevancia binaria. Para el MRR, dentro del contexto de la recuperación de documentos, para una solicitud, cualquier documento regresado es etiquetado como "relevante" o "no relevante". Si la posición del documento relevante mejor posicionado para una solicitud es r¡, donde i es el número o índice de la solicitud que regresa al documento, entonces la medida de la posición recíproca para la solicitud es el r¡ recíproco o 1/r¡. El MRR es calculado como el porcentaje de la medida de posición recíproca sobre el conjunto de solicitudes. Los sistemas de aprendizaje de la máquina, también pueden ser evaluados utilizando la medida de ganancia acumulativa descontada normalizada ("NDCG"). La NDGC, dentro del contexto de la recuperación de documento, es una medida acumulativa de la calidad de posicionamiento. Por lo
tanto, una función de costo adecuada será uno menos la NDGC. Para una solicitud dada Q, NDGC, denotada por su N,, puede ser computarizada utilizando la siguiente fórmula:
Nts*ll?JL.i rU -Wl gl+j)
Aquí, r(,) es el nivel de revelante del documento en posición j en la orden del documento posicionado. La constante de normalización, N,, es escogida para que un ordenamiento perfecto de los documentos resulte en N,= 1. Aquí, L es el nivel de posición en donde la NDGC es computarizada. La N1 es promediada sobre el conjunto de solicitud para calcular la NDGC. La métrica adicional incluye cuentas de error par-sabias y el ganador-se-lo-lleva-todo ("WTA"). Para las cuentas de error par-sabio en el contexto de la recuperación del documento, el número de los pares del documento que se encuentran en el orden incorrecto son contados. Varias modificaciones de esta medida básica son utilizadas en la en la recuperación de información de literatura. Por ejemplo, el error par-sabio puede ser computarizado como el número incorrecto de pares de documento sobre el número máximo de posibles pares de documentos incompletos. La función WTA es frecuentemente utilizada para evaluar la cuestión al responder, cuando únicamente la respuesta superior es evaluada. Comúnmente, al contestar la pregunta el crédito es dado únicamente si la
respuesta correcta se encuentra en la parte superior de una lista de respuestas posicionadas. No es dado ningún crédito si la respuesta incorrecta se encuentra en la parte superior, aún si la respuesta correcta se encuentra en la segunda posición dentro de la lista de las respuestas posicionadas. Las tres medidas descritas anteriormente, MRR, NDGC y WTA, son un pequeño subconjunto ejemplar de los tipos de medidas utilizados por los practicantes en los métodos de recuperación y posicionamiento. La métrica adicional o las funciones de costo incluyen, pero no se limitan a, la medida del parea debajo de la curva ROC y el medio de promedio de posición. Este subconjunto es utilizado aquí para el propósito de clarificar la descripción con ejemplos concretos. Como tal, estas medidas no son pretendidas para limitar el alcance de la presente invención de ninguna manera. Frecuentemente, los sistemas de aprendizaje tienen aproximaciones utilizadas de las funciones de costo o métrica durante la fase de entrenamiento. Las aproximaciones de las funciones de costo son utilizadas porque los resultados y salidas generados por los sistemas de aprendizaje son generalmente números reales, mientras que las funciones de costo como WTA, no se pueden diferenciar y no varían suavemente cuando son vistas como funciones de esos números. Esto puede ser visto dentro del contexto de la recuperación de la posición de documentos basados en una
solicitud dada. Los documentos que resultan de la solicitud, son posicionados basados en el resultado del sistema de aprendizaje generado para cada documento, y la solicitud de salida que produjo el documento, llamada la solicitud de documento par. Si las fuentes para dos solicitudes de documentos pares están cerca en valor, un pequeño cambio puede poner en reversa el orden de la posición de los documentos. Esto puede tener un gran afecto con respecto a la función de costo utilizada para evaluar el funcionamiento de la máquina. Por ejemplo, cuando se está utilizando la función de costo del WTA, si la respuesta correcta se mueve una posición hacia abajo en el orden de posicionamiento y es reemplazada en la primera posición por una respuesta incorrecta, el sistema de aprendizaje no recibe ningún crédito. Esto hace que sea discontinuamente más difícil para el sistema de aprendizaje para mejor el funcionamiento. Debido a esta limitación de los métodos de aprendizaje de la máquina, mucha recuperación de información convencional y los sistemas para responder la pregunta, emplean la heurística para el posicionamiento. Sin embargo, el utilizar la heurística generalmente da peores resultados que al utilizar la función de costo correcta, si lo último fuese posible. Esto ha sido observado, por ejemplo, al notar que en algunos casos, el mejor el sistema utilizando la heurística, no mejor el costo verdadero. Además, el entrenar los sistemas de aprendizaje de la máquina
es complicado adicionalmente cuando el número de documentos regresados para una solicitud es variable. Por lo tanto, los métodos utilizados durante la fase de entrenamiento son generalmente aproximaciones de las funciones de costo utilizadas para evaluar los sistemas de aprendizaje, en lugar que las funciones de costo reales utilizadas para evaluar el desempeño durante la prueba del sistema de aprendizaje. Una aproximación ejemplar para una función de costo es un entrenamiento par-sabio. Durante el entrenamiento par-sabio, el sistema de aprendizaje es presentado con un par de resultados (por ejemplo, documento A y documento B), donde uno o más documentos son deseados para ser posicionados más alto que el otro documento. Una función de costo es utilizada para actualizar el sistema de aprendizaje que depende en las salidas del sistema de aprendizaje para ambos documentos. Por ejemplo, suponiendo que el documento A y el documento B se encuentren presentados a la máquina y sea deseado que el documento A esté posicionado mejor que el documento B. Si la máquina proyecta un número inferior para el documento A que para el documento B, entonces el costo será más amplio, y los parámetros o pesos de la máquina serán actualizados consecuentemente. El sistema trata de minimizar el número de errores par-sabio en los resultados, donde un error par-sabio ocurre cuando dos documentos son posicionados en el orden equivocado. El error par-sabio es un
ejemplo de una función de costo que depende en la salida estructurada (debido a que depende en todos los documentos clasificados o datos) y no son suaves (porque un pequeño cambio en los resultados puede resultar en un cambio finito y fijo del costo). El error par-sabio puede ser aproximadamente por una función suave. En la descripción siguiente, para propósitos ilustrativos, asumiremos que una aproximación suave al error par-sabio está siendo utilizada. El ejemplo siguiente ilustra el problema de utilizar el entrenamiento par-sabio como una aproximación de WTA. Una solicitud de entrenamiento regresa 1,000 documentos, incluyendo dos documentos relevantes D^ y D2 así como 998 documentos irrelevantes. La máquina inicialmente posiciona a Di en la posición 1 y a D2 en la posición 1000. El sistema de aprendizaje puede reducir el error par-sabio para la solicitud por 996 errores al mover a D2 hacia la posición 3 y al mover a Di hacia la posición 2, lo cual puede ser requerido si el sistema de aprendizaje no tiene la capacidad para colocar a D, y a D2 en la posiciones 1 y 2. Las limitaciones en la capacidad del sistema de aprendizaje, incluye limitaciones en la memoria, limitaciones en la potencia de cómputo o sus similares. Sin embargo, los mismos movimientos causarán que la función costo WTA descienda de uno, un resultado exitoso, a cero, un resultado insatisfactorio. Un decrecimiento importante en el rango de error par-sabio ha resultado en el mayor incremento
posible en el error WTA o costo. En general, encontrar una función de costo suave que tenga la conducta deseada es muy difícil. Tal y como fue visto anteriormente, es mucho más importante el mantener a D-¡ en la posición superior que mover a D2 997 posiciones hacia arriba y a DT una posición hacia abajo; el costo WTA óptimo es alcanzado estando Di ó D2 en la posición superior. En este caso, una mejor aproximación a WTA resultará el descontar escarpadamente el costo de los errores que ocurren en las posiciones inferiores del posicionamiento, mientras que mantener los valores de costo más altos de errores que ocurren en las posiciones superiores del posicionamiento. No permitiendo aún el costo no-cero para los documentos que se encuentran muy abajo en los posicionamientos, permiten que aquellos documentos gradualmente se muevan hacia arriba, a medida que el entrenamiento procede. Nótese que esta discrepancia entre usar el error par-sabio, y WTA, incrementa en este ejemplo debido a que el sistema de aprendizaje no tiene la habilidad para poner ambos documentos en las dos primeras posiciones; pero una capacidad finita es una propiedad de cualquier sistema de aprendizaje que tendrá una buena generalización de funcionamiento. Asumiendo ahora que la función C, es una aproximación suave a una función de costo que logra lo anterior, y que el sistema de aprendizaje produce un posicionamiento para dicha
solicitud, donde D-i se encuentra en la posición 2 y D2 en la posición 1,000, entonces el puntaje para un documento i es s¡, el derivado parcial del función de costo C con respecto a si, deberá de ser mucho mayor que el derivado parcial de C con respecto a s2: dC_ dC » cts, ds,
Aquí, una propiedad deseada de la función de costo es capturada al imponer un constreñimiento en el derivado de la función de costo. La tarea de especificar la función de costo misma, puede ser reemplazada por la tarea de especificar el derivado de la función de costo con respecto a cada puntaje, s¡, para cada solicitud. Estos derivados pueden entonces ser utilizados para entrenar al sistema de aprendizaje utilizando el gradiente de descenso, justamente como los derivados de la función de costo serían normalmente utilizados. La clave es que dada una instancia de una solicitud y sus documentos posicionados, es mucho más simple el especificar como un conjunto de documentos posicionados se moverán para reducir un costo no que se puede diferenciar, que lo el especificar una aproximación suave de una función de costo multivariada. La dificultada al aproximarse a una función de costo se eleva debido a que la función del costo puede ser una función de un número de argumentos variables. Por ejemplo, los números diferentes de los documentos pueden ser servidos para
diferentes solicitudes, a medida que sea frecuente el caso en la recuperación de información. Adicionalmente, la función de costo puede ser una función de un gran número de parámetros. Algunos parámetros pueden tener valores de números reales, tal y como el puntaje para cada documento, y algunos parámetros pueden tener valores de números enteros, tal y como el rango y etiqueta para cada documento. Un conjunto de gradientes propuestos, referidos aquí como "gradientes estimados" que corresponden a los documentos, pueden ser generados y utilizados APRA reducir el costo. El gradiente estimado APRA cada documento, deberá de reflejar la dirección en la que el documentos se deberá de mover dentro del posicionamiento, con el objeto de reducir el costo y que tan fuerte el documento deberá de ser movido. Un conjunto de gradientes estimados puede ser generado, basado en la salida de datos estructurados por el sistema de aprendizaje y almacenado (por ejemplo, en una mesa de búsqueda) para utilizarlo en la actualización de los parámetros del sistema de aprendizaje. Nótese que estos gradientes estimados no son los gradientes actuales de la función de costo, debido a que dichos gradientes no existirán, cuando la función de costo no sea que se puede diferenciar como es en el caso para el error par-sabio, WTA, NDCG y MRR. El gradiente estimado apropiado puede ser obtenido y aplicado a un documento basado en un conjunto de reglas que reflejan los requerimientos de la función de costo.
Por ejemplo, el gradiente estimado puede ser recuperado de una mesa de búsqueda basada en dichas reglas. De forma alternativa, el gradiente estimado puede ser generado en el momento de la aplicación del documento. La figura 3, es una ilustración del sistema 300 para generar una recuperación de datos estructurados, de acuerdo con un aspecto del tema materia descrito aquí. El sistema 300 incluye un componente de aprendizaje 110, un almacén de entrada de datos 120 y conjunto de datos estructurados 130. El componente de aprendizaje 110, puede incluir un componente de gradiente estimado 302, un componente de parámetro 302 y una regla de componente 306. El componente de gradiente estimado 302, puede almacenar un conjunto de gradientes estimados propuestos en baso a los requerimientos de la función de costo que será utilizada por el componente de aprendizaje 110. El conjunto de gradientes estimado puede ser predeterminado y almacenado en una mesa de búsqueda para la recuperación y uso durante la fase de entrenamiento. Los gradientes estimados pueden ser determinados en base a un conjunto de reglas que reflejan los requerimientos de la función de costo. Este conjunto de reglas, puede ser almacenado en la regla del componente 306. El componente parámetro del 304 puede utilizar los gradientes estimados almacenados en el componente de gradiente estimado 302, para actualizar los parámetros del componente de aprendizaje 110 durante la fase
de entrenamiento. Los gradientes estimados pueden ser generados o seleccionados para ser utilizados por el componente de parámetro 304, basado en los datos estructurados 130 resultantes del procesamiento de datos anterior. Con referencia ahora a la figura 4A, la relación entre la función de costo, sus derivados y sus parámetros del sistema de aprendizaje son ilustrados utilizando un conjunto específico, ejemplar de los resultados posicionados. La figura 4A, ilustra una muestra del posicionamiento de seis documentos. Aquí, los documentos son posicionados de superior a inferior en la figura. Los contenidos de los documentos son representados, ya sea por cero o uno. A '1', indica que los contenidos del documento son relevantes, mientras que "0" india que los contenidos del documento no son relevantes. Consecuentemente, en un posicionamiento óptimo de los documentos, los dos primeras posiciones en el posicionamiento serán ocupadas por los documentos representados por '1', seguidos por los documentos representados por '0'. La dirección de la flecha junto a cada documento en la figura indica, que la dirección de cada documento deberá de moverse para reducir el costo y mejorando, por lo tanto, los resultados del posicionamiento. El tamaño de la flecha es indicativo de que tan fuerte el documento deberá de moverse en la dirección indicada. Para este ejemplo, la función de posicionamiento puede
ser denotada por Fw(x). Aquí, x es una característica de vector. Una característica de vector es una serie de números para los documentos par recibidos solicitados de los atributos, de tanto la solicitud y el documento. De forma alternativa, la característica de vector puede ser derivada únicamente de los atributos del documento. Un vector de peso es representado por w. Las características del vector, especifican la conducta del sistema de aprendizaje. Por ejemplo, para una red neural el vector de peso representa un conjunto de pesos o coeficientes unidos enlaces que unen a los nodos de la red neural, y también los parámetros de compensación unidos a cada nodo. La función de costo para este ejemplo, puede ser denotada por C(y-?, ...y6;11, ...1ß)- Aquí, el costo depende en el puntaje generado por el sistema de aprendizaje representado aquí por y, donde y¡= Fw(x¡). Por ejemplo, y¡ representa el puntaje generado por el sistema de aprendizaje para el primer documento posicionado; y2 representa el puntaje generado por el sistema de aprendizaje para el segundo documento posicionado, y demás. La función de costo también es dependiente de la etiqueta, representada aquí por '\-i,...- 6. Las etiquetas indican la calidad del posicionamiento. Las etiquetas pueden ser cadenas de texto, tal como "Excelente", "Bueno" o
"Bajo", o tal y como fue ilustrado en las figuras como "0" ó "1".
La figura 4B, ilustra el posicionamiento posicionado de los documentos. Aquí, los dos documentos denotados por '1',
deberán de ser movidos hacia la primera y segunda posiciones en el posicionamiento. El documento denotado por '0', actualmente en la primera posición es relegado a la tercera posición y todos los otros documentos denotados por '0', son movidos hacia abajo una posición dentro del posicionamiento. Mientras que una función de costo suave requerida para efectuar los movimientos deseados pueden no ser conocidos, es claro que para lograr este posicionamiento, la función de posicionamiento del sistema de aprendizaje, Fw(x), deberá de generar un valor grande para F^), un valor un poco más pequeño para F(x2) y un valor considerablemente más pequeño para F(x ). El valor de F^) utilizando un conjunto de peso ajustables pueden ser escritos de la siguiente forma:
Aquí, W¡ representa los pesos originales o parámetros del sistema de aprendizaje, y W¡ + dW¡ representan los pesos después de un pequeño cambio. Los pesos pueden ser seleccionados tal y como se describe a continuación:
La descripción anterior es una descripción muy básica de cómo el gradiente de descenso funciona, tal y como será reconocido por aquellos familiarizados con las técnicas de optimización. Aquí, e representa un pequeño rango de
aprendizaje. El gradiente indica tanto la dirección y la cantidad que un documento deberá de moverse dentro del posicionamiento. El gradiente es computarizado para cada documento. El signo del gradiente, indica la dirección en la que el documento deberá de moverse dentro del posicionamiento y el tamaño del gradiente, indica que tan fuerte el documento deberá de moverse en una dirección dada. Puede no ser posible o práctico el computarizar los gradientes. En cambio, los resultados de la función actual Fw pueden ser computarizados y clasificados para obtener el posicionamiento que el sistema actual dará a los documentos. Entonces, al concentrarse en el movimiento deseado de los documentos, un gradiente estimado denotado por ?, puede ser unido a cada documento. Para el ejemplo ilustrada en las figuras 4A y 4B:
Los cambios a los parámetros, dW,, están basados en los gradientes estimados, los gradientes de F, y los resultados actuales generados del sistema de aprendizaje. Los gradientes estimados, ?j, dependen en la salida actual del sistema de aprendizaje para todos los documentos x?...xß. De modo que, ?j es una función de F(x), por ejemplo., ?, = ?j (F?...F6). Debido a un conjunto de gradientes estimados, puede existir una función de costo correspondiente, para la cual los gradientes estimados son los gradientes actuales. La función de costo
correspondiente a los gradientes estimados, es referida aquí como la función de costo estimada C. Asumiendo que la función de costo es una función de seis argumentos, como el ejemplo ilustrado en las figuras de la 4A y 4B:
aw¡ ~eyj aw.
Entonces, la función de costo estimado deberá de satisfacer la fórmula siguiente:
Nótese que esto pone condiciones en la forma funcional que los gradientes estimados pueden tomar. Si debe de existir una función actual para la cual los gradientes estimados sean verdaderos gradientes: los gradientes estimados deberán ser de hecho lo que es conocido en el campo del álgebra multilineal para ser una forma exacta. Los gradientes estimados pueden ser seleccionados para reflejar los resultados basados en los resultados basados por el sistema de aprendizaje y las etiquetas. En este ejemplo, las etiquetas indican la posición del documento en el posicionamiento. En el ejemplo utilizando la función de costo WTA para evaluar seis documentos, un conjunto de reglas basado en la función de costo WTA puede ser utilizado para seleccionar los gradientes estimados. La primera regla puede ser escrita de la siguiente forma:
sí 1, = 'l'&F(xt=?)-F(xm)>d, luego ?j=0Vj. Aquí, m es el índice de la posición más alta '0' y d es un margen fijado. Por lo tanto, si el documento en la primera posición es a'1' ( 11 = ' 1 * ) y el resultado para el primer documento posicionado (F(xr=?)) menor que le documento mejor posicionado '0' F(xm), es mayor que un margen fijado (d), entonces el conjunto ?j es igual cero para cada j
. En este caso, el primer documento se encuentra en la posición correcta y la función de costo WTA producirá un costo de uno. Adicionalmente, la diferencia entre el resultado del documento etiquetado '1' y el documento etiquetado '0' es mayor al margen, asegurando que los documentos de posicionamientos pueden no ser alternados. Por lo tanto, ninguno de los documentos deberá de ser recolocados y los gradientes estimados, deberán de estar a partir de cero. La segunda regla es que cualquier documento con una etiqueta de '0' (1¡ = 0) posicionado arriba de todos los documentos con la etiqueta '1', deberán de ser movidos fuertemente hacia debajo de la lista de documentos. Para asegurar que el documento se mueva hacia debajo de la lista de posiciones, el gradiente estimado deberá de ser un número negativo y, para asegurar que el documento se mueva fuertemente hacia abajo en la lista, el gradiente estimado para el documento (?i) deberá de estar preparado a una constante -? con un valor relativamente grande.
Tercero, para un documento posicionado arriba con una etiqueta de '1', la cual no es el documento posicionado arriba dentro de los resultados, el documento deberá de moverse fuertemente hacia arriba. Consecuentemente, para asegurar que el documento se mueva hacia arriba en la lista de posiciones, el gradiente estimado del documento (?,), deberá de estar puesto a un número positivo. Para asegurar que el documento se mueva fuertemente hacia arriba en la lista, el gradiente estimado deberá de estar preparado a una constante relativamente grande, +?. Adicionalmente, los documentos con las etiquetas de '0' localizadas debajo de un documento con una etiqueta '1', deberán de moverse hacia abajo en la lista de posiciones, pero más débilmente. Por ejemplo, el valor del gradiente estimado puede estar preparado a la mitad del valor del gradiente estimado utilizado para mover los documentos etiquetados '0' fuera de las primeras posiciones (por ejemplo, ?, = -1/2?). Similarmente, los documentos con las etiquetas '1' que no se son los mejores ubicados ", deberán de moverse hacia arriba en la lista de posiciones, pero más débilmente. Por ejemplo, el valor del gradiente estimado puede estar preparado a la mitad del valor del gradiente estimado utilizado para mover el documento mejor ubicado con la etiqueta '1', hacia la primera posición (por ejemplo, ?¡ = Va ?). La figura 4C es una ilustración del reordenamiento,
utilizando un conjunto de gradientes estimados generando utilizando las reglas descritas a continuación. Por ejemplo, el componente de aprendizaje 110 puede incluir una red neural. Las redes neurales son comúnmente utilizadas para las tareas de clasificación y las tareas de regresión. Una red neural está comúnmente organizada como capas múltiples, un arreglo jerárquico o elementos de procesamiento, también referidos como neuronas, nodos o unidades. Para los propósitos de esta descripción, los términos neurona, nodo y unidad serán utilizados de forma intercambiable. Cada unidad típica tiene una o más entradas y una salida. Cada salida es pesada comúnmente por algún valor de coeficiente. Cada salida de una unidad, es comúnmente un resultado de procesar sus valores de entrada, de acuerdo con una función de activación y cualquier peso o polarización aplicada. En un arreglo jerárquico de neuronas en una red, las neuronas están normalmente organizadas en capas. La salida de una neurona en una capa, puede ser una entrada a una o más neuronas en una capa progresiva. Las capas pueden ser expuestas en el sentido de que tanto las entradas de las neuronas en la capa directamente reciben una entrada de una fuente de datos externa a la red neural o a las salidas de neuronas que son el resultado deseado del proceso. Las capas también pueden estar escondidas en el sentido de que las entradas de las unidades en la capa, son computarizadas
utilizando las salidas de las unidades en una capa previa o inferior, y las salidas de las unidades en una capa escondida que alimenta a las entradas para las unidades en una capa sucesiva o superior. Una red neural ejemplar, puede incluir cualquier número de capas adecuado tal como una capa de entrada, una capa intermedia o escondida, y una capa de salida. El uso e una red neural, comúnmente involucra una fase de entrenamiento y una fase de prueba. Durante la fase de entrenamiento, uno de un grupo preseleccionado de patrones de datos llamados el 'conjunto de entrenamiento', es presentado a la red para clasificación. Este proceso es comúnmente referido como propagación directa. Un objetivo del paso de entrenamiento es el minimizar la función e costo, minimizando por lo tanto los errores en la red. Los resultados del entrenamiento son entonces utilizados para ajustar los parámetros de la red, tal como pesos o inclinaciones, de tal forma que, su el patrón fuese presentado para la propagación directa de nuevo, la red rendirá un costo menor. Este proceso de ajuste es referido como propagación inversa. La propagación directa y la propagación inversa son normalmente llevadas a cabo de forma exitosa hasta que la función de costo, promediada sobre cualquier segundo grupo preseleccionado adecuado de patrones de datos llamados 'conjunto de validación', es minimizada.
Cuando el entrenamiento es completado, los parámetros de la red son congelados y no pueden ser cambiados. En ese punto, se dice que la red está completamente entrenada. Un conjunto de datos de prueba es presentado a la red y los resultados de computación en ese conjunto de prueba son evaluados, y comparados con un resultado ideal conocido. Si la evaluación rinde un resultado que se encuentra dentro de un margen aceptable, se acepta la red para su uso. La figura 5, es un diagrama de bloques del sistema de una red neural multi-capa 500, que puede ser utilizada para implementar el componente de aprendizaje 110. La red neural 500 ilustrada, incluye una o más neuronas 541, 542, 543 que cada una acepta una entrada; proceso que entra con respecto a alguna función predefinida y peso opcional o inclinación; y proporciona una salida. Las unidades en cada capa son conectadas una a la otra a través de un número de conexiones 550. En el ejemplo ¡lustrado, cada capa está completamente conectada con capas adyacentes, significando esto que cada unidad en la capa está conectada a cada unidad en las capas adyacentes a la capa, en donde reside la unidad. Para claridad de presentación, algunas unidades y algunas conexiones han sido omitidas de la figura. Deberá de ser apreciado que el número exacto y la configuración de las unidades en la red neural es una implementación en detalle dentro del nivel de habilidad del artesano común en esta área, y que la
configuración específica ilustrada en la figura 5 y descrita aquí no deberán de ser tomados como factor de limitación. La capa de entra 510, es la capa que inicialmente recibe los datos de entrada para ser posicionados. Comúnmente, los datos de entrada son estructurados de modo que el número de atributos de interés sean definidos, y cada atributo tengo un valor asociado. Una configuración común y en muchos casos preferida de la capa de entrada 510, es para que la capa tenga un número de unidades igual al número de atributos de interés de los datos que serán procesados. Cada unidad 541 en la capa de entrada 510, procesará entonces una solo atributo de los datos de entrada y alimentará los resultados de su procesamiento directamente a las unidades 542 de la capa escondida 520. Comúnmente, las unidades en la capa de entrada no tienen polarizaciones o pesos asociados, donde cualquier otra unidad en la red la tiene. De forma similar, las unidades 542 de la capa escondida 520, procesarán la entrada de datos a ellos desde las unidades 541 de la capa de entrada 510, y alimentará los resultados de su procesamiento directo a las unidades 543 de la capa de salida 530. Las unidades 543 de la capa de salida 530, procesan de forma similar sus resultados de los datos entrada y salida. Con referencia ahora a la figura 6, una modalidad de una red neural de una sola capa 600 es ilustrada de una forma de diagrama de bloques del sistema. La red neural 600 ilustrada
incluye una capa de entrada 610, y una capa de salida 620. El nombre de la única capa es derivado de las conexiones 630 de la única capa, entre la capa de entrada 610 y la capa de salida 620. Como en la red neural multi-capas, cada capa incluye una o más neuronas 641 y 642 que cada una acepta una entrada; proceso que entra con respecto a una función predefinida y a un peso opcional o polarización; y proporciona una salida. Las unidades en cada capa están conectadas una a la otra a través de un número de conexiones 630. La capa de entrada 610, es la capa que recibe inicialmente datos de entrada para ser posicionados. Comúnmente, los datos de entrada están estructurados de modo que el número de atributos de interés, sean definidos y cada atributo tenga un valor asociado. Una configuración común, en muchos casos preferida de la capa de entrada 610, es para que la capa tenga un número de unidades igual al número de atributos de interés de los datos que serán procesados. Cada unidad 641 en la capa de entrada 610, procesará entonces un solo atributo de los campos de entrada y alimentará los resultados de su procesamiento directo a la unidad 642 de la capa de salida 620. La unidad o las unidades 642 de la capa de salida 620, procesan sus respectivos resultados de los datos de entrada y de salida. En el caso de los resultados de búsqueda de la solicitud de posicionamiento del sistema de aprendizaje, los vectores de atributos o características pueden ser derivados de tanto la
solicitud y un resultado de búsqueda (por ejemplo, un documento). Cada vector de característica puede ser un conjunto de números que dependen de ciertos atributos, por ejemplo, las palabras en la solicitud, los títulos de los resultados, el número de ocurrencias de ciertas palabras en los resultados, y cualquier otra característica de la solicitud de los resultados. Un vector de característica es el resultado de una sola solicitud del documento par. Viendo ahora a la figura 7, una unidad de muestra 700 es ilustrada en la forma de un diagrama de bloques del sistema. La unidad 700, incluye un cuerpo 710 que realiza el procesamiento de datos de acuerdo con un proceso predefinido. Normalmente, el proceso está en la forma de una función de activación 720. Las funciones de activación específicas que pueden ser utilizadas, son una gran materia de opción de implementación, pero son comúnmente de la forma de una función sigmoidal. Una entrada 740, alimenta a los datos dentro del cuerpo 710 para procesarlos de acuerdo con sus funciones predeterminadas. Un peso o polarización 750, también se refiere al parámetro, también es ¡lustrado como una entrada dentro del cuerpo 710 de la unidad 700, aunque otros medios de peso o polarización pueden ser utilizados, así como una variable dentro del cuerpo 710 de la unidad 700. Una salida 760, es el resultado de pasar las entradas sumadas y polarizaciones a través de la función de activación.
Tal y como fue mencionado, las funciones de activación específicas empleadas un gran asunto de una opción de implementación en cualquier aplicación dada. Es posible para cada unidad en una red neural el tener una función de activación única. Sin embargo, es típico para todas las unidades dentro de la entrada y las capas escondidas, el tener las mismas funciones de activación y el usar funciones diferentes para la capa de entrada. De nuevo, el usar las diferentes funciones es primeramente una opción de implementación. Para construir y configurar una red neural del tipo descrito, un número de factores son considerados. Las funciones de activación apropiadas y los umbrales son creados o seleccionados. Los formatos de los datos de entrada son definidos. El número de unidades y capas es determinado, junto con topologías de interconexión para aquellas unidades y capas. Cuando la construcción es completada, la red es entrenada y probada. Los sistemas mencionados anteriormente han sido descritos con respecto a la interacción entre varios componentes. Deberá de ser apreciado que dichos sistemas y componentes pueden incluir aquellos componentes o sub-componentes especificados aquí, algunos de los componentes o sub-componentes especificados, y/o componentes adicionales. Los sub-componentes también pueden ser implementados como
componentes unidos comunicativamente a otros componentes, en lugar de los incluidos dentro de los componentes paternos. Adicionalmente, deberá de ser notado que uno o más componentes pueden ser combinados dentro de una funcionalidad agregada proporcionada de un solo componente o dividida en varios sub-componentes. Los componentes pueden también interactuar con uno o más componentes, no descritos específicamente aquí pero conocidos por aquellos expertos en la técnica. Además, como será apreciado varias partes de los sistemas descritos anteriormente y métodos a continuación, pueden incluir o consistir de inteligencia artificial o conocimiento o regla basada en componentes, sub-componentes, procesos, medios, metodologías o mecanismos (por ejemplo, máquinas de vector de soporte, redes neurales, expertos en sistemas, redes de creencia Bayesiana, lógica, motores de fusión de datos, clasificadores...). Dichos componentes, inter alia, pueden automatizar ciertos mecanismos o procesos llevados por lo tanto a hacer partes de los sistemas y métodos más adaptables, así como eficientes e inteligentes. En vista de los sistemas ejemplares descritos como supra, las metodologías que pueden ser implementadas de acuerdo con el tema materia descrito, serán mejor apreciados con referencia a los diagramas de flujo de las figuras de la 8 a la
. Mientras que para propósitos de simplicidad de la explicación, las metodologías son mostradas y descritas como series de bloques, deberá de ser entendido y apreciado que el tema materia no se encuentra limitado por el orden de los bloques, como algunos bloques pueden ocurrir en órdenes diferentes y/o concurrir con otros bloques de los que son ilustrados y descritos aquí. Además, no todos los bloques ilustrados pueden ser requeridos para implementar las metodologías descritas anteriormente aquí. Adicionalmente, deberá de ser apreciado además, que las metodologías descritas aquí anteriormente y a través de estas especificaciones son capaces de ser almacenadas en un artículo de manufactura para facilitar el transporte y transferencia de dichas metodologías a las computadoras. El término artículo de manufactura, tal y cómo fue utilizado, pretende comprender un programa de computadora al que se puede acceder desde cualquier aparato que se puede leer por computadora, portador o media. La figura 8, ilustra un método 800 para preparar un sistema de aprendizaje para la operación. El proceso comienza en el bloque de INICIO 802, y continúa para procesar al bloque 804, donde el sistema de aprendizaje es entrenado. En el bloque de procesamiento 806, el sistema de aprendizaje es probado utilizando datos de validación. En el bloque de decisión 808, una determinación es hecha para probar que el
funcionamiento del sistema de aprendizaje sobre los datos de validación es suficiente. Si el desempeño es insuficiente, el procesamiento regresa al bloque de proceso 804, y el sistema de aprendizaje continúa su entrenamiento. Si el desempeño del sistema de aprendizaje es suficiente, el procesamiento continúa al bloque de proceso 810, donde el sistema de aprendizaje entra a la fase de operación y puede ser utilizado por los usuarios. Los parámetros de operación del sistema de aprendizaje pueden ser fijados antes de entrar a la fase de operación. El proceso termina en el bloque 812. La figura 9, ilustra un método 900 para entrenar a un sistema de aprendizaje con una función de costo arbitraria. El método es descrito con respecto al sistema de posicionamiento, utilizando una red neural. Sin embargo, el método no está limitado a los sistemas de posicionamiento que incluyen las redes neurales. El procesamiento comienza en el bloque de INICIO 902, y continúa en el bloque de proceso 904 donde la entrada de entrenamiento es reordenada. En particular, el conjunto de solicitudes que conforman al conjunto del entrenamiento es revuelto. El revolver se refiere al procedimiento durante el cual las solicitudes dentro del conjunto son reordenadas antes de ser presentadas a una red neural. Es a menudo útil el revolver las solicitudes de esta forma, antes de comenzar la época de entrenamiento, debido a que dicho revolvimiento puede asistir en convergencia. En el
bloque de proceso 906, los datos de entrada son presentados al sistema de aprendizaje para una entrada de entrenamiento dada. En este ejemplo, para una solicitud dada, un conjunto de documentos pares de solicitud es presentado al sistema de aprendizaje. De forma alternativa, un conjunto de vectores de características es presentado al sistema de aprendizaje. Cada vector de característica puede ser computarizado (para una solicitud dada) desde el documento/solicitud par (que es, algunas características dependerán, en general, tanto la solicitud y el documento). El conjunto de documentos de solicitud pares, incluye cada documento para ser posicionado, para esa solicitud dada. En el bloque de proceso 908, la salida del sistema de aprendizaje es utilizado para generar los datos estructurados. En este ejemplo, es determinado el posicionamiento de cada uno de los documentos. Un gradiente estimado para cada documento es obtenido en base a los datos estructurados (por ejemplo, posicionamiento de los documentos) en el bloque de proceso 90. El gradiente estimado indica la cantidad y dirección que la salida del sistema de aprendizaje deberá de ajustar. Los gradientes estimados pueden ser seleccionados en base a un conjunto de reglas para reflejar la función de costo que será utilizada para probar al sistema de aprendizaje. Por ejemplo, la función de costo WTA del gradiente estimado para el resultado mejor posicionado, puede ser significativamente más grande
que el gradiente estimado para el resto de los resultados. Sin embargo, el utilizar gradientes estimados grandes puede causar problemas que resulten en la inversión, donde el documento esté posicionado inverso, para las solicitudes sucesivas. El conjunto de gradientes estimados, deberá de ser seleccionado de que modo que exista una abertura suficiente p margen entre el resultado mejor ubicado, y el siguiente resultado mejor posicionado. Consecuentemente, los gradientes estimados pueden ser escogidos para variar levemente. En el bloque de proceso 92, cada uno de los parámetros o pesos del sistema de aprendizaje es actualizado en base al conjunto de gradientes estimados. Los cambios a los parámetros del sistema de aprendizaje pueden ser calculados para los datos de entrada, de cada entrada de entrenamiento y actualizado en base a la entrada de datos para todo de la entrada de entrenamiento. En este ejemplo, el cambio en los pesos puede ser calculado para cada solicitud de par de documento en la lista. Desde que los gradientes estimados pueden depender en cualquier resultado del documento, etiqueta o posición, el sistema de aprendizaje puede moldear dependencias mucho más complicadas, que si los gradientes fuesen computarizados para alguna función de costo simple, tal como una función de clasificación de costo la cual depende únicamente en un solo resultado del documento. En el bloque de decisión 914, una determinación es hecha
para ver si existen solicitudes adicionales en el conjunto de entrenamiento. Si existen solicitudes adicionales, el proceso regresa al bloque de proceso 906 y la siguiente solicitud en el conjunto de entrenamiento es procesada. Si todas las solicitudes en el conjunto de entrenamiento han sido procesadas, el procesamiento continúa al bloque de decisión 916. En el bloque de decisión 916, el funcionamiento del sistema de aprendizaje es evaluado para determinar si continuar con el entrenamiento y regresar al bloque de proceso 904, o terminar en el bloque 918. En una modalidad, el funcionamiento es evaluado en base al ritmo de cambio del ritmo de error del sistema de entrenamiento. La figura 10, ilustra un método 1000 para actualizar los parámetros del sistema de aprendizaje. El procesamiento comienza en el bloque de INICIO 1002, y continúa al bloque de proceso 1004 donde el conjunto de gradientes estimados es recuperado. A continuación, en el bloque de procesamiento 1006, el valor actual para un parámetro para el sistema de aprendizaje es recuperado. El parámetro es actualizado en el bloque de procesamiento 1008, basado en un conjunto de gradientes estimado y la salida de resultados del sistema de aprendizaje para cada documento o resultado. En el bloque de decisión 1010, una determinación es hecha para ver si existen parámetros adicionales que puedan ser actualizados en el sistema de aprendizaje. De serlo, el proceso regresa al bloque
de procesamiento 1006, y el valor actual para el siguiente parámetro es recuperado. Si no hay parámetros adicionales que necesiten ser actualizados, el proceso termina en el bloque 1012. Con el objeto de proporcionar un contexto para varios aspectos del tema materia descrito, las figuras 11 y 12 así como la descripción siguiente, son pretendidas para proporcionar una descripción breve y general de un ambiente adecuado, en donde los varios aspectos del tema materia descrito pueden ser implementados. Mientras que el tema materia ha sido descrito anteriormente en el contexto general de las instrucciones que se pueden ejecutar en computadora de un programa de computadora que corre en una computadora y/o computadoras, aquellos expertos en la técnica podrán reconocer que el sistema y métodos descritos, también pueden ser implementados en combinación con otros módulos de programa. Generalmente, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos, etc., que llevaran a cabo tareas particulares y/o implementar tipos de datos abstractos particulares. Además, aquellos expertos en la técnica apreciaran que los métodos inventivos pueden ser practicados con otras configuraciones del sistema de la computadora, que incluye un procesador o sistema de computadora de microprocesador, aparatos de mini-computación, computadoras de marco de trabajo, así cómo
computadoras personales, aparatos de computadora portátil (por ejemplo, asistente personal digital (PDA), teléfono, reloj...), basado en microprocesador o consumidor que se puede programar o electrónicos industriales y sus similares. Los aspectos ilustrados, pueden también ser practicados en ambientes de computación distribuidos, donde las tareas son llevadas a cabo por aparatos de procesamiento remotos que están unidos a través de una red de comunicación. Sin embargo, algunos, si no es que todos los aspectos del tema materia descrito, pueden ser practicados en computadoras independientes. En un ambiente de computación distribuido, los módulos del programa pueden estar localizados tanto en aparatos de almacenamientos de memoria locales o remotos. Con referencia a la figura 11, un ambiente ejemplar 1110 para implementar varios aspectos escritos aquí, incluyen una computadora 1112 (por ejemplo, desktop, laptop, servidor, portátil, consumidor que se puede programar o electrónicos industriales...). La computadora 1112, incluye una unidad de procesamiento 1114, una memoria de sistema 1116 y un bus del sistema 1118. El bus del sistema 1118 une a los componentes del sistema que incluye pero no se limita a, la memoria del sistema 1116 a la unidad de procesamiento 1114. La unidad de procesamiento 1114 puede ser cualquiera de varios microprocesadores. Los microprocesadores duales u otras arquitecturas de microprocesador pueden ser utilizados como la
unidad de procesamiento 1114. El bus del sistema 1118, puede ser cualquier de varios tipos de estructuras de bus que incluye al bus de memoria o controlador de memoria, bus periférico o bus externo, y/o un bus local que utiliza una variedad de arquitecturas de bus que incluyen pero no se limitan a, bus de 11 bits, Arquitectura Estándar Industrial (ISA), Arquitectura de Micro-Canales (MSA), ISA Extendido (EISA), Electrónicos de Manejo Inteligente (IDE), Bus Local VESA (VLB), Interconexión de Componente Periférico (PCI), Bus de Serie Universal (USB), Puertos de Gráficas Avanzadas (AGP), bus de Asociación Internaciones de Tarjeta de Memoria para una Computadora Personal (PCMMCIA), y una Interfase de Sistemas de Computadora Pequeña (SCSI). La memoria del sistema 1116, incluye una memoria volátil 1120 y una memoria no volátil 1122. El sistema básico de entrada/salida (BIOS), contiene las rutinas básicas para transferir información entre elementos dentro de la computadora 1112, durante el encendido, es almacenado en una memoria no volátil 1122. Como medio de ilustración y no de limitación, la memoria no volátil 1122 puede incluir una memoria de lectura (ROM), ROM que se puede programar (PROM), ROM que se puede programar eléctricamente (EPROM), ROM que se puede ensamblar eléctricamente (EEPROM), o memoria de flash. La memoria volátil 1120 incluye una memoria de acceso aleatorio (RAM), la cual actúa como una memoria de caché externa.
Como medio de ilustración y no de limitación, la memoria RAM está disponible en muchas formas como una memoria RAM sincrónica (SRAM), memoria RAM dinámica (DRAM), DRAM sincrónica (SDRAM), ritmo de datos doble SDRAM (DDR SDRAM), SDRAM mejorado (ESDRAM), DRAM Synchlink (SLDRAM) y RAM de Rambus directo (DRRAM). La computadora 1112, también incluye un medio de almacenamiento de computadora removible/no-removible, volátil/no-volátil. La figura 11, ilustra por ejemplo, un almacenamiento de disco 1124. El almacenamiento de disco 1124 incluye, pero no se limita a, aparatos como una unidad de disco magnética, unidad de disco de floppy, manejo de cinta, manejo Jaz, manejo Zip, manejo LS-100, tarjeta de memoria flash o una memoria en barra. Adicionalmente, el almacén de disco 1124 puede incluir un medio de almacenamiento separado o en combinación con otro medio de almacenamiento que incluye, pero no se limita a, unidad de disco óptico tal como un disco compacto (Unidad de CD-RW) o una unidad de disco ROM versátil digital (DVD-ROM). Para facilitar la conexión de los aparatos de almacenamiento de disco 1124 al bus del sistema 1118, una interfase removible o no-removible es comúnmente utilizada como una interfase 1126. Debe de ser apreciado que la figura 11, describe el software que actúa como un intermediario entre los usuarios y los recursos de computadora básicos descritos en un ambiente
de operación adecuado 1110. Dicho software incluye un sistema operativo 1128. El sistema operativo 1128, el cual puede ser almacenado en el almacén de disco 1124, actúa para controlar y colocar los recursos en el sistema de la computadora 1112. Las aplicaciones del sistema 1130, toman ventaja en el manejo de los recursos por el sistema operativo 1128, a través de los módulos del programa 1132 y los datos del programa 1134 almacenados en la memoria del sistema 1116 o en el almacén del disco 1124. Deberá de ser apreciado que el sistema y métodos presentes pueden ser implementados con varios sistemas operativos o combinaciones de sistemas operativos. Un usuario ingresa los comandos o información dentro de la computadora 1112 a través de los aparatos de entrada 1136. Los apararos de entrada 1136 incluyen, pero no se limitan a, un aparato de señalamiento tal como un Mouse, bola de rastreo, estilo, bloq de tacto, teclado, micrófono, palanca de juegos, bloq de juego, plato satelital, escáner, tarjeta de cambio de TV, cámara digital, cámara de video digital, cámara web y sus similares. Estos y otros aparatos de entrada conectan la unidad de procesamiento 1114 a través del bus del sistema 1118, a través de los puertos de interfase 138. Los puertos de interfase 1138 incluyen, por ejemplo, un puerto de serie, un puerto paralelo, un puerto de juego y un bus de serie universal (USB). Los aparatos de salida 1140 utilizan algunos del mismo tipo de puertos 1112, y para sacar la información de la computadora
1112 a un aparato de salida 1140. El adaptador de salida 1142 es proporcionado para ilustrar que existen algunos aparatos de salida 1140, como las pantallas (por ejemplo, panel liso y CRT), altavoces e impresoras, entre otros aparatos de salida que adaptadores especiales. Los adaptadores de salida 1142 incluyen, como medio de ilustración y no de limitación, tarjetas de video y de sonido que proporcionan medios de conexión entre el aparato de salida 1140 y el bus del sistema 1118. Deberá de ser notado que otros aparatos y/o sistemas de aparatos, proporcionan tanto capacidades de entrada y de salida, tal y como las computadoras remotas 1144. La computadora 1112 puede operar en ambiente de red utilizando conexiones lógicas a una o más computadoras remotas, tal como las computadoras remotas 1144. Las computadoras remotas 1144 pueden ser una computadora personal, un servidor, un conmutador, una PC de red, una estación de trabajo, un microprocesador basado en aplicación, un aparato semejante u otros nodos de red común y sus similares, y comúnmente incluye muchos o todos los elementos descritos relacionados a la computadora 1112. Para propósitos de brevedad, únicamente un aparato de almacenamiento de memoria 1146 es ilustrado con las computadoras remotas 1144. Las computadoras remotas 144 se encuentra lógicamente conectada a la computadora 1112 a través de una interfase de red 1148, y después conectada físicamente a través de las
conexiones de comunicación 1150. La interfase de red 1148 comprende las redes de comunicación como, redes de área local (LAN), y redes de área extensa (WAN). Las tecnologías LAN incluyen Interfase de Datos Distribuidos por Fibra (FDDI), Interfase de Datos de Cobre Distribuidos (CDDI), Ethernet/IEEE 802.3, Anillo/IEEE Token 802.5 y sus similares. Las tecnologías LAN incluyen, pero no se limitan a, enlaces de punto-a-punto, redes de circuito de alternado como las Redes de Servicios Digitales Integrados (ISDN) y variaciones de los mismos, redes de alternado de paquete, y Líneas de un Sub-escritor Digital (DSL). Las conexiones de comunicación 1150, se refieren al hardware/software utilizado para conectar la interfase de red 1148 al bus 1118. Mientras que la conexión de comunicación 1150 es mostrada para propósitos de claridad dentro de la computadora 1112, también pueden ser externos a la computadora 1112. El hardware/software necesario para la conexión a la interfase de red 1148 incluye, únicamente para propósitos de ejemplo, tecnologías internas y externas tales como, módems de grado de teléfono regular, módems de cable, módems de energía y módems DSL, adaptadoras ISDN, y tarjetas o componentes de Ethernet. La figura 12, es un diagrama de bloques esquemático de un ambiente de una muestra de computación, con la cual el sistema descrito puede interactuar. El sistema 1200 incluye uno
o más clientes 1210. Los clientes 1210 pueden ser hardware y/o software (por ejemplo, roscas, procesos, aparatos de comunicación). El sistema 1200 también incluye uno o más servidores 1230. Además, el sistema 1200 puede corresponder a dos modelos de servidor de cliente de dos hileras, o a un modelo de múltiples hileras (por ejemplo, un cliente, un servidor de media hilera, servidor de datos), entre otros modelos. Los servidores 1230, pueden también ser hardware y/o software (por ejemplo, roscas, procesos, aparatos de computación). Una posible comunicación entre un cliente 1210 y un servidor 1230 puede estar en la forma de un paquete de datos adaptado para ser transmitido entre dos o más procesos de la computadora. El sistema 1200 incluye un marco de trabajo de comunicación 1250, que puede ser utilizado para facilitar la comunicación entre los clientes 1210 y los servidores 1230. Los clientes 1210 se encuentran conectados de forma operable a uno o más almacenes de datos del cliente 1260 que pueden ser utilizados para almacenar información local a los clientes 1210. De forma similar, los servidores 1230 están conectados de forma operable a una o más almacenes de datos del cliente 1240, que pueden ser utilizados para almacenar información local a los servidores 1230. Lo que ha sido descrito anteriormente, incluye un ejemplo de aspectos del tema materia atribuido. Es claro, que no se puede describir cualquier combinación concebibles de los
componentes y metodologías para propósitos de describir al tema materia atribuido, pero una persona de técnica ordinaria en la técnica puede reconocer que muchas combinaciones y permutaciones adicionales del tema materia descrito son posibles. Consecuentemente, el tema materia descrito es pretendido para abarcar todas las dichas alteraciones, modificaciones y vibraciones que caen dentro del espíritu y alcance de las reivindicaciones adjuntas. Más adelante, para ver en que medida los términos "incluye", "tiene" o "que tiene" son utilizados en la descripción detallada o en las reivindicaciones, dichos términos son pretendidos para ser inclusivos de una manera similar al término "comprender", como "comprender" es interpretado cuando es utilizado como una palabra de transición en una reivindicación.
Claims (20)
- REIVINDICACIONES 1. Un método para entrenar un sistema de aprendizaje de máquina para la estructura, de acuerdo con una función de costo no que se puede diferenciar, que comprende: generar datos estructurados de un conjunto de datos de entrada; obtener al menos un gradiente estimado, basado en al menos una parte de los datos estructurados, y al menos un requerimiento de la función de costo; y actualizar al menos un parámetro del sistema de aprendizaje de máquina, basado en al menos un gradiente estimado.
- 2. El método, tal y como se describe en la reivindicación 1, que comprende además el desarrollar al menos una regla para obtener los gradientes estimados basados en una función de costo no que se puede diferenciar, al menos una regla es utilizada en obtener al menos un gradiente estimado.
- 3. El método, tal y como se describe en la reivindicación 1, que comprende además el probar al sistema de aprendizaje de la máquina para determinar si deben de continuar el entrenamiento del sistema.
- 4. El método, tal y como se describe en la reivindicación 1, el sistema de aprendizaje de la máquina es una red neural.
- 5. El método, tal y como se describe en la reivindicación 4, donde la red neural es una red neural de una sola capa.
- 6. El método, tal y como se describe en la reivindicación 1, el sistema de aprendizaje de la máquina comprende una función que se puede diferenciar.
- 7. El método, tal y como se describe en la reivindicación 1, donde al menos un objeto de datos es al menos una página web, un archivo de texto, una imagen, datos de audio, datos de video y un archivo de procesamiento de palabra.
- 8. El método, tal y como se describe en la reivindicación 1, la función de costo es al menos uno de el ganador de lo lleva todo (WTA), una medida de ganancia acumulativa descontada normalizada (NDCG), rango recíproco de medio (MRR), área debajo de una curva ROC, medio de porcentaje de precisión y una cuenta de error par-sabio.
- 9. Un sistema de aprendizaje de máquina que estructura los datos de acuerdo con una función de costo que no se puede diferenciar, que comprende: un componente de aprendizaje que genera datos estructurados de la entrada de datos; un componente de gradiente estimado que obtiene al menos un gradiente estimado basado en al menos una parte en los datos estructurados, y en la función de costo que no se puede diferenciar; y un componente de parámetro que actualiza al menos un parámetro del sistema de aprendizaje de la máquina, basado al menos en parte en al menos un gradiente estimado.
- 10. El sistema, tal y como se describe en la reivindicación 9, que comprende además un componente de regla que contiene al menos una regla para obtener los gradiente estimados basados en al menos un requerimiento de la función de costo.
- 11. El sistema, tal y como se describe en la reivindicación 9, que comprende además un almacén de datos de gradiente estimado que contiene los valores de al menos un gradiente estimado.
- 12. El sistema, tal y como se describe en la reivindicación 9, el componente de aprendizaje es una red nerual.
- 13. El sistema, tal y como se describe en la reivindicación 12, la red neural es una red neural de una sola capa.
- 14. El sistema, tal y como se describe en la reivindicación 9, el componente de aprendizaje comprende una función que se puede diferenciar.
- 15. El sistema, tal y como se describe en la reivindicación 9, la entrada de datos incluye al menos una pagina web, un archivo de texto, una imagen, datos de audio, datos de video y un archivo de procesamiento de palabra.
- 16. El sistema, tal y como se describe en la reivindicación 9, la función de costo es al menor una del ganador se lo lleva todo (WTA), medida de ganancia acumulativa descontada normalizada (NDCG), ritmo recíproco de medio (MRR), área debajo de la curva ROC, medio de precisión de promedio y cuenta de error par-sabio.
- 17. Un sistema para entrenar el sistema de aprendizaje de la máquina, comprende: medios para generar datos estructurados del conjunto de objetos de datos; medios para obtener al menos un gradiente estimado basado en al menos en parte, en los datos estructurados y la función de costo que no se puede diferenciar; y medios para actualizar al menos un parámetro del sistema de aprendizaje de la máquina, basado en al menos un gradiente estimado.
- 18. El sistema, tal y como se describe en la reivindicación 17, medios que comprenden además para desarrollar al menos una regla para obtener los gradientes estimados en base a la función de costo, al menos una regla es utilizada en obtener al menos un gradiente estimado.
- 19. El sistema, tal y como se describe en la reivindicación 17, el sistema de aprendizaje de la maquina que comprende una función que se puede diferenciar.
- 20. El sistema, tal y como se describe en la reivindicación 17, el sistema de aprendizaje de maquina es una red neural.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US70008005P | 2005-07-18 | 2005-07-18 | |
| US11/305,395 US7472096B2 (en) | 2005-07-18 | 2005-12-16 | Training a learning system with arbitrary cost functions |
| PCT/US2006/026266 WO2007011529A2 (en) | 2005-07-18 | 2006-07-06 | Training a learning system with arbitrary cost functions |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MX2008000911A true MX2008000911A (es) | 2008-03-18 |
Family
ID=37669324
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| MX2008000911A MX2008000911A (es) | 2005-07-18 | 2006-07-06 | Entrenar un sistema de aprendizaje con funciones de costo arbitrarias. |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US7472096B2 (es) |
| EP (1) | EP1904908A4 (es) |
| JP (1) | JP2009515231A (es) |
| KR (1) | KR20080035572A (es) |
| CN (1) | CN101536020B (es) |
| BR (1) | BRPI0613782A2 (es) |
| MX (1) | MX2008000911A (es) |
| RU (1) | RU2008101894A (es) |
| WO (1) | WO2007011529A2 (es) |
Families Citing this family (61)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7487134B2 (en) * | 2005-10-25 | 2009-02-03 | Caterpillar Inc. | Medical risk stratifying method and system |
| KR20080073357A (ko) | 2005-11-29 | 2008-08-08 | 구글 인코포레이티드 | 방송 미디어에서 반복 콘텐츠 탐지 |
| US8250061B2 (en) * | 2006-01-30 | 2012-08-21 | Yahoo! Inc. | Learning retrieval functions incorporating query differentiation for information retrieval |
| US7617164B2 (en) * | 2006-03-17 | 2009-11-10 | Microsoft Corporation | Efficiency of training for ranking systems based on pairwise training with aggregated gradients |
| US7831531B1 (en) | 2006-06-22 | 2010-11-09 | Google Inc. | Approximate hashing functions for finding similar content |
| US9779441B1 (en) * | 2006-08-04 | 2017-10-03 | Facebook, Inc. | Method for relevancy ranking of products in online shopping |
| US8411977B1 (en) | 2006-08-29 | 2013-04-02 | Google Inc. | Audio identification using wavelet-based signatures |
| US8332333B2 (en) * | 2006-10-19 | 2012-12-11 | Massachusetts Institute Of Technology | Learning algorithm for ranking on graph data |
| US8112421B2 (en) | 2007-07-20 | 2012-02-07 | Microsoft Corporation | Query selection for effectively learning ranking functions |
| US20090037401A1 (en) * | 2007-07-31 | 2009-02-05 | Microsoft Corporation | Information Retrieval and Ranking |
| US7895198B2 (en) * | 2007-09-28 | 2011-02-22 | Yahoo! Inc. | Gradient based optimization of a ranking measure |
| US7734633B2 (en) * | 2007-10-18 | 2010-06-08 | Microsoft Corporation | Listwise ranking |
| US8332411B2 (en) * | 2007-10-19 | 2012-12-11 | Microsoft Corporation | Boosting a ranker for improved ranking accuracy |
| US8005774B2 (en) * | 2007-11-28 | 2011-08-23 | Yahoo! Inc. | Determining a relevance function based on a query error derived using a structured output learning technique |
| US8010535B2 (en) * | 2008-03-07 | 2011-08-30 | Microsoft Corporation | Optimization of discontinuous rank metrics |
| US7849076B2 (en) * | 2008-03-31 | 2010-12-07 | Yahoo! Inc. | Learning ranking functions incorporating isotonic regression for information retrieval and ranking |
| US20100082639A1 (en) * | 2008-09-30 | 2010-04-01 | Microsoft Corporation | Processing maximum likelihood for listwise rankings |
| US20100185623A1 (en) * | 2009-01-15 | 2010-07-22 | Yumao Lu | Topical ranking in information retrieval |
| US8661030B2 (en) | 2009-04-09 | 2014-02-25 | Microsoft Corporation | Re-ranking top search results |
| US8935258B2 (en) * | 2009-06-15 | 2015-01-13 | Microsoft Corporation | Identification of sample data items for re-judging |
| US8498454B2 (en) * | 2009-07-14 | 2013-07-30 | General Electric Company | Optimal subspaces for face recognition |
| WO2011081950A1 (en) * | 2009-12-14 | 2011-07-07 | Massachussets Institute Of Technology | Methods, systems and media utilizing ranking techniques in machine learning |
| US9043296B2 (en) | 2010-07-30 | 2015-05-26 | Microsoft Technology Licensing, Llc | System of providing suggestions based on accessible and contextual information |
| US10346453B2 (en) | 2010-12-21 | 2019-07-09 | Microsoft Technology Licensing, Llc | Multi-tiered information retrieval training |
| US8442591B1 (en) * | 2011-09-29 | 2013-05-14 | Rockwell Collins, Inc. | Blind source separation of co-channel communication signals |
| US9665643B2 (en) | 2011-12-30 | 2017-05-30 | Microsoft Technology Licensing, Llc | Knowledge-based entity detection and disambiguation |
| US9864817B2 (en) * | 2012-01-28 | 2018-01-09 | Microsoft Technology Licensing, Llc | Determination of relationships between collections of disparate media types |
| US9208693B2 (en) * | 2012-04-30 | 2015-12-08 | International Business Machines Corporation | Providing intelligent inquiries in question answer systems |
| US9122679B1 (en) * | 2012-12-28 | 2015-09-01 | Symantec Corporation | Method and system for information retrieval effectiveness estimation in e-discovery |
| US10558935B2 (en) * | 2013-11-22 | 2020-02-11 | California Institute Of Technology | Weight benefit evaluator for training data |
| US9953271B2 (en) | 2013-11-22 | 2018-04-24 | California Institute Of Technology | Generation of weights in machine learning |
| US10535014B2 (en) | 2014-03-10 | 2020-01-14 | California Institute Of Technology | Alternative training distribution data in machine learning |
| US9858534B2 (en) | 2013-11-22 | 2018-01-02 | California Institute Of Technology | Weight generation in machine learning |
| US10169433B2 (en) | 2014-07-29 | 2019-01-01 | Microsoft Technology Licensing, Llc | Systems and methods for an SQL-driven distributed operating system |
| US10437843B2 (en) | 2014-07-29 | 2019-10-08 | Microsoft Technology Licensing, Llc | Optimization of database queries via transformations of computation graph |
| US10176236B2 (en) | 2014-07-29 | 2019-01-08 | Microsoft Technology Licensing, Llc | Systems and methods for a distributed query execution engine |
| CN104657085A (zh) * | 2014-12-22 | 2015-05-27 | 南京道润交通科技有限公司 | 施工、天气与量费信息分级分布式处理系统及其处理方法 |
| US10528909B2 (en) | 2016-04-20 | 2020-01-07 | Airbnb, Inc. | Regression-tree compressed feature vector machine for time-expiring inventory utilization prediction |
| US9940544B2 (en) | 2016-06-08 | 2018-04-10 | Adobe Systems Incorporated | Event image curation |
| US10467529B2 (en) * | 2016-06-08 | 2019-11-05 | Adobe Inc. | Convolutional neural network joint training |
| US10902330B2 (en) * | 2016-06-21 | 2021-01-26 | International Business Machines Corporation | Cognitive question answering pipeline calibrating |
| US11315018B2 (en) | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
| DE102018200724A1 (de) * | 2017-04-19 | 2018-10-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples" |
| EP3646252A4 (en) * | 2017-06-26 | 2021-03-24 | D5Ai Llc | Selective training for decorrelation of errors |
| US10762423B2 (en) * | 2017-06-27 | 2020-09-01 | Asapp, Inc. | Using a neural network to optimize processing of user requests |
| JP6925911B2 (ja) * | 2017-08-30 | 2021-08-25 | 株式会社日立製作所 | 機械学習装置及び機械学習方法 |
| CN108764484B (zh) * | 2018-04-04 | 2022-03-29 | 武汉拓睿传奇科技有限公司 | 一种机器学习和人工智能应用一体机部署方法 |
| JP2019200040A (ja) * | 2018-05-18 | 2019-11-21 | ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company | モデル駆動型深層学習を有するhvac制御システム |
| DE102018216078A1 (de) * | 2018-09-20 | 2020-03-26 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems |
| US20210345134A1 (en) * | 2018-10-19 | 2021-11-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling of machine learning to improve performance of a wireless communications network |
| JP6852141B2 (ja) * | 2018-11-29 | 2021-03-31 | キヤノン株式会社 | 情報処理装置、撮像装置、情報処理装置の制御方法、および、プログラム |
| CN109936696B (zh) * | 2019-02-28 | 2020-09-29 | 深圳大学 | 基于神经网络的光纤端面自动对焦的方法和相关装置 |
| US11216831B1 (en) | 2019-07-29 | 2022-01-04 | States Title, Inc. | Predictive machine learning models |
| US11818111B1 (en) * | 2019-10-16 | 2023-11-14 | Architecture Technology Corporation | Systems and methods for search engine based web ticket minimization |
| KR102859921B1 (ko) | 2019-11-14 | 2025-09-15 | 삼성전자주식회사 | 메모리 장치를 제어하도록 구성된 시스템-온-칩의 동작 방법 |
| US12020124B2 (en) * | 2020-01-15 | 2024-06-25 | Accenture Global Solutions Limited | Selecting optimum primary and secondary parameters to calibrate and generate an unbiased forecasting model |
| GB202001468D0 (en) * | 2020-02-04 | 2020-03-18 | Tom Tom Navigation B V | Navigation system |
| US12393865B2 (en) | 2020-04-13 | 2025-08-19 | Y.E. Hub Armenia LLC | Method and server for training machine learning algorithm for ranking objects |
| WO2021250950A1 (ja) * | 2020-06-11 | 2021-12-16 | 株式会社島津製作所 | 文書検索の性能を評価する方法、システム、および装置 |
| US12271826B2 (en) | 2020-07-20 | 2025-04-08 | Y.E. Hub Armenia LLC | Methods and systems for training a decision-tree based Machine Learning Algorithm (MLA) |
| DE102022205999A1 (de) | 2022-06-14 | 2023-12-14 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Trainieren eines Deep-Learning basierten Algorithmus des maschinellen Lernens |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5625751A (en) | 1994-08-30 | 1997-04-29 | Electric Power Research Institute | Neural network for contingency ranking dynamic security indices for use under fault conditions in a power distribution system |
| US6260013B1 (en) | 1997-03-14 | 2001-07-10 | Lernout & Hauspie Speech Products N.V. | Speech recognition system employing discriminatively trained models |
| US6526440B1 (en) | 2001-01-30 | 2003-02-25 | Google, Inc. | Ranking search results by reranking the results based on local inter-connectivity |
| US7107207B2 (en) * | 2002-06-19 | 2006-09-12 | Microsoft Corporation | Training machine learning by sequential conditional generalized iterative scaling |
| US7490071B2 (en) | 2003-08-29 | 2009-02-10 | Oracle Corporation | Support vector machines processing system |
| US20050144158A1 (en) | 2003-11-18 | 2005-06-30 | Capper Liesl J. | Computer network search engine |
| US7281002B2 (en) | 2004-03-01 | 2007-10-09 | International Business Machine Corporation | Organizing related search results |
| US7689520B2 (en) * | 2005-02-25 | 2010-03-30 | Microsoft Corporation | Machine learning system and method for ranking sets of data using a pairing cost function |
| KR100696504B1 (ko) * | 2005-03-23 | 2007-03-19 | 삼성에스디아이 주식회사 | 플라즈마 디스플레이 모듈 및 장치 |
-
2005
- 2005-12-16 US US11/305,395 patent/US7472096B2/en not_active Expired - Fee Related
-
2006
- 2006-07-06 EP EP06786423A patent/EP1904908A4/en not_active Withdrawn
- 2006-07-06 WO PCT/US2006/026266 patent/WO2007011529A2/en not_active Ceased
- 2006-07-06 JP JP2008522800A patent/JP2009515231A/ja not_active Withdrawn
- 2006-07-06 KR KR1020087001340A patent/KR20080035572A/ko not_active Withdrawn
- 2006-07-06 RU RU2008101894/09A patent/RU2008101894A/ru not_active Application Discontinuation
- 2006-07-06 MX MX2008000911A patent/MX2008000911A/es not_active Application Discontinuation
- 2006-07-06 BR BRPI0613782-2A patent/BRPI0613782A2/pt not_active IP Right Cessation
- 2006-07-06 CN CN2006800257781A patent/CN101536020B/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| BRPI0613782A2 (pt) | 2011-02-01 |
| KR20080035572A (ko) | 2008-04-23 |
| CN101536020A (zh) | 2009-09-16 |
| US20070094171A1 (en) | 2007-04-26 |
| EP1904908A4 (en) | 2010-03-03 |
| JP2009515231A (ja) | 2009-04-09 |
| RU2008101894A (ru) | 2009-07-27 |
| US7472096B2 (en) | 2008-12-30 |
| WO2007011529A2 (en) | 2007-01-25 |
| WO2007011529A3 (en) | 2009-04-30 |
| CN101536020B (zh) | 2013-11-20 |
| EP1904908A2 (en) | 2008-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| MX2008000911A (es) | Entrenar un sistema de aprendizaje con funciones de costo arbitrarias. | |
| Hajikhani et al. | Mapping the sustainable development goals (SDGs) in science, technology and innovation: application of machine learning in SDG-oriented artefact detection | |
| US7089226B1 (en) | System, representation, and method providing multilevel information retrieval with clarification dialog | |
| Yu et al. | PEBL: Web page classification without negative examples | |
| Cassar et al. | Probabilistic matchmaking methods for automated service discovery | |
| US7287012B2 (en) | Machine-learned approach to determining document relevance for search over large electronic collections of documents | |
| US8731995B2 (en) | Ranking products by mining comparison sentiment | |
| US7617164B2 (en) | Efficiency of training for ranking systems based on pairwise training with aggregated gradients | |
| US20160321357A1 (en) | Discovery informatics system, method and computer program | |
| US20250190449A1 (en) | System and method for generative artificial intelligence-assisted analytics of structured data seta | |
| US12222992B1 (en) | Using intent-based rankings to generate large language model responses | |
| Nashipudimath et al. | An efficient integration and indexing method based on feature patterns and semantic analysis for big data | |
| Vieira et al. | An automated approach for binary classification on imbalanced data | |
| El-Kishky et al. | k NN-Embed: Locally Smoothed Embedding Mixtures for Multi-interest Candidate Retrieval | |
| US20240184789A1 (en) | Creating a query template optimized for both recall and precision | |
| US20230297773A1 (en) | Apparatus and methods for employment application assessment | |
| Srivastava et al. | State-of-the-art methods in healthcare text classification system: AI paradigm | |
| Gupta et al. | Feature selection: an overview | |
| Guo et al. | Imbalanced learning based on logistic discrimination | |
| Zhao et al. | Fusion Matrix–Based Text Similarity Measures for Clustering of Retrieval Results | |
| Gosavi et al. | Answer selection in community question answering portals | |
| Zhou | Entity-centric search: querying by entities and for entities | |
| Santhiappan et al. | TOMBoost: a topic modeling based boosting approach for learning with class imbalance | |
| US20250225539A1 (en) | Trend identification systems and methods | |
| Awati et al. | An efficient top-n-items recommendation system using a hybrid optimal deep learning model |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FA | Abandonment or withdrawal |