introducción al aprendizaje automático

Introducción al aprendizaje automático para principiantes: todo lo que debe saber

¿Qué es el aprendizaje automático? ¿Como funciona? ¿Cuánta matemática está involucrada? Un ingeniero lo desglosa todo.

El aprendizaje automático es la idea de que las computadoras pueden aprender de ejemplos y experiencias, sin estar programadas explícitamente para hacerlo. En lugar de escribir código, alimenta datos al algoritmo genérico y crea lógica basada en los datos proporcionados.

Por ejemplo, un tipo de algoritmo es un algoritmo de clasificación. Puede poner datos en diferentes grupos. El algoritmo de clasificación utilizado para detectar alfabetos escritos a mano también podría usarse para clasificar los correos electrónicos en spam y no spam.

Se dice que un programa de computadora aprende de la experiencia E con alguna clase de tareas T y una medida de desempeño P si su desempeño en las tareas en T, medido por P, mejora con la experiencia E”. -Tom M Mitchell

Considere jugar a las damas:

E = la experiencia de jugar muchos juegos de damas

T = la tarea de jugar a las damas.

P = la probabilidad de que el programa gane el próximo juego.

¿Qué es el aprendizaje automático para principiantes?

El aprendizaje automático puede parecer desalentador para los principiantes. En pocas palabras, el aprendizaje automático es la idea de que las computadoras pueden aprender de ejemplos y experiencias pasadas. Los principiantes en aprendizaje automático deben darse cuenta de que las matemáticas juegan un papel importante para ayudar a las máquinas a comprender y aprender. Los ingenieros principiantes en aprendizaje automático deben tener conocimientos de álgebra lineal, estadística, cálculo y algoritmos complejos.

Ejemplo de aprendizaje automático

Ejemplos de aprendizaje automático

  • Reconocimiento facial
  • Filtrado de correo electrónico
  • Predicción del tiempo
  • Diagnostico medico
  • Coches autónomos
  • Motores de recomendación
  • Asistentes personales virtuales
  • Mapeo de rutas de conducción para la eficiencia

Durante los últimos cinco años, el aprendizaje automático ha sido ampliamente investigado debido al aumento de las velocidades computacionales y la disponibilidad del hardware. Estos ahora se utilizan en tiempo real y se implementan en varios sitios web para mejorar los procedimientos de búsqueda y los sistemas de recomendación. Por ejemplo, debido al aprendizaje automático, si está buscando un producto en Amazon, durante los próximos días, Amazon le mostrará artículos similares a su búsqueda.

Aquí hay algunos ejemplos de problemas de clasificación donde el objetivo es categorizar objetos en un conjunto fijo de categorías.

Detección de rostros : identifique rostros en imágenes (o indique si hay un rostro presente).

Filtrado de correo electrónico : clasifique los correos electrónicos en spam y no spam.

Diagnóstico médico : Diagnosticar a un paciente si tiene o no una enfermedad.

Predicción del tiempo : predecir, por ejemplo, si lloverá mañana.

La necesidad del aprendizaje automático

El aprendizaje automático es un campo surgido de la inteligencia artificial (IA). A través de la aplicación de IA, buscamos construir máquinas mejores e inteligentes. Pero a excepción de algunas tareas simples, como encontrar el camino más corto entre el punto A y B, por ejemplo, no pudimos programar desafíos más complejos y en constante evolución. Luego se dio cuenta de que la única forma de lograr tareas más avanzadas era dejar que la máquina aprendiera de su propia entrada, de forma similar a como un niño aprende de su entorno. Entonces, el aprendizaje automático se desarrolló como una nueva capacidad para las computadoras, y ahora está presente en tantos segmentos de la tecnología que es posible que ni siquiera nos demos cuenta de que está ahí.

Algunos conjuntos de datos son tan grandes que el cerebro humano necesita ayuda para encontrar patrones, y aquí es donde el aprendizaje automático entra en acción al ayudar a las personas a filtrar grandes conjuntos de datos más rápido.

Si los grandes datos y la computación en la nube están ganando importancia por sus contribuciones, el aprendizaje automático también merece reconocimiento por ayudar a los científicos de datos a analizar grandes cantidades de datos a través de un proceso automatizado que ahorra tiempo y esfuerzo.

Las técnicas que usamos para la minería de datos existen desde hace años, pero no son efectivas sin el poder de ejecutar algoritmos. Cuando ejecuta el aprendizaje profundo con acceso a mejores datos, el resultado conduce a grandes avances, razón por la cual existe una gran necesidad de aprendizaje automático.

tipos de aprendizaje automático

Tipos de aprendizaje automático

Hay tres tipos de algoritmos de aprendizaje automático :

A. Aprendizaje supervisado

B. Aprendizaje sin supervisión

C. Aprendizaje reforzado

Aprendizaje supervisado

Gran parte del aprendizaje automático práctico utiliza el aprendizaje supervisado.

En este tipo, el sistema intenta aprender de los ejemplos anteriores que se le dan. (Por otro lado, en el aprendizaje no supervisado, el sistema intenta encontrar los patrones directamente del ejemplo dado).

Hablando matemáticamente, el aprendizaje supervisado es cuando tiene variables de entrada ( x ) y variables de salida ( y ) y puede usar un algoritmo para derivar la función de mapeo de la entrada a la salida.

La función de mapeo se expresa como Y = f(X).

Ejemplo:

Algoritmo genérico de aprendizaje automático

Los problemas de aprendizaje supervisado se pueden dividir en dos partes, a saber, clasificación y regresión:

Clasificación : un problema de clasificación es cuando la variable de salida es una categoría o un grupo, como «negro» o «blanco» o «spam» y «no spam».

Regresión : un problema de regresión es cuando la variable de salida es un valor real, como «rupias» o «altura».

Aprendizaje sin supervisión

En el aprendizaje no supervisado, los algoritmos se dejan solos para descubrir estructuras interesantes en los datos.

Matemáticamente, el aprendizaje no supervisado es cuando solo tiene datos de entrada ( x ) y no tiene variables de salida correspondientes.

Esto se denomina aprendizaje no supervisado porque, a diferencia del aprendizaje supervisado, no se dan respuestas correctas y la máquina misma encuentra las soluciones.

Los problemas de aprendizaje no supervisados ​​se pueden dividir en asociación y agrupación:

Asociación : un problema de aprendizaje de reglas de asociación es la necesidad de descubrir reglas que describan grandes porciones de datos, como «las personas que compran X también tienden a comprar Y».

Agrupación : un problema de agrupación es la necesidad de descubrir agrupaciones inherentes en los datos, como agrupar clientes por comportamiento de compra.

Aprendizaje reforzado

Este es un tipo particular de aprendizaje automático en el que el programa de computadora interactuará con un entorno dinámico en el que debe realizar un objetivo particular, como jugar un juego con un oponente o conducir un automóvil. El programa recibe retroalimentación en forma de recompensas y castigos a medida que navega por su espacio problemático.

Usando este algoritmo, la máquina está entrenada para tomar decisiones específicas. Funciona de esta manera: la máquina está expuesta a un entorno en el que se entrena continuamente mediante el método de prueba y error.

Ejemplo:

Aprendizaje reforzado
Aprendizaje reforzado
lenguajes de aprendizaje automático ml para principiantes
Python, Java, R y C++ son lenguajes populares de aprendizaje automático en los que los principiantes deberían centrarse.

Lenguajes ML populares para principiantes

Ser nuevo en el campo del aprendizaje automático puede parecer abrumador. Nueva terminología, las matemáticas están involucradas y ahora tienes que averiguar qué lenguajes de programación usar. Aquí hay cinco lenguajes populares que se usan ampliamente en todo el mundo de ML.

Pitón

