Algoritmo de aprendizaje automático para clasificar

10

Tengo un conjunto de elementos que puedo describir de acuerdo con n características. Así:Xn

xi:{ci1,ci2,,cin}xiX

donde es la evaluación (numérica) para el elemento acuerdo con las características . Por lo tanto, mis elementos pueden verse como puntos en un espacio de dimensiones. i j ncijijn

De acuerdo con mis lecturas, existen algoritmos como el "Clasificador Bayes" que me puede proporcionar un tipo de respuesta "sí" o "no" en cualquier elemento de mi conjunto, siempre que haya utilizado un "conjunto de entrenamiento" compuesto por algunos elementos de mi conjunto y el resultado esperado del algoritmo. Con base en esos datos, el algoritmo debería ser capaz de tomar cualquier otro elemento, que no sea parte del conjunto de entrenamiento, y proporcionar una respuesta de "sí" o "no" en función de lo que aprendió gracias al conjunto de entrenamiento. Esto es genial si tienes algún tipo de idea de lo que esperas (conjunto de entrenamiento) pero no estás seguro de las reglas específicas que producen ese resultado.

Lo que me gustaría hacer con mis datos no es obtener un tipo de respuesta "sí" o "no", pero me gustaría introducir una clasificación dentro de los elementos. Algunos de ellos son "mejores" que otros. Al igual que para el filtro Bayes, tengo una idea genérica de lo que espero. Por lo tanto, podría generar una "clasificación de entrenamiento" tomada de un subconjunto de mis elementos, que me incorporaría al MLA. En base a ese entrenamiento, podría clasificar mi conjunto completo.

Para hacer eso veo dos enfoques:

  1. A cada elemento se le otorgará una puntuación por el MLA, luego clasificar los elementos de acuerdo con la puntuación.
  2. El MLA podría tomar dos elementos y y determinar cuál es mejor (comparaciones por pares). Utilice la clasificación rápida utilizando esa operación de comparación.x jxixj

Nota: según una puntuación, la función por pares es trivial de implementar, y según una función por pares, es trivial generar una puntuación, por lo que estos son solo dos enfoques para obtener los mismos resultados.

¿Existen ejemplos de MLA que puedan proporcionar una función de puntuación o una función de comparación por pares?

Cyoj

Así que actualmente mi proceso de diseño es:

  1. Tener una idea de lo que sería una clasificación perfecta
  2. Intente derivar (manualmente) un algoritmo que clasifique los elementos así
  3. Observa los resultados
  4. Adaptar el algoritmo

Así que pensé en los MLA ya que el punto de partida de mi proceso es lo que podría usarse como datos de capacitación. Probablemente comenzaría tomando el rango actual, intercambiando artículos según mis necesidades y alimentándolos.

chl
fuente

Respuestas:

3

Muchos algoritmos de clasificación ya hacen exactamente lo que está buscando, pero a menudo presentan sus respuestas a los usuarios en forma de un juicio binario (o n-way). Por ejemplo, SVMLight es una implementación del algoritmo de clasificación de máquina de vectores de soporte; la gente suele usar esto para hacer juicios binarios en algún conjunto de datos. Sin embargo, lo que sucede debajo del capó es que el algoritmo está asignando juicios de confianza firmados a los datos. ¡Estos están entre -1.0 y 1.0 y son lo que debe usar para clasificar sus datos!

Kyle
fuente
2

Parece que puedes usar el análisis de regresión . Además, probablemente necesite asignar puntajes (números reales) a los elementos en su conjunto de entrenamiento, si no los tiene. Aunque solo puede usar el rango como su valor objetivo, le hará obtener un modelo deficiente si solo tiene un pequeño conjunto de muestras de entrenamiento.

Peter H
fuente
0

Creo que esperas demasiado de los algoritmos de aprendizaje automático. Una computadora no puede decidir si el elemento 1 es mejor que el elemento 2 por sí solo. Lo que puede hacer un algoritmo de Machine Learning es que si le da algunos ejemplos en los que ha calificado algún elemento 1 como mejor que el elemento 2, entonces puede aprender a clasificar los elementos [1]. Pero aún necesita datos de entrenamiento donde proporcione ejemplos de elementos y con información sobre si el elemento 1 es mayor que el elemento 2 para todos los elementos en los datos de entrenamiento.

[1] http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html

TenaliRaman
fuente
Muchas gracias por el enlace. Y entiendo totalmente que tendré que proporcionar un conjunto de entrenamiento para el algoritmo para que pueda clasificar los elementos posteriores.