Las siguientes son notas sobre los puntos clave de la segunda semana de la primera parte de "Redes neuronales y aprendizaje profundo" en el proyecto del curso DeepLearning.ai del profesor Wu Enda en Coursera.
Las notas no contienen todos los registros de los cursos de video pequeños. Si necesita estudiar el contenido descartado en las notas, vaya a Coursera o NetEase Cloud Classroom. Al mismo tiempo, antes de leer las siguientes notas, se recomienda encarecidamente estudiar el curso en video del profesor Wu Enda.
1
Problema de dos clasificaciones
La forma de los datos de destino:
2
Regresión logística
Nota: La primera derivada de una función se puede expresar por sí misma,
3
función de pérdida de regresión logística
Función de pérdida
En la experiencia general, el error al cuadrado se usa para medir la función de pérdida: sin
embargo, para la regresión logística, el error al cuadrado generalmente no se usa como función de pérdida. Esto se debe a que la función de pérdida de error al cuadrado anterior es generalmente una función no convexa. -convexo), cuando se utiliza el algoritmo de descenso de bajo grado, es fácil obtener la solución óptima local en lugar de la solución óptima global. Así que elige la función convexa.
Función de pérdida de regresión logística:
Función de costo
El valor medio de la suma de la función de pérdida de todos los conjuntos de datos de entrenamiento es la función de costo del conjunto de entrenamiento.
- La función de costo es una función de los coeficientes de espera w y b;
- Nuestro objetivo es calcular iterativamente los mejores valores de w y b, minimizar la función de costo y hacerla lo más cercana posible a 0.
4
Descenso de gradiente
5
Método de descenso de gradiente en regresión logística
Para una sola muestra, la expresión de la función de pérdida de regresión logística:
6
Descenso de gradiente de m muestras
7
Vectorización
En los algoritmos de aprendizaje profundo, generalmente tenemos una gran cantidad de datos. En el proceso de programación, debemos usar la menor cantidad posible de declaraciones de bucle. Use Python para lograr operaciones matriciales, mejorando así la velocidad de ejecución del programa y evitando bucles for. uso de.
Vectorización de regresión logística
código python:
db = 1/m*np.sum(dZ)
Flujo de algoritmo de descenso de gradiente de iteración única
Z = np.dot(w.T,X) + b
A = sigmoid(Z)
dZ = A-Ydw = 1/m*np.dot(X,dZ.T)
db = 1/m*np.sum(dZ)
w = w - alpha*dwb = b - alpha*db
8
notación de python
Aunque existe un mecanismo de transmisión en Python, para asegurar la corrección de las operaciones de la matriz en los programas de Python, la función reshape () se puede usar para establecer las dimensiones de la matriz que se calculará. Este es un buen hábito;
Si se usa la siguiente declaración para definir un vector, la dimensión de a generado por esta declaración es (5,), que no es ni un vector de fila ni un vector de columna, que se llama una matriz con un rango de 1. Si a se transpone , Obtendrá un sí mismo, lo que nos traerá algunos problemas en el cálculo.
a = np.random.randn(5)
Si necesita definir un vector (5, 1) o (1, 5), utilice la siguiente declaración estándar:
a = np.random.randn(5,1)
b = np.random.randn(1,5)
Puede utilizar la declaración assert para juzgar las dimensiones de un vector o matriz. assert juzgará la declaración incrustada, es decir, juzgará si la dimensión de a es (5, 1), si no, el programa se detiene aquí. Usar afirmaciones también es un buen hábito, que puede ayudarnos a comprobar y averiguar si las afirmaciones son correctas a tiempo.
assert(a.shape == (5,1))
Puede usar la función de remodelación para establecer las dimensiones requeridas de la matriz
a.reshape((5,1))
9
Explicación de la función de costo de regresión logística
El origen de la
columna de la función Costo : https://zhuanlan.zhihu.com/p/29688927
Lectura recomendada:
Productos secos destacados | Resumen del catálogo de productos
secos para casi seis meses Productos secos | Notas de estudio del curso de piedra fundamental de aprendizaje automático Lin Xuantian de la Universidad de Taiwán 5 - Entrenamiento versus prueba de
productos secos | Notas finas del curso de álgebra lineal del MIT [Primera lección]
欢迎关注公众号学习交流~
Bienvenido a unirse al grupo de intercambio para intercambiar aprendizaje