Cómo encontrar el siguiente número de la lista de números anteriores usando el aprendizaje profundo

Descargo de responsabilidad: no puedo encontrar el número exacto que debería aparecer después de un número determinado, pero debería ser capaz de predecir el próximo número a partir de un conjunto grande de datos.

Permítanme tomar un ejemplo de tratar de predecir el próximo número del precio de una acción determinada.

Así es como lo implemento.

  1. Primero, recolectaría el conjunto de datos de las acciones durante el año.
  2. Luego recogería todas las acciones relacionadas con ese campo. Cuantos más datos, más precisión tendrá mi modelo.
  3. Luego haría algunas funciones de ingeniería para obtener un mejor resultado de mi modelo.
  4. Entonces usaría una pila de LSTM. Tenga en cuenta que este modelo requiere un flujo continuo de datos y también es adecuado para este tipo de problemas. Elegí LSTM sobre RNN porque LSTM funciona bien sobre RNN debido al problema del gradiente de fuga.
  5. Entrenar al modelo y predecir el número.

Sé que esta respuesta es realmente corta. No mencioné los matices que forman parte de la construcción de un modelo.

Espero que esto te ayude.

Si necesita ayuda, envíeme un mensaje de texto.

Predicción de secuencia utilizando redes neuronales recurrentes (LSTM) con TensorFlow

Código:

1 import polyaxon como plx 2 3 4 def create_experiment (output_dir, X, y, train_steps = 1000, num_units = 7, output_units = 1, num_layers = 1): 5 “” “Crea un experimento usando la arquitectura LSTM para el problema de regresión de series de tiempo”. “” 6 7 config = {8 ‘name’: ‘time_series’, 9 ‘output_dir’: output_dir, 10 ‘eval_every_n_steps’: 100, 11 ‘train_steps_per_iteration’: 100, 12 ‘train_steps’: train_steps, 13 ‘run_config’: { ‘save_checkpoints_steps’: 100}, 14 ‘train_input_data_config’: {15 ‘input_type’: plx.configs.InputDataConfig.NUMPY, 16 ‘pipeline_config’: {‘name’: ‘train’, ‘batch_size’: 64, ‘num_epochs’: Ninguno, 17 ‘barajar’: Falso}, 18 ‘x’: {‘x’: X [‘tren’]}, 19 ‘y’: y [‘tren’] 20}, 21 ‘eval_input_data_config’: {22 ‘ input_type ‘: plx.configs.InputDataConfig.NUMPY, 23’ pipeline_config ‘: {‘ name ‘:’ eval ‘,’ batch_size ‘: 32,’ num_epochs ‘: None, 24’ shuffle ‘: False}, 25’ x ‘: {‘x’: X [‘val’]}, 26 ‘y’: y [‘val’] 27}, 28 ‘estimator_config’: {‘output_dir’: output_dir}, 29 ‘model_config’: {30 ‘module’ : ‘Regresor’ , 31 ‘loss_config’: {‘module’: ‘mean_squared_error’}, 32 ‘eval_metrics_config’: [{‘module’: ‘streaming_root_mean_squared_error’}, 33 {‘module’: ‘streaming_mean_absolute_error’}], 34 ‘optimizer_config’: { ‘module’: ‘adagrad’, ‘learning_rate’: 0.1}, 35 ‘graph_config’: {36 ‘nombre’: ‘regresor’, 37 ‘características’: [‘x’], 38 ‘definición’: [39 (plx .layers.LSTM, {‘num_units’: num_units, ‘num_layers’: num_layers}), 40 (plx.layers.FullyConnected, {‘num_units’: output_units}), 41] 42} 43} 44} 45 experiment_config = plx. configs.ExperimentConfig.read_configs (config) 46 return plx.experiments.create_experiment (experiment_config)

El modelado de secuencias es una gran parte del aprendizaje profundo / aprendizaje automático y es muy importante. Puede resolver su problema de muchas maneras. Puede usar HMM para modelar su secuencia o si desea resolverla utilizando solo “Aprendizaje profundo” puede optar por RNN (LSTM o GRU). Básicamente configura el RNN con la entrada como el número actual y la salida debe ser el próximo número que desea predecir. Representa cada número en forma de un vector mediante una codificación en caliente y alimenta esos vectores como la entrada al RNN en cada paso de tiempo. La pérdida generalmente será un error de entropía cruzada y una optimización si se hace usando BPTT. Una vez que haya alimentado todos los datos de entrenamiento y haya terminado el número especificado de épocas, debería poder muestrear los dígitos condicionados a algún número (prob (siguiente palabra | 10 palabras anteriores)). Por ejemplo, si lo ha entrenado en datos de texto, dado algunas palabras como “¿Por qué soy yo?”, Debería ser capaz de completar la oración.

Usted no Buena suerte tratando de entrenar a tu red de aprendizaje profundo para encontrar el próximo número primo.

No estoy bromeando, pruébalo.

¿Podría entrenar a un aprendiz de máquina para predecir el próximo número primo? Sé que no hay patrón para las PN. Me pregunto si el ML lo resolvería.

No se puede. Entonces, disfruta de tu felicidad (o en este caso, tristeza).

More Interesting

He realizado el curso de aprendizaje automático de Andrew Ng pero no lo he programado. ¿Debo decir que tengo los conocimientos básicos?

¿Por qué no hay bloqueadores de anuncios impulsados ​​por el aprendizaje automático?

¿Qué es más robusto para datos ruidosos, un árbol de decisión o Naive Bayes?

¿Qué piensa Vijay Balasubramaniyan del aprendizaje automático Adversarial?

¿Cuáles son algunos métodos de clasificación de series temporales?

Aprendizaje automático: ¿es el enfoque descrito a continuación una buena forma de evaluar la calidad de las recomendaciones basadas en comentarios implícitos?

¿Qué hace exactamente esta función, tf.nn.embedding_lookup (), en TensorFlow?

¿Hay alguna diferencia entre el modelado de temas y el clúster?

¿Qué algoritmos son los mejores para el filtrado de spam? ¿Cómo deberían implementarse?

¿Debería haber una relación específica entre el número de características y el número de clases? Si tengo 15 funciones pero 50 clases con 1000 datos de entrenamiento, ¿tendré un problema de sobreajuste? ¿Y cuál es la mejor técnica de clasificación para esta relación?

¿Qué hace que una red neuronal convolucional sea excelente?

¿Cuáles son algunos de los mejores trabajos de investigación o libros para el aprendizaje automático?

# ¿Cómo puedo comenzar un trabajo de investigación sobre aprendizaje automático?

¿Puedo usar el algoritmo de aprendizaje automático en mi proyecto de investigación aunque no soy un experto en él?

¿Existe un sistema de IA más eficiente que el Watson de IBM?