Suplemento de notas de aprendizaje automático de aprendizaje automático de Wu Enda (345678 semana 11)

Debido a que el aprendizaje automático de Wu Enda ya se ha resumido en detalle y cuidadosamente, pero para facilitar la consulta, escriba aquí: esquema, puntos a los que prestar atención y pensamientos ocasionales, y la primera, segunda y tercera semanas no se complementarán.

Portal:
Semana 3,
Semana 4,
Semana 5,
Semana 6,
Semana 7 (Lo escribí pero no lo guardé, FML)
Semana 8, Semana
9 (Lo escribí en la primera mitad pero no lo guardé, así que Ya no lo escribo, si quieren leerlo le toca a los demás Cierto)
Semana 10 (Lo vi en el camino, y luego no recuerdo nada, veamos el ppt)
Semana 11

semana 3

Clasificación y Representación – Clasificación
Para intentar la clasificación, un método es usar la regresión lineal y mapear todas las predicciones mayores a 0.5 como un 1 y todas las menores a 0.5 como un 0. Sin embargo, este método no funciona bien porque la clasificación no es en realidad un Función lineal
La razón para no usar un modelo lineal para la clasificación binaria (0/1) es que, por lo general, los datos no serán lineales (separables).


Modelo de regresión logística: función de costo simplificada y descenso de gradiente La
función logística J (función de costo) es diferente de la J lineal:
inserte la descripción de la imagen aquí
la razón principal es que h(z) no es lineal, por lo que su derivada no es una función convexa (¿qué lógica es esta? ? ?De todos modos, él no es una función convexa):
inserte la descripción de la imagen aquí
Si hace esto directamente, puede caer en una solución óptima local, por lo que necesita cambiar la forma de J. Después de derivar esta J a theta, se encuentra que la forma es lo mismo que lineal al final: por supuesto que es
inserte la descripción de la imagen aquí
solo que las expresiones parecen ser las mismas, porque las funciones J y h son diferentes de lineales.


Modelo de regresión logística: la optimización avanzada
tiene algunas funciones integradas, que son muy convenientes:
inserte la descripción de la imagen aquí
no puedo evitar recordarlo.


Clasificación multiclase: uno contra todos
Aquí hablamos de problemas de clasificación multiclase, el método de 1 contra todos:
inserte la descripción de la imagen aquí
y cambia de la clase simple 0/1 a 0~n, y luego la función h también cambia
0~n en el esquina superior derecha para corresponder a y 0 ~ n. Después de leerlo, no sé cómo escribir el código. Escriba y dibuje, de hecho, theta no debe ser un vector, debe tener la forma de una matriz, por ejemplo:
θ 0 0 θ_0^0i00 θ 1 0 θ_1^0i10 θ 2 0 θ_2^0i20
θ 0 1 θ_0^1i01 θ 1 1 θ_1^1i11 θ 2 1 θ_2^1i21

Tal θ θθ tiene la forma de 2x3, y el número en superíndice es el superíndice correspondiente a h, lo que indica la función h (probabilidad) de la y correspondiente; el número en subíndice corresponde al número de parámetros: θ 0 x 0 + θ 1 x1 + θ 2 x 2 θ_0x_0+θ_1x_1+θ_2x_2i0X0+i1X1+i2X2. De esta forma, usando las propiedades de la matriz, en realidad es h θ = theta ∗ X h_θ = theta*Xhi=la t a _ _X (X se establece como un vector de columna: 3x1), pero aquíh θ h_θhiHay múltiples (0~n) solamente.

La respuesta estadística es comparar cuál h es la mayor después de sustituir x, y elegir la y representada por esa h.


Resolviendo el problema del sobreajuste: regresión lineal regularizada
inserte la descripción de la imagen aquí
这里J θ J_θjiHay un signo menos. . . De hecho, se menciona un signo negativo en la fórmula anterior (los ejercicios en el video están mal hechos):
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Entonces la regularización es agregar este recuadro magenta al reverso.


semana 4

Redes neuronales: representación del modelo I
Los parámetros "theta" a veces se denominan "pesos".
Los parámetros theta también se denominan "pesos", aquí se denominan "parámetros"