Python es firmemente el principal lenguaje de programación utilizado en el aprendizaje automático con el 57 % de los científicos de datos que lo utilizan. Python es bien conocido por ser independiente de la plataforma, fácil de leer y menos complejo que la mayoría de los lenguajes. Debido a esto, los ingenieros de ML pueden usar el ecosistema de biblioteca incorporado para acceder y manejar datos fácilmente. La flexibilidad que ofrece Python permite a los ingenieros elegir varios enfoques y minimizar los errores con relativa facilidad.

Java y JavaScript

Java es otro lenguaje ML popular porque facilita a los ingenieros la integración con los repositorios existentes. Java, con grandes bases de código existentes y herramientas de código abierto disponibles, lo convierte en una opción perfecta para principiantes o ingenieros de software que buscan ingresar a ML. Java se ejecuta increíblemente rápido y permite una escalabilidad rápida porque ya es un lenguaje muy bien establecido entre la mayoría de las empresas.

Aunque Javascript se usa principalmente para el desarrollo web, también se puede usar fácilmente para crear modelos de aprendizaje automático en el navegador. TensorFlow, una biblioteca de código abierto, permite a un ingeniero de ML importar modelos previamente entrenados, volver a entrenar modelos o incluso crear modelos en el navegador usando Javascript.  

C++

C++ ha sido el lenguaje favorito de los ingenieros de IA y ML durante décadas, específicamente cuando se trata de juegos y robótica. El 44% de los ingenieros de ML usan C++ debido a su nivel de control, eficiencia y alto rendimiento. C++ se usa principalmente para construir aplicaciones existentes en lugar de construirlas desde cero porque el lenguaje es un poco más rígido para construir que Python.

R

R es un lenguaje de código abierto basado en datos y estadísticas. Se ha convertido rápidamente en el favorito de los nuevos ingenieros de ML debido a su comunidad de código abierto y su compatibilidad con la programación orientada a objetos. Una de las mayores fortalezas de R como lenguaje de aprendizaje automático es que viene con una gran cantidad de paquetes de extensión creados por el usuario que permiten a los ingenieros aplicar incluso las técnicas estadísticas más especializadas a sus conjuntos de datos.

Las matemáticas de la inteligencia

La teoría del aprendizaje automático es un campo que reúne aspectos estadísticos, probabilísticos, informáticos y algorítmicos que surgen del aprendizaje iterativo a partir de datos que pueden utilizarse para construir aplicaciones inteligentes.

¿Por qué preocuparse por las matemáticas?

Las matemáticas del aprendizaje automático son importantes por varias razones:

  • Seleccionar el algoritmo apropiado para el problema incluye consideraciones de precisión, tiempo de entrenamiento, complejidad del modelo, número de parámetros y número de características.
  • Identificar el ajuste insuficiente y el sobreajuste siguiendo la compensación Sesgo-Varianza.
  • Elección de ajustes de parámetros y estrategias de validación.
  • Estimar el período de determinación adecuado y la incertidumbre.

¿Qué nivel de matemáticas necesitamos?

¿Qué nivel de comprensión matemática se requiere para comprender los sistemas de aprendizaje automático? La respuesta es multidimensional y depende del nivel y el interés del individuo, pero los ingenieros de aprendizaje automático y los científicos de datos deben saber al menos lo siguiente:

  1. Álgebra lineal : operaciones con matrices, proyecciones, factorización, matrices simétricas, ortogonalización
  2. Teoría de probabilidad y estadística: reglas y axiomas de probabilidad, teorema de Bayes, variables aleatorias, varianza y expectativa, distribuciones condicionales y conjuntas, distribuciones estándar
  3. Cálculo : Cálculo diferencial e integral, derivadas parciales
  4. Algoritmos y optimizaciones complejas: árboles binarios, hashing, heap, stack
aprendizaje automático de temas matemáticos

Relacionado: Leer más historias de ciencia de datos