Saltar al contenido

Desmitificando el aprendizaje automático: aprovechando el poder de los algoritmos inteligentes | de Travis Granger | julio de 2023

14 de julio de 2023

En el mundo actual basado en datos, la aplicación del aprendizaje automático se ha vuelto cada vez más frecuente en varias industrias. Desde vehículos autónomos hasta recomendaciones personalizadas, los algoritmos de aprendizaje automático han revolucionado la forma en que resolvemos problemas complejos y hacemos predicciones. En este artículo, exploraremos los conceptos básicos del aprendizaje automático, sus diferentes tipos y proporcionaremos ejemplos de código relevantes para ayudarlo a comprender y comenzar su propio viaje de aprendizaje automático.

Comprender el aprendizaje automático: el aprendizaje automático es un subconjunto de la inteligencia artificial (IA) que permite que las computadoras aprendan de los datos y hagan predicciones o tomen medidas sin estar programados explícitamente. En lugar de seguir instrucciones rígidas, los algoritmos de aprendizaje automático aprenden patrones y relaciones en los datos, lo que les permite tomar decisiones informadas o generar información valiosa.

Tipos de aprendizaje automático:

Aprendizaje supervisado: el aprendizaje supervisado es uno de los tipos más comunes de aprendizaje automático. Implica entrenar un modelo en datos etiquetados, donde las características de entrada (conocidas como predictores) están asociadas con la salida correcta (conocida como el objetivo). El modelo aprende los patrones subyacentes en los datos, lo que le permite predecir el valor objetivo para entradas nuevas e invisibles.

Fragmento de código de ejemplo para entrenar un modelo de aprendizaje supervisado simple usando Python y la biblioteca scikit-learn:

de conjuntos de datos de importación de sklearn
de sklearn.model_selection import train_test_split
de sklearn.linear_model importar LinearRegression

# Cargar el conjunto de datos
diabetes = conjuntos de datos.load_diabetes()
X = diabetes.datos
y = diabetes.objetivo

# Divida 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)

Recomendado:  En el camino hacia una conducción más limpia, ecológica y rápida | Noticias del MIT

# Entrena un modelo de regresión lineal
modelo = Regresión Lineal()
modelo.fit(tren_X, tren_y)

# Evaluar el modelo
puntuación = modelo.puntuación(X_test, y_test)
print(“Puntuación del modelo R2:”, puntuación)

Aprendizaje no supervisado: el aprendizaje no supervisado implica entrenar modelos en datos no etiquetados para descubrir patrones o estructuras dentro de los datos. A diferencia del aprendizaje supervisado, no hay variables objetivo predeterminadas. Los algoritmos de aprendizaje no supervisados ​​ayudan a descubrir información oculta, agrupar puntos de datos similares o reducir la dimensionalidad de la fecha.

Fragmento de código de ejemplo para agrupar usando el algoritmo K-means en Python y scikit-learn:

de conjuntos de datos de importación de sklearn
desde sklearn.cluster importar KMeans

# Cargar el conjunto de datos
iris = conjuntos de datos.load_iris()
X = iris.datos

# Aplicar agrupamiento de K-medias
kmeans = KMeans(n_clusters=3, estado_aleatorio=42)
kmsignifica.fit(X)

# Obtenga las etiquetas de clúster para cada punto de datos
etiquetas = kmeans.labels_

# Imprime las etiquetas del clúster
print(“Etiquetas de clúster:”, etiquetas)

Aprendizaje por refuerzo: el aprendizaje por refuerzo implica capacitar a un agente para que interactúe con un entorno y aprenda a través de prueba y error. El agente recibe retroalimentación en forma de recompensas o penalizaciones en función de sus acciones, lo que le permite aprender estrategias óptimas con el tiempo.

Fragmento de código de ejemplo para implementar un algoritmo Q-learning básico en Python:

importar numpy como np

# Definir la tabla Q
num_estados = 4
núm_acciones = 2
Q = np.zeros((núm_estados, núm_acciones))

# Definir las recompensas y la matriz de transición
R = np.matriz([[0, -1],
[0, 1],
[-1, 0],
[0, 0]])
T = np.matriz([[0, 1, 1, 0],
[0, 0, 0, 1],
[1, 0, 0, 1],
[0, 0, 0, 0]])

# algoritmo Q-learning
num_episodios = 1000
tasa_de_aprendizaje = 0.1
descuento_factor = 0.9

para el episodio en el rango (num_episodes):
estado = np.random.randint(0, num_estados)
hecho = falso

Recomendado:  Cualquiera que sea su especialidad, incluya estos cursos universitarios imprescindibles para el éxito profesional

mientras no se hace:
acción = np.argmax(Q[state])
next_state = np.random.choice(range(num_states), p=T[state])

q[state, action] += tasa_de_aprendizaje * (R[state, action] + descuento_factor * np.max(Q[next_state]) — Q[state, action])

estado = siguiente_estado
hecho = estado == num_states — 1

# Imprimir los valores Q aprendidos
print(“Valores Q aprendidos:”)
imprimir (Q)

Conclusión: el aprendizaje automático ofrece herramientas poderosas para extraer conocimientos y perspectivas de grandes cantidades de datos. En este artículo, exploramos los conceptos fundamentales del aprendizaje automático y proporcionamos fragmentos de código en Python para ilustrar la implementación de diferentes tipos de algoritmos. A medida que profundice en el mundo del aprendizaje automático, recuerde que la práctica y la experimentación son claves para dominar este campo. Aproveche las posibilidades que brinda el aprendizaje automático y aproveche su potencial para resolver problemas complejos en varios dominios.