Fuente: Machine Learning Department at Carnegie Mellon
Se dice que un programa de ordenador aprende de la experiencia E con respecto a alguna clase de tareas T y medida de rendimiento P, si su rendimiento en las tareas en T, medido por P, mejora con la experiencia E. ~ Tom M. Mitchell
El aprendizaje de las máquinas se comporta de forma similar al crecimiento de un niño. A medida que un niño crece, su experiencia E en la realización de la tarea T aumenta, lo que se traduce en una mayor medida de rendimiento (P).
Por ejemplo, le damos un juguete «bloque clasificador de formas» a un niño. (Ahora todos sabemos que en este juguete tenemos diferentes formas y agujeros de forma). En este caso, nuestra tarea T es encontrar un agujero de forma apropiado para una forma. Después, el niño observa la forma y trata de encajarla en un agujero con forma. Digamos que este juguete tiene tres formas: un círculo, un triángulo y un cuadrado. En su primer intento de encontrar un agujero con forma, su medida de rendimiento(P) es 1/3, lo que significa que el niño encontró 1 de cada 3 agujeros con forma correctos.
En segundo lugar, el niño lo intenta otra vez y se da cuenta de que tiene un poco de experiencia en esta tarea. Teniendo en cuenta la experiencia adquirida (E), el niño intenta esta tarea otra vez, y al medir el rendimiento(P), resulta ser 2/3. Después de repetir esta tarea (T) 100 veces, el bebé ahora ha averiguado qué forma va en cada agujero de forma.
Así que su experiencia (E) aumentó, su rendimiento(P) también aumentó, y entonces notamos que a medida que el número de intentos de este juguete aumenta. El rendimiento también aumenta, lo que se traduce en una mayor precisión.
Esta ejecución es similar al aprendizaje automático. Lo que hace una máquina es que toma una tarea (T), la ejecuta y mide su rendimiento (P). Ahora una máquina tiene un gran número de datos, por lo que a medida que procesa esos datos, su experiencia (E) aumenta con el tiempo, lo que resulta en una mayor medida de rendimiento (P). Así que después de pasar por todos los datos, la precisión de nuestro modelo de aprendizaje automático aumenta, lo que significa que las predicciones realizadas por nuestro modelo serán muy precisas.
Otra definición de aprendizaje automático de Arthur Samuel:
El aprendizaje automático es el subcampo de la ciencia de la computación que da a los «ordenadores la capacidad de aprender sin ser programados explícitamente.» ~ Arthur Samuel
Tratemos de entender esta definición: Dice «aprender sin ser programado explícitamente» – lo que significa que no vamos a enseñar al ordenador con un conjunto específico de reglas, sino que lo que vamos a hacer es alimentar al ordenador con suficientes datos y darle tiempo para que aprenda de ellos, cometiendo sus propios errores y mejorando sobre ellos. Por ejemplo, no enseñamos al niño a encajar las formas, sino que al realizar la misma tarea varias veces, el niño aprendió a encajar las formas en el juguete por sí mismo.
Por tanto, podemos decir que no enseñamos explícitamente al niño a encajar las formas. Lo mismo hacemos con las máquinas. Le damos suficientes datos para que trabaje y la alimentamos con la información que queremos de ella. Así, procesa los datos y los predice con precisión.
¿Por qué necesitamos el aprendizaje automático?
Por ejemplo, tenemos un conjunto de imágenes de gatos y perros. Lo que queremos hacer es clasificarlas en un grupo de gatos y perros. Para ello necesitamos averiguar diferentes características de los animales, como:
- ¿Cuántos ojos tiene cada animal?
- ¿Cuál es el color de los ojos de cada animal?
- ¿Cuál es la altura de cada animal?
- ¿Cuál es el peso de cada animal?
- ¿Qué suele comer cada animal?
-
Formamos un vector sobre las respuestas de cada una de estas preguntas. A continuación, aplicamos un conjunto de reglas como:
Si la altura > 1 pie y el peso > 15 libras, entonces podría ser un gato.
Ahora, tenemos que hacer ese conjunto de reglas para cada punto de datos. Además, colocamos un árbol de decisión de sentencias if, else if, else y comprobamos si cae en alguna de las categorías.
Supongamos que el resultado de este experimento no fue fructífero ya que clasificó mal a muchos de los animales, lo que nos da una excelente oportunidad para utilizar el aprendizaje automático.
Lo que hace el aprendizaje automático es procesar los datos con diferentes tipos de algoritmos y nos dice qué característica es más importante para determinar si es un gato o un perro. Así, en lugar de aplicar muchos conjuntos de reglas, podemos simplificarlo basándonos en dos o tres características y, como resultado, nos da una mayor precisión. El método anterior no era lo suficientemente generalizado para hacer predicciones.
Los modelos de aprendizaje automático nos ayudan en muchas tareas, como:
- Reconocimiento de objetos
- Resumir
- Predicción
- Clasificación
- Sistemas de recomendación
- Y otros
¿Qué es un modelo de aprendizaje automático?
Un modelo de aprendizaje automático es un sistema de preguntas/respuestas que se encarga de procesar tareas relacionadas con el aprendizaje automático. Piensa en él como un sistema de algoritmos que representa datos a la hora de resolver problemas. Los métodos que abordaremos a continuación son beneficiosos para fines relacionados con la industria para abordar problemas empresariales.
Por ejemplo, imaginemos que estamos trabajando en el sistema de ML de Google Adwords, y nuestra tarea es implementar un algoritmo de ML para transmitir una demografía o área particular utilizando datos. Dicha tarea tiene como objetivo pasar de utilizar los datos a recopilar información valiosa para mejorar los resultados del negocio.
Los principales algoritmos de aprendizaje automático:
Utilizamos algoritmos de regresión para predecir valores continuos.
Algoritmos de regresión:
- Regresión lineal
- Regresión polinómica
- Regresión exponencial
- Regresión logística
- Regresión logarítmica
Clasificación
Utilizamos algoritmos de clasificación para predecir la clase o categoría de un conjunto de elementos.
Algoritmos de clasificación:
- K-Nearest Neighbors
- Árboles de decisión
- Random Forest
- Support Vector Machine
- Naive Bayes
Clustering
Utilizamos algoritmos de clustering para resumir o estructurar datos.
Algoritmos de clustering:
- K-means
- DBSCAN
- Mean Shift
- Hierarchical
Asociación
Utilizamos algoritmos de asociación para asociar elementos o eventos co-ocurrentes.
Algoritmos de asociación:
Detección de anomalías
Utilizamos la detección de anomalías para descubrir actividades anormales y casos inusuales como la detección de fraudes.
Minería de patrones secuenciales
Utilizamos la minería de patrones secuenciales para predecir los próximos eventos de datos entre los ejemplos de datos en una secuencia.
Reducción de dimensionalidad
Utilizamos la reducción de dimensionalidad para reducir el tamaño de los datos y extraer sólo las características útiles de un conjunto de datos.
Sistemas de recomendación
Utilizamos algoritmos recomendadores para construir motores de recomendación.
Ejemplos:
- Sistema de recomendación de Netflix.
- Un sistema de recomendación de libros.
- Un sistema de recomendación de productos en Amazon.
Hoy en día, escuchamos muchas palabras de moda como inteligencia artificial, machine learning, deep learning, y otras.
¿Cuáles son las diferencias fundamentales entre Inteligencia Artificial, Aprendizaje Automático y Aprendizaje Profundo?
📚 Consulta nuestras recomendaciones editoriales sobre los mejores libros de aprendizaje automático. 📚
Inteligencia artificial (IA):
La inteligencia artificial (IA), tal y como la define el profesor Andrew Moore, es la ciencia y la ingeniería de hacer que los ordenadores se comporten de formas que, hasta hace poco, pensábamos que requerían inteligencia humana .
Entre ellas se encuentran:
- Visión por ordenador
- Procesamiento del lenguaje
- Creatividad
- Sumarización
Aprendizaje automático (ML):
Según la definición del profesor Tom Mitchell, el aprendizaje automático se refiere a una rama científica de la IA, que se centra en el estudio de los algoritmos informáticos que permiten a los programas de ordenador mejorar automáticamente a través de la experiencia .
Estos incluyen:
- Clasificación
- Red neuronal
- Clustering
Aprendizaje profundo:
El aprendizaje profundo es un subconjunto del aprendizaje automático en el que las redes neuronales en capas, combinadas con una gran potencia de cálculo y grandes conjuntos de datos, pueden crear potentes modelos de aprendizaje automático.