Recientemente aprendí python. Encuentro la inteligencia artificial muy interesante ya que me encanta la codificación. ¿Qué sugieres que haga después para desarrollar un sistema de IA? Supongamos que conozco conceptos básicos como las redes neuronales y el árbol de decisiones.

Un sistema / producto de IA tiene 5 partes centrales en las que deberá trabajar. Normalmente llamamos a esto el “flujo de trabajo de aprendizaje automático”. Estos pasos son los siguientes:

  1. RECOPILACIÓN Y PERFIL DE DATOS
  2. PREPARACIÓN DE DATOS
  3. CONSTRUCCIÓN DEL MODELO
  4. MODELO DE VALIDACIÓN Y PRUEBAS
  5. MODELO DE DESPLIEGUE

Este es un proceso iterativo , con cada ciclo mejorando los modelos que construimos.

Como está creando un producto, debe pensar en estos pasos como una tubería de datos que convierte los datos sin procesar en resultados predictivos.

Crear un producto relevante significa más que simplemente codificar las piezas de la tubería. Debe definir su problema e incorporar la experiencia de dominio en cada paso del flujo de trabajo de aprendizaje automático. Esto significa responsabilizar a cada uno de los pasos anteriores ante las preocupaciones del descubrimiento de productos, además de las estadísticas y las mejores prácticas que generalmente seguimos durante el desarrollo.

Hacer todo lo que viene de tener conversaciones efectivas con sus usuarios. Así que empecemos por ahí.


Usuario : Necesito comprender las principales causas de incidentes en el lugar de trabajo.

Tu : ¿Por qué?

Usuario: Porque es una gran pérdida de ingresos y parece que no podemos manejar el problema.

Usted : ¿Por qué no solo mira todos los informes de seguridad que vienen y cuenta los totales?

Usuario: Porque hay literalmente miles de informes que entran, y todos se ingresan manualmente, usando diferentes palabras para la misma cosa. No hay forma de que mi personal pueda leer todos los informes para comprender cuáles son los principales incidentes, y mucho menos tratar de descubrir algunas de las causas principales, o anticipar cuándo o dónde podrían ocurrir.

Usted : Si pudiera resumir los incidentes más importantes, y tal vez incluso descubrir razones o predecir ubicaciones riesgosas, ¿cómo actuaría ante esta nueva habilidad?

Usuario : Probablemente enfocaríamos nuestro dinero en capacitación específica y quizás colocaríamos aplicaciones en el campo que resaltaran situaciones peligrosas.


La última respuesta del usuario es a lo que apuntamos; cómo quieren actuar con el producto. Como solo está buscando construir algo rápido y liviano, su “conversación” puede ser leer en línea y aprender más sobre desafíos comunes en un dominio específico. El punto es que, a medida que continúe aprendiendo sobre el problema y las acciones que las personas toman, tendrá una idea de lo que la interfaz necesitará para habilitar.

Puede crear un prototipo de una aplicación de ejemplo que incluya tanto el front-end como su canal de datos. Para el front-end, use JavaScript. Sí, debes saber Javacript. El aprendizaje automático sin JavaScript es una fuente de lava de chocolate que solo puedes mirar y no tocar. No es genial Pase unas horas en w3schools y aprenda a crear una aplicación html / CSS / JavaScript (o use un marco si está familiarizado con ella) y cree algo con lo que las personas puedan interactuar.

¿Notamos que comenzamos con el front-end? Le recomiendo que adopte este enfoque, ya que le obligará a tener en cuenta a sus usuarios a medida que elabora cada parte de la tubería de datos. Ahora está listo para usar su conocimiento existente de Python para codificar su tubería. Echemos un vistazo a cómo aumentar rápidamente:

  1. RECOPILACIÓN Y PERFIL DE DATOS
  • Necesitamos obtener los datos correctos y producir algunas imágenes que nos digan cómo podemos preparar los datos en el siguiente paso.
  • Examine los conjuntos de datos disponibles públicamente relacionados con el problema que está tratando de resolver. Si no puede encontrar uno (muy común), entonces necesita cambiar su enfoque. Piensa en tu problema de manera diferente. Esto a menudo conduce a algo mejor de lo que estaba planeando originalmente.
  • Perfile sus datos para que pueda responder algunas preguntas estratégicas por adelantado. Aquí hay algunos enfoques comunes:
    • Verificar valores atípicos;
    • Busque relaciones numéricas y correlaciones puntuales;
    • Evalúa la cantidad de datos faltantes;

