MODULO IV INTRODUCCION AL APREDIZAJE AUTOMATICO

 

                                                              DIPLOMA DO

                                       EN INTELIGENCIA ARTIFICIAL

                                                               MODULO IV  

             APRENDIZAJE AUTOMATICO CON PYTHON Y ASISTENTES INTELIGENTES

Ortega Irusta Mireya Elena

Este es el enlace code Chat GPT:

https://chat.openai.com/share/12d697df-e425-4b1e-8b21-9e833c29148b



El aprendizaje autónomo es un concepto en el campo del aprendizaje automático que se refiere a la capacidad de un sistema o modelo de aprender y mejorar por sí mismo sin intervención humana directa una vez que ha sido inicializado o puesto en funcionamiento. En resumen, implica la capacidad de un sistema para adquirir conocimiento, tomar decisiones y adaptarse a nuevas situaciones de manera independiente.

1. Definición:

El aprendizaje autónomo se refiere a la capacidad de un sistema o agente para aprender de su entorno, tomar decisiones y mejorar su rendimiento sin la intervención directa de humanos.

 2. Características clave:

- Autonomía: El sistema puede tomar decisiones y realizar acciones sin supervisión humana continua.

- Adaptabilidad: Capacidad para ajustarse y mejorar su desempeño a medida que se enfrenta a nuevos datos o situaciones.

- Aprendizaje continuo: La habilidad de seguir aprendiendo y mejorando con el tiempo.

3. Procesos involucrados:

- Captación de datos: El sistema recopila información del entorno o de fuentes disponibles.

- Procesamiento de datos: Analiza y utiliza estos datos para generar conocimiento o tomar decisiones.

- Acciones y retroalimentación: Basado en la información procesada, el sistema realiza acciones y recibe retroalimentación de su entorno.

 Ejemplo básico:

Imagina un robot en un almacén que debe moverse de manera autónoma para recoger y organizar productos. Utilizando sensores y datos del entorno, el robot aprende a navegar, evitando obstáculos y optimizando rutas para ser más eficiente con el tiempo. A medida que interactúa con el entorno y enfrenta nuevas situaciones, el robot ajusta su comportamiento y mejora su capacidad de movimiento sin intervención humana directa.

 Importancia del aprendizaje autónomo:

- Eficiencia: Permite a los sistemas adaptarse a entornos cambiantes de manera eficiente.

- Escalabilidad: Puede mejorar y evolucionar sin límites definidos por la intervención humana constante.

- Aplicaciones diversas: Útil en campos como la robótica, sistemas de recomendación, vehículos autónomos, entre otros.

El aprendizaje autónomo es esencial en la creación de sistemas inteligentes capaces de adaptarse y mejorar su desempeño continuamente, lo que lo convierte en un campo fundamental en la inteligencia artificial y el desarrollo de tecnologías avanzadas.

El pensamiento computacional es fundamental en el aprendizaje automático (machine learning) y su aplicación con Python. Vamos a desglosar los componentes del pensamiento computacional y cómo se aplican en el contexto del aprendizaje automático, diferenciando entre aprendizaje supervisado, no supervisado y reforzado.

La diferencia clave entre aprendizaje supervisado, no supervisado y reforzado radica en cómo se manejan los datos de entrenamiento y qué tipo de información se utiliza para ajustar un modelo o agente en el contexto del aprendizaje automático.

 Aprendizaje Supervisado:

- Definición: En el aprendizaje supervisado, el modelo se entrena utilizando un conjunto de datos etiquetados, donde las entradas van acompañadas de las salidas deseadas. El objetivo es aprender una función que mapee las entradas a las salidas conocidas.

- Características clave:

  - Utiliza datos etiquetados (entradas y salidas conocidas).

  - El modelo busca aprender la relación entre las características de entrada y las salidas correspondientes.

  - Ejemplos: Clasificación (predecir una etiqueta), regresión (predecir un valor numérico).

Aprendizaje No Supervisado:

