2010-08-07 19 views
8

Actualmente estoy buscando una implementación de AdaBoost multilabel para MATLAB o una técnica para usar eficientemente una implementación de dos etiquetas para la caja multilabel. Cualquier ayuda en ese asunto sería apreciada.AdaBoost Multilabel para MATLAB

Respuesta

7

Puede utilizar el mismo enfoque utilizado en Support Vector Machines. SVMs son clasificadores originalmente binarios, se propusieron varios enfoques para la manipulación de datos multiclase:

  • uno contra todos: construir un clasificador binario por clase, y entrenar con casos en esta clase los casos positivos y todos los demás instancias como casos negativos (es decir: 1-vs-not1, 2-vs-not2, 3-vs-not3). Finalmente, use la probabilidad posterior de cada clasificador para predecir la clase.

  • uno contra uno: construir varios clasificadores binarios para cada par de clases (es decir: 1-vs-2, 1-vs-3, 2-VS-3, ..) simplemente formación durante las instancias de ambas clases. Luego puede combinar los resultados individuales usando un voto mayoritario.

  • códigos correctores de errores de salida: basadas en la teoría de corrección de errores (código de Hamming y tal), se basa en la codificación de la salida de varios clasificador binario usando algo de redundancia para aumentar la precisión.

Tenga en cuenta que estos métodos son genéricos y se pueden aplicar a cualquier clasificador binario.

lo contrario, puede buscar una implementación específica del multiclase Adaboost, que estoy seguro de que hay mucho por ahí .. Una búsqueda rápida reveló éste: Multiclass GentleAdaboosting

0

Puede utilizar Adaboost.M2, es un multiclase adaboost, puede encontrar una implementación en la caja de herramientas de Balu here el comando es Bcl_adaboost esta caja de herramientas tiene otras cosas útiles, solo recuerde hacer una referencia. Espero eso ayude.