Acceder

Automatiza decisiones con Inteligencia Artificial en Excel (instructivo para novatos. Parte 1)

Seguramente te has creído que la inteligencia artificial (AI en inglés) es cosa de supergenios, pero no es así.  Si eres emprendedor seguro tendrás el inconveniente administrativo de tomar decisiones, y si eres inversor tendrás el inconveniente de que dejas tu dinero en manos de alguien que toma decisiones con tu dinero que puede tomar malas decisiones con o sin intención.  ¿Es posible automatizar altos ejecutivos?  Sí.

Te aseguro que con este post podrás hacer inteligencias artificiales sencillas sin ser un experto y lo podrás hacer en Excel.

A como te metas en ello hay un modelo de negocios esperando.  El de automatizar altos ejecutivos.  Ya sé que dicen que es imposible, pero recuerda que hace 30 años era imposible automatizar a una secretaria.  A como leas este artículo te convencerás de que podría haber un potencial de negocios en reemplazar altos ejecutivos con ordenadores.

En este post mostraré primero como construir neuronas de manera sencilla usando Excel, en segundo lugar usaré ejemplos simples y en tercer lugar mostraré la arquitectura general, el esquema conceptual de cómo automatizar la labor de los altos ejecutivos de la empresa.  Eso se llama igualdad de automatización, pues si vas a automatizar al trabajador de fábrica, también tendrías que poder automatizar al ejecutivo para eventualmente no necesitarlo.  Siendo emprendedor te ahorras contratar un consultor, un ayudante conocedor o servicos de asistencia técnica, y si eres inversor te ahorras tener que contratar un alto ejecutivo.

Conceptos básicos de inteligencia artificial

La red neuronal (neuron network)

Una neurona es una célula que recibe información de otras neuronas, hace un procesamiento simple, y luego envía un resultado a otras neuronas.  Podríamos decir que una neurona es una función, y casualmente lo que tu escribes en las celdas de Excel suele ser una función.  Y así entre un dato de entrada (input data) y la información de salida o resultados (output data), hay funciones donde las salidas de una función son la entrada de otra función.  Como puedes ver las neuronas de agrupan en capas.

Machine learning

Una cosa es el funcionamiento de las neuronas, su capacidad de pensar y entregar resultados, y otra cosa es su capacidad de aprender, que modifica su funcionamiento.  El concepto de aprender (machine learning) tiene que ver con ajustar coeficientes de esas funciones.  

En este post no entraré en el detalle de la complicación del machine learning, porque este es un campo en empresas y academia están aún aprendiendo, investigando, perfeccionando. En forma muy simplificada podríamos pensar en machine learning como un proceso donde la máquina estará haciéndote la mínima cantidad de preguntas para aprender y ajustar coeficientes para dar los mejores resultados posibles. En lugar de entrar en arquitecturas complicadas, y ajustes de coeficientes a lo largo de toda una red, lo que haré será ofrecer maneras simples (para fines didácticos solamente) en las que tu puedes crear neuronas individuales expertas. Claro, no es lo mismo una neurona experta que una red de neuronas expertas, así como no es lo mismo un músico experto que una orquesta de músicos expertos que no coordinan la sinfonia entre ellos en el concierto.  Pero para los casos que veremos esas maneras simples serán trucos suficientes para que tu construyas tus neuronas sin tener que pasar por un machine learning que te quiebre la cabeza.

La estructura de la neurona

Una neurona es una función con una estructura muy particular.  

  • Los datos de entrada son los valores x.  Tenemos x1, x2, x3, etc....  
  • Para cada x hay un coeficiente w.  Tenemos coeficientes w1, w2, w3, etc... y hay un valor b que se conoce como "error".  Cada coeficiente w se entiende como "peso" (¿recuerdas cuando te han hablado de un peso ponderado?)
  • Tomas cada x y lo multiplicas por el w y lo sumas con el resto de multiplicaciones x por w y finalmente b.
  • Si recuerdas en secundaria la funcion lineal f(x) = m * x + b, en una neurona m * x + b se entendería esa operación como x1 * w1 + b.
  • Al resultado de la suma de las x por w más b se le aplica una función y finalmente se obtiene el valor y.
  • Tu neurona completa se mira así.

y = función (x1 * w1 + x2 * w2 + x3 * w3 +....+ b) 

