Resta y multiplicación escalar en machine learning
Clase 5 de 16 • Curso de Álgebra Lineal para Machine Learning
Contenido del curso
Operaciones con Vectores y Matrices
Multiplicación de Matrices
Construcción de un Modelo de Regresión Lineal
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.arraypara 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.arrayy 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
bonificacionespor 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.