Función de costo (implementación de Python)
En primer lugar, necesitamos saber a qué es igual ?(?(?)). Significa θ^T multiplicado por X. X es un vector si se expresa mediante una ecuación, es θ0. ?0 θ1?1 θ2?2 ... θ, por supuesto, θ también es un vector y es unidimensional. Hay una biblioteca en Python llamada numpy, que está especializada en operaciones matriciales. Primero inicializamos X, y y θ
Primero inicialicemos aleatoriamente. No debería ser necesario hablar de estas cosas. randint es un número entero aleatorio, rand es un decimal y el parámetro bajo representa el superior. límite de su número aleatorio. El tamaño es la dimensión. La operación comienza después de que se completa la inicialización.
Operaciones en la fórmula de suma
( (h(θ) = X theta^T) - y )^2*
Creo que estas no deberían. la dificultad es (X * theta.T - y). Para cuadrado, use la función power() de np.
inner = np.power((X * theta.T - y), 2), el segundo parámetro es el número cuadrado
Entonces podemos calcular el exterior de la fórmula de suma , esta m representa el número de filas de la matriz X, correspondiente al número de vectores X
,
np.sum(inner, axis=None)
Finalmente, divídalo por el doble del número de x vectores, que es 1 / len (X) * 2. ¿Por qué es el doble del número? Porque calcula la derivada parcial, es 2. Bien, vamos a ordenarlos. Escríbelo como una función