📚 Echa un vistazo a nuestro tutorial que bucea en la regresión lineal simple con matemáticas y Python. 📚

¿Qué es el aprendizaje automático?

El profesor Tom M. Mitchell retratado explicando la definición operativa del aprendizaje automático.

El profesor Tom M. Mitchell explicó la definición operativa del aprendizaje automático.

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:

  1. ¿Cuántos ojos tiene cada animal?
  2. ¿Cuál es el color de los ojos de cada animal?
  3. ¿Cuál es la altura de cada animal?
  4. ¿Cuál es el peso de cada animal?
  5. ¿Qué suele comer cada animal?
  6. 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:

        • Apriori

        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.

        Representación abstracta de una red neuronal | Foto de Clink Adair vía Unsplash

        Representación abstracta de una red neuronal | Foto de Clink Adair vía Unsplash
        Representación abstracta de una red neuronal | Foto de Clink Adair vía Unsplash

        ¿Por qué preferimos Python para implementar algoritmos de aprendizaje automático?

        Python es un lenguaje de programación popular y de propósito general. Podemos escribir algoritmos de aprendizaje automático usando Python, y funciona bien. La razón por la que Python es tan popular entre los científicos de datos es que Python tiene una diversa variedad de módulos y librerías ya implementadas que nos hacen la vida más cómoda.

        Veamos brevemente algunas librerías interesantes de Python.

        1. Numpy: Es una librería matemática para trabajar con arrays de n dimensiones en Python. Nos permite hacer cálculos de forma eficaz y eficiente.
        2. Scipy: Es una colección de algoritmos numéricos y caja de herramientas de dominio específico, incluyendo procesamiento de señales, optimización, estadística y mucho más. Scipy es una biblioteca funcional para cálculos científicos y de alto rendimiento.
        3. Matplotlib: Es un paquete de ploteo de moda que proporciona ploteo 2D así como ploteo 3D.
        4. Scikit-learn: Es una librería de aprendizaje automático gratuita para el lenguaje de programación python. Tiene la mayoría de los algoritmos de clasificación, regresión y clustering, y trabaja con librerías numéricas de Python como Numpy, Scipy.
        5. Los algoritmos de aprendizaje automático se clasifican en dos grupos :

        • Algoritmos de aprendizaje supervisado
        • Algoritmos de aprendizaje no supervisado
          • I. Algoritmos de Aprendizaje Supervisado:

            Objetivo: Predecir la etiqueta de clase o valor.

            El aprendizaje supervisado es una rama del aprendizaje automático (quizás sea la corriente principal del aprendizaje automático/profundo por ahora) relacionada con la inferencia de una función a partir de datos de entrenamiento etiquetados. Los datos de entrenamiento consisten en un conjunto de pares *(entrada, objetivo)*, donde la entrada podría ser un vector de características, y el objetivo indica lo que deseamos que la función produzca. Dependiendo del tipo de *objetivo*, podemos dividir el aprendizaje supervisado en dos categorías: clasificación y regresión. La clasificación implica objetivos categóricos; los ejemplos van desde algunos casos sencillos, como la clasificación de imágenes, hasta algunos temas avanzados, como las traducciones automáticas y el subtitulado de imágenes. La regresión se refiere a objetivos continuos. Sus aplicaciones incluyen la predicción de acciones, el enmascaramiento de imágenes y otras, todas ellas dentro de esta categoría.

            Para ilustrar el ejemplo de aprendizaje supervisado a continuación | Fuente: Foto de Shirota Yuri, Unsplash

            Para entender qué es el aprendizaje supervisado, utilizaremos un ejemplo. Por ejemplo, le damos a un niño 100 animales de peluche en los que hay diez animales de cada tipo como diez leones, diez monos, diez elefantes y otros. A continuación, enseñamos al niño a reconocer los diferentes tipos de animales en función de las diferentes características (rasgos) de un animal. Por ejemplo, si su color es naranja, puede ser un león. Si es un animal grande con trompa, entonces puede ser un elefante.

            Enseñamos al niño a diferenciar los animales, esto puede ser un ejemplo de aprendizaje supervisado. Ahora, cuando le damos al niño diferentes animales, debería ser capaz de clasificarlos en un grupo de animales apropiado.

            Para el caso de este ejemplo, observamos que 8/10 de sus clasificaciones fueron correctas. Así que podemos decir que el niño ha hecho un buen trabajo. Lo mismo ocurre con los ordenadores. Les proporcionamos miles de puntos de datos con sus valores reales etiquetados (Los datos etiquetados son datos clasificados en diferentes grupos junto con sus valores de características). Entonces aprende de sus diferentes características en su periodo de entrenamiento. Una vez finalizado el periodo de entrenamiento, podemos utilizar nuestro modelo entrenado para hacer predicciones. Hay que tener en cuenta que ya hemos alimentado a la máquina con datos etiquetados, por lo que su algoritmo de predicción se basa en el aprendizaje supervisado. En resumen, podemos decir que las predicciones de este ejemplo se basan en datos etiquetados.

            Ejemplo de algoritmos de aprendizaje supervisado :

            • Regresión lineal
            • Regresión logística
            • K-Nearest Neighbors
            • Árbol de decisión
            • Bosque aleatorio
            • Máquina de vectores de apoyo
              • II. Aprendizaje no supervisado:

                Objetivo: Determinar patrones/agrupaciones de datos.

                En contraste con el aprendizaje supervisado. El aprendizaje no supervisado infiere a partir de los datos no etiquetados, una función que describe las estructuras ocultas en los datos.

                Tal vez el tipo más básico de aprendizaje no supervisado son los métodos de reducción de dimensión, como PCA, t-SNE, mientras que PCA se utiliza generalmente en el preprocesamiento de datos, y t-SNE suele utilizarse en la visualización de datos.

                Una rama más avanzada es el clustering, que explora los patrones ocultos en los datos y luego hace predicciones sobre ellos; los ejemplos incluyen el clustering K-mean, los modelos de mezcla gaussiana, los modelos de Markov ocultos, y otros.

                Junto con el renacimiento del aprendizaje profundo, el aprendizaje no supervisado gana cada vez más atención porque nos libera de etiquetar manualmente los datos. A la luz del aprendizaje profundo, consideramos dos tipos de aprendizaje no supervisado: el aprendizaje de representación y los modelos generativos.

                El aprendizaje de representación pretende destilar una característica representativa de alto nivel que sea útil para algunas tareas posteriores, mientras que los modelos generativos pretenden reproducir los datos de entrada a partir de algunos parámetros ocultos.

                Para ilustrar el ejemplo de aprendizaje no supervisado que aparece a continuación | Fuente: Foto de Jelleke Vanooteghem, Unsplash

                El aprendizaje no supervisado funciona como suena. En este tipo de algoritmos, no tenemos datos etiquetados. Así que la máquina tiene que procesar los datos de entrada e intentar sacar conclusiones sobre la salida. Por ejemplo, ¿recuerdas al niño al que le dimos un juguete con forma? En este caso, aprendería de sus propios errores para encontrar el hueco perfecto para diferentes formas.

                Pero la trampa es que no estamos alimentando al niño enseñándole los métodos para encajar las formas (a efectos de aprendizaje automático llamados datos etiquetados). Sin embargo, el niño aprende de las diferentes características del juguete y trata de sacar conclusiones sobre ellas. En definitiva, las predicciones se basan en datos no etiquetados.

                Ejemplos de algoritmos de aprendizaje no supervisado:

                • Reducción de dimensiones
                • Estimación de la densidad
                • Análisis de la cesta de la compra
                • Redes generativas adversariales (GANs)
                • Clustering

                .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *