Andrew Ng aprendizaje automático (XI) - Diseño de Sistemas

En primer lugar, la construcción de correo no deseado clasificador
dar un ejemplo de clasificación de correo no deseado: Si usted quiere construir un clasificador de correo no deseado, supongamos que tenemos un poco del conjunto de entrenamiento y etiquetada.

anotaciones Incluyendo SPAM expresan como y = 1 y no-spam expresado como y = 0.

Nuestro método de aprendizaje supervisado la forma de construir un clasificador de distinguir entre el correo spam y no spam?

Con el fin de aplicar el aprendizaje supervisado, en primer lugar debemos determinar la función de correo electrónico, la estructura del vector X dado entrenamiento conjunto de características y etiquetas x, y, podemos entrenar a un determinado clasificador, como el uso de métodos de regresión logística.

Hay un número de mensajes de proceso de selección. Por ejemplo, podemos llegar a una serie de palabras que se pueden utilizar para distinguir el spam o no correo no deseado, por ejemplo, si hay mensajes que contienen la palabra "acuerdo (comercial)" "compra (compra)" "descuento (descuento)" Por lo tanto, lo más probable es un mensaje de correo no deseado, si un mensaje contiene mi nombre "Andrew", explican este mensaje, tienen menos probabilidades de ser spam. Por alguna razón, creo que "ahora (ahora)", la palabra indica, este mensaje puede no spam, ya menudo recibo algún mensaje muy urgente, por supuesto, hay otras palabras.

Podemos seleccionar cientos de tales palabras, dado un mensaje de este tipo, podemos utilizar este mensaje para representar un vector de características, el método como se muestra:
Aquí Insertar imagen Descripción

Elegí las 100 palabras que se usan para indicar la posibilidad de correo no deseado, lo que esta característica vector x dimensión es 100 y si esta palabra en particular, que aparece palabra j en este mensaje, entonces XJ cada uno valores de la variable característica es 1 si x j es 0.

Aunque este proceso que he descrito mis propios elegidos 100 palabras. Pero en la práctica más común es la práctica de atravesar todo el conjunto de entrenamiento. A continuación, en el conjunto de entrenamiento (una gran cantidad de correo no deseado), el mayor número de palabras n elegidos aparecen, n es generalmente de entre 10.000 y 50.000, y entonces estas palabras a medida que utiliza la función. Tan diferente de la selección manual, estas palabras constituyen una característica, por lo que puede utilizarlos para hacer la clasificación de correo no deseado.

Si usted está construyendo un clasificador de correo no deseado, que debe ser enfrentado con un problema de este tipo, es decir: si se va a su manera, que utilizan las mejoras, por lo que es el clasificador de correo no deseado con una alta precisión. Intuitivamente, es recoger grandes cantidades de datos, para generar este objeto de datos se llama, ¿verdad? De hecho mucha gente realmente hacer, muchas personas piensan que cuanto más mejor recopilación de datos mostrará el algoritmo.

En la clasificación de correo no deseado, se les llama "Honey Pot" proyecto. Se puede crear una dirección de correo electrónico falsa, se filtró deliberadamente estas direcciones para enviar spam personas, para que pueda recibir una gran cantidad de correo no deseado. Usted ve, este es el caso, podemos obtener una gran cantidad de correo no deseado para entrenar el algoritmo de aprendizaje, sin embargo, en las lecciones anteriores, sabemos que una gran cantidad de datos puede ser útil, o no.
Aquí Insertar imagen Descripción

Para la mayoría de los problemas de aprendizaje automático, hay muchas maneras de mejorar el efecto de aprendizaje automático. Por ejemplo, para fines de correo no deseado Se puede pensar en una más complejas variables características, como el camino de la información del mensaje. Esta información es por lo general aparece en el título del mensaje. Por lo tanto, el remitente de spam para enviar correo no deseado, siempre tratar de conseguir la fuente de algunos de los correos borrosa. O con un falso encabezados de los mensajes, o enviadas por correo del servidor inusual con rutas inusuales, pueden enviar correo basura a usted, pero la información también pueden ser incluidos en la sección de encabezado del mensaje, por lo que se pueda imaginar, que pueden construido por la parte de cabecera del mensaje de las características más complejas, para obtener una serie de mensaje de información de encaminamiento, y luego determinar si esto es un spam.

