¿Alguien siente que la programación de sistemas tradicionales es muy diferente del aprendizaje automático?

Descargo de responsabilidad: tengo una experiencia limitada en aplicaciones de aprendizaje automático porque todavía soy un estudiante universitario y no estoy trabajando en ninguna gran empresa que aplique el aprendizaje automático ni sé mucho sobre el aprendizaje automático. Entonces mi experiencia es limitada. Será editado en el futuro a medida que gane más experiencia en este tema específico.

Por supuesto, es diferente, pero no siempre es tan diferente. Realmente depende de para qué estás usando el aprendizaje automático. En general, el aprendizaje automático utiliza una interpretación probabilística (matemática) de los datos disponibles para crear un modelo útil. Muchas veces, necesita usar este modelo en un sistema a gran escala porque es útil para su aplicación y aquí es donde el aprendizaje automático está más cerca de la programación de sistemas, porque utiliza técnicas de programación para desarrollar dicho sistema. O necesita construir un sistema que analice sus datos.

Si desea crear una aplicación que utilice el aprendizaje automático, hay dos etapas para que esto suceda. Primero, debe conocer los algoritmos de aprendizaje automático que serán útiles para esa aplicación en particular y luego debe incorporarlos en la aplicación. En la primera etapa, el aprendizaje automático es diferente a la programación de sistemas, excepto si está construyendo sistemas a gran escala que pueden analizar datos (como Mahout). Después de eso, debe implementar (o usar una biblioteca específica) esos algoritmos en su sistema. Este es el paso donde el aprendizaje automático y la programación de sistemas están más cerca uno del otro. Explicaré más lo que ya he dicho para aclarar mi punto.

PASO 1

Si tiene algunos datos y desea encontrar alguna estructura interesante en ellos, por ejemplo, tiene clientes y luego desea encontrar grupos significativos, deberá seguir los siguientes pasos (no en este orden en particular):

  1. Explore sus datos para tener una idea de lo que quiere hacer. Si tiene un archivo .csv, es posible que desee abrir el archivo e imprimir (o ver) algunos valores.
  2. Preprocese sus datos. Esta es una forma de extraer nuevas características o tratar con valores atípicos (es decir, puntos de datos que no son útiles o son las excepciones a la regla)
  3. Aprenda un clasificador / regresor / etc. (para tareas supervisadas) o encuentre una estructura útil en los datos (para tareas no supervisadas).
  4. Itere hasta que encuentre un modelo útil que pueda generalizar efectivamente a nuevos datos.

Esta es una visión general simplista pero ayudará a entender. Además, tenga en cuenta que para realizar este tipo de procesamiento, es posible que desee utilizar una parte de los datos disponibles porque no tiene los recursos para hacerlo en todos sus datos y, en la mayoría de los casos, está utilizando un lenguaje de secuencias de comandos (R, MATLAB, Python), que no es tan rápido como otros idiomas.

PASO 2

Después de tener el modelo, debe aplicarlo en su sistema. Por lo tanto, necesita encontrar una manera de implementar el modelo en su sistema y este es el lugar donde necesita encontrar una forma de “sistemas” para implementar los algoritmos de aprendizaje automático que desea.

En la mayoría de los casos, será necesario que sea un sistema escalable porque no sabe cuántos datos más estarán disponibles en el futuro. Como ejemplo, cuando desee crear una aplicación móvil que reconozca los alimentos para proporcionarle información sobre sus nutrientes (calorías, etc.), debe crear un sistema que tome fotos y luego las envíe a su servidor, luego el El servidor utiliza un algoritmo de visión por computadora para tomar algunas decisiones y devuelve el resultado. Sin embargo, su algoritmo de visión por computadora debe ser escalable y también puede necesitar aprender en línea para mejorar para futuras solicitudes. Y debes hacerlo lo suficientemente rápido porque nadie quiere esperar. Por lo tanto, implementa dicho sistema en un lenguaje de programación inferior como C ++,

More Interesting

¿Cómo comienzo en la teoría y la programación del aprendizaje automático?

¿LinkedIn utiliza Deep Learning?

¿Qué debo hacer cuando tengo una cita con las características NULL?

¿Cuáles podrían ser las características posibles para detectar fraude en transacciones en cajeros automáticos?

¿Puedo seguir siendo un desarrollador de aprendizaje automático si tengo miedo a las matemáticas?

¿Qué saben los profesionales del aprendizaje automático y los científicos de datos de la industria sobre el análisis, la probabilidad basada en la teoría de la medida y el álgebra lineal numérica?

¿Los centros de datos cambiarán a procesadores personalizados para aplicaciones de aprendizaje automático?

¿Cuál es el papel de una capa totalmente conectada en una red neuronal profunda?

Visión por computadora: ¿cómo es la detección de objetos usando los puntos clave SIFT escala / rotacionalmente invariante?

¿Cuál es la relación entre IA, aprendizaje automático y ciencias de la computación? ¿Hay especializaciones en IA o aprendizaje automático, o son especializaciones en informática?

Cómo explicar el desempeño de un modelo predictivo a la gerencia que no conoce el aprendizaje automático

El aprendizaje profundo hará que los humanos sean innecesarios para qué trabajos.

Cómo calcular la similitud de coseno entre tweets

¿Es incorrecto si realizo un análisis de opinión en revisiones individuales en lugar de en todas las revisiones a la vez?

¿Cuáles son los casos de uso (existentes o futuros) en los que el uso de la Red Adversaria Generativa es particularmente interesante?