# data[].attributes.attachment_caption
Los algoritmos de aprendizaje automático se basan en propiedades estadísticas fundamentales. Buscan estas propiedades en los datos y las convierten en reglas.

# data[].attributes.headline
No es aprendizaje automágico, es estadística

# data[].attributes.subject
No es aprendizaje automágico, es estadística

# data[].attributes.body
En esta clase hemos visto los fundamentos del aprendizaje automático centrándonos en la Fase de Investigación y Desarrollo. Tuvimos la posibilidad de explorar propiedades estadísticas que se pueden inferir a partir de grandes conjuntos de datos; observamos diferentes algoritmos de aprendizaje y de qué manera ponen en práctica estos fundamentos.

# data[].attributes.body
La tarea de la clase, giró en torno a Akinator, el genio que lee el pensamiento. En el espacio del foro se los/as invitaba a jugar con la aplicación para observar cómo formula las preguntas y terminar adivinando el personaje o animal en el que estábamos pensando al momento de iniciar la partida.

Síntesis de sus experiencias con Akinator:

Se han dado experimentaciones muy enriquecedoras con Akinator enriquecidas por los conceptos vistos en la clase. Natacha, en coincidencia con María Cecilia, Lucía y Fernando, comenta "somos nosotros quienes brindamos la información necesaria para lograr adivinar el personaje. Como dicen mis compañeros las reglas del aprendizaje automático, se dan teniendo en cuenta los métodos de predicciones del árbol de decisiones, la cual utiliza una serie de declaraciones <si entonces> para identificar limites y definir patrones en los datos". Marisa comparte: "claramente trabaja con reglas de aprendizaje automático. Dentro de las preguntas, la más lógica o evidente es la que trata de dividir entre humanos y animales, allí, por probabilidad, opta por un grupo y descarta otro". Mariana compara su experiencia previa con Akinator y reflexiona sobre sus avances: "Me gustó la experiencia en el sentido que había varias opciones de respuestas, distinto a unos años donde eran muchas más escuetas (sí o no), calculo que porque almacenó muchos más datos en el trascurso del tiempo como sistema de aprendizaje automático". Delina analiza estas opciones: "En un inicio pensé que las preguntas repetidas o que volvían a una temática que ya había dejado atrás era por una cuestión de corrección de errores, o sea que acudía a la redundancia… Pero analizando bien, los “no lo sé”, “probablemente si”, “probablemente no” valen lo mismo y estas opciones funcionaban, no como otra bifurcación del árbol, sino dejando latente un camino (o una rama) a recorrer: el árbol es binario. Cuando el camino que iba llevando se alejaba demasiado de la significancia estadística retomaba una rama que dejó latente y desde allí retomaba y realizaba la significancia estadística a partir de otras hipótesis…. Como dice el título de la clase: no es aprendizaje automático, es estadística: fascinante". Juan sintetiza su experiencia en una frase con la que también coincide Héctor, "Akinator es más aprendedor que adivinador", y agrega: "creo que Akinator recuperó información de mi historial de navegación de YouTube, entre otras cosas antes de comenzar (...). Por otra parte, en el caso en que Akinator no pudo adivinar correctamente, me preguntó si deseaba ayudarlo para futuros casos. Me mostró un listado (allí sí figuraba el personaje entre muchos otros posibles) y me pidió seleccionarlo. Con este procedimiento, estimo que asignó todas las respuestas de ese intento fallido de adivinar al personaje en cuestión para tener más chances de "adivinarlo" la próxima vez". Héctor comparte una anécdota particular y graciosa: "La última pregunta que me hizo fue “si el personaje estaba en un meme” y respondí “probablemente”; la respuesta del genio fue la de un meme “messirve”. Mi sensación fue que me estaba tomando el pelo". María Fernanda nos cuenta con una experimentación relacionada con los sesgos de la base de datos de Akinator: "puse a prueba a Akinator para ver que preguntas hacia al pensar un personaje travesti como Susy Shock. En principio las preguntas estan orientadas a la heterosexualidad, bastante binarias. (...) En la pregunta 60 me dió una segunda opción una travesti mediática, cuando le dije que no era, finalmente me pregunto ¿ tu personaje es transexual?.. bueno ahi ya lo dejé en paz, porque supuse que nunca lo iba a adivinar".