Redes neuronales: representación del modelo II
inserte la descripción de la imagen aquí
Tenga en cuenta que aquí, θ 10 (2) , θ 11 (2) , θ 12 (2) , θ 13 (2) , el subíndice es 1x y el superíndice es (2), lo que significa que el parámetro θ es Theta de la capa (2), y luego la salida No. 1 de la capa (2)+1=(3), la entrada es la entrada x-ésima de la capa (2), donde el superíndice (2) está escrito un poco como (1), y luego obviamente encontré que 1x habla primero de la salida y luego de la entrada. No estoy acostumbrado. Creo que es mejor hablar primero de la entrada y luego de la salida. Sin embargo, la dimensión (largo multiplicado por ancho) de θ es 1 multiplicado por max(x), 1 es el número de nodos en la capa de salida y max(x) es el número de nodos en la capa de entrada, que corresponde exactamente , que consiste en escribir primero la salida y luego la entrada el motivo.


Aplicación – Ejemplos e Intuiciones II
Aquí quiero que la red neuronal llegue a la fórmula: x1 XNOR x2, XNOR NO es XOR, la inversión de XOR, es decir, lo mismo es 1, es decir, 1 y 1 son 1
, 0 y 0 son 1, por lo tanto, es (x1 Y x2) O ((NOT x1) Y (NOT x2) ) Las
tres cifras en la primera fila a continuación contienen la operación de la fórmula anterior, donde a1 es la representación de la función AND, y a2 es la representación de la función NOT AND, h θ h_θhiEs la representación de la función OR, y luego, en la imagen de la izquierda de la segunda línea, la red neuronal comienza a combinar estos tres pesos y los marca con los colores correspondientes, lo cual es sorprendente:)
inserte la descripción de la imagen aquí


semana 5

Función de costo
En la parte de regularización, después de los corchetes, debemos tener en cuenta múltiples matrices theta. El número de columnas en nuestra matriz theta actual es igual al número de nodos en nuestra capa actual (incluida la unidad de polarización). El número de filas en nuestra matriz theta actual es igual al número de nodos en la siguiente capa (excluyendo la unidad de polarización). Como antes con la regresión logística, elevamos al cuadrado cada término. θ ab es la dimensión axb, y a
representa el número de nodos en el siguiente número de capa, b representa el número de nodos en la capa actual (no incluye la unidad de polarización, solo ese 1).


Algoritmo de retropropagación
inserte la descripción de la imagen aquí
bp 中δ δLa derivación de δ se basa encero conceptos básicos, aprendizaje profundo,
atención aδ 1 δ_1d1Se actualiza sin bp
inserte la descripción de la imagen aquí
no entiendo esto △ △ (delta) Cómo actualizar
Al final, siento que todavía necesito aprender un poco más, así que fui a ver el proceso de derivación de otras personas:
Derivación y diagrama intuitivo del algoritmo Backpropagation
Cita una oración:

El propósito del algoritmo BP es proporcionar valores de gradiente para funciones de optimización (como descenso de gradiente, otros métodos de optimización avanzados), es decir, utilizar el algoritmo BP para calcular el valor de la derivada parcial de la función de costo (función de costo) para cada parámetro, y su forma matemática es: ∂∂ Θ(l)ijJ(Θ), y el valor final se almacena en la matriz Δ(l).


semana 6

inserte la descripción de la imagen aquí
La d en esta sección se refiere al grado del polinomio, el número de términos del polinomio (de θ0)


Esta semana hablé sobre cómo usar algunos métodos para determinar λ y d.
inserte la descripción de la imagen aquí
No entiendo muy bien la pregunta en esta sección , miré las notas de otras personas : inserte la descripción de la imagen aquí
siento que es porque es el θ que se seleccionó en el entrenamiento final, entonces este θ es el d que lo empareja, entonces será mejor que la situación bajo la prueba Es un poco complicado, de todos modos, hay una relación entre θ y d, y luego la relación entre J cv y d es mayor que la de J test , por lo que es mejor.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Ejercicio, aquí hay un error loco, el último conjunto más pequeño debe apuntar a una alta varianza, lo que significa "usar menos funciones" .

Para resumir algunas preguntas:

  1. Cómo dividir E cv y E tren :
    inserte la descripción de la imagen aquí
    Es decir: (establezca el elemento del polinomio con el mayor grado m)
    encuentre el óptimo θ 1 a θ m θ_1 a θ_m correspondiente al elemento del polinomio d=1~m en el conjunto de entrenamiento equipo de pruebai1a thetam, y luego use los datos del conjunto cv para encontrar el θ óptimo entre los m θ, que se denota como θ d θ^did , d es el polinomio (exponente) con el error más pequeño en el polinomio, y luego coloque este θ en el conjunto de prueba para probar:
    inserte la descripción de la imagen aquí

  2. ¿Por qué usar para dividir E cv y E test , principalmente para descubrir dónde el algoritmo no es bueno? Con estos dos errores, puede distinguir si es alto bais (alta desviación (ajuste insuficiente)) o alta varianza (alta varianza (sobreajuste) ):
    según d (exponente del término más alto del polinomio):
    inserte la descripción de la imagen aquí
    según N (número de muestras):
    inserte la descripción de la imagen aquí