También puede pensar en otras formas, por ejemplo, desde el cuerpo del mensaje, busque algunas de las características más complejas, tales como: el "descuento" palabra y si la palabra "descuentos" son los mismos. Como otro ejemplo, la palabra "acuerdo (transacción)" y "distribuidor (distribuidor)" también debe considerarse equivalente. O incluso, como en este ejemplo, algunas palabras y algunas minúsculas en mayúsculas, puntuacion, o debemos utilizar para construir complejas características variables. Debido a que el spam puede ser más de un signo de exclamación, estos no son ciertas.

Del mismo modo, es posible construir un algoritmo más complejo para detectar o corregir esos errores ortográficos intencionales. Por ejemplo, "m0rtgage" med1cine " "w4tches"". Dado que los remitentes de spam lo hicieron, porque si pones los 4 "w4tches", entonces, de una manera sencilla mencionamos antes, los clasificadores de spam no va a "w4tches" y "relojes" como la misma, por lo que apenas se puede distinguir entre falta de ortografía intencional de correo no deseado. El spam también es muy inteligente, lo hacen para escapar de algunos de los filtros. Cuando usamos el aprendizaje de máquina, siempre "lluvia de ideas" sobre la manera de tratar de llegar a un montón de, como éste.

Por cierto, tengo algo de tiempo, estudió el problema de la clasificación de correo no deseado, de hecho, pasado mucho tiempo estudiando esto. Aunque puedo entender el problema de la clasificación de correo no deseado, lo que sí sé algunas de estas cosas, pero todavía difícil decir que estos cuatro métodos, que la mayoría van uso. De hecho, la verdad, la situación más común es que un equipo puede determinar de forma aleatoria uno de los enfoques. Pero a veces este método no es el más productivo, ya sabe que acaba de elegir al azar uno de estos métodos.

De hecho, cuando se necesita para llegar a diferentes formas de una lluvia de ideas para tratar de mejorar la precisión de que es posible que ya superado una gran cantidad de personas. Por desgracia: la mayoría de las personas no tratan de enumerar los posibles métodos. Ellos se despiertan un día por la mañana, por alguna razón, tuvieron un capricho "Vamos a tratar de recoger grandes cantidades de datos con un proyecto Honey Pot bar." Cualquiera que sea extraña razón, a la mañana tenía una idea, o un seleccionado al azar y luego secar en seis meses, pero creo que tenemos una mejor manera.

En la siguiente sección, vamos a error de análisis le indica cómo utilizar un enfoque más sistemático para seleccionar el más adecuado desde un montón de diferentes métodos.
En segundo lugar, el análisis de error
si está listo para máquina de estudio aprender algo o máquina de construcción aplicaciones de aprendizaje. Las mejores prácticas en lugar de crear un sistema muy complejo, con qué variables complejas, pero para construir un algoritmo simple. Por lo que puede poner en práctica rápidamente. Cada vez que estudio un problema de aprendizaje automático, sólo voy a pasar hasta un día para tratar de obtener rápidamente los resultados a cabo. Incluso si el efecto no es bueno, no hay ningún resultado con un sistema complejo, pero solo obtuvo rápidamente, incluso si la operación no puede ser perfecto, pero está funcionando de nuevo. Por último, los datos se comprobó mediante la validación cruzada.

Una vez hecho esto, entonces otros problemas al trazar una curva de aprendizaje y se comprueba el error para averiguar si usted tiene un problema algoritmos de alto sesgo y varianza alta, o. Después de este análisis, la decisión de volver con más datos de entrenamiento o para añadir más características variables es útil.

La razón de esto es que cuando eres nuevo en problemas de aprendizaje de máquina, es una manera buena. No se puede saber de antemano si necesita una función de variable compleja o si necesita más datos, o cualquier otra cosa, usted debe saber de antemano lo que hacer es muy difícil, ya que carecen de evidencia, la falta de la curva de aprendizaje. Por lo tanto, es difícil saber lo que debe pasar tiempo para mejorar el rendimiento local del algoritmo. Pero cuando se practica una forma muy sencilla, aunque de modo imperfecto, puede realizar selecciones adicionales al trazar una curva de aprendizaje.

