En la curva ROC, cualquier punto es resultado del modelo en un parámetro particular. No estoy claro por qué el adivinador aleatorio está en x = y y no siempre (0.5, 0.5). ¿También cómo interpretar el área bajo la curva?

En cuanto a cómo interpretar el área bajo la curva, esta es la mejor manera que sé para explicarlo: Aprendizaje automático: ¿Qué es una explicación intuitiva de AUC?

La respuesta a su pregunta depende del significado de “adivinanzas aleatorias”. Como dice Ferenc, ROC solo tiene sentido en el contexto de un clasificador que asigna una probabilidad a cada ejemplo, y luego hace una clasificación binaria al compararlo con un umbral.

Si quiere decir que el clasificador elige 0 o 1, con igual probabilidad, ya que la probabilidad de que cada ejemplo sea positivo, obtendrá aproximadamente su respuesta. La “curva” incluye (0,0) y (1,1) y algún punto cercano (0.5,0.5) y nada más. El valor exacto del punto en el medio depende de cuántos de los ejemplos fueron asignados aleatoriamente para ser positivos o negativos, pero debe tender a (0.5,0.5) a medida que crece el número de ejemplos, claro.

Si quiere decir que el clasificador selecciona aleatoriamente una probabilidad en [0,1], entonces la curva ROC se parece a una línea que vaga cerca de x = y. A medida que cambia el umbral, es más probable que obtenga falsos positivos como verdaderos positivos. Dada la explicación vinculada anteriormente, eso es equivalente a decir que es tan probable que pises hacia la izquierda o hacia abajo a medida que avanzas de (1,1) a (0,0). La curva exacta dependerá de las probabilidades aleatorias elegidas, por supuesto, pero tenderá a x = y a medida que crezca el número de ejemplos.

“cualquier punto es el resultado del modelo en un parámetro particular”, esta no es la mejor manera de expresarlo. Esto es lo que hace una curva ROC:

Digamos que ha entrenado un clasificador que predice la probabilidad de que la etiqueta sea 1 para cada posible ubicación x. Este es un valor continuo para cada punto. Ahora, según estas probabilidades, debe clasificar cada punto, es decir, decidir si un punto se clasifica como 1 o como -1. En otras palabras, desea convertir las predicciones continuas en predicciones binarias.

La forma en que normalmente hace esto es establecer un umbral t, y luego para cada punto comparar la probabilidad predictiva p con el umbral t. Si p> t, entonces clasifica el punto como 1, si p

El umbral t es ahora el parámetro libre que le interesa al dibujar la curva ROC. Si establece t = 1, entonces clasificará todo como -1, dando como resultado una tasa de 100% de falsos negativos (FN) y una tasa de 0% de falsos positivos (FP). Si establece t = 0 y siempre clasifica todo como +1, dando 0% FN pero 100% FP. Los valores intermedios de t obtienen valores intermedios de FP y FN, que trazan su curva ROC.

Nivel de probabilidad: si su algoritmo escupió probabilidades aleatorias de manera uniforme en [0,1], entonces aplicó el umbral con el umbral t, entonces el número de falsos positivos sería proporcional a t.

El valor óptimo de t puede derivarse del valor numérico de las pérdidas que asocie con diferentes tipos de errores. Si FP y FN son igualmente malos, entonces t = 0.5 es el umbral óptimo. si sus FP le cuestan el doble que FN que t = 2/3 es la solución ideal.

Por lo tanto, si tiene una función de pérdida particular para sus errores, lo único que debe preocuparse es el rendimiento en ese punto particular a lo largo del ROC. Sin embargo, a veces no conoce las pérdidas, y / o desea que el método sea robusto sin importar cuáles sean las pérdidas, por lo que le gustaría medir el rendimiento general en todos los puntos a lo largo del ROC. El área bajo la curva AuC es un número intuitivo que resume lo robusto que es un método.

More Interesting

¿Es posible usar 'Mínimo cuadrado (LS)' como la función objetivo cuando se trata con un problema de clasificación?

¿Cómo analizaría programáticamente una oración y decidiría si responde con "eso es lo que dijo"? Resuma un algoritmo que, dada una oración, devuelve verdadero o falso para determinar si la declaración es apropiada.

Cómo calcular la ganancia de información para cada atributo si estoy diseñando un árbol clasificador de decisiones con nodos binarios en cada derrame

¿Cuál es la diferencia entre alineación y deformación en visión artificial?

¿El rendimiento de la regresión logística se ve afectado negativamente por características altamente correlacionadas?

¿Cuál es el mejor instituto de capacitación para el aprendizaje automático en Hyderabad?

¿Por qué la similitud entre palabras generalmente se calcula a través del coseno métrico, no euclidiano?

¿Qué técnicas son buenas para suavizar los clics de las consultas de cola larga en los motores de búsqueda?

¿Cuáles son algunos buenos métodos para explorar datos de alta dimensión?

¿Qué tan lejos estamos de usar el reconocimiento de voz como interfaz de usuario en un teléfono para cerca del 100% de todas las funciones (sin entradas de teclado o deslizamiento)?

¿Cómo se construye una máquina del tiempo?

¿Hay algún lugar en la ciencia donde la biblioteca estadística de Python sea pobre o inmadura en comparación con R?

¿El reconocimiento facial basado en CNN todavía se clasificaría correctamente si la imagen facial presentada está al revés?

¿Cuáles son los mejores clasificadores de código abierto para detectar spam, basura y blasfemias en el contenido generado por el usuario, como los tweets?

¿Qué enfoque se recomienda para aprender Machine Learning?