Implementando funciones en Excel

  • Acabas de abrir Excel y oprimes Alt-F11 para abrir el editor (conocido como IDE).
  • Haces click derecho en la zona en blanco indicada, seleccionas Insert, luego seleccionas Module.

  • Luego ingresas el siguiente texto.

  • Cierras la ventana del IDE y ya estamos listos para usar las 3 funciones.en celdas de Excel.
  • Puedes probar la función Sigmoid en Excel para ver si funciona.

  • Recuerda salvar la hoja de Excel con extensión xlsm para que conserve el código de las funciones que insertaste.

Cabe notar que y = función(x1*w1+x2*w2+x3*w3+....+b)  en este caso es y = sigmoid(A1) donde la celda A1 es el x1 y w1 tiene valor 1 y b es igual a 0. Si graficamos la función sigmoide se mira lo siguiente:

  • Tiene una forma de S.
  • Sus valores se encuentran entre 0 y 1
  • De un lado es casi 0  y del otro es casi 1.
  • La transición del 0 al 1 es suave.
  • Si lograras cerrar el intervalo de transición, y aproximar los valores a 0 y a 1 podrías tener una función prácticamente binaria.  Muy útil para convertir algo en valores de falso y verdadero.
  • Miramos que el 5 y -5 prácticamente es casi cero y en 10 está demasiado cerca de cero.

Las otras funciones se pueden graficar también.  La normalizadora permite convertir valores entre 0 y 1 y pasarlos de -1 a 1.  La rectificadora tiene valores cero para números negativos y el valor se preserva para números positivos.

Como puedes ver, las conductas de las funciones que intervienen en las AI suelen tener conductas no lineales.  Esto hace que el resultado de usarlas sea muy poco intuitivo, pero muy inteligente.

Caso 1: Cálculo del agotamiento de un trabajador

Nos han dado la siguiente caricatura y nos piden que calculemos cuanta energía le queda al trabajador luego de cierta cantidad de horas laborales. Sólo vamos a usar una sola neurona. 

  • Observamos que a partir de la hora 7 la energía empieza a descender y para la 13ava hora ya está agotado.
  • De todas las funciones que vinos la sigmoide parece tener una transición suave, pero tenemos que hacer una conversión.  La función sigmoide pide un valor t que es 1 (100%) en 5 y es casi cero en -5.  Entonces tenemos que buscar una manera de convertir horas en números de la curva sigmoide.

Hora 7 equivale a t = 5

Hora 13 equivale a t = -5

  • Vas a abrir el IDE con Alt F11 y vas a agregar una nueva función, al final de lo que ya habías escrito.

Esa función hace la conversión de horas a valor t.  

  • Como ves en la función tvalue los valores 7 y 5 indican conversión de 7 a 5, y los valores 13 y -5 indican conversión de 13 a -5, y la x que ingresa a la neurona es el valor de la celda A2.  
  • Al aplicar la función sigmoid estamos obteniendo la salida de la neurona.  
  • En este caso la función tvalue nos pide 4 valores para aprender, y un valor x para calcular.  
  • Las equivalencias necesitaban de un trabajo de ajuste de coeficientes que tvalue ya ha hecho.  Cabe notar que en este caso los datos 7,5,13,-15 son los datos reales que tenemos. 7 y 13 son datos tomados en la realidad y 5 y -5 son resultados sirven para ajustar coeficientes por medio de tvalue.
  • En este caso la función tvalue hace el trabajo de encontrar una equivalencia lineal.
  • Desde un punto de vista hago trampa al usar tvalue como algoritmo de ajuste de coeficientes (machine learning), porque no hay un aprendizaje usando toneladas de datos y usando los algoritmos típicos de machine learning.
  • Desde otra perspectiva es lo correcto, porque se trata de hacer que la función aprenda con una cantidad mínima de preguntas, eficiente, que es lo que los académicos buscan al final.
  • Esto nos indica que para la hora 8 el trabajador tiene el 96% de la energía para trabajar.  Tiene cerca de un 4% de agotamiento. Su trabajo (output) será menor.

Caso 2: Calculando la mejor jornada laboral para trabajadores

Sabemos que aun trabajador le afecta el cansancio, y también sabemos que la calidad del trabajo disminuye con la velocidad.  Muchos jefes y gerentes piden cantidad y calidad.  

  • La ideología dice que más horas al día significa más producción y calidad.
  • La ideología dice que más horas al día significa más producción y calidad.
  • Entonces la ideología empuja al gerente y jefe a convertirse en capataz de esclavos.

Bajo la ideología, tener a un trabajador desocupado es dinero perdido.

Hay un coste por hora y de allí sólo hay que exigir más producción y más calidad y todo resuelto.  El trabajador eficiente termina y se queda sin hacer nada y se le insta a trabajar, a que no sea vago.  Esta ideología sólo maximiza la utilización del trabajador.  Pero ¿de verdad aumenta la calidad (quality) y cantidad (output) si tratas a los trabajadores com máquinas?  Como en este ejemplo somos unosinhumanos, vamos a tratar a los trabajadores como máquinas, y nos vamos a imaginar que son un motor de submarino nuclear.  Los sumbarinos tienen "full speed" (a toda máquina) al 50% de la potencia total del motor. A partir de allí empieza "flank speed" (velocidad de flanco) que va de 50% a 100% y si usas esa potencia debes encender los enfriadores de alta velocidad.  Esto quiere decir que no existe eso de que el motor de un 110% como a veces le piden a los trabajadores.

  • ¿Has notado que a los trabajadores humanos les exigen incremento en su desempeño de 20% años a año?  A los ordenadores no se les hace eso.  Si quieres hardware y software más rápido, debes pagar por ello.
  • El ordenador se enferma de virus y corren a curarle.  Al humano le despiden.
  • Las empresas contratan soporte 24/7 para las máquinas, pero no para los trabajadores.

Ahora que ya sabemos cómo se porta un motor de submarino digamos que al 50% de potencia del reactor el humano aún da su mejor calidad.  A partir de 50% comienza a decaer su calidad.  Tenemos la siguiente equivalencia de función sigmoide:

  • 50% de potencia del reactor (a toda máquina) equivale a 100% de calidad.
  • 100% de potencia del reactor (velocidad de flanco) tenemos 0% de calidad porque para el humano no hay enfriadores de alta velocidad y se funde el motor.

Luego de hacer lo mismo que hicimos antes, calculamos tablas para Output vs horas trabajadas (lo que calculamos en el caso 1) y calidad vs potencia de reactor usando sigmoides.

Luego multiplicamos los valores para ver cómo se comporta el ser humano.  Esta es la tercera neurona que no tiene funciones extrañas asociadas.  Es una fumción muy entendible.

Multiplicador de productividad = Output x Quality

Cabe notar que el resultado es sólo un multiplicador sin unidades que indica capacidad máxima del ser humano. Veamos como se comporta el multiplicador.

Esta tabla nos dice que no parece bueno forzar al ser humano a muchas horas y a velocidad de flanco. Pero esto es sólo capacidad humana.  ¿Qué pasa con la producción?  Esta es nuestra cuarta neurona, también muy entendible.

Producción (unidades) = Multiplicador de productividad x Capacidad nominal de producción por hora x Cantidad de horas

Supongamos que en 8 horas sacan 100 unidades.  Cabe aclarar que este gráfico muestra lo que ocurre cuando la producción es intensiva en horas máquina, y lo que afecta la calidad viene en la inspección.

¿Qué pasaría si es intensiva en mano de obra?  Habría que multiplicar por la potencia del reactor.

Producción (unidades) = Multiplicador de productividad x Capacidad nominal de producción por hora x Cantidad de horas x speed

El desempeño de la producción se muestra así.  Ojo que hablamos de unidades que cumplen las especificaciones de calidad, que producir mucho se puede, pero va a terminar en desecho o reproceso.

Parece que el óptimo está en 70% de potencia de reactor, y 8 horas.  En Japón hay empresas que practican la ideología del karoshi, que literalmente significa "muerte por exceso de trabajo" donde no hay límite de horas.  

18 October 2016. Authorities rule Joey Tocnang’s death was directly related to the long hours of overtime - up to 122.5 hours a month – he was forced to perform - Death from overwork: Japan's 'karoshi' culture blamed for young man's heart failure

En su mundo de fantasía, los ejecutivos del karoshi imaginan que esta gráfica se comporta de esta manera.

Esto nos dice que con una simple AI de 4 neuronas en Excel mejoramos la capacidad de decisión de un alto ejecutivo japonés.  ¿Comprendes ahora el poder de la inteligencia artificial? resulta incluso alarmante que la AI entregue un resultado más humanitario que la decisón de altos ejecutivos.  ¿Puede la máquina ser más humana que los humanos?  En este caso lo es.

  • ¿Que necesitas aumentar la producción?  Entonces contrata más gente.  ¿Qué eso significa entrenar gente?  Pues sí.  La AI ya nos ha dicho donde es que tenemos la máxima productividad con calidad.  Si tratas de bailar con la realidad obtienes desempeño inferior y maltratas a la gente.
  • ¿Te imaginas crear una AI y cobrar suscripción por los servicios de la AI a sólo una fracción del precio del salario de un alto ejecutivo?  En la próxima entrega hablaré de la estructura dentro de la cual debes montar tus redes neuronales para automatizar a un alto ejecutivo.
  • ¿Qué es lo diferente de la AI respecto del software común?  Lo distinto es que antes el software era una receta de cocina que entregaba platos, y la AI es un cerebro que aprende y que entrega resultados inteligentes que resultan de operaciones con funciones no lineales.

Lo que hace superior a las AI es que los altos ejecutivos se "enfocan" mientras que la AI lo ve todo.  Los ejecutivos siguen ideologías muy definidas:

  • La realidad: Una empresa es un grupo de personas que hace cosas.
  • Ideología financiera: Una empresa es dinero que hace dinero.
  • Ideología automatizadora: Una empresa es un ordenador que hace dinero.
  • Ideología política: Un partido es un grupo de ideologías de corto plazo que hace cosas.

El problema de la ideología es que pierde de vista todo lo que se salga del alcance de su ideología.  Algo tan simple como la jornada laboral, que cualquiera entiende, no está bajo la cobertura de los ejecutivos.  Es que la ideología es simple: "Si A entonces B" una sola neurona lineal sin sigmoides, ni rectificadores, ni nada.  Les pagan muchísimo dinero.  ¿Cuánto dinero se podría ahorra una empresa si automatiza a los ejecutivos?  Esta es una lista de los salarios de ejecutivos en India.  Ni siquiera por estar en país barato terminan de ser baratos.  ¿Cuánto dinero hay en un modelo de negocios que preste servicios de altos ejecutivos AI?

Infosys ya alega haber destruido 11000 empleos (Infosys releases 11,000 employees due to automation: Key takeaways from board meet). Se podría agregar algunos más entre altos ejecutivos de empresas de países baratos o caros.  ¿Hay potencial de negocios en automatizar a los altos ejecutivos y cobrar por ello?

Si eres emprendedor y automatizas, siempre te quedará el lado de inversor, de lograr sueños que los ejecutivos de negocios establecidos no tienen.

Finalmente he de agradecer a J. P. Luna por facilitar este material para su publicación.

16
¿Te ha gustado el artículo?

Si quieres saber más y estar al día de mis reflexiones, suscríbete a mi blog y sé el primero en recibir las nuevas publicaciones en tu correo electrónico.

  1. en respuesta a Cfrpy7
    -
    Top 100
    #18
    07/04/21 17:39
    La funcion sigmoide calcula el Output a partir de Hours, y el Quality a partir del Speed.
    Las tablas mostradas resultan de aplicar las formulas mostradas a cada valor de Hours y Speed.
    Si querías código, tendrás que hacer un proceso para que con la fórmula se llenen las casillas.
    Este no es un ejercicio para aprender a programar en Excel, sino para mostrar que con pocas neuronas se puede lograr un resultado más inteligente.
    Programar el bucle para colocar los valores usando las fórmulas que se muestra es muy académico.
    Lamento la confusión, pero la idea es mostrar el concepto de neuronas, no es exactamente una clase de Excel.

  2. Nuevo
    #17
    07/04/21 17:09
    Realmente un poco decepcionado... la documentacion empieza con formulas, luego ya no las publica, tampoco existe un archivo para bajar... no sirve para el efecto de aprender, entonces para que publicarlo?
  3. Nuevo
    #16
    11/01/21 00:46
    Me gusta, pero en un apel no encuentro el editor de nuevas funciones.
    Sigo trabajando 
  4. Nuevo
    #15
    25/02/20 04:30

    Buenas tardes,
    Pregunta: Agradecería saber la ruta de la parte 2 de "Automatiza decisiones con Inteligencia Artificial en Excel (instructivo para novatos. Parte 1)".

    Quede iniciado...

    Muchas Gracias.

  5. en respuesta a Dabulper
    -
    Top 100
    #14
    27/06/18 16:46

    Comento el articulo que posteas.

    La AI tiene muchos problemas inherentes a su diseño y estructura. Uno de ellos es que no reconoce entre realidad y ficción. Youtube tuvo un problema porque confundía los videojuegos de guerra con la gente que apoya la guerra. Eso y la política de maltratar a los creadores, ha hecho que Youtube haya perdido el streaming the videojuegos que ahora ha migrado a Twitch.

    La AI es sólo una calculadora de bolsillo con esteroides. Como es rápida, parece inteligente, pero igual una calculadora de bolsillo es más rápida que tu y no es más inteligente para la aritmetica que tu.

  6. en respuesta a Comstar
    -
    Nuevo
    #13
    27/06/18 11:32

    He hecho una hoja de excel siguiendo los pasos de este blog, todo iba bien hasta que llegué a la parte de " Luego de hacer lo mismo que hicimos antes, calculamos tablas para Output vs horas trabajadas (lo que calculamos en el caso 1) y calidad vs potencia de reactor usando sigmoides" no logro conseguir esos resultados.

    Tienes algun correo electronico para poder enviartela ?

  7. en respuesta a Kevinmolina22
    -
    Top 100
    #12
    27/06/18 09:33

    Este post se hizo con la ayuda del autor que aporto los materiales y que se cita. Cual es la duda para transmitirla al autor. En la de menos se puede mejorar el post o hacer uno sobre como construir la hoja. pero eso estaria sujeto a disponibilidad del autor. Elmensaje de este post es que puedes pegar funciones en serie y encontrar cosas que no podias encontrar antes.

  8. Nuevo
    #11
    26/06/18 18:10

    Hola, quisiera saber si se puede obtener la hoja de excel que utilizaste para este ejercicio.

  9. en respuesta a Ngallego
    -
    Top 100
    #9
    17/06/18 18:03

    Hay dos razones por las que las macros de Excel no funcionan:
    1. La fecha no esta en formato MM/DD/YYYY
    2. El punto no esta configurado como simbolo decimal.
    Eso se arregla en el panel de control de Windows en la configuracion regional.

  10. Nuevo
    #8
    17/06/18 04:27

    Excelente blog, y más para un novato como yo, que buen aporte. Queria saber si es posible tener una copia del archivo de excel que creaste para explicar el ejercicio, ya que tengo algunas fórmulas que no me funciona y quiero aplicarlo a un ejercicio real sobre el analisis de eficiencia de máquina, donde tengo un % objetivo y quiero poder predecir de alguna forma, si se cambian las variables de ese proceso, como por ejemplo la calidad de los materiales, cantidad de horas de producción o cantidad de personas que estan involucradas dentro del proceso productivo. Mil gracias por tu ayuda.

  11. en respuesta a Dabulper
    -
    Top 100
    #6
    24/07/17 16:04

    Esos empleos se basan en lo siguiente:
    1.Una persona estudia por años para ser experto en una de esas áreas de los nuevos empleos.
    2.La persona enseña a la máquina en un contrato temporal de unos meses, y si tiene suerte, unos pocos años.
    3.Cuando el ordenador ya ha aprendido, despiden a la persona. A gastar otromontón de años estudiando otra cosa.

    Son empleos que parecen como el de aquellos que construían ferrocarriles. Una vez que la gran vía férrea se termina, se acaba el empleo. El problema es que la educación avanza más lento que la necesidad de nuevas destrezas.

    Y además tienes los peligros de la inteligencia artificial.
    -------------------------------
    The dangers of AI
    https://www.linkedin.com/pulse/dangers-ai-jos%C3%A9-pablo-luna-s%C3%A1nchez

  12. en respuesta a Comstar
    -
    #5
    24/07/17 15:51

    El video está bien, pero explica el comportamiento de dos modelos realimentados (Recurrent Neural Network y Long Short Term Memory), capaces de aprender a reconocer conceptos a partir de secuencias de datos.
    Los modelos que explicas en tu artículo son modelos progresivos (feedforward networks) que no introducen realimentación, por lo que sólo procesan unos datos de entrada en cada momento, sin establecer relaciones temporales con los datos presentados previamente.
    En ambos tipos de modelos, los datos son la clave. Existe la necesidad de datos no-contradictorios, ni sesgados. Casualmente se ha publicado este artículo que encaja perfectamente en la discusión:
    http://www.eldiario.es/cultura/tecnologia/servicio-trabajos-creara-Inteligencia-Artificial_0_667383671.html
    Interesante de leer.

  13. en respuesta a Dabulper
    -
    Top 100
    #4
    23/07/17 15:51

    Este video sobre como es que una máquina recuerda una vez que aprende, puede ser interesante para el lector casual.
    -------------------
    Recurrent Neural Networks (RNN) and Long Short-Term Memory (LSTM)
    https://www.youtube.com/watch?v=WCUNPb-5EYI&t=372s
    -------------------
    En realidad el futurólogo J.P. Luna no está de acuerdo contigo. El considera que los datos describen, pero no explican el por qué de los datos. Por ejemplo, si la AI se detiene frente a un obstáculo es porque la premisa de diseño es que el coche no toque nada. Pero si el usuario entró a Youtube en pos de un video sobre química, no sabes si es que le gusta, o si simplemente tiene tarea y busca un tema específico.

    Además, el uso de datos para predecir no explicaría cambios en tu persona. Se trata de meter al ser humano en cajones, más o menos como hacen hoy los tests de contratación. Este artículo de J.P. Luna explica mejor:
    -----------------
    Do hiring tests work like astrology readings?
    https://www.linkedin.com/pulse/astrology-vs-hiring-tests-jos%C3%A9-pablo-luna-s%C3%A1nchez
    These seem to be tests to put people inside buckets and make money.

  14. #3
    23/07/17 15:02

    Enhorabuena por el artículo. Realmente la IA basada en redes neuronales artificiales (artificial neural networks) no es una disciplina tan compleja como parece, y has conseguido mostrar un ejemplo muy interesante.
    Lo bueno de las RNA es que aprenden una representación interna (pesos) que genera respuestas coherentes para entradas novedosas a partir de los datos usados en su entrenamiento. Ahí hay un punto débil, si los datos de entrenamiento no son lo suficientemente representativos del problema tratado, pueden dar lugar a respuestas muy erróneas. Sin embargo, conforme los modelos neuronales avanzan en complejidad, gracias al paralelismo procesador de las tarjetas gráficas, la necesidad de datos se vuelve perentoria. Aquellas plataformas que dispongan de datos serán las que lideren el cambio real.

    Sólo una corrección: la b proviene de "bias", que se traduce por "umbral".

  15. en respuesta a Esteban
    -
    Top 100
    #2
    29/06/17 23:39

    No te preocupes, que a como automaticen a los subalternos, los altos jefes se vuelven operarios de maquinas que serán automatizados también. ¿Que es un tomador de decisiones? Es una persona que reacciona ante un dashboard.

    Este post demuestra que una inteligencia artificial de apenas 4 neuronas decide mejor que un ejecutivo de Japón. Mira que una IA de 20 neuronas es lo que se necesita para reconocer patrones gráficos de una matriz blanco y negro de 2x2 pixeles.

  16. #1
    29/06/17 22:42

    Yo trabajé con IA y Sistemas Expertos en IBM en los años 80 y 90 , los grandes ejecutivos de nuestros clientes en España y Europa se reían de nosotros, como soñadores,la prueba la tuve cuando con la primera reorganización global de IBM en el 93-94, después de 25 años me despidieron con una buena indemnización, menos mal que mi "hobby" eran las inversiones en bolsa y desde hacía más de nueve años ya tenía mis Sistemas Expertos de inversión, que me han funcionado muy bien, mejorándolos con IA , redes neuronales y sistemas de lógica difusa.
    El problema en estos momentos , es que nadie sabe como funcionan los mercados, pues están muy manipulados por los Bancos centrales y los políticos y ante eso no sirven los conocimientos profundos de los expertos.


Definiciones de interés