Esta filosofía es que tenemos que utilizar la evidencia para dirigir nuestras decisiones, cómo distribuir su tiempo algoritmo de optimización, en lugar de sólo la intuición. Con la intuición fuera de lo que deriva de lo general siempre está mal, además de la curva de aprendizaje se dibuja, una cosa muy útil es el análisis de errores.

Cuando construimos tales clasificador estructura de correo no deseado, voy a echar un vistazo a mi conjunto de datos de validación cruzada, a continuación, ver por sí mismo lo que el mensaje fue incorrectamente clasificada algoritmo. correo no deseado, por lo tanto, estos algoritmos están mal clasificados y no spam, puede descubrir las leyes de cierta sistémica, qué tipo de mensajes constantemente se están mal clasificados. A menudo, después de hacerlo, el proceso puede inspirar a construir una nueva variable característica o decirle ahora debilidades del sistema. ¿Cómo entonces inspirar a mejorarlo.

Específicamente, aquí es un ejemplo. Supongamos que usted está construyendo un clasificador de correo no deseado. Usted tiene 500 casos, la validación cruzada se centró en, se supone en este ejemplo, el algoritmo tiene una muy alta tasa de error. Es una clasificación errónea de un centenar de ejemplo, la validación cruzada. Así que tengo que hacer una verificación manual de este error 100, y luego los clasifican a mano. Basada, por ejemplo: ¿Cuáles son estos tipos de mensajes, que pueden ayudar a las variables de este algoritmo para clasificar correctamente. En concreto se trata de identificar qué tipos de mensajes, mediante la comprobación de los cuales un centenar de mensajes mal clasificados, que podrían encontrar el mensaje más probabilidades de ser mal clasificados. El correo puede estar relacionado con las drogas, estos mensajes son básicamente la venta de drogas, o la venta de productos falsificados, como la venta de la mesa. O algunos ladrones también llamado phishing de correo electrónico y así sucesivamente. Así, en el tiempo para comprobar lo que están mal clasificados mensajes, voy a buscar en cada mensaje, contar, por ejemplo, en el que 100 de correo mal clasificados, he encontrado el 12 de correo mal clasificados y es venta de los mensajes relacionados con las drogas. 4 es la venta de productos falsificados a vender fuera de la mesa o alguna otra cosa. Entonces me encontré con que hay 53 correo electrónico de phishing de correo electrónico para engañar a los que les dice su contraseña. El restante otros 31 tipos de mensajes. Cada categoría se calcula un número diferente de mensajes, tal como se puede encontrar que el algoritmo para distinguir mensajes phishing en el momento, siempre se comportó mal. Esto demuestra que usted debe pasar más tiempo para estudiar este tipo de mensaje y, a continuación, ver si se puede construir una mejor característicos variables de este tipo de mensaje para distinguir correctamente. Al mismo tiempo, tengo que hacer es ver qué características variables puede ayudar al algoritmo de mensajes clasificados correctamente.

Suponemos que el método de clasificación puede ayudar a mejorar el rendimiento de correo electrónico es: Comprobar errores ortográficos intencionales, inusual mensaje de enrutamiento de origen, y puntuacion forma única de correo no deseado, como muchos signos de exclamación. Al igual que antes, voy a buscar manualmente estos mensajes, suponiendo que hay cinco mensajes de este tipo, este tipo de 16, 32 de este tipo, así como algunos otros tipos. Si este es el resultado que se obtiene a partir de la validación cruzada, entonces esto puede indicar falta de ortografía intencional se produce con menos frecuencia. Puede que no sea digno de su tiempo a escribir algoritmos para detectar este tipo de mensajes, pero si se encuentra una gran cantidad de correo no deseado tiene reglas de puntuación inusuales, entonces esta es una característica fuerte, usted demuestra que usted debe pasar tiempo para construir más complejo basado en variables características de puntuación. Por lo tanto, este tipo de detección es un proceso de análisis de error manual. Algoritmo de detección podría confundir a menudo puede ayudar a encontrar los medios más eficaces, lo que explica por qué siempre recomiendo a practicar una forma rápida, incluso un algoritmo imperfecto. Lo que realmente queremos es averiguar qué tipo de mensaje, este es el más difícil salir algoritmo de clasificación. Para diferentes algoritmos, diferentes algoritmos de aprendizaje automático, los problemas que encontraron, en general, siempre la misma, aunque imperfecta poco de aritmética rápida a través de la práctica. Puede encontrar rápidamente el lugar equivocado, y es difícil de identificar rápidamente algoritmo de procesamiento de excepciones. Para que pueda concentrarse en el problema real.