- Definición: En el aprendizaje no supervisado, el modelo se expone a datos no etiquetados, y el objetivo principal es encontrar patrones, estructuras o relaciones intrínsecas en los datos sin guía explícita.

- Características clave:

  - Utiliza datos no etiquetados.

  - Busca patrones ocultos, estructuras o agrupaciones en los datos.

  - Ejemplos: Clustering (agrupación de datos similares), reducción de dimensionalidad.

Aprendizaje Reforzado:

- Definición: En el aprendizaje reforzado, un agente interactúa con un entorno, tomando decisiones y recibiendo retroalimentación en forma de recompensas o castigos. El agente aprende a través de la maximización de recompensas a largo plazo.

- Características clave:

  - Implica un agente que toma acciones en un entorno.

  - Aprende a través de la retroalimentación (recompensas o castigos) que recibe por sus acciones.

  - Ejemplos: Juegos, robótica, sistemas de recomendación.

Diferencias clave:

- Datos de entrenamiento:

  - Supervisado: Datos etiquetados (entradas y salidas conocidas).

  - No supervisado: Datos no etiquetados.

  - Reforzado: Interacción agente-entorno con retroalimentación.

- Objetivo:

  - Supervisado: Predecir o clasificar datos conocidos.

  - No supervisado: Encontrar patrones o estructuras ocultas en los datos.

  - Reforzado: Aprender a tomar decisiones que maximicen recompensas a largo plazo.

Estas diferencias fundamentales en cómo se manejan los datos y se ajustan los modelos definen los enfoques y aplicaciones específicas de cada tipo de aprendizaje en el campo del aprendizaje automático.

Tabla comparativa que muestra las diferencias clave entre el aprendizaje supervisado, no supervisado y reforzado:

CaracterísticasAprendizaje SupervisadoAprendizaje No SupervisadoAprendizaje Reforzado
Tipo de datosDatos etiquetadosDatos no etiquetadosInteracción agente-entorno
Objetivo principalPredecir o clasificar datos conocidosEncontrar patrones o estructuras ocultasMaximizar recompensas a largo plazo
EjemplosClasificación, regresiónClustering, reducción de dimensionalidadJuegos, robótica, sistemas de recomendación
RetroalimentaciónEntradas y salidas conocidasNo requiere salidas conocidasBasada en recompensas/castigos
EjemploEntrenamiento con datos etiquetadosIdentificación de patrones en datosInteracción con un entorno, recibiendo retroalimentación
Aplicaciones típicasReconocimiento facial, diagnóstico médicoSegmentación de mercado, análisis de textoVehículos autónomos, IA en juegos

Esta tabla destaca las diferencias fundamentales entre los tres tipos de aprendizaje automático, incluyendo el tipo de datos utilizados, el objetivo principal, la retroalimentación que reciben y algunas aplicaciones típicas en diferentes campos.

Ejecutado este código tenemos los siguientes resultados.

Python

import pandas as pd

# Crear un DataFrame con las diferencias entre los tipos de aprendizaje
data = {
    'Tipo de Aprendizaje': ['Supervisado', 'No Supervisado', 'Reforzado'],
    'Datos de Entrenamiento': ['Datos etiquetados', 'Datos no etiquetados', 'Interacción agente-entorno'],
    'Objetivo': ['Predecir o clasificar datos conocidos', 'Encontrar patrones o estructuras ocultas', 'Maximizar recompensas a largo plazo']
}

df = pd.DataFrame(data)
print(df)

Interacción con google colab:

Tipo de Aprendizaje Datos de Entrenamiento \ 0 Supervisado Datos etiquetados 1 No Supervisado Datos no etiquetados 2 Reforzado Interacción agente-entorno Objetivo 0 Predecir o clasificar datos conocidos 1 Encontrar patrones o estructuras ocultas 2 Maximizar recompensas a largo plazo

Python

import matplotlib.pyplot as plt

