Pregunta

Me parece a esta pregunta un poco difícil. Tal vez alguien sabe un enfoque para responder a esta pregunta. Imagine que tiene un conjunto de datos (datos de entrenamiento), que no sabe de qué se trata. ¿Qué características de la formación de datos le mira con el fin de inferir algoritmo de clasificación para clasificar estos datos? Podemos decir algo si debemos utilizar un algoritmo de clasificación no lineal o lineal?

Por cierto, estoy usando WEKA para analizar los datos.

¿Alguna sugerencia? Gracias.

¿Fue útil?

Solución

Vaya, por lo que tiene algunos datos de entrenamiento y que no sabe si usted está buscando en las características que representan las palabras en un documento o genese en una celda y hay que ajustar un clasificador. Bueno, ya que no tiene ninguna información semántica, vas a tener que hacer esto solamente por mirar propiedades estadísticas de los conjuntos de datos.

En primer lugar, formular el problema, esto es más que lineal vs no lineal. Si usted está realmente en busca de clasificar estos datos, lo que realmente necesita hacer es seleccionar una función kernel para el clasificador que puede ser lineal o no lineal (Gaussian, polinómicas, hiperbólicas, etc. Además, cada función del núcleo puede tomar uno o más parámetros que habría que ajustar. Determinación de una función del núcleo óptimo y conjunto de parámetros para un problema de clasificación dada no es realmente un problema resuelto, hay heurística sólo es útil y si se busca en Google 'de seleccionar una función del núcleo' o 'elegir kernel función', que será tratado a muchos trabajos de investigación que propone y prueba diversos enfoques. Si bien hay muchos enfoques, uno de los más básicos y muy transitada es hacer un descenso de gradiente sobre la parameters-- básicamente intenta un método y un núcleo conjunto de parámetros, tren en la mitad de los puntos de datos y ver cómo le va. Luego se trata de un conjunto diferente de parámetros y ver cómo lo haces. te mueves los parámetros en la dirección de la mejor mejora en la precisión hasta llegar satis resultados conservadores.

Si usted no necesita pasar por toda esta complejidad para encontrar una buena función del núcleo, y simplemente quieren una respuesta a lineal o no lineal. entonces la pregunta viene dada principalmente por las dos cosas: los clasificadores no lineales tienen un mayor riesgo de sobreajuste (undergeneralizing), ya que tienen más dimensiones de la libertad. Ellos pueden sufrir de clasificador simplemente memorizar conjuntos de buenos puntos de datos, en lugar de dar con una buena generalización. Por otro lado un clasificador lineal tiene menos libertad para adaptarse, y en el caso de datos que no es linealmente seperable, no podrá encontrar una buena función de decisión y sufren de altas tasas de error.

Por desgracia, no sé una mejor solución matemática para responder a la pregunta "es linealmente estos datos seperable" aparte de simplemente probar el clasificador sí mismo y ver cómo se realiza. Para que usted va a necesitar una respuesta más inteligente que la mía.

Edit: Este trabajo de investigación describe un algoritmo que parece que debería ser capaz de determinar qué tan cerca un conjunto de datos dado trata de ser linealmente seperable

.

http://www2.ift.ulaval.ca/~mmarchand/ publicaciones / wcnn93aa.pdf

Otros consejos

Esto es, de hecho, dos preguntas en una sola; -)

  • La selección de características
  • lineal o no

añadir "algoritmo de selección", y es probable que tenga tres preguntas más fundamentales del diseño del clasificador.

En un aparte en cuenta que se trata de un bueno que no tiene ninguna experiencia en el campo que habría permitido a la guía de selección de características y / o hacer valer la linealidad del espacio de características. Eso es lo divertido de la minería de datos: para inferir tal información sin conocimientos a priori. (Por cierto, y al mismo tiempo experiencia en el campo es bueno volver a revisar el resultado del clasificador, el exceso de una visión a priori puede hacer que falte buenas oportunidades en la minería). Sin tal conocimiento a priori que se ven obligados a establecer metodologías de sonido y aplicar un examen cuidadoso de los resultados.

Es difícil proporcionar específica orientación, en parte debido a que muchos detalles no son tomados en la pregunta, y también porque estoy un poco BS-ing mi camino a través de este ;-). Nunca lo menos espero que el siguiente consejo genérico será útil

  • Para cada algoritmo intenta (o más precisamente, para cada conjunto de parámetros para un determinado algoritmo), tendrá que Ejecutar muchas pruebas . La teoría puede ser muy útil, pero no seguirá siendo una gran cantidad de "ensayo y error". Encontrará Validación cruzada una técnica valiosa.
    En pocas palabras, [y en función del tamaño de los datos de entrenamiento disponibles], se divide aleatoriamente los datos de entrenamiento en varias partes y entrenar el clasificador en una [o varios] de estas partes, y luego evaluar el clasificador en su desempeño en otra [o varios] partes. Para cada una de esas plazo a medir diversos indicadores de rendimiento, tales como error errores de clasificación (MCE) y aparte de que le dice cómo el clasificador realiza, estas métricas, o más bien su variabilidad va a proporcionar pistas acerca de la pertinencia de las características seleccionadas y / o su falta de escala o de linealidad.

  • Independientemente de la suposición de la linealidad, es útil a normalizar los valores de numéricos características. Esto ayuda con las características que tienen un rango impar etc.
    Dentro de cada dimensión, establecer el rango dentro de, digamos, 2,5 desviaciones estándar a cada lado de la mediana, y convertir los valores de características a un porcentaje sobre la base de este rango.

  • Convertir atributos nominales a unos binarios , creando tantas dimensiones son existen distintos valores del atributo nominal. (Creo que muchos optimizadores algoritmo va a hacer esto para usted)

  • Una vez que haya identificado una o unas pocas clasificadores con un rendimiento relativamente decente (digamos 33% MCE), lleve a cabo la misma serie de pruebas, con un clasificador por ejemplo mediante la modificación de un solo parámetro a la vez. Por ejemplo eliminar algunas de las características, y ver si el, inferior clasificador dimensionalidad resultante mejora o se degrada.

  • La factor de pérdida es un parámetro muy sensible . Tratar de seguir con un valor de "reasonnable" pero posiblemente subóptimo para la mayor parte de las pruebas, afinar la pérdida al final.

  • Aprende a explotar la información "volcar" proporcionada por los optimizadores de SVM. Estos resultados proporcionan información muy valiosa sobre lo que el optimizador "piensa"

  • Recuerde que lo que funcionó muy bien facturan con un determinado conjunto de datos en un dominio determinado puede realizar muy mal con los datos de otro dominio ...

  • El café es bueno, no demasiado. Cuando todo falla, lo convierten en Irlanda; -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top