Por último, cuando se construye un algoritmo de aprendizaje automático, Otro truco útil es asegurarse de que tiene una forma de evaluar sus algoritmos de aprendizaje automático numéricos.

Echar un vistazo a este ejemplo se supone que deberíamos estar tratando de decidir si debe ser como "descuento" "descuentos" "tienda de descuento" "discountring" Tales palabras son tratadas como equivalentes a un método, es para comprobar las primeras letras de estas palabras. Por ejemplo, cuando se echa en pocas palabras al comienzo de estas cartas, es posible encontrar estas palabras probablemente tienen el mismo significado.

En el procesamiento del lenguaje natural, este método se llama derivada a través del software para lograr, si quieres probar usted mismo, usted puede buscar en Internet "Porter Stemmer (Porter Ley derivada)" Este es en la extracción de un tallo relativamente buen software. Este software será la palabra "descuento" "descuentos" y así sucesivamente son tratados como la misma palabra. Pero esto Stemming software comprueba sólo las primeras letras de la palabra, esto es útil.

Pero también puede causar algunos problemas. Porque: Por ejemplo, ya que el software sería la palabra "universo (universo)" y "universidad (universidad)" es también considerado como la misma palabra. Debido a que las dos palabras que comienzan con la misma letra. Por lo tanto, cuando se decida si debe usar el software proveniente de la clasificación, siempre es difícil decir el análisis de error en particular, no ayudará a decidir derivada no es un método bien.

Por el contrario, la mejor manera de descubrir el software derivado al final no sirve de nada para su clasificador, es rápidamente comienzan a tratar de mirarlo cómo comportarse en el final, con el fin de hacerlo a evaluar su valor el algoritmo es muy útil. Específicamente, se debe, naturalmente, no ser verificada mediante cruzado de la palabra derivada y la tasa de error de validación algoritmo de extracción seco. Por lo tanto, si usted no utiliza sus algoritmos derivados, por ejemplo, entonces se obtiene la tasa de errores de clasificación 5%, entonces se puede utilizar derivados para ejecutar su algoritmo, se obtiene como una clasificación de error del 3%. Entonces esto reduce una gran cantidad de errores, por lo que decide detener una manera buena, en cuanto a este problema en particular. Hay una serie de evaluaciones digitales que la tasa de error de validación cruzada, en el futuro vamos a encontrar el número de validación en este ejemplo también requiere algún tipo de procesamiento, pero podemos ver o hacer que le hará capaz de hacer más rápidamente en los próximos cursos una decisión, como si usar derivados.

Si la práctica cada vez que una nueva idea, hay que detectar manualmente estos ejemplos, ir a ver mal desempeño o buen comportamiento, entonces esto es difícil para que usted decida al final si desea utilizar derivados, entre mayúsculas y minúsculas. Pero a través de una evaluación cuantitativa del valor, se puede ver en esta figura, el error es mayor o menor.

Se puede utilizar para practicar sus nuevas ideas con mayor rapidez, que es básicamente muy intuitiva para decirle que su idea es mejorar el rendimiento del algoritmo, o hacerlo peor? Esto aumentará considerablemente la velocidad cuando la práctica algoritmos, así que recomiendo encarecidamente juego hasta la aplicación del análisis de error de validación cruzada, en lugar de en el equipo de prueba. Sin embargo, hay algunos que se va a hacer el análisis de errores en la prueba, aunque matemáticamente hablando, no es apropiado. Así que te recomiendo que hagas el análisis vector de error de validación cruzada.

Para resumir:

Cuando se estudia un nuevo problema de aprendizaje automático, siempre recomiendo que implemente una manera más sencilla y rápida, si no algoritmo tan perfecto. I la gente casi nunca vistas hacen que, a menudo están haciendo cosas: que gastar un montón de tiempo para construir de forma sencilla piensan en el algoritmo de construcción. Por lo tanto, no se preocupe por su algoritmo es demasiado simple o demasiado imperfecta, pero su algoritmo para lograr lo más rápidamente posible. Cuando se tiene la implementación inicial, se convierte en una herramienta muy poderosa para ayudar a decidir sobre la próxima práctica. Debido a que podemos echar un vistazo al algoritmo mal le hizo mirar a dónde han ido a través de análisis de errores, y luego para determinar la manera óptima. Otra cosa: suponga que tiene un algoritmo rápido no es perfecto, hay una serie de datos de evaluación, lo que ayudará a probar nuevas ideas, y rápidamente averiguar si intenta estas ideas puede mejorar el rendimiento del algoritmo así pues, usted tomar una decisión rápidamente: ¿Qué regalar en el algoritmo, lo adopte.