# Gráfico para aprendizaje supervisado
plt.figure(figsize=(6, 4))
plt.title('Aprendizaje Supervisado')
plt.xlabel('Datos de entrada')
plt.ylabel('Salida esperada')
# Aquí podrías graficar ejemplos de datos de entrada vs salida esperada
plt.scatter([1, 2, 3, 4], [2, 4, 5, 7], color='blue', label='Datos de entrenamiento')
plt.legend()
plt.show()

# Gráfico para aprendizaje no supervisado
plt.figure(figsize=(6, 4))
plt.title('Aprendizaje No Supervisado')
plt.xlabel('Característica 1')
plt.ylabel('Característica 2')
# Aquí podrías graficar un ejemplo de clustering o reducción de dimensionalidad
plt.scatter([1, 2, 3, 4], [2, 4, 5, 7], color='red', label='Datos no etiquetados')
plt.legend()
plt.show()

# Gráfico para aprendizaje reforzado
plt.figure(figsize=(6, 4))
plt.title('Aprendizaje Reforzado')
plt.xlabel('Tiempo/Episodios')
plt.ylabel('Recompensa')
# Aquí podrías graficar la evolución de recompensas a lo largo del tiempo
plt.plot([0, 1, 2, 3], [0, 1, 2, 3], color='green', label='Recompensas')
plt.legend()
plt.show()
import pandas as pd

# Crear un DataFrame con las diferencias entre los tipos de aprendizaje
data = {
    'Tipo de Aprendizaje': ['Supervisado', 'No Supervisado', 'Reforzado'],
    'Datos de Entrenamiento': ['Datos etiquetados', 'Datos no etiquetados', 'Interacción agente-entorno'],
    'Objetivo': ['Predecir o clasificar datos conocidos', 'Encontrar patrones o estructuras ocultas', 'Maximizar recompensas a largo plazo']
}

df = pd.DataFrame(data)
print(df)










1. Descomposición:

- Objetivo: Introducción al Aprendizaje Automático con Python.

- Componentes clave a considerar: Entradas, salidas, reglas, modelos, algoritmos, entrenamiento, validación.

2. Reconocimiento de patrones:

- Patrones a identificar: Relación entre entradas y salidas para crear reglas o modelos.

3. Abstracción:

- Abstracción de conceptos clave:

  - Aprendizaje supervisado: Se utiliza un conjunto de datos etiquetados (entradas con sus salidas correspondientes) para entrenar un modelo.

  - Aprendizaje no supervisado: Los datos no están etiquetados, el algoritmo encuentra patrones por sí mismo.

  - Aprendizaje reforzado: El modelo aprende mediante la interacción con un entorno, recibiendo retroalimentación en base a las acciones que realiza.

 4. Algoritmos:

- Enfoque en Python: Utilizaremos bibliotecas como `scikit-learn` y `TensorFlow` para implementar diferentes algoritmos de aprendizaje automático.

 Ejemplo con Python:

Vamos a utilizar un ejemplo sencillo de clasificación utilizando un conjunto de datos de flores Iris y el algoritmo de clasificación llamado Support Vector Machine (SVM) de `scikit-learn`.

 python

# Paso 1: Importar las bibliotecas necesarias
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

# Paso 2: Cargar el conjunto de datos
data = load_iris()
X = data.data
y = data.target

# Paso 3: Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Paso 4: Crear un modelo de aprendizaje supervisado (SVM en este caso)
model = SVC(kernel='linear')

# Paso 5: Entrenar el modelo con los datos de entrenamiento
model.fit(X_train, y_train)

# Paso 6: Hacer predicciones con los datos de prueba
predictions = model.predict(X_test)

# Paso 7: Evaluar el rendimiento del modelo
accuracy = accuracy_score(y_test, predictions)
print(f"Precisión del modelo: {accuracy}")

Interacción con google colab:

Precisión del modelo: 1.0

En este ejemplo:

- Entradas: Características de las flores Iris (longitud y anchura de pétalos y sépalos).

- Salidas: Clasificación de la especie de flor Iris.

- Reglas/Modelo El modelo generado por SVM basado en los datos de entrenamiento.