Análisis de errores
Esta sección habla sobre el análisis de errores:
inserte la descripción de la imagen aquí
en primer lugar, necesitamos hacer un algoritmo simple (incluso si el efecto no es muy bueno, no importa), y luego hablar sobre las curvas de aprendizaje para juzgar si hay más datos o más funciones. son necesarios, etc., etc. Luego inicie el Análisis de errores: es seleccionar manualmente los puntos comunes de los datos mal clasificados, y luego ver si desea agregar nuevas características o ajustar características, descubrir las ventajas y desventajas de su propio algoritmo. , y guíese para descubrir formas de mejorar su propio algoritmo. En este caso, con un poco de esfuerzo, la dirección será clara, en lugar de optimizar ciegamente sin dirección.
inserte la descripción de la imagen aquí
Por ejemplo, para los buzones de spam clasificados que están mal clasificados
(i), el tipo de correo mal clasificado se verá
en (ii), y el correo mal clasificado tendrá características comunes

inserte la descripción de la imagen aquí
Por supuesto, por ejemplo, si desea extraer las raíces de algunas palabras, la mejor manera es comparar la tasa de error con y sin extracción, para que pueda saber si es bueno o no.
Finalmente, la verificación de estas tasas de error debe verificarse en el conjunto cv, no en el conjunto de prueba.
En resumen, el algoritmo diseñado al principio debe ser simple. Después de verificar las mejoras con varios métodos, pruebe varias mejoras e ideas nuevas en el conjunto de cv. En lugar de diseñar un algoritmo muy complicado desde el principio, será molesto modificarlo y la dirección puede estar sesgada.
inserte la descripción de la imagen aquí


Si hay una muestra, y=1 es una persona que padece cáncer, podemos saber que la probabilidad de y=1 es muy pequeña, entonces no tenemos muy claro si la tasa correcta de nuestro algoritmo ha mejorado (llamadas Clases sesgadas , clase sesgada), porque y es muy pequeña, por lo que si el algoritmo realizado es 1% incorrecto, y la situación real es que solo el 0,5% de las personas y=1, entonces si todos juzgamos y=0, la tasa correcta es 100 % De esta forma, muestra que cuando hacemos algunas modificaciones para mejorar la tasa de precisión, no podemos saber si la modificación que hicimos es tan mala como asignar directamente el resultado y a 0: en este momento, para datos asimétricos, necesitamos
inserte la descripción de la imagen aquí
usar Precision (tasa de precisión) y Recall (tasa de recuperación), si ambas tasas son altas, es un buen algoritmo. Porque si establece y en 0, el recuerdo aquí es 0, y este algoritmo no es bueno.
inserte la descripción de la imagen aquí
precisión: para aquellos que dicen que tienen cáncer, realmente tienen cáncer
recuerdo: aquellos que tienen cáncer son correctamente diagnosticados como cáncer,
pero la precisión y el recuerdo son inversamente proporcionales entre sí, y ambos no pueden ser altos. ser menos mal diagnosticado y sufrir menos de cáncer, debería La precisión debe ser mayor, y si desea que se pierdan menos personas con cáncer, el recuerdo debe ser mayor (no sé cómo mirar hacia atrás en la explicación y definición de las dos tasas en la figura anterior). Pero si quieres medir, puedes usar F (o F 1 F_1F1) = 2PRP + R \frac{2PR}{P+R}P + R2 P R(y así sucesivamente) para que ambas tasas sean lo más altas posibles.

Finalmente, cuando los datos son grandes, si se cumplen los siguientes dos teoremas, Jtrain será pequeño y Jtrain es aproximadamente igual a Jtest, por lo que Jtest también será pequeño, es decir, los datos grandes son útiles para el entrenamiento de algoritmos.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí


semana 7

Lo escribí pero no lo guardé.


semana 8