Felicitaciones por esta experimentación y por compartirla en el foro.

# data[].attributes.attachment_caption
Clic en la imagen para reproducir video.

# data[].attributes.body
Lxs invito a ver este video sobre el funcionamiento y la historia de Akinator cuyo link también les compartí en el foro. Es un buen material para complementar lo que vimos en clase y nuestros intercambios en el foro.

# data[].attributes.attachment_link.title
Akinator: la historia del primer juego viral online - BIZELANEAS #54

# data[].attributes.body
Con la actividad de acreditación se buscaba que comprendieran y se familiarizaran con el flujo de trabajo del aprendizaje automático, además de desarrollar y auditar pequeñas aplicaciones de dicho aprendizaje. En primera instancia, se les propuso que crearan un chatbot siguiendo un tutorial para realizarlo en Scratch usando Machine Learning for Kids.

# data[].attributes.body
Se les solicitaba que generaran un documento en el que describieran tres cuestiones esenciales. La primera estaba vinculada a la comparación del funcionamiento de este sistema basado en aprendizaje automático con el funcionamiento que creen que debe tener un sistema basado en reglas.

En sus respuestas arribaron a varios consensos acertados:

Yamila y Mariana afirman que "el sistema de aprendizaje automático es el más flexible ya que la cantidad de preguntas con las que trabaja amplía el campo mejorando la confianza en la respuesta". De manera similar, Natacha y Fernando, detallan que el modelo de aprendizaje automático "va “aprendiendo” a medida que se entrena con los ejemplos que se le introduce, refinando las respuestas cada vez más". Juan agrega que "la flexibilidad del sistema de aprendizaje automático es su capacidad de auto crearse reglas a partir del reconocimiento de patrones en nuevos datos recolectados. De ese modo, puede recibir nueva información y dar respuestas teniendo en cuenta el objetivo." Camila y Fernanda expresan la comparación de esta manera: "Mediante el aprendizaje automático se pueden vincular datos que aparentemente no tendrían relación y transformarlos en acción con significado. Podemos determinar ciertas reglas que nos permite a su vez crear un modelo que puede predecir a partir de datos . Esta posibilidad de combinar variables, organiza un “árbol” de posibilidades que habilita la flexibilidad (...) El sistema de reglas conformaría una base de datos estática".  Laura y Celeste nos recuerdan algunos conceptos de la clase: "el aprendizaje automático busca patrones en un conjunto de datos a la vez que observa que valor del objetivo de aprendizaje se asocia a cada ejemplo, tratando de descubrir la relación entre el valor del objetivo y los valores de las características del ejemplo. En síntesis el algoritmo obtendrá patrones que después aplicará a nuevos casos como menciona la clase 4. Esto hace que sea más flexible en comparación con el sistema basado en reglas".  Héctor y Agustina agregan nuevos conceptos en su justificación: "El sistema de reglas es más rígido, debido a que no tienen demasiada cobertura. La distribución de un fenómeno es amplio por lo tanto las reglas no pueden prever todas las situaciones con las que nos podemos encontrar; mientras que el aprendizaje automático es más flexible ya que puede reconocer datos nuevos, relacionarlos y transformarlos en en nuevas reglas, en nuevas agrupaciones de datos. A medida que se utiliza en el tiempo el aprendizaje automático logra mejores predicciones". En una línea similar María José y Daiana justifican que "el aprendizaje automático va a ser más flexible que el basado en reglas, porque el modelo tiene que representar una función que describa con la mayor adecuación posible el conjunto de datos, tanto los datos de entrenamiento como los datos sobre los cuales se aplicará. (...) A medida que se añade nueva información el modelo se va perfeccionando".

En su conjunto, las respuestas dan cuenta de una detallada comprensión de la diferencia entre ambos tipos de sistemas.