En tercer lugar, el número de procesamiento sesgado
con la evaluación y el error algoritmo métrico, hay una cosa importante tener en cuenta: es el uso de un error de métrica adecuada, que a veces causan efecto muy sutil en su algoritmo de aprendizaje. Esto lo importante es la clase sesgada (clases sesgadas) pregunta:

Tal como problema de clasificación del cáncer: Tenemos una característica que las variables de los pacientes médicos, queremos saber si tienen cáncer, suponemos que y = 1 indica que el paciente tiene cáncer, y = 0 asumir que no tienen cáncer.

Formamos a un modelo de regresión logística, suponiendo que utilizamos equipo de prueba, probar este modelo de clasificación, y se encontró que sólo el 1% de los errores, por lo que vamos a hacer el diagnóstico correcto 99%. Se ve muy buen resultado, pero nos encontramos en la prueba sólo el 0,5% de los pacientes en realidad tenía cáncer, por lo que en este ejemplo, la tasa de error del 1% ya no se ven tan bien.

Para un ejemplo concreto, hay una línea de código que permite y siempre es igual a 0, por lo que siempre es la predicción: el cáncer no se consiga. A continuación, el algoritmo es en realidad la tasa de error sólo el 0,5%. Así que esto es incluso mejor que la tasa de error del 1% antes de llegar. En este ejemplo, el número de muestras negativas y el número de muestras positivas en comparación con el muy, muy pequeña, nos llaman a esta situación se denomina una clase sesgada. El número de muestras en comparación con datos de la clase de otra clase, mucho más. Por siempre predicen o siempre predicen y = 0 y = 1 algoritmo puede realizar muy bien.

Así errores o clasificados usando la precisión de la clasificación como la métrica de evaluación puede causar los siguientes problemas:

Digamos que usted tiene un algoritmo que la precisión es del 99,2%. Por lo tanto, es sólo el 0,8% de error, en el supuesto de que se realizan cambios en su algoritmo, ahora se obtiene la exactitud de 99,5%, sólo el 0,5% de error. Esto al final no es un algoritmo para mejorarla? Con un número real como medida de evaluación beneficio es la siguiente: Nos puede ayudar a decidir rápidamente si tenemos que hacer algunas mejoras en el algoritmo, la precisión mejoró de 99,2% a 99,5%. Pero nosotros mejoras en el extremo es útil, o estamos simplemente reemplazado por el código. Por ejemplo y = 0 es siempre predecir tal cosa, así que si usted tiene una clase sesgada, con una precisión de la clasificación no es un algoritmo buena medida. Debido a que es posible obtener una precisión muy alta, la tasa de error muy bajo. Pero no sabemos si realmente mejorado la calidad del modelo de clasificación. Porque siempre hay predecir y = 0 no es un modelo de clasificación buena. Y = 0 pero siempre predicen su error se reducirá a tales disminuido a 0,5%.

