lunes, noviembre 21, 2005

Un caso interesante de Clasificador Lineal - Rocchio

El método de Rocchio:

Un caso interesante de clasificador lineal es aquel que utiliza el método de Rocchio. Básicamente, por que es fácil de implementar y, bajo ciertas condiciones, puede llegar a ser muy eficiente.

En este método, los clasificadores lineales utilizan un perfil explícito, esto es, un documento prototipo para la categoría con el cual se comparan. Son arreglos de pesos que representan un documento tipo basados en los pesos para cada atributo ci. Esta característica propicia que sea fácilmente interpretable por humanos.

El método calcula un clasificador
para la categoría ci,
donde

,

,



y


son los parámetros de importancia asignados a los ejemplos positivos y negativos.

Como se observa en las ecuaciones, básicamente calcula promedios de pesos, motivo por el que se justifica su eficiencia.

Pero al referirnos a la efectividad, tiene problemas con agrupaciones disjuntas de documentos



Como en el caso de la figura, el clasificador podría cometer grandes errores si el centroide no coincide con ningún documento.

Los clasificadores lineales pecan de este inconveniente precisamente porque dividen el espacio de documentos linealmente.

Mejoras al método de Rocchio

Una mejora que se puede intentar para el método de Rocchio, al crear el clasificador, es modificar el conjunto de valores negativos NEGAi. La propuesta apunta a escoger los valores que perteneceran al conjunto NEGAi, que ahora se llamará NPOSi (no positivos), y que contendrá aquellos documentos que son más cercanos a los positivos, si se quiere, los menos negativos.

Con esta modificación, la fórmula del modelo queda como:



donde el factor:



es más significante dado que son los más difíciles de separar de los positivos.

Una forma de encontrar los “cercanos positivos” es contrarrestando el centroide de los positivos, contra un documento base de los negativos. Los con menor "distancia" más altos son los elegidos.

1 comentario:

Iván Romero dijo...

Saludos,
Mi nombre es Ivan Romero, actualmente estoy interesado en diseñar un filtro antispam utilizando alguna tecnica de mineria de datos. Antes de aplicar la tecnica necesito crear una vista minable que me indique que emails son spam y cuales no, para realizar esta tarea necesito primero reconocer palabras claves, ej. Viagra, Lottery, etc; ademas se me ocurre analizar el contenido de emails spam y no spam, creo que por medio de la categorizacion de texto se puede, para asi poder visualizar el comportamiento de los spam y los no spam. Mi duda es que desconozco herramientas para tal función, ¿Que me podrias recomendar o orientar para solucionar este problema?