40. Aplicaciones matemáticas en inteligencia artificial y ciencia de datos

La inteligencia artificial y la ciencia de datos usan matemática para ordenar información, detectar patrones, comparar ejemplos, estimar resultados, medir errores y tomar decisiones basadas en datos.

40.1 Introducción

La inteligencia artificial y la ciencia de datos pueden parecer temas avanzados, pero muchas de sus ideas iniciales se apoyan en matemática básica: contar, sumar, promediar, comparar, medir distancias y trabajar con porcentajes.

Un modelo no entiende los datos como una persona. Trabaja con números, relaciones entre números y reglas para ajustar sus resultados.

En este tema veremos ejemplos simples que muestran cómo los conceptos del curso aparecen en problemas de análisis de datos e inteligencia artificial.

40.2 Datos como números

Para procesar información, muchas veces primero hay que representarla con números. Una edad, una venta, una nota, una temperatura o una cantidad de clics son datos numéricos directos.

const usuario = {
  edad: 28,
  compras: 5,
  minutosEnSitio: 42
};

console.log(usuario.edad);
console.log(usuario.compras);
console.log(usuario.minutosEnSitio);

40.3 Conjuntos de datos

Un conjunto de datos reúne muchos registros. Cada registro puede representar una persona, una venta, una medición, una imagen, una partida o cualquier elemento que se quiera analizar.

const ventas = [
  { dia: "lunes", total: 1200 },
  { dia: "martes", total: 950 },
  { dia: "miércoles", total: 1800 },
  { dia: "jueves", total: 1500 }
];

console.log(ventas.length);

40.4 Promedios para resumir datos

El promedio resume varios valores en uno solo. En ciencia de datos se usa para describir ventas, tiempos, edades, notas, consumos y muchas otras mediciones.

promedio = suma de valores / cantidad de valores
const tiempos = [12, 18, 15, 20, 10];
const suma = tiempos.reduce((total, tiempo) => total + tiempo, 0);
const promedio = suma / tiempos.length;

console.log(promedio);

40.5 Mínimos y máximos

El valor mínimo y el valor máximo ayudan a conocer el rango de los datos. Esto permite detectar límites, valores extremos y posibles errores de carga.

const edades = [22, 34, 19, 41, 28];

const minimo = Math.min(...edades);
const maximo = Math.max(...edades);

console.log(minimo);
console.log(maximo);

40.6 Frecuencias

Contar frecuencias significa calcular cuántas veces aparece cada valor o categoría. Esto sirve para analizar respuestas, productos, etiquetas y resultados de clasificación.

const categorias = ["A", "B", "A", "C", "B", "A"];
const frecuencias = {};

for (const categoria of categorias) {
  frecuencias[categoria] = (frecuencias[categoria] || 0) + 1;
}

console.log(frecuencias);

40.7 Porcentajes en análisis de datos

Los porcentajes permiten comparar partes con un total. En datos se usan para tasas de conversión, proporción de errores, participación de categorías y cambios entre períodos.

const visitas = 1200;
const compras = 84;

const tasaConversion = compras / visitas * 100;

console.log(tasaConversion.toFixed(2) + "%");

40.8 Normalización

Cuando dos variables tienen escalas muy distintas, una puede dominar a la otra. Normalizar convierte los valores a una escala común, por ejemplo entre 0 y 1.

normalizado = (valor - mínimo) / (máximo - mínimo)
const valor = 75;
const minimo = 0;
const maximo = 100;

const normalizado = (valor - minimo) / (maximo - minimo);

console.log(normalizado);

40.9 Variables de entrada

En inteligencia artificial, las variables de entrada son los datos que usa un modelo para producir una respuesta. También se las suele llamar características o atributos.

const departamento = {
  metrosCuadrados: 60,
  habitaciones: 3,
  distanciaCentro: 4.5
};

const entrada = [
  departamento.metrosCuadrados,
  departamento.habitaciones,
  departamento.distanciaCentro
];

console.log(entrada);

40.10 Modelos como fórmulas

Un modelo simple puede verse como una fórmula que combina datos de entrada. Por ejemplo, una estimación puede sumar valores multiplicados por pesos.

resultado = dato1 * peso1 + dato2 * peso2 + dato3 * peso3
const metros = 60;
const habitaciones = 3;
const distanciaCentro = 4.5;

const precioEstimado =
  metros * 1200 +
  habitaciones * 8000 -
  distanciaCentro * 1500;

console.log(precioEstimado);

40.11 Medir error