Cuando nos encontramos con una clase tal sesgada, queremos tener una métrica de error diferente, que se llama la métrica para evaluar la precisión (precisión) y el recuerdo (recuerdo. Voy a explicar lo que estamos acostumbrados a los supuestos de prueba para evaluar un conjunto de modelo de clasificación binaria, nuestro algoritmo de aprendizaje que hacer es hacer un valor de predicción. Si hay una muestra de la clase real que pertenece a una clase predicha es 1, entonces ponemos esta muestra se llama verdaderos positivos (verdaderos positivos) algoritmo de aprendizaje para predecir un valor negativo es igual a 0, la clase real de hecho pertenecen a 0, entonces llamamos a este verdadero negativo (verdadero negativo) algoritmos de aprendizaje para predecir un valor igual a 1, pero en realidad igual a 0, esto se llama un falso positivo (falso positivo). de algoritmos valor predictivo de 0, pero el valor real es 1, se llama un falso negativo (falso negativo). de esta manera, tenemos una tabla de 2x2 basado en la categoría actual y prevista de clase, por lo que con una otra manera de evaluar el rendimiento del algoritmo.

Queremos sumar dos números, el primero se llama precisión, significa esto que para todos nuestros pronósticos, que tienen los pacientes con relación paciente de cáncer es la cantidad de sufrimiento real de cáncer.

La precisión de un modelo de clasificación = verdadero positivo / predictivo positivo = verdadero positivo / (verdaderos positivos + falsos positivos)

Cuanto mayor sea la precisión, el mejor.

Tenemos que calcular otro número, llamado la retirada. Recordemos que si todos estos pacientes en un conjunto de datos en realidad tenían cáncer, la relación de la cantidad que predijo correctamente que tenían cáncer.

Recall = verdadero positivo / verdadero positivo = verdadero positivo / (verdaderos positivos + falsos negativos)

Del mismo modo, cuanto mayor sea la velocidad, mejor será la retirada.

Mediante el cálculo de la precisión y recordar, sabemos mejor: el modelo de clasificación bien al final.

En cuarto lugar, el valor crítico
Ejemplos de clasificación de cáncer, si queremos en caso de que son muy seguros, la única predecir que un paciente tiene cáncer, una manera de hacer esto es modificar el algoritmo. Vamos a valor ya no crítico a 0,5, tal vez, que acabamos de hacer predecir y = 1 es mayor que o igual al valor de h (x) en el caso de 0.7, el modelo de regresión por lo que tiene una precisión alta y más baja el índice de repetición.

Debido a que, cuando hacemos predicciones, damos sólo una pequeña fracción de los pacientes predicho y = 1. Ahora tenemos esta situación exagerando un poco, establecer el umbral en 0.9, sólo en el caso de al menos el 90% seguro de que este paciente con cáncer, predecir y = 1. Por lo que estos pacientes tienen una gran proporción de verdadero sufrimiento de cáncer, por lo que esta es una alta precisión del modelo de búsqueda. Sin embargo, el índice de repetición es bajo, porque queremos ser capaces de detectar correctamente a los pacientes con cáncer.

Consideremos ahora un ejemplo diferente. Supongamos que queremos evitar perderse las personas con cáncer que queremos evitar falsos negativos. En concreto, si un paciente tiene cáncer en realidad, pero no le hemos dicho que tenía cáncer, y que esto podría tener graves consecuencias. En este ejemplo, vamos a establecer umbrales más bajos, tales como 0,3. En este caso, vamos a tener un índice de repetición más altas y menor precisión de modelo.

En general, por lo tanto, la mayor parte del modelo de regresión, que hay que sopesar la precisión y la recuperación:

Aquí Insertar imagen Descripción
Cuando se cambia el valor del umbral, estoy aquí dibujé un valor crítico, se puede dibujar una precisión y la recuperación disyuntiva curva. Un valor aquí representan un valor umbral más alto, este umbral puede ser igual a 0,99. Suponemos que sólo la predicción y = 1 sólo cuando hay certeza de mayor que 99%, la posibilidad de al menos 99%. Así que en este punto la velocidad de reacción recuerdo alta precisión. Sin embargo, un punto aquí representan un umbral inferior, por ejemplo 0,01. No hay duda de que la predicha y = 1. Si lo hace, usted termina con muy poca precisión, pero un índice de repetición superior.

Cuando se cambia el umbral, si lo desea, puede dibujar todos los modelos de curva de regresión para ver si usted puede conseguir un rango de tasas de precisión y la recuperación. Por cierto, la precisión - curva de recuperación puede ser una variedad de diferentes formas, a veces se parece, así que a veces. Precisión - recuerdo curva de forma que hay muchas posibilidades, dependiendo del modelo de regresión algoritmo específico. Así Esto plantea otra cuestión interesante que no hay manera de seleccionar automáticamente el valor crítico o, en términos más generales, si tenemos diferentes algoritmos o ideas diferentes, ¿cómo se comparan diferentes precisión y recordar que?
Aquí Insertar imagen Descripción

En concreto, supongamos que tenemos tres diferentes algoritmos de aprendizaje, o tres curva de aprendizaje diferente es el mismo algoritmo pero con diferentes umbrales. ¿Cómo decidir qué método es mejor, hemos hablado antes en el que una cosa es la importancia de las mediciones de evaluación.

La idea es reflejar su modelo de regresión a través de un número específico al final la forma. Pero los problemas de precisión y recordar, no podemos hacer eso. Porque aquí tenemos dos números pueden juzgar. Por lo tanto, a menudo tenemos que hacer frente a una situación de este tipo, si estamos tratando de comparar el algoritmo 1 y el algoritmo 2, que finalmente te preguntas al final es la precisión y la recuperación de 0,4 a 0,5 es bueno, o mejor dicho con una precisión de 0,7 buena memoria de 0,1, o cada vez que se diseña un nuevo algoritmo, usted tiene que sentarse y pensar: en el buen final de 0,5, 0,4 o bueno? O mejor 0,7, 0,1 o bueno? Si finalmente se sienta a pensar que sí, esto va a reducir su velocidad de toma de decisiones: es útil pensar en el final lo que los cambios se deben incorporar en su algoritmo. Por el contrario, si tenemos una medida de evaluación, un número puede decirnos al final es bueno o Algoritmo 1 Algoritmo 2 buena. Esto nos ayudará a determinar con mayor rapidez qué algoritmo es mejor, pero también para ayudarnos a evaluar con mayor rapidez diferentes cambios en lo que debe ser integrado en el algoritmo en el interior, entonces ¿cómo podemos obtener esta métrica para evaluarla?

Usted puede tratar de una cosa es el cálculo de las tasas medias de precisión y la recuperación, con P y R para representar la precisión y la recuperación, que podría hacer es calcular su promedio, echar un vistazo a lo modelo tiene el promedio más alto. Pero esto puede no ser una buena solución, porque el mismo que el ejemplo anterior, si siempre predictivo basado en modelos de regresión y = 1 que hagamos para que pueda obtener muy alto índice de repetición, para obtener una precisión muy baja. Por el contrario, si el modelo es siempre predecir y = 0 Es decir, si rara vez se predicen y = 1, correspondiente al establecer un umbral alto. Por último, obtendrá una muy alta precisión y velocidad de recuperación muy baja.

Los dos casos extremos: un umbral muy alto, hay un umbral muy bajo, cualquiera de ellos no es un buen modelo.

Por el contrario, hay una forma diferente de precisión y recordar combinación, llamado F valor, una fórmula es. En este caso, F es un valor. Podemos juzgados por el valor del algoritmo F F 1 tiene el valor más alto, el segundo algoritmo 2, Algoritmo 3 es la más baja. Por lo tanto, el valor F, vamos a elegir el algoritmo en estos algoritmos 1, valor F es también llamado el valor de F1, F1 valor general de la escritura, pero en general, sólo se dice valor de F, que será considerado como parte de la definición de la precisión y la recuperación promedio. Pero va a dar a la investigación, un tipo bajo valor de precisión de peso y memoria superior.

Por lo tanto, se puede ver el valor de F molécula es el producto de la precisión de la búsqueda y recuperación, por lo que si la precisión es igual a 0, o el índice de repetición es igual a 0, F valor será igual a cero. Se combina la precisión y la recuperación, por un valor mayor F, precisión y la recuperación tienen que ser grandes.

Debo decir que la fórmula se puede combinar con más precisión y la recuperación, la fórmula de valor de F es sólo uno de ellos. Pero por razones históricas y hábito que la gente usa en la máquina de aprendizaje valor F, el valor F de este plazo, no hay ningún significado especial, por lo que no se preocupe por él en el extremo por qué se llama el valor F o el valor de F1, pero le da lo que necesita de manera efectiva.

Debido a que tanto la precisión igual a 0, o el índice de repetición es igual a 0, se obtendrá un valor muy bajo F. Así que si usted desea conseguir un alto valor de F, precisión y remitir su algoritmo para estar cerca de la unidad. En concreto, si p = 0 o R = 0, el valor será igual a su F0, por un valor perfecto M, si la precisión es igual a 1, mientras que el índice de repetición es igual a 1, que se obtiene el valor de F 1 es igual a 1 dividido por 2 y, a continuación, multiplicado por 2. A continuación, el valor de F es igual a 1, si usted puede conseguir la precisión más perfecta y el recuerdo, en medio de los valores 0 y 1, que a menudo modelos de regresión más frecuentes puntuación.

En este video, hablamos sobre cómo equilibrar la precisión y la recuperación, y cómo podemos cambiar el umbral para decidir si queremos predecir y = 1 o y = 0, por ejemplo, es necesario un nivel de confianza del 70% o 90% u otro umbral se predijo y = 1, variando el umbral, se puede controlar después de sopesar la precisión y recordar que hablamos sobre el valor M, que pesaba precisión y velocidad de recuperación, le da una evaluación métrica, por supuesto, si su objetivo es seleccionar automáticamente el umbral para decidir lo que quiere predecir y = 1 o y = 0, entonces un enfoque más ideal es evaluar estos diferentes umbrales, el valor F más alta en la prueba de conjunto intersección, que una mejor manera es seleccionado automáticamente umbral.

En quinto lugar, el uso de grandes conjuntos de datos
demostró, bajo ciertas condiciones, para obtener grandes cantidades de datos, y la formación de algún tipo de algoritmo de aprendizaje. Puede ser una manera eficaz de conseguir un algoritmo de aprendizaje tiene un rendimiento bueno. Y esta situación se produce a menudo bajo son verdaderas para su pregunta estas condiciones, y se puede obtener una gran cantidad de datos, esto puede ser una buena manera de conseguir algoritmo de aprendizaje muy alto rendimiento.

Cuento una historia: Hace muchos, muchos años, dos investigadores que saben Michele Banko y Eric Brill llevaron a cabo un estudio interesante. Ellos están interesados ​​en el estudio del efecto del uso de diferentes algoritmos de aprendizaje, y utilizarán estos resultados para los diferentes conjuntos de datos de entrenamiento, comparando los dos, cuando consideran la cuestión de cómo clasificar entre las palabras confusas.

Por ejemplo, en esta frase: Me comí un desayuno de huevos (a, dos, también) en este caso, el desayuno que se comió dos huevos. Este es un ejemplo de una palabra confusa. Este es otro conjunto de circunstancias, por lo que poner este problemas de aprendizaje de máquina, como una clase de problema de aprendizaje supervisado, y tratar de clasificar. ¿Qué tipo de palabras inglesas en una ubicación específica frase es apropiada.
Aquí Insertar imagen Descripción

Se eligieron cuatro algoritmos de clasificación, estos algoritmo específico no es importante, lo que hacen es cambiar el tamaño del conjunto de datos de entrenamiento, y tratar de aprender estos algoritmos para diferentes tamaños de la formación conjunto de datos, este es el resultado que obtuvieron. La tendencia es muy clara, en primer lugar, la mayor parte de los algoritmos tienen un rendimiento similar. En segundo lugar, con un incremento en el conjunto de datos de entrenamiento, el rendimiento de estos algoritmos están también aumenta correspondientemente.

De hecho, si decide seleccionar un algoritmo de "inferior", más datos si se dan los algoritmos inferiores. Bueno, puede ser más alto que el "algoritmo de excelencia" mejores resultados como éstos dan lugar a un consenso general en el aprendizaje de la máquina: "La persona de éxito no es el propietario del mejor algoritmo, pero que tiene la mayor cantidad de datos ". Así que esta afirmación es cierta en qué momento, qué hora es falso?

Si usted tiene una gran cantidad de datos, pero se entrena un algoritmo de aprendizaje con muchos parámetros, entonces esto sería una manera buena para proporcionar un algoritmo de aprendizaje de alto rendimiento.

Creo que la prueba clave, a menudo me pregunto, ante todo, un experto humano puede ver los valores característicos de confianza x valor previsto de ella? Dado que esto puede probar y se puede predecir con precisión de acuerdo con el valor característico x. En segundo lugar, podemos conseguir realmente un gran conjunto de conjunto de entrenamiento y una gran cantidad de parámetros de algoritmo de aprendizaje en este entrenamiento centrado en la formación? Si no puede hacer ambas cosas, por lo que con más frecuencia. Obtendrá un muy buen desempeño del algoritmo de aprendizaje.
Referencia: 10 Machine Learning (Andrew Ng): el aprendizaje de máquina de diseño del sistema
Andrew Ng Machine Learning

Publicado 80 artículos originales · ganado elogios 140 · vistas 640 000 +

Supongo que te gusta

Origin blog.csdn.net/linjpg/article/details/104176061
Recomendado
Clasificación