No hay resumen, recuerda 8.
* Convención del algoritmo K-Means Algoritmo K-Means en aprendizaje no supervisado, x(i) es n-dimensional, elimine x 0 = 1 x_0 = 1
X0=1 acuerdo.
inserte la descripción de la imagen aquí
μ es un vector n-dimensional, y escuché que escribir R^n de esta manera significa vertical.
inserte la descripción de la imagen aquí


Parte PCA (Análisis de componentes principales)

Motivación I:
Compresión de datos compresión de datos: si algunas características están altamente correlacionadas, se pueden comprimir.
Por ejemplo, dos características, centímetros y pies, son en realidad una cosa, y luego pueden expresarse linealmente (aunque hay un pequeño error), por lo que dos características pueden expresarse con una línea, o puede haber solo una de ellas. las dos características representan la representación, R 2 R^2R2 se puede reducir aR 1 R^1R1
inserte la descripción de la imagen aquí
Tridimensional es convertirse en un plano bidimensional:el proceso del
estilo audaz
algoritmo de análisis de componentes principales. No se da prueba aquí, pero está bien saber que el punto es comprimir alto dimensional a bajo dimensional. u se refiere al vector comprimido y z se refiere al valor de x para el vector comprimido. (aquí x se refiere a la matriz grande). El primer paso es normalizar primero y luego realizar el escalado de características. Hay una función svd que nos resulta conveniente para obtener el vector U. La matriz X azul de la derecha está organizada en un grupo de filas, por lo que la aplicación real es la fórmula del cuadro azul. Entonces, si K-means usa PCA, recuerde que no existe tal convención como x0. Este sigma es la covarianza, preste atención para distinguirlo del símbolo de suma, y ​​luego la definición de covarianza se puede encontrar en el libro de álgebra lineal. Reconstrucción a partir de Representación comprimidareconstrucción: Reconstrucción de los datos originales, recuperar x de z, tenga en cuenta que también es un valor aproximado:Elección del número de componentes principales¿Cómo elegir k en PCA? Aquí hay una fórmula. Si esta fórmula es menor que 0.01, podemos decir "Elegí el parámetro k tal que se conserva el 99% de la varianza". "Por lo general, puede reducir en gran medida la dimensionalidad de los datos y aún así retener la mayor parte de la variación porque en la mayoría de los datos del mundo real, muchas variables de características están altamente correlacionadas". Lo que necesita ser optimizado aquí es




**Estilo atrevido**

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí


inserte la descripción de la imagen aquí

1 metro Σ yo = 1 metro ∣ ∣ x ( yo ) − xaprox ( yo ) ) ∣ ∣ 2 \frac{1}{m}\Sigma^m_{i=1}||x^{(i)}-x_ {aprox.}^{(i))}||^2metro1Syo = 1mx( yo )Xaproximadamente _ _ _ _ _( yo ) )2
inserte la descripción de la imagen aquí
Entonces hay un método más fácil:
inserte la descripción de la imagen aquí
a la izquierda, K comienza violentamente desde 1 y ejecuta PCA cada vez hasta que encuentra la desigualdad. A la derecha está ejecutar svd cada vez, y luego usar la matriz S interna para satisfacer la desigualdad en la esquina inferior derecha. En este caso uno es ejecutar PCA y el otro es ejecutar svd, obviamente este último es más rápido y recomendable.


Tres beneficios de los Consejos para Aplicar PCA
inserte la descripción de la imagen aquí
PCA: Sin embargo, no se recomienda utilizarlo para overfitting, esto debe hacerse con regularización. Dado que la regularización es determinista, no pierde datos en comparación con el PCA no supervisado.
inserte la descripción de la imagen aquí
Aunque PCA es muy bueno, no use PCA al mismo tiempo. Use primero los datos originales. Si realmente no es bueno, necesita PCA para acelerar o algo así, y luego use PCA. Las razones son las anteriores.
inserte la descripción de la imagen aquí
Nota: hay un proceso de PCA en la figura anterior:
primero PCA los datos del tren, luego convierte los datos en cv o conjunto de prueba en z de acuerdo con u, y luego ejecuta la hipótesis en él.


semana 11