- Algoritmo: SVM (Support Vector Machine).

- Entrenamiento y validación:   Utilizamos datos de entrenamiento y prueba para entrenar el modelo y evaluar su precisión respectivamente.

Diferencias entre los tipos de aprendizaje:

- Supervisado: Utiliza datos etiquetados para entrenar un modelo.

- No supervisado: Encuentra patrones en datos no etiquetados sin la guía de salidas previas.

- Reforzado: Aprende a través de la interacción con un entorno y la retroalimentación recibida por sus acciones.

Este ejemplo de clasificación supervisada con SVM muestra cómo el aprendizaje automático puede generar reglas a partir de datos para predecir o clasificar información, diferenciando entre los distintos enfoques de aprendizaje automático.

El aprendizaje automático tiene una amplia gama de aplicaciones en la actualidad y su importancia es fundamental en diversos campos. Algunas de las aplicaciones generales y su relevancia son:

 Aplicaciones Generales del Aprendizaje Automático:

1. Medicina y Salud:

   - Diagnóstico médico: Identificación de enfermedades basadas en análisis de imágenes médicas.

   - Personalización de tratamientos: Adaptación de terapias o medicamentos según datos del paciente.

   - Predicción de epidemias: Análisis de datos para predecir propagación de enfermedades.

2. Finanzas:

   - Gestión de riesgos: Evaluación y predicción de riesgos financieros.

   - Detección de fraude: Identificación de transacciones fraudulentas en tiempo real.

   - Predicción del mercado: Análisis de datos para predecir tendencias financieras.

3. Comercio y Marketing:

   - Recomendaciones personalizadas: Sistemas de recomendación basados en preferencias del usuario.

   - Segmentación de clientes: Agrupación de clientes para campañas de marketing específicas.

   - Análisis de sentimientos: Interpretación de opiniones de clientes en redes sociales.

4. Automatización Industrial:

   - Mantenimiento predictivo: Predicción de fallos en maquinaria para evitar tiempos de inactividad.

   - Optimización de procesos:Mejora de la eficiencia en la cadena de producción.

 

5. Transporte y Logística:

   - Vehículos autónomos: Desarrollo de coches, drones y otros vehículos sin conductor.

   - Rutas optimizadas: Optimización de rutas de entrega para reducir tiempos y costos.

 Importancia en la Actualidad:

- Toma de decisiones inteligentes: Permite tomar decisiones basadas en datos y patrones complejos.

- Automatización eficiente:Agiliza tareas y procesos que requieren análisis o predicciones.

- Personalización: Ofrece servicios y productos adaptados a las necesidades individuales.

- Innovación y avance tecnológico: Impulsa el desarrollo de nuevas tecnologías y soluciones.

El aprendizaje automático ha revolucionado numerosos sectores al permitir el análisis de grandes cantidades de datos y la generación de predicciones precisas, lo que a su vez ha impulsado la eficiencia, la toma de decisiones más informadas y la creación de nuevas oportunidades en diversas áreas de la vida cotidiana y empresarial.

 Conclusiones y reflexiones:  Es de gran importancia poder conocer estas herramientas de introducción al aprendizaje automático, y poder actualizarnnos para poder aplicar en la practica docente.

El aprendizaje automático,implica la capacidad de un sistema para adquirir conocimiento, tomar decisiones y adaptarse a nuevas situaciones de manera independiente.

Comentarios

Entradas populares de este blog

MODULO IV CLASIFICACIÓN DE CARIES DENTAL SEGÚN LA METODOLOGÍA DE BLACK.

MODULO IV DATASET SOBRE EL RENDIMIENTO DE ESTUDIANTES EN UN EXAMEN

MODULO IV APLICACIÓN PRÁCTICA: REGRESIÓN LOGÍSTICA (APRENDIZAJE SUPERVISADO) EJEMPLO DE REGRESIÓN LOGÍSTICA PARA PREDECIR EL ESTADO DE SALUD BASADO EN EL ÍNDICE DE MASA CORPORAL (IMC).