Cómo escribir AI para agregar dos números en Python

Definitivamente es posible usar “AI” (Machine Learning suena más apropiado aquí) para eso.

(No mencionaré la obvia solución no AI para usar la función “+” incorporada de Python)

Aquí hay un código simple que hace el trabajo usando el paquete SciKit Learn y el módulo de regresión lineal:

# Importar el módulo de regresión lineal desde sklearn
de sklearn.linear_model import LinearRegression
importar numpy como np

# Necesita un conjunto de datos de entrenamiento, el modelo aprenderá cómo agregar números a partir de estos datos
# Solo necesitamos 3 ejemplos de entrenamiento:
# 2 + 3 = 5 # 1 + 5 = 6 # 6 + 5 = 11
X = [[2,3], [1,5], [5,6]]
Y = [5,6,11]

# Ajustar el modelo de regresión lineal con los datos de entrenamiento.
modelo = regresión lineal ()
model.fit (X, Y)

# ¡Hecho! Ahora podemos usar predecir para sumar dos números

# Suma 6 y 6
print “6 + 6 =% d”% model.predict ([6,6])
# Suma 25 y 50
print “25 + 50 =% d”% model.predict ([25,50])

# Use esto para deshacerse de las advertencias en la ejecución
#print “6 + 6 =% d”% model.predict (np.array ([6,6]). rehacer (1, -1))
#print “25 + 50 =% d”% model.predict (np.array ([25,50]). rehape (1, -1))

Hecho ! ¡El modelo aprendió a sumar dos números con solo mirar algunos ejemplos de sumas!

(Eso es lo que hace el aprendizaje automático, aprender de los datos)

¿Como funciona?

En una regresión lineal con dos características x1 y x2 (los números que queremos sumar), busca el coeficiente a, byc de modo que:

[matemáticas] y = a * x1 + b * x2 + c [/ matemáticas]

y aquí debería ser el resultado de la suma.

Obviamente, para una simple suma, los coeficientes que estamos buscando son:

a = 1, b = 1 yc = 0

entonces obtenemos [matemáticas] y = x1 + x2 [/ matemáticas]

Pero aquí queremos que la IA lo descubra por sí mismo, así que solo lo alimentamos con algunos ejemplos (2 + 3 = 5, 1 + 5 = 6, 6 + 5 = 11). Hay 3 coeficientes, por lo que 3 ejemplos son suficientes, sin embargo, siéntase libre de usar más.

La función de ajuste hará que el modelo descubra el coeficiente de los datos de entrenamiento, puede verificar que encontró los coeficientes correctos usando:

imprimir “Coeficientes a =% d” model.coef_ [0]
imprimir “Coeficientes b =% d” model.coef_ [1]
imprima el modelo “Coeficientes c =% d” .intercept_

(Para el coeficiente “c” obtengo un valor muy pequeño en lugar de 0 debido a un error de precisión numérico).

Finalmente, con la función de predicción, solo le da al modelo dos números (x1 y x2) y el modelo calcula la suma.

Este es claramente un ejemplo muy simple e inútil, pero si entendió lo que sucedió aquí, entonces comprende lo básico del aprendizaje automático (el aprendizaje automático se usa mucho en IA)

¡Espero que ayude!

Hugo

Hay algunos problemas con su idea base. Déjame guiarte por algunos de ellos:

  1. La pregunta más general que está formulando podría plantearse como: ¿Puedo escribir una IA que pueda analizar dos columnas de números y encontrar una ecuación que use los valores de cada fila para dar como resultado el valor de fila de una tercera columna de números? ?
  2. Luego reducimos su pregunta a: ¿Puedo estar seguro de que la ecuación a la que llega la IA será la correcta (además en este caso) para todos los conjuntos no entrenados futuros?

La razón por la que no podemos comenzar con la cuestión de agregar dos números en Python es porque ya ha resuelto el problema en la pregunta. La IA no necesita agregar los números si ya sabe que deben agregarse, ya que un bucle solo puede hacerlo. Si vamos a usar AI, entonces probablemente lo necesitemos para descubrir que sumar los números es la función correcta.

Para responder a la primera: Sí, definitivamente podría usar un algoritmo de aprendizaje automático para crear una ecuación que usará dos valores en una fila para llegar a un tercer valor en la fila para todos los conjuntos dentro de sus datos. Hay una variedad de formas de hacer esto en varias matemáticas para que pueda elegir modelos matemáticos que puedan resolver un problema de dos variables dados múltiples puntos de datos.

Para responder a la segunda: Aquí es donde se desmorona y es porque este es un problema con los conceptos matemáticos, no con la lógica de programación. Para todos los conjuntos de datos que constan de dos variables y una solución, tiene la garantía de que hay un número infinito de ecuaciones posibles que coincidirán con sus datos. Si restringe la frecuencia con la que se usa cada variable y qué operaciones matemáticas son posibles, puede limitarla en gran medida, pero luego comienza a inyectar el hecho de que ya sabe la respuesta correcta (suma). ¡La única manera de asegurarse de que llegue a la ecuación correcta en este caso es si proporciona esa ecuación (o traza exactamente cuál será el resultado del conjunto de entrenamiento)!

Problema complicado

More Interesting

Inteligencia artificial: ¿por qué el aprendizaje profundo solo despegó en la década de 2010 y no antes?

¿Por qué algunas personas son tan paranoicas con respecto a la IA cuando simplemente podemos apagar la fuente de alimentación de las máquinas que ejecutan esos programas?

¿Cómo es ser parte del Programa Ninja de Aprendizaje Automático de Google?

¿Dónde puedo recibir correos electrónicos o algo similar sobre nuevas ideas, inventos o artículos recientes publicados sobre temas como la IA?

¿Cuáles son las cinco principales industrias (por ejemplo, minorista, finanzas, etc.) que están en mayor riesgo por la automatización, la inteligencia artificial y la robótica que reemplazan los trabajos humanos?

¿Cuál sería una buena aplicación para las redes neuronales con púas artificiales en los ámbitos del aprendizaje automático supervisado?

¿Es un curso de inteligencia artificial adecuado para un graduado en electrónica y comunicación?

Si se supone que la IA salvará a los humanos al predecir sus acciones futuras, ¿pueden evitar que hagamos ciertas cosas en la vida (por el bien común) y hasta qué punto (Ej: aceptar un no por respuesta, cuando somos tercos y queremos esquiar) en hielo delgado)?

Si estoy interesado en el aprendizaje automático y la inteligencia artificial, ¿es mejor postularse a puestos de ingeniero de software o de ciencia de datos?

¿Las computadoras reemplazarán a los intérpretes / traductores humanos en 10 años?

A partir de abril de 2017, ¿a qué distancia están los mejores chatbots de la IA en la película 'Her'?

¿La inteligencia artificial juega un papel importante para lograr energía sostenible? Si es así, ¿cómo contribuye la inteligencia artificial a este objetivo?

¿Se está utilizando Quora para recopilar información para construir una base de datos de inteligencia artificial?

¿Es la IA una burbuja?

¿Cuál es el mayor obstáculo cuando se trata de realizar un ser humano como la IA?