Resumen

Aprende a medir y corregir errores con vectores y matrices en machine learning. Con operaciones tan simples como resta de vectores, multiplicación por escalar y suma (incluido el broadcasting), podrás entender cómo un modelo hace pequeñas correcciones estables para mejorar sus predicciones.

¿Cómo se calcula el error y el ajuste con escalares en machine learning?

Un sistema de recomendaciones compara lo que predice con lo que realmente te gusta. Esa diferencia es el error, y se obtiene con una resta de vectores. Luego, se aplica una corrección pequeña multiplicando el error por un escalar llamado tasa de aprendizaje o learning rate.

¿Qué es el error y cómo se resta?

  • Error = calificación real − predicción del modelo.
  • Si la predicción es menor que la realidad, el error es positivo. Si se pasó, el error es negativo.
  • Ejemplo con dos géneros: ciencia ficción y comedia.
import numpy as np calificaciones_reales = np.array([5, 2]) # ciencia ficción, comedia prediccion_modelo = np.array([4, 4]) error = calificaciones_reales - prediccion_modelo # [1, -2] print(error)

¿Qué significa learning rate y por qué 0.1?

  • El learning rate controla el tamaño del paso de corrección.
  • Usar 0.1 implica ajustar el 10 % del error: correcciones suaves y estables, sin reacciones exageradas.
learning_rate = 0.1 ajuste = error * learning_rate # [0.1, -0.2] print(ajuste)

¿Cómo se implementa en Google Colab con NumPy?

  • Importa siempre NumPy: import numpy as np.
  • Usa np.array para crear vectores y matrices.
  • Imprime y verifica resultados paso a paso para entender el flujo cálculo → error → ajuste.

¿Cómo sumar matrices y aplicar bonificaciones con broadcasting en NumPy?

Hay dos escenarios frecuentes: sumar matrices de la misma forma y sumar un vector a una matriz completa. Lo primero es directo; lo segundo funciona gracias al broadcasting de NumPy, que expande virtualmente el array más pequeño para que las formas coincidan.

¿Cómo se suman matrices de la misma forma?

  • Caso de ventas: filas como productos y columnas como tiendas.
  • Suma elemento a elemento para obtener ventas acumuladas por tienda y producto.
ventas_enero = np.array([[150, 200, 180], [120, 90, 100]]) ventas_febrero = np.array([[130, 110, 210], [ 80, 120, 190]]) ventas_totales = ventas_enero + ventas_febrero print(ventas_totales)

¿Cómo funciona el broadcasting al sumar un vector?

  • Aplica un vector de bonificaciones por tienda al mismo tiempo para todos los productos.
  • NumPy compara formas de derecha a izquierda y expande el vector para que coincida con la matriz.
bonificaciones = np.array([10, 15, 5]) # por tienda print(ventas_enero.shape) # (2, 3) print(bonificaciones.shape) # (3,) ventas_con_bono = ventas_enero + bonificaciones print(ventas_con_bono)

¿Qué condición de shapes hay que verificar?

  • Compara de derecha a izquierda: las dimensiones deben ser iguales o una debe ser 1.
  • Si no coinciden, NumPy lanza error de broadcasting.
bonificaciones_err = np.array([10, 15, 5, 20]) # ValueError: Operands could not be broadcast together ventas_enero + bonificaciones_err
  • Reglas clave.
    • Igualdad por eje al comparar de derecha a izquierda.
    • Eje igual a 1 puede expandirse.
    • Cualquier otra combinación genera error.

¿Qué habilidades prácticas refuerzas y cuál es el reto final?

Dominas operaciones esenciales para entrenar modelos: resta de vectores para calcular error, multiplicación por escalar para ajustar con learning rate, suma de matrices para consolidar datos y suma con broadcasting para aplicar vectores a matrices. También compruebas shapes y lees mensajes de error al trabajar con arrays.

  • Habilidades y conceptos que aparecen.

    • Representación con np.array y trabajo en Google Colab.
    • Cálculo de error: [5, 2] − [4, 4] = [1, -2].
    • Tasa de aprendizaje o learning rate de 0.1 como corrección estable.
    • Suma de matrices para ventas acumuladas entre meses.
    • Broadcasting: aplicar bonificaciones por tienda a toda la matriz.
    • Verificación de shape: (2, 3) frente a (3,) es válido; (2, 3) frente a (4,) no lo es.
  • Reto rápido.

    • Tienes una matriz 4×3 con coordenadas X, Y, Z de cuatro puntos.
    • Define un vector de desplazamiento de forma 2 con dos elementos, por ejemplo [2, -1].
    • Sin código, decide si la suma es posible según las reglas de broadcasting.
    • Comparte tu razonamiento en los comentarios.
      Resta y multiplicación escalar en machine learning