Tengo una pregunta sobre el PU-Learning, que trata del aprendizaje a partir de datos con etiqueta positiva (sin ejemplos negativos etiquetados) y datos sin etiqueta positiva/negativa.
En particular, mi pregunta es sobre el papel Aprendizaje de clasificadores sólo a partir de datos positivos y no etiquetados . Este trabajo convierte un clasificador no tradicional $g(x)$ que se aprende a partir de conjuntos de datos etiquetados/no etiquetados y arroja la probabilidad de que un ejemplo sea etiquetado, en un clasificador tradicional $f(x)$ que arroja la probabilidad de que un ejemplo sea positivo. He implementado el primer enfoque propuesto (sección 2, "aprendizaje de un clasificador tradicional a partir de una entrada no tradicional"). Sin embargo, la probabilidad $f(x)=g(x)/p(s=1|y=1)$ se hace mayor que 1 para varios ejemplos (no debería ser mayor que 1, ya que es una probabilidad)
Para el aprendizaje del clasificador no tradicional $g(x)$ Estoy utilizando un conjunto de datos no tradicional compuesto por
- 100.000 ejemplos etiquetados elegidos al azar entre todos los datos etiquetados, y
- 100.000 ejemplos no etiquetados elegidos aleatoriamente de entre todos los datos no etiquetados.
Y para estimar $p(s=1|y=1)$ --con el primer estimador propuesto--estoy utilizando un conjunto de datos de validación compuesto por 30.000 instancias etiquetadas elegidas al azar de un conjunto de datos etiquetados separado.
Según el documento, la probabilidad $f(x)$ se garantiza que está bien formada si (1) y (2) se solapan en el espacio de ejemplos. En mi caso, (1) y (2) tienen un 20% de ejemplos superpuestos, pero sigo obteniendo probabilidades no bien formadas (>1).
¿Cómo podría conseguir una probabilidad bien definida para $f(x)$ ?
EDITAR 8/21
-
Según el documento, $g(x)$ debe ser un clasificador que produzca probabilidades correctas como su salida, como la Regresión Logística, o un clasificador calibrado como Naive Bayes/SVM, para que el enfoque funcione. Simplemente estoy utilizando el clasificador de máxima entropía (del paquete NLTK), también conocido como regresión logística. Por lo tanto, supongo que no debería haber ningún problema con esto.
-
Aunque el documento afirma que los conjuntos de datos etiquetados (1) y no etiquetados (2) para el entrenamiento $g(x)$ son "muestras de regiones superpuestas en el espacio de características", tales conjuntos de datos parecen ser disjuntos (véase el experimento de la Sección 5, P y U son disjuntos). He probado con conjuntos de datos etiquetados y no etiquetados también, pero sigo obteniendo probabilidades superiores a uno para $f(x)$ .
-
Equilibrar los conjuntos de datos tampoco supone ninguna diferencia.
-
He probado el segundo estimador propuesto (e2). Sigo obteniendo probabilidades superiores a 1 para $f(x)$ .
EDITAR 8/29
-
En la sección 5, que describe un ejemplo con datos del mundo real, tenemos un conjunto P de ejemplos etiquetados+positivos de la base de datos TCDB, y un conjunto U de ejemplos no etiquetados muestreados aleatoriamente de la base de datos SwissProt, siendo P y U disjuntos. A continuación, utilizan P,U para aprender un clasificador no tradicional. Creo que este enfoque puede aplicarse a mi problema, ya que también tengo un conjunto de ejemplos positivos, y un conjunto de ejemplos no etiquetados muestreados aleatoriamente. ¿Qué opinas?
-
He probado el tercer estimador propuesto (e3). Dado que toma la máxima probabilidad de los ejemplos del conjunto con etiqueta positiva (en mi caso, alrededor de 0,98), ya no obtengo probabilidades superiores a uno. Sin embargo, como esta estimación sólo se basa en un ejemplo y no en la media de todos los ejemplos, no me parece un buen estimador. ¿Alguna idea sobre la validez de este estimador?
Gracias