Obtener muchos datos y datos artificiales
A veces no podemos obtener tantos datos, podemos extraerlos manualmente:
el primer método es crear nuevos datos desde cero,
el segundo método es pasar un conjunto de entrenamiento más pequeño a través de Transformado a convertirse en un conjunto de entrenamiento más grande. Por ejemplo, las letras son datos. Puede sacar letras en diferentes fuentes y pegarlas en diferentes fondos. Se pueden obtener diferentes fuentes de forma gratuita en muchos sitios web.
inserte la descripción de la imagen aquí
O para cambiar la forma de las letras:
inserte la descripción de la imagen aquí
vale la pena señalar que si se trata de agregar un ruido puramente aleatorio y sin sentido, no tiene un significado positivo para el entrenamiento.
inserte la descripción de la imagen aquí
En cuanto al reconocimiento de voz, también puedes añadir un poco de ruido al sonido original para entrenar:
inserte la descripción de la imagen aquí
antes de decidirte a ampliar los datos, primero debes pensar en estas dos cuestiones:
inserte la descripción de la imagen aquí

  1. Antes de expandir los datos, asegúrese de que su clasificador sea **sesgo bajo (low bias) high variance (high variance)** (dibuje la curva de aprendizaje para ver), si es de alto sesgo, debe agregar las características apropiadas. Asegúrese de que su clasificador realmente se pueda mejorar después de entrenar con una gran cantidad de datos, en lugar de dedicar tiempo a recopilarlos y descubrir que el efecto no es muy bueno.
  2. Siempre pregunte cuánto tiempo lleva obtener 10 veces los datos. Podemos estimar que si una etiqueta se completa en 10 segundos, entonces cuántos datos puede obtener cada persona en un día y una semana. O contratar a alguien para que lo haga. Por lo general, resulta que no lleva mucho tiempo.

Análisis de techo: en qué parte de la tubería trabajar a continuación
(análisis de techo, de hecho, creo que debería llamarse mejor análisis de límite superior, la tubería es ese flujo de trabajo)

**Si quieres hacer un desarrollo (aprendizaje automático o algo así), lo más preciado es el tiempo, y debes planificar tu tiempo. **No pase semanas y meses descubriendo que no ayuda mucho con el rendimiento del sistema.

Se puede usar: análisis de techo, se realizan las siguientes tres partes, ahora tenemos que elegir cuántas personas asignar a estas tres partes para la optimización. La tasa correcta inicial es del 72 %. Si cambiamos la tasa correcta de detección de texto al 100 %, podemos ver que la tasa correcta general es del 89 %, y luego la mantenemos sin cambios y continuamos cambiando la tasa correcta de segmentación de caracteres. 100 %, podemos ver que la tasa general correcta se convierte en 90 %, y así sucesivamente.
inserte la descripción de la imagen aquí
Por lo tanto, podemos ver que debemos dar prioridad a mejorar el enlace de Detección de texto, y para la Segmentación de caracteres, este enlace puede no ser muy efectivo y no necesita gastar mucho personal para mejorarlo.

También hay un sistema de reconocimiento facial, que tiene las siguientes tareas:
inserte la descripción de la imagen aquí
después del análisis del techo, encontramos que la eliminación de fondo solo aumentó un 0,1 %, lo que indica que esta parte no debe tomarse en serio, pero dos ingenieros dedicaron 18 meses a ello. optimizando este One item, también publicó un artículo, pero al final se encontró que la mejora del sistema general no fue significativa.Si el análisis del techo en la dirección equivocada y costaría un tiempo precioso . Este precio es un poco demasiado alto. Mira , es muy importante una buena dirección . Pienso en la frase del profesor de secundaria "dirección equivocada, cuanto más rápida es la velocidad, más rápido es el fracaso".
inserte la descripción de la imagen aquí
Resumen final: no confíes demasiado en tu intuición, "siente" dónde pasar el tiempo y dónde saltar. Todavía es necesario dividir el problema en múltiples módulos (tubería) y luego hacer un análisis de techo (análisis de techo), al igual que el descenso de gradiente, y gastar energía en el lugar con el mejor efecto, para ahorrar un tiempo precioso y mejorar trabaja eficientemente.


终章:Resumen y gracias !!!

Para resumir lo que ha aprendido, no solo debe conocerlos, sino también usarlos de manera flexible para construir un poderoso sistema de aprendizaje automático.
inserte la descripción de la imagen aquí
Al final, Ng dijo: "Puedes pensar con confianza que te has convertido en un experto en aprendizaje automático" (soy un poco hipócrita 233), y estas herramientas deberían usarse para mejorar la vida de las personas.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Gracias también Ng ~ Fin Sahua

Supongo que te gusta

Origin blog.csdn.net/Only_Wolfy/article/details/89931957
Recomendado
Clasificación