2. PREPARACIÓN DE DATOS

  • Sus datos están sucios y todavía no van a funcionar con algoritmos de aprendizaje.
  • Necesita limpiar y preparar los datos.
    • Combinar tablas;
    • Ingeniero de nuevas características;
    • Manejar datos faltantes, valores atípicos, etc., como se identificó en el paso anterior;
    • Limpiar, estandarizar / normalizar según sea necesario.

3. MODELO DE EDIFICIO

  • La parte más rápida. Elija algunos algoritmos y no asuma que sabe cuál funcionará mejor.
  • La mayoría de los modelos de aprendizaje automático requieren solo unas pocas líneas para comenzar.
    • Seleccione un conjunto de algoritmos basados ​​en sus fortalezas y debilidades conocidas;
    • Pruebe diferentes hiperparámetros o ejecute el ajuste automático de parámetros.

4. MODELO DE VALIDACIÓN Y PRUEBAS

  • Esto tiene 2 partes . Primero, obviamente necesita validar que sus modelos están produciendo resultados de calidad. El tipo de validación dependerá del enfoque de aprendizaje automático que elija (aprendizaje supervisado, no supervisado o de refuerzo). Esto podría estar equilibrando la sensibilidad con la especificidad, o la precisión y el recuerdo, o algún tipo de validez de clúster, etc.
  • En segundo lugar, las estadísticas no son suficientes para validar que su modelo está a la altura. También tiene que validar las salidas con los usuarios (úsela por ahora). ¿Pueden sus usuarios tomar medidas con sus resultados? ¿Quieren ellos?

5. MODELO DE DESPLIEGUE

  • Esto está poniendo en marcha toda su tubería, en última instancia, alimentando su extremo frontal. ¿Puede presionar “ir” y hacer que se ingieran, preparen, modelen, validen y vuelvan a desplegar nuevos datos en su front-end?

Entonces, todo eso puede parecer mucho trabajo, pero la mayor habilidad que puedes aprender a través de todo esto es cómo construir rápidamente . Crear productos significa que debes ser delgado y ágil. No puede preocuparse por perfeccionar un proceso de forma aislada para el resto del producto. Piense de manera integral y aprenda a explotar un producto total (no final) en unos pocos días. Este es su producto mínimo viable (MVP) que lo pone en manos de los usuarios (en este punto, probablemente solo usted). El propósito es obtener retroalimentación, no crear lo “correcto”. Rómpalo y aprende de lo que no funciona.

Después de algunos productos descuidados, aprenda a controlar la versión de su código y arroje sus aplicaciones a repositorios públicos para que otros las vean. Hospédelos en un servidor público compartido barato. Si se siente ambicioso, continúe y conecte su repositorio a una plataforma como CodeShip para que pueda jugar con una integración y entrega continuas. Que te diviertas.

Python es un buen punto de partida para aprender inteligencia artificial o aprendizaje automático, porque existen muchos paquetes de software python para ayudarlo a crear aplicaciones de aprendizaje automático.

El siguiente paso podría ser hacer un curso gratuito. Andrew Ng tiene un curso sobre Aprendizaje profundo [1] pero es posible que primero desee tomar su curso sobre aprendizaje automático para familiarizarse con los conceptos básicos.

¡Por supuesto, también puede consultar los paquetes de inteligencia artificial y aprendizaje automático para Python y comenzar a jugar! 🙂 [2]

[1] Redes neuronales y aprendizaje profundo | Coursera

[2] https://www.google.no/search?q=p

La inteligencia artificial es una cosa bastante diversa y las aplicaciones van desde la robótica a la biotecnología y mucho más, te aconsejaría que primero reduzcas tu área de aplicación y te concentres más en construir cosas en ese espacio. Puede consultar los enlaces a continuación para obtener un amplio conjunto de información para aprender y desarrollar.

Inteligencia artificial – Wikipedia

owainlewis / awesome-artificial-intelligence

hades217 / awesome-ai

josephmisiti / awesome-machine-learning

Hay un artículo que debería leer Software 2.0 (en Medio). Describe cómo nos estamos moviendo al Software 2.0, basado en redes neuronales. Aquí hay una oportunidad de desarrollar una carrera, especialmente si trabajas con la mentalidad de ayudar a la IA a crear sistemas de IA aún mejores, en lugar de competir contra ellos.

Intente usar Keras para escribir redes neuronales o scikit-learn para otro aprendizaje automático.

Documentación de Keras

scikit-learn: aprendizaje automático en Python

Encuentra algunos compañeros de equipo y prueba Kaggle !!!!