Para mejorar un modelo hay que medir qué tan lejos está su resultado del valor real. Una forma simple es usar la diferencia absoluta.

error = valor real - valor estimado
const valorReal = 150000;
const valorEstimado = 142500;

const error = valorReal - valorEstimado;
const errorAbsoluto = Math.abs(error);

console.log(errorAbsoluto);

40.12 Clasificación

Clasificar significa asignar una categoría. Un programa puede clasificar un correo como normal o sospechoso, una imagen como una clase determinada o un cliente como activo o inactivo.

const probabilidadSospechoso = 0.82;
const umbral = 0.70;

if (probabilidadSospechoso >= umbral) {
  console.log("Correo sospechoso");
} else {
  console.log("Correo normal");
}

40.13 Probabilidad

Una probabilidad expresa qué tan posible es un resultado. En muchos sistemas se representa con un número entre 0 y 1, donde 0 significa imposible y 1 significa seguro.

const probabilidadLluvia = 0.35;

if (probabilidadLluvia > 0.5) {
  console.log("Conviene llevar paraguas");
} else {
  console.log("La probabilidad de lluvia es baja");
}

40.14 Similitud entre ejemplos

Muchos algoritmos comparan ejemplos. Una forma básica de comparar dos registros numéricos es medir la distancia entre ellos.

const usuarioA = { edad: 25, compras: 4 };
const usuarioB = { edad: 28, compras: 5 };

const diferenciaEdad = usuarioA.edad - usuarioB.edad;
const diferenciaCompras = usuarioA.compras - usuarioB.compras;

const distancia = Math.sqrt(
  diferenciaEdad * diferenciaEdad +
  diferenciaCompras * diferenciaCompras
);

console.log(distancia);

40.15 Recomendaciones simples

Un sistema de recomendación puede comenzar comparando gustos o comportamientos. Si dos usuarios son parecidos, tal vez a uno le interese algo que el otro ya eligió.

const producto = {
  nombre: "Curso de JavaScript",
  puntuacion: 4.8,
  cantidadValoraciones: 120
};

if (producto.puntuacion >= 4.5 && producto.cantidadValoraciones >= 50) {
  console.log("Recomendado");
}

40.16 Datos atípicos

Un dato atípico es un valor muy distinto del resto. Puede representar un caso especial, un error de carga o una situación importante que merece revisión.

const importes = [1200, 950, 1100, 980, 50000];
const limiteRevision = 10000;

for (const importe of importes) {
  if (importe > limiteRevision) {
    console.log("Revisar importe: " + importe);
  }
}

40.17 Sesgos y calidad de datos

Los resultados dependen de los datos usados. Si los datos están incompletos, mal medidos o representan solamente una parte del problema, el análisis puede producir conclusiones incorrectas.

La matemática ayuda a calcular, pero no garantiza por sí sola que los datos sean justos, completos o adecuados.

const datos = [18, 22, null, 31, 27];
const datosValidos = datos.filter(valor => valor !== null);

console.log(datos.length);
console.log(datosValidos.length);

40.18 Errores comunes

  • Usar datos sin revisar si están completos o tienen valores inválidos.
  • Comparar variables con escalas muy distintas sin normalizarlas.
  • Confundir correlación con causa: dos valores pueden moverse juntos sin que uno cause al otro.
  • Evaluar un modelo solamente con un ejemplo aislado.
  • Creer que un resultado matemático es correcto aunque los datos de entrada sean malos.
const edad = -5;

if (edad < 0) {
  console.log("Dato inválido");
} else {
  console.log("Dato válido");
}

40.19 Qué debes recordar de este tema

  • La inteligencia artificial y la ciencia de datos trabajan con información representada como números.
  • Promedios, mínimos, máximos, frecuencias y porcentajes ayudan a resumir datos.
  • La normalización permite comparar variables con escalas diferentes.
  • Un modelo simple puede entenderse como una fórmula que combina entradas.
  • Medir errores permite evaluar qué tan bien funciona una estimación.
  • La calidad de los datos es tan importante como el cálculo realizado.

40.20 Conclusión

La matemática básica es una base concreta para entender sistemas de datos e inteligencia artificial. Antes de hablar de modelos complejos, conviene dominar representaciones numéricas, promedios, porcentajes, distancias, errores y comparaciones.

Con este tema cerramos el recorrido introductorio de matemática básica para programación. Los conceptos vistos en el curso aparecen constantemente al escribir algoritmos, validar datos, construir interfaces, crear videojuegos, analizar información y resolver problemas reales con código.