Cómo implementar un nuevo clasificador desde cero utilizando el enfoque de aprendizaje automático

  1. Obtenga su conjunto de datos
  2. Realizar un análisis preliminar sobre el conjunto de datos.
    1. Obtenga una idea de la varianza, desviación, más puntos estadísticos
  3. Con base en su análisis, descubra qué clasificador funcionaría mejor
    1. Aprendizaje supervisado:
      1. Tal vez algo en la línea de un SVM?
      2. Tal vez incluso una CNN?
      3. Tal vez algo tan simple como KNN si los datos no varían mucho
    2. Sin supervisión
      1. K-medias?
      2. Un NN sin supervisión
  4. ¡Anímate y escríbelo!
    1. Para cosas de redes no neuronales, la biblioteca scikit-learn es brillante.
    2. Para redes neuronales, puede usar Keras, Lasagne , Theano , TensorFlow , TF-Learn
      1. Descubre las capas de tu red neuronal
      2. ¿Quieres una CNN?
      3. ¿Qué funciones de activación quieres? ReLU, Sigmoide, Tanh?
      4. ¿Alguna capa de abandono?
  5. Si quieres escribir el clasificador por tu cuenta, ¡adelante! El proceso es similar al anterior. Sugeriría usar Python, R o Matlab / Octave . Tenga en cuenta que estas no serán tan rápidas como las bibliotecas optimizadas y aceleradas por GPU mencionadas anteriormente, pero serán una gran experiencia de aprendizaje si está tratando de echar un vistazo.

¡Buena suerte!

Seleccione un idioma o marco en el que le gustaría implementar esto. MATLAB podría ser una buena opción para la creación rápida de prototipos. Theano o la antorcha serían mi elección si queremos tener un modelo adecuado y muchas otras características que faciliten estas cosas.

Suponiendo que tiene los datos para esto, divídalos en conjuntos de capacitación y pruebas (y validación). Ahora modele una red simple, para empezar, esto podría ser una red neuronal simple con una capa de entrada, una capa oculta y una capa de salida.

Pase los datos de entrenamiento a través de la red varias veces actualizando los pesos según sea necesario para minimizar el error de salida.

Ahora, una vez finalizada la capacitación, ejecute sus muestras de prueba y obtendrá resultados decentes.

Ya hay muchas personas en Internet que han implementado y compartido su código en Internet.

https://www.google.co.in/url?sa=… visite la página para ver un ejemplo

  1. Obtener algunos datos
  2. Limpiar los datos
  3. Divida los datos en un conjunto de entrenamiento y prueba (digamos 70% para entrenamiento)
  4. Entrenar a un clasificador (SVM o lo que sea)
  5. Probar el clasificador entrenado en el conjunto de prueba

Sugeriría usar R

More Interesting

¿Es el número de nodos en una capa oculta más que la capa de entrada? ¿Es esto un problema? ¿Qué se puede aprender en tales redes neuronales?

¿Por qué los modelos basados ​​en árboles son robustos para los valores atípicos?

Cómo ejecutar una sesión de tensorflow en un solo proceso y núcleo

Como el sistema de recomendación está relacionado con el aprendizaje automático, ¿cuál será la próxima moda en los sistemas de recomendación?

¿Cuáles son algunos estudios de caso excelentes en el aprendizaje automático?

¿Existe algún conjunto de datos disponible públicamente para la clasificación étnica / nacionalidad de los nombres humanos?

¿Cuáles son las relaciones entre el aprendizaje automático, el aprendizaje profundo, el aprendizaje supervisado y el aprendizaje no supervisado?

¿Qué consejo daría Yoshua Bengio a los jóvenes investigadores que ingresan al campo del aprendizaje automático?

¿Cuáles son todas las debilidades que Lee Sedol encontró en el juego de AlphaGo?

¿Es el aprendizaje automático y el aprendizaje profundo una carrera mejor que el desarrollo web ahora?

Los algoritmos de ML escritos en Java funcionan bien para un conjunto de datos más pequeño. Para un conjunto de datos grande, ¿cómo podemos escalar estos algoritmos? ¿Necesitamos buscar algoritmos distribuidos / mapas distribuidos en memoria / NOSQL / archivos para leer y escribir grandes conjuntos de datos o hay alguna buena API?

¿Cuáles son las principales diferencias entre econometría y aprendizaje automático?

Al predecir un resultado binario, ¿cómo toman en cuenta las personas el orden en que ocurren las entradas?

¿Es Kafka la mejor solución para crear una aplicación de visión por computadora?

¿Cómo podemos estimar múltiples parámetros de un clasificador?