# data[].attributes.body
En segundo lugar, se los/as invitaba a que experimentaran realizando algunas modificaciones para luego poder observar y reflexionar en torno a sus efectos, recordando una de las conclusiones a las que arribamos durante nuestro último encuentro sincrónico: la importancia de determinar el modo en que formulamos las preguntas, considerando las particularidades de cuando éstas son planteadas por un sistema automático…

Sus respuestas al segundo punto también fueron muy valiosas y acertadas:

Yamila y Mariana observaron que "a medida que la cantidad de ejemplos por tema aumenten, la confiabilidad de la respuesta será mayor". Natacha y Fernando comprobaron que "con el caso de encender o apagar la luz, a medida que añadíamos más ejemplos a las etiquetas, el porcentaje de confiabilidad iba subiendo". Juan también coincide en que "la cantidad y variedad de ejemplos de entrenamiento mejora el reconocimiento de preguntas nuevas. Mientras el sistema pueda hacer asociaciones más directas entre el nuevo input, sus ejemplos y el objetivo, mayor es el porcentaje de confianza y la precisión de la respuesta adecuad". Camila y Fernanda cuentan que "en la medida que vamos probando nuevos modelos, el árbol / modelo se agrandan. Va dando una serie de cruces de información que habilita nuevas preguntas y respuestas". Laura y Celeste dan cuenta de otra propiedad: "Al agregar bifurcaciones adicionales, se agregará nueva información aumentando la precisión de la predicción. Si incorporamos una categoría no considerada previamente, el porcentaje de coincidencia bajará y nos dará la pauta de nuevas preguntas posibles". Agustina y Héctor prueban con la reducción de ejemplos: "A medida que la cantidad y variedad de ejemplos disminuye la identificación de preguntas nuevas resulta más complejo debido a que la cantidad de datos del modelo es menor". María José y Daiana también coinciden con sus compañeros/as. Delina, Lucía y  Marisa nos cuentan: "Realizamos a nuestro chatbot preguntas que no estaban dentro de los ejemplos y no tuvo problemas en reconocer el tema y formular la respuesta pertinente al mismo. Ej: ¿En dónde les gusta vivir a los búhos? = hábitat; ¿qué comen los búhos zombis? = comida. (...) Por otra parte, hubo algunas preguntas que no pudo clasificar según el tema, quizás porque no había ninguna palabra que indique alguna correlación directa con el tema. (...) Por otra parte, se puede deducir que mientras menos ejemplos de preguntas tenga su tasa de error será mayor y viceversa". Graciela y Alian nos brindan una reflexión sobre los términos utilizados: "para lograr un resultado más acertado es necesario tener en cuenta todas las variables de escritura y lenguaje, debido a qué también depende la ubicación geográfica del usuario un objeto puede recibir distintos nombres y para un programa qué se base en el análisis de textos, es importante si queremos qué llegue a usuarios de distintos lugares tener en cuenta la variable de cómo se expresan y cómo llaman a los objetos. Un ejemplo sencillo sería a qué en muchos lugares las personas llaman pinza boca de perro a una pinza de presión. Ejemplos tan sencillos como ese hay qué tenerlos en cuenta para optimizar los resultados".

Tal como lo expresan sus propias palabras, se observa un gran trabajo con estas modificaciones. Felicitaciones.

# data[].attributes.body
Por último, se les solicitaba que crearan dos categorías de preguntas similares con ejemplos de aprendizaje parecidos cerrando con una conclusión al respecto.

En este caso no todes opinaron igual pero todas las respuestas fueron justificadas:

Según Yamila y Mariana creen que  utilizar dos categorías de preguntas que sean parecidas, con ejemplos de aprendizaje también parecidos "es una buena opción de diseño en el caso de que el sistema vaya almacenando las preguntas que no pueda responder y pregunte con cuál respuesta/banco de ejemplos, lo pueda relacionar y así construir una base de datos más fiable". A Natacha y Fernando les parece que "este tipo de categorías similares disminuye el margen de errores, tanto en la respuesta como en el porcentaje de confianza, muy apropiado para discernir entre categorías con preguntas muy parecidas". En cambio, según Juan "crear categorías de preguntas y ejemplos de aprendizaje parecidos en un modelo predictivo no es una buena opción de diseño. Con preguntas y ejemplos parecidos aumenta la posibilidad de error en la respuesta y se limita las posibilidades de vincular nuevos datos con mayor precisión". Celeste y Laura afirman que "considerando que el aprendizaje automático recaba datos para luego establecer patrones predictivos, no resultaría una buena opción de programación tomar categorías similares con ejemplos similares, ya que podría generar errores en las respuestas del usuario. Es decir, si bien el aprendizaje automático resulta más flexible, no está exento de ser programado y responder a modelos de programación que deben ser estudiados y pensados previamente". Héctor y Agustina creen que  "no es una buena opción de diseño, porque el modelo predictivo no tiene posibilidades de diferenciar las categorías entre sí. Al ser similares se confunden las respuestas". María José y Daiana cuentan cómo experimentaron en este punto: "Para la tarea de acreditación 4 creamos un proyecto llamado “gatos” en Machine Learning el cual le asignamos dos categorías similares que son “juegos” y “hobbies” de los felinos. El funcionamiento del modelo predictivo para esas categorías similares se basa en la correlación. La correlación entre dos variables como estas es un indicador importante, que va a servir para identificar relaciones entre los distintos aspectos de un problema, e, incluso, puede servir para alcanzar el objetivo. En este caso el modelo puede diferenciar a donde está dirigida cada pregunta y dar su respuesta acorde al interrogante por más que sean similares las variables". Delina, Lucía y Marisa cuentan que las categorías Habilidades - Reproducción "fueron incluidas en Entrenar pero el sistema empezó a repetir el número de la etiquetas y en la fase de Aprender y Probar hubo inconvenientes. Por lo que en este punto no llegamos a la fase de Crear. Sospechamos que la falla en las etiquetas puede estar dada por la formulación de las preguntas. Seguramente existen algunas reglas de redacción vinculadas a la programación que desconocemos". Graciela y Alian relatan que fue necesario "borrar una de las categorías por las preguntas, para obtener las respuestas correctas era necesario tener un cierto grado de conocimiento sobre la herrería, sino surgía el problema qué el modelo predictivo me arrojaba como resultado otra de las categorías, debido a qué llevaba pequeñas diferencias y agregados, le di varias vueltas pero no logre descifrar la forma de qué ese apartado funcionara correctamente y no se superpongan los resultados con otro apartado".

Todas las reflexiones son válidas y pueden adoptarse distintas estrategias. En general, será necesario trabajar tanto en la fase de ideación como en la de investigación y desarrollo sobre un análisis de impacto que permita un refinamiento de objetivos. Esto permitirá determinar qué categorías y ejemplos será necesario solapar y cuáles no.

# data[].attributes.body
Me detengo aquí para hacer algunas aclaraciones sobre sus trabajos con el código del aprendedor .

En cuanto al trabajo con el código en Scratch 3 se observa que fue lo que más obstáculos les presentó en general. En algunos grupos lograron descargar correctamente el código y en otros registraron su trabajo mediante capturas de pantalla. Más allá de esto, las experimentaciones fueron muy valiosas. Les quiero recordar aquí dos grupos de recomendaciones. Una sobre el registro en ML4Kids y la otra para descargar y cargar los códigos en Scratch 3:

Rregistro en Machine Learning for Kids. Paso a paso para registrarse como profes:

1. Ingresar a: https://machinelearningforkids.co.uk/
2. Cambiar el lenguaje a "Español"
3. Clic en "Ingresar"
4. Sección "Empezar con el aprendizaje automático" opción "¿Tu primera vez aquí?" > clic en "Regístrate".
5. Sección "¿Quién eres tú?" > clic en "Un profesor o un responsable de un club de programación".
6. Elegir tipo de cuenta. Opción de la derecha "Crea una cuenta de clase administrada" > Clic en "Correo electrónico". [Nota: no recomendamos la opción de la izquierda "Crea una cuenta de clase no administrada" porque aunque en principio puede ser más rápido luego tendrán inconvenientes técnicos al momenteo de entrenar el aprendedor].
7. a. Si se abre el correo electrónico > completar sólo los campos "THIS MANY" (poner un número de alumnes, por ej. "30"), "NAME OF SCHOOL / DESCRIPTION OF CODING GROUP" (poner el nombre o sigla de una institución, por ej. "ISEP"), "WEB ADDRESS FOR SCHOOL OR CODING GROUP" (opcional, pueden dejarlo sin completar) y "WHO I AM" (con sus nombres). Recomendamos no borrar los guiones bajos sino escribir entre ellos.
7. b. Si no se abre el correo electrónico > escribir a dale.lane@uk.ibm.com con asunto "New MLforKids class account" con el siguiente cuerpo del mensaje completado como se indica en 7.a.:

___PLEASE FILL IN THIS TEMPLATE___
Please can you setup a new class account for my group.
I need it for my group of ___THIS MANY___ students.
I run ___NAME OF SCHOOL / DESCRIPTION OF CODING GROUP___.
You can find us at ___WEB ADDRESS FOR SCHOOL OR CODING GROUP___.
Thanks very much!
___WHO I AM___

8. Esperar a recibir los dos correos de confirmación de apertura de cuenta. Puede ser inmediato o tardar varias horas (en mi caso tardó 15 horas en llegar la respuesta).
9. Al recibir el email con asunto "Verify your email" deben abrirlo y hacer clic en "Confirm my account". Con eso quedará verificada su cuenta.
10. Al recibir el email con asunto "New MLforKids class account" deben abrirlo para ver su nombre de usuario (username) y contraseña (password). Importante hacer el paso 9 antes.
11. Ingresar a: https://machinelearningforkids.co.uk/
12. Sección "Empezar con el aprendizaje automático" opción "¿Ya registrado?" > clic en "Inicia sesión".
13. Completar con su usuario y contraseña y hacer clic en "Log in".

Instrucciones para guardar y subir archivos en Scratch 3 vía ML4Kids:

Esta versión de Scratch 3 funciona online como un subdominio de ML4Kids por lo cual no hay que instalar ningún programa en la PC. Una vez que han pasado por la opción "Crear" dentro de sus proyectos, ingresado a Scratch 3 y elaborado el código, el primer paso para no perder su trabajo es ir a "Archivo> Bajar en tu ordenador". Una vez que completen ese paso, vean en su carpeta de descargas y verifiquen si se descargó un archivo con extensión ".sb3". Si el archivo ya está descargado pueden desestimar los carteles de sus sistemas operativos que les dan opciones para "abrir" el archivo. El archivo no podrá abrirse en la PC pero algunos sistemas operativos dan automáticamente la opción de apertura tras la descarga.
La opción para volver a abrir el archivo se da nuevamente dentro de Scratch 3. Para esto, primero deberían asegurarse de haber descargado correctamente el código; luego pueden cerrar Scratch 3. Paso seguido, volver al proyecto en ML4Kids y volver a abrirlo en Scratch 3 mediante la opción "Crear". Les aparecerá en blanco el lienzo central de Scratch 3. Ahí recién cargar el archivo descargado desde la opción correspondiente en la pestaña "Archivo".

Espero que les sean de utilidad estas indicaciones.

# data[].attributes.body
Les dejo aquí un ejemplo de un código sobre todo para que verifiquen algunos usos posibles de los módulos de ML4Kids en Scratch 3. Sobre todo, la opción del doble condicional (Si, sino). Una vez que lo descarguen, pueden importar el archivo según lo indicado en la viñeta anterior.

# data[].attributes.body
Seguramente, la mayoría de los conceptos presentados en esta clase nos servirán como marco de referencia para entender e interpretar adecuadamente muchas cuestiones técnicas sobre el funcionamiento de los sistemas basados en aprendizaje automático, los mismos que en otras ocasiones se nos presentaban con una complejidad técnica tal, que se tornaban inaccesibles.

Continuemos en el camino de la pregunta, la reflexión y experimentación para seguir avanzando.

Un abrazo,
Sebastián.

# data[].attributes.attachment_link.title
Instituto Superior de Estudios Pedagógicos: Iniciar sesión en el sitio