SS_Logo

Redes Neuronales con apoyo de Stata

Autor: Franco Andrés Mansilla Ibañez / Portafolio: Quantitative / Jue. 10 de Ago de 2023

Transcripción de este video

00:00:36:15 Software Shop, la empresa líder en la implementación de herramientas analíticas y software especializado en Latinoamérica, les da la bienvenida a esta presentación. El día de hoy contamos con el acompañamiento del instructor Franco Mansilla, especialista en entrega de soluciones analíticas a necesidades y problemáticas del negocio, tal como inversiones, operaciones y riesgos. Académico de la Universidad de Chile en Cursos de riesgo Financiero del Magíster en Finanzas y Métodos Cuantitativo.

00:01:35:18 Sus temas de investigación son Eficiencia de mercado, Riesgo financiero, machine Learning y econometría. Bienvenidos. Hola. Dos. Hola, Liza. Buenas tardes. Buenas tardes, Blanco. Gracias. Te escucho correctamente. Vemos tu pantalla y ya vemos tu cámara. Perfecto. Así que podremos dar inicio. Bueno, bienvenidos a este webcast en la que vamos a hablar sobre redes neuronales utilizando herramientas para bueno, principalmente hoy día vengo a mostrar a la no tan profundo pero una introducción bien importante como se utiliza en estas redes neuronales y viendo un poco intuición como funcionan, porque en parte este es como la lo lo inicios para comenzar a trabajar cualquier cualquier cualquier tipo de arquitectura en la que se puede utilizar para cualquier caso de

00:02:18:09 uso. Pero primero comencemos con lo básico que que es que es el machine learning y principalmente el machine learning es es el método aprendizaje en que parte de la inteligencia artificial que en la cual le proporciona a los sistemas la capacidad de aprender y mejorar automáticamente. Bien. Es decir, machine learning dentro de un sistema de inteligencia artificial, un robot, una aspiradora o un sistema en general, el machine learning se encarga en proporcionar esa esa capacidad de aprendizaje, bien mediante datos, correr y las etc.

00:03:05:15 Es importante entender el machine learning porque dentro del machine learning tenemos todo lo que son los métodos clásicos y también todo lo que tiene, todo lo que tiene que ver por ejemplo con el literal bien. Y principalmente hay diferentes método aprendizaje que en función del caso de uso que tu estas aplicando el el tipo de aprendizaje que tu tienes que utilizar, entonces hoy en día, principalmente dentro de lo que son los distintos aprendizajes se baremos lo en algoritmos tradicionales y algoritmos de learning podemos graficar en de un punto en el en el eje y podemos mostrar el desempeño del modelo o modelo general y en el eje X toda la que es la cantidad de

00:04:02:15 datos efecto antiguamente antiguamente año dos mil quince dos mil diez no existía todo este tema. Ingeniería el dato en la empresas perfecto. Entonces aplicar algoritmos de deep learning para casos, casos de uso que no existían muchos datos, no se lograron reformas o un desempeño muy bueno. Bien por lo tanto en funciona este concepto de principio parsimonia decir que yo quiero lograr el mejor desempeño posible app con la con la menos cantidad de variables posible principalmente aplicando esto esto algoritmo de de learning en esos casos no se aplica perfecto y en esos tiempo dos mil quince dos mil diez esta muy de moda lo que eras que era lo eran los super vector machine to, pero

00:04:33:23 a medida que comenzó a crecer esta estas ganas por por por por utilizar los datos para con un propósito de gestión, con un propósito de toma de decisiones o no con un propósito de eficiencia operacional o cosas cotidianas de como principalmente manejar un auto de forma automática. Bien, comenzó lo comenzó a propulsar todo lo que es la ingeniería, el dato y toda la tecnología que hay detrás.

00:05:20:01 Por lo tanto, cuando ya teníamos mucha cantidad, más cantidad de datos y de mejor calidad, nosotros podemos encontrar una gran brecha entre lo que son algoritmos tradicionales y lo algoritmo ya deep learning. Bien a lo que es hoy día que tenemos por ejemplo, el caso más famoso chat GB de creada por la empresa opini o llama t a por med ac que en parte lo que tratan de hacer empresa y la siguiente frase y yeso Hace poco salió se filtró algunos de chat que t gb de cuatro creo j Claro que que son seis modelos, o sea que hay detrás de redes neuronales profundas.

00:06:14:21 ¿Entonces cuando importante utilizar machine learning? Bueno, en cierta medida va a depender del caso son de turo estas involucrando sea puede ser desde el mundo minero estimar principalmente cual es la probabilidad que en ese que en ese metro cuadrado para poder mapear se encuentren alguna veta de oro, algunos de cobre, etc a aplicaciones más financieras, optimizaciones de portafolio, gestión, fraude, riego, crédito, riego, mercado, etcétera También se utiliza mucho el optimizaciones de de transporte, etc entonces principalmente hay una infinidad de cosas en que se podría aplicar lo que es el machine learning con esta infinidad de datos que hoy en día estén dispuestos a tener un cupo de presupuesto para poder investigar o poder hacer ingeniería.

00:06:40:02 El dato sin ingeniería el dato, esto se hace imposible. Imposible aplicar tu modelo porque tu necesitas que el modelo vaya aprendiendo y el modelo se vaya aplicando en forma online o en forma batch. Por lo tanto si tu no tienen los datos va a ser imposible que el modelo vaya aplicando y así te vayan entregando uno para una toma.

00:07:11:00 Ese otro ejemplo que entonces dentro de estos aprendizajes como les comente están los aprendizajes supervisado, los supervisados, lo no supervisado y lo aprendizaje por refuerzo, el por. En mi caso yo el ochenta por ciento de los modelos que he hecho han sido modelos que son supervisados y el otro veinte se distribuyen tanto en modelos semi supervisado y en aprendizajes no supervisado.

00:07:35:20 El nueve creo mucho en el mundo de aprendizaje por refuerzo. Es un mundo que es un aprendizaje que se utiliza mucho, por ejemplo en mi área en términos de finanzas, sobre todo lo que es la construcción de portafolio, se está utilizando mucho por ahí. Hay personas de de la Universidad de Nueva York que lo están aplicando y están sacando papers relacionados, bien en lo que hoy en día están en estado de arte.

00:08:14:01 Aplicar aprendizaje, refuerzo en términos de portafolio. ¿Entonces, por qué resurgen en su momento las redes neuronales? Porque principalmente, como les comenté, habían dos limitaciones uno que era por la capacidad, la capacidad computacional, bien sea como detrás, toda la construcción o estimación de todos los pesos que componen una red neuronal se hace mediante matrices. Demoraban mucho tiempo en función versus el desempeño, el modelo que arrojaba.

00:08:42:09 Entonces yo no sé si estaba dispuesta a esperar, por ejemplo, uno o dos tres días de ejecución, que esté corriendo el modelo calculando matrices para obtener los pesos con tal de ganar un dos por ciento de desempeño en términos del modelo. Entonces, por eso en parte como que las redes neuronales quedaron helados y quedaron, se empezaron a utilizar el modelo machine learning más clásico.

00:09:22:25 ¿Cuáles son? Modelo de ensamble Súper Better Machine, algoritmo de penalización, etcétera. Bien, y también existía la problemática. Como no tenía mucha investigación en esta área, que lo que nosotros queremos cuando encontramos pesos es encontrar óptimos óptimos globales y no así óptimos locales. Perfecto. Por lo tanto, a hoy, a diferencia de años pasados, hoy día existen diferentes métodos de optimización y diferentes pruebas que te permiten comprobar tipo o instalar.

00:10:02:27 Llegar a un óptimo global, a un óptimo lugar. Entonces, bueno, desde ese entonces comenzó salió la unidad más básica de una red neuronal, que es un tercer patrón en que es una de las arquitecturas más sencillas de una red neuronal artificial mentada por cincuenta y siete. Por esta razón, Vladdo y principalmente trabaja en función a valores numéricos continuos, todavía no era muy eficiente en términos con variables dicotómicas, aunque salieron ciertos artículos después que trabajan con estas variables dicotómicas y categóricas.

00:10:35:13 Y de ese entonces un perception no es más que un tipo de neurona. Bien, hoy en día ustedes cuando escuchemos de neurona, esta arquitecturas tienen n cantidad de n cantidad de capas. Donde esa n cantidad de capas hay n cantidad de neuronas. Bien, todos los semejan como un cerebro, un cerebro humano. Pero algunos expertos dicen hay todavía. No lo comparemos como un cerebro humano, porque no sabemos a ciencia cierta cómo funciona un cerebro humano.

00:11:16:25 Bien, entonces le como idea general con una analogía en términos generales lo comparan como un cerebro humano. Entonces, lo que es principalmente un perception, llámenlo como un una regresión en la que tú tienes variables x bien, donde esas variables x e son variables característica de lo que tu quieres medir. Por ejemplo, yo quiero de ejemplo fraude. Entonces yo voy a tener n cantidad de características para yo poder explicar un cliente fraudulento.

00:12:05:27 Por lo tanto, este perceptor va a pasar por esta ecuación. Bien, donde esta ecuación es simplemente una ecuación normal de la estructura de una ecuación de regresión en la que tú tienes un peso ponderado por la variable x uno y otro peso ponderada por la variable x dos más un parámetro constante. Entonces, aquí a diferencia de otros de otros modelos clásicos que nosotros hemos visto o que han visto, es que hay una función de activación perfecto, donde esta función de activación en lo que va a permitir en cierta manera alinear en parte el objetivo que tú quieres lograr a llegar a cero.

00:12:52:25 Entonces, si tú quieres, por ejemplo, una función de activación muy tiene, porque la función que sin medida te permite hacer un cálculo entre uno entre cero y uno perfecto, te va a entregar un valor entre cero y uno, porque te va a agotar la la estimación que te arroje, porque es una función de activación sobre Z, te va a agotar este valor estimado a ese rango entre cero y uno y ahí también como otras funciones, activaciones como tarjeta hiperbólica cero o etcétera que tienen sus diferencias, características que usualmente la aplican o porque para hacer más liviano el modelo y se haga más rápido el procesamiento o simplemente para veces acotar a un rango de búsqueda

00:13:43:02 específico. Bien, este es principalmente como una primera neurona, como un tipo de neurona. Entonces acá nosotros podemos decir bueno, eso mismo lo podemos replicar a a no solamente un tipo de neuronas, sino que pasa a varias neuronas efecto. Entonces, si yo voy a tener una capa de entrada donde están mis variables, lo mismo en un ejemplo anterior donde en vez de yo tener una neurona o un perception voy a tener múltiples neuronas donde esta múltiples neuronas pueden tener por ejemplo funciones, activaciones distintas y esta neurona cuatro que es la que necesito que esté entre cero y uno, puede tener una función de activación y de para que al recoger la información de cada una de

00:14:51:03 estas se centre en la estimación entre cerebro. Bien, entonces aquí yo tengo un ejemplo de Gmail para que vayamos comprendiendo el funcionamiento. Esto según compartir pantalla en blanco. Aquí tengo se de cierto, creo que si, aquí tengo un texto, aquí tengo una una página web que de tanto flow en una librería que es muy potente en términos de de este tipo de algoritmos y lo que hace principalmente simular una una red neuronal bien para que se entienda con manera gráfica de como podría funcionar.

00:15:21:23 Entonces aquí primero establecemos la data que te da cuatro opciones de data. Bien, aquí por ejemplo, yo voy a colocar un set esta por, supongamos, yo voy a ir ajustando acá lo que es los niveles de entrenamiento, cuánto voy a utilizar entrenamiento y validación. Lo de colocar setenta por ciento el grado de ruido perfecto, entonces el grado de ruido yo puedo decir bueno, quiero un nivel de ruido alto.

00:16:14:12 Si se dan cuenta, un nivel de ruido alto significa que ya no parece un caracol, sino que aparece un caracol coma entrelazado, por lo cual hace mucho más difícil la noción de de cuál es cuál, cuál es el, cuál es el naranjo y cuál es el azul y el Baggio perfecto. Entonces yo por ejemplo, si le pongo otro cero a esta muestra, se dan cuenta también separada cuando pongo ruido cero, pero cuando pongo ruido cincuenta están entrelazadas, se hace mucho más complejo esto bien, pero pongámosle algo normal, se entonces bueno, para este caso si se dan cuenta la figura de esto ustedes dicen bueno, o sea, lo peor que yo puedo utilizar acá es algo

00:17:00:15 lineal, porque si ocupo algo lineal generalmente no va a ser capaz de clasificar lo narra los datos Naranjo con con el área naranja y los datos azules con el área azul. Por lo tanto, yo tengo que comenzar a ir ajustando esta red neuronal con tal que vaya clasificando correctamente los naranjos y los que son azules. Por lo tanto, si yo coloco aquí, bueno, allí está mi variables, mi variable que uno equipos, la variable que une al cuadrado que están desactivadas aquí dos al cuadrado, la interacción de ambas y aplicar algunos senos de la variable que uno y seno de la variable quizá.

00:17:24:14 Entonces bueno, y aquí tengo ciertos hiper parámetros para ir controlando el aprendizaje de esta red neuronal, que son las de un rato respecto que es un ratio aprendizaje. La función de activación. Yo aquí no voy a poner muy de por qué, porque tengo cero y uno, y si le quiero agregar un parámetro de regularización, es decir, entregándole más peso alguna menos peso a otro, etcétera y el rato correspondiente.

00:17:58:21 Recuerden que el L1 es lazo L2 en efecto, y un problema de clasificación. ¿Entonces, y si ejecutamos esto solamente con la variable que uno x dos? Si se dan cuenta me es muy mala estimación porque el área naranja lo clasificó. Tomó bien todo este el esta primera mitad al igual que esta primera mitad del área azul en el área sur sus exactamente lo mismo.

00:18:33:08 Por lo tanto no hay muy buena señales. Si yo cambio griego esto y le coloco términos cuadrático ya para agregarle más información. Si se dan cuenta que aquí la variable x1 contribuye más a la explicación, si se dan cuenta tiene un peso de seis coma cuatro y la variable hay que uno al cuadrado menos seis coma cinco contribuyen más entregas, más información para hacer la clasificación y lo pueden ver por la intensidad de la línea.

00:19:16:07 Bien, pero se dan cuenta. No logra clasificar bien porque el área naranja abarca casi todo. En la muestra hay solamente un área azul que logra se centra muy poquito en clasificar el área azul bien, pero dejó de clasificar mal todo esto, lo que está alrededor. Bien, entonces aquí ya comenzamos a complejizar un poco más. El problema y comenzamos a introducir capas ocultas y aquí vamos a introducir una capa oculta donde esta acá pulpa va a tener dos neuronas efecto, entonces cada una de ellas va a vender una proporción de la gráfica en sí.

00:19:49:19 Entonces, por ejemplo, acá te muestra, te muestra, mira en en la neurona número uno de la capa oculta, te está ayudando a clasificar esa área que podría ser esta, la que está la la que estaba por encima y esta segunda R1 ahora te ayuda a explicar esta área azul de abajo. Perfecto. Entonces aquí se encuentra la función de costo es de cero cuarenta y seis en validación y cero cuarenta y cero cuarenta y cuatro en entrenamiento.

00:20:20:07 Si agregamos más neuronas a esta misma capa oculta, sabiendo mucho más compleja, se dan cuenta bajó a cero cero cuarenta y cuatro cero cuarenta y seis a uno a uno dos uno tres. Bien, porque hace ese movimiento, porque no está encontrando un óptimo global, está quedando va, va ejecutando diferentes valores y función de eso, está encontrando distintos ópticas.

00:21:00:00 Bueno, ahí está aumentando un poco más como está tratando de encontrar, y lo pueden ver con esta gráfica. De la misma forma que yo puedo agregar más neuronas en esta capa oculta, yo puedo agregar más capas. Bien, pero yo al alegas más capas que neuronas. Lo voy a estar haciendo mucho más complejo. Mi problema y al hacerlo mucho más complejo mi problema, voy a tener menor poder de poder explicar mi modelo al final, porque si yo no estoy aplicando la industria, yo le tengo que explicar al área de negocio qué es lo que está sucediendo.

00:21:32:11 El módulo viene a lo que se le llaman la caja negra bien y lo otro hay que al hacerlo más complejo también voy dificultando la estimación final. Se dan cuenta ya cuando está con con cuatro neuronas se está demorando mucho más aun que cuando lo está haciendo con dos. Imagínense, se agregó mucho más capas y mucho más neuronas cada una de esas capas.

00:22:11:21 ¿Bien, entonces y cómo esto principalmente cómo se programa? ¿O sea, cómo se hace? Ah, y acá yo tengo otro ejemplo, otro ejemplo en Excel antes de pasar a Stata perfecto, que es una S de Excel. Cierto, se entonces yo acá tengo una base de datos sencilla en la que en mi base de datos yo tengo el default uno y cero en estas son empresas donde la empresa acá es cero, entró, me entró el default y una acción de foul.

00:23:02:22 En algún momento el tiempo y ese default yo lo voy a explicar por la variable RACI, variable rating. Su rating crediticio y su carga financiera. Perfecto. Entonces yo antes de poder ejecutar e una red neuronal, yo voy a estandarizar los datos, entonces el rating y la carga financiera y lo que hice simplemente es vez de estandarizar lo bueno aquí, lo normal y hacer bien lo más nice con lo mínimo y máximo, entonces luego que lo normalice yo acá estoy construyendo una red neuronal solamente con una capa oculta, pero con cuatro neuronas sería como algo así, así sí mismo como está.

00:23:33:02 Pero en vez de tener acá cuatro variables, acá tengo dos variables uno sería rating x dos sería carga financiera y la otra cuatro neuronas son de la capa oculta que están bien. Entonces cada una un Arolas es un modelo donde cada uno estos modelos tienen que estimar tres parámetros su constante, el peso de la de la variable uno rating y el peso de la variable dos carga financiera.

00:24:01:26 Y así igual con la neurona número dos, la tres y la cuatro y la capa de salida. Que es esto es con una función X con una función de activación sigma. Oye bien, esta es la ecuación de la ecuación sigma id. ¿Y por qué necesito esto? ¿Por qué? Porque recuerden que yo tengo que llevar la salida a a un valor entre cero y uno Perfecto.

00:24:35:05 Esto me da una probabilidad, pero yo después fácilmente lo puedo pasar a cero uno definiendo el umbral. Por ejemplo. Bien, entonces. ¿Bueno, y cómo es esta ecuación? Cada una de estas neuronas tiene una función de activación. Sin Maider, sin Maider sin Maite. Esta exponencial, esta exponencial va bien. Entonces estas dos neuronas son con funciones, activación sin molde y estas son exponenciales.

00:25:06:10 Por lo tanto, este primer modelo tiene que estimar doce parámetros más cinco, o sea diecisiete parámetros tiene que estimar y cómo se cómo se estima utilizando Solver. Entonces yo acabo de tener la proyección, voy a tener el error donde el error va a ser esto la predicción, el default elevado al cuadrado bien, y la suma de esto va a ser como en mi función de activación, o sea, mi función de costo.

00:25:59:06 Y esto es lo que yo quiero minimizar el efecto. Entonces yo acá tenía con todo esto cero, o sea, con todo esto uno. Yo tenía una función de costo de cuarenta y cinco y con una cierto cincuenta por ciento. Cuando optimice con solver, minimice. Voy a datos solver cuando minimice. Esta función que me encuentre, lo mejor es parámetros de los diecisiete parámetros marcarán estos valores, pero esto sería de este modo en mucho uno de los fondos para volver a cerrarlo.

00:26:40:01 O si no se demora mucho, hemos inventaron esto. Entonces. Entonces cuando yo lo pongo resolver me encuentra estos pesos y estos pesos disminuye de una función de costo de cuarenta y cinco a diez y un acierto aumentado cincuenta ochenta y siete. Lo siento, pero lo mismo podría ser, por ejemplo, en vez de tener una capa oculta o tener dos capa oculta, es decir, una capa oculta con tres neuronas, y esta capa oculta se junta con tres neuronas que serían.

00:27:01:04 Como digo, si me permites, te hago una pregunta que creo que viene de una vez para que lo trates. En este punto nos dicen porque la ANEP, la neurona uno y dos son Sigma, hay tres y tres y cuatro son exponenciales, o sea, simplemente es es un criterio que obtengo. No, no es algo que está escrito en piedra.

00:27:41:05 Bien, existen diferentes funciones de activación, por ejemplo acá creo que estás viendo en el escritorio. Segundo, si estamos viendo el X, igual nos preguntas y cada neurona es una variable, es una variable, pero para la neurona que viene bien, o sea, miren acá este segundo caso que yo le estoy mostrando que sería este, que tengo dos capas ocultas con tres neuronas cada una, sería algo así.

00:28:23:23 Entonces claro, la pregunta que me haces si la neurona es una variable, claro, esta neurona es una variable para esta neurona. Esta neurona, esta neurona. Bien, entonces la función de activación, una aplicación funcional a lo que tú estimes bien, no hay como algo que ha en piedra, hay unas que tiene algunos beneficios que son beneficiosas en términos de poder de computación tres, es decir, de disminuir los costos de los tiempo de procesamiento y otras principalmente por un tema de que necesita centrar los valores entre un cierto valor se torno bien.

00:29:03:28 Entonces por ejemplo acá cuando la segunda neurona a la neurona número uno, esta neurona número uno va a tener pesos, tiene tres pesos y el parámetro constante donde este parámetro constante e las variables serían las tres neuronas de la capa anterior. Bien, entonces uno puede decir bueno, te van a dar los mismos pesos. Claro, en este caso te dieron los mismos pesos, pero si te das cuenta acá no tener los mismos peso entre la neurona uno y la neurona tres.

00:29:31:09 ¿Por qué? Porque es cada una neurona se está enfocando en una proporción de tu muestra y entonces con esto tú te puedes ir guiando y decir bueno, entonces puede dejar dos neuronas no más, no tres, porque hay dos que me están tomando la misma proporción, por ejemplo. Entonces si se dan cuenta, esto ya bajó, bajó de un nivel de ochenta y siete por ciento de acierto a un ochenta y dos.

00:30:07:25 ¿Y por qué? Porque simplemente no está especificando mucho el modelo y no está siendo eficiente en términos de predecir lo que tiene que predecir. Y entra el todo. El concepto que se lee se le llama el over fitting está haciendo ahora, oficiando el el modelo Bien, bueno, esto mismo que yo le estoy mostrando en una planilla Excel es lo que hacen en Python, lo hacen en Stata, pero no con tres neurona ni con cuatro, sino que contiene neurona con veinte neurona y con mucho más.

00:31:14:04 Cabo oculto en Pasando Stata. Ahora bueno, que está adaptada a datos pasando está bueno. Yo acá tengo ya no solamente tengo dos variables en el excel puse dos variables por un tema de que va a ser más más rápido. El ejemplo, pero ya acá tenemos alrededor de siete variables explicativas que donde estas variables explicativas son distintas. Característica de la empresa logaritmo natural de lo activos Gastos financieros evita dividendos pasivo circulantes Activos totales Patrimonio neto Ciertas variables característica de la empresa que pudiera explicar un posible fraude, un de un posible default y entonces bueno, yo aquí bueno, voy, voy a hacer un poco de manejo de base de datos que en vez de la variable dejarla

00:31:43:21 en mayúscula. La primera palabra, osea la primera letra, la debo hacer con minúscula, bien a una y a un split a la muestra, es decir, que me deje ochenta por ciento para entrenar y el otro cuarenta y cuatro el otro veinte por ciento para poder validar el modelo alrededor. Tengo doscientas veinte empresa muy poco bien porque si lo hago muy grandes vas a durar mucho.

00:32:25:27 Entonces para evitar eso a corto un poco más las aplico una estandarización bien donde la estandarización acá por ejemplo yo en el Excel le mostré que hacia una normalización y estandarizada a las variables, normalizando con minio y máximo, en vez de que con media y desviación estándar. Y acá voy a estandarizar aplicando una tarjeta tangente hiperbólica, que es simplemente otro tipo de como de función activación bien, entonces tú acá puedes ejecutar esto, entonces yo lo que estoy haciendo es simplemente pasar, estandarizar las variables a a estos valores que están acá.

00:33:08:11 Bien, si se dan cuenta todos las dejo. Todas las variables las dejo en un rango entre cero y uno actualmente. ¿Bien, y por qué hago eso? Para que el proceso de encontrar los óptimos globales sea mucho más eficiente. Bien, y asegurarme que logre a ese óptimo global. Y también que los tiempos de ejecución no sean tan lentos. Y bueno, un tratamiento de mis sin varios y que actualmente hay con con aplicando un promedio que al parecer no hay así sea.

00:33:48:13 Había solamente una variable, una variable que tenía esta variable que logaritmo natural de la cuentas que tenía tres tres símbolos. Bien, entonces stata. Lo bueno que tiene es que en estas versiones actuales se puede integrar compacto. ¿Y porque es bueno? Porque tu todo lo puedes hacer. Todas las. Ni toda la manipulación de la data la puedo utilizar utilizando stata, que muy bueno en términos de la manipulación y de la todo lo que es la limpieza en la data en estado y el mismo estatus puede llamar picture para aplicar cierto algoritmos que eventualmente esta tan los tenga bien.

00:34:19:18 Por ejemplo está este comando que he utilizar que se llama P y griega MLP, que griega es de python y MLP es multiplayer. Perfecto, lo creó o lo integró un compadre, un alumno, una persona de Harvard que se llamaba Michael Trotter que esta haciendo su doctorado en economía en Harvard y él lo que hizo. Bueno, voy a integrar como ahora Stata, yo puedo utilizar Python o integrar los algoritmos.

00:34:54:25 Hay que tener dentro esta parte sin mover la base de datos de un lado a otro, porque yo antiguamente cuando estaba en Estaban doce stata catorce, yo manipulaba los los datos en Stata. Bien, pues descargara ese dato y después la llamaba con pandas el pico, entonces ya ahora ya no lo hago todo acá y acá. Bueno, aquí ustedes para poder utilizar este comando tienen que instalar Python porque se gatilla con Python, etc, pero no, no es algo trivial.

00:35:24:08 Y lo que voy a hacer acaba de una estimación general en la que voy a utilizar la variable default como variable que implica la variable estandarizadas para la muestra Entrenamiento uno. Bien tipo de clasificación, una semilla, la función de activación logística y acá máximo iteraciones. Bien porque como comienzo iterar creo que si supera las máximas mil doscientas iteraciones que Phoenix y quede con la más baja.

00:35:56:09 Bien, si es que ya antes no encontró el óptimo o el óptimo global más cercano o local más cercano. Alpha Tengo un nivel parámetro alfa donde el que regula lo que es los algoritmos de L1 y L2, es decir, lo que es la penalización y las capas ocultas. Aquí yo digo bueno, establece dos capas ocultas donde cada una de esas capas va a tener dos neuronas bien, y ejecuto esto mediante curvas.

00:36:32:12 Roc, pero aquí está la documentación por si acaso de del comando múltiple Perception que estableció Maikel dos Le quitan todos los hyper parámetros que uno puede ir ajustando. Viene acá y dice Mira, encontré en tu más entrenamiento un ochenta y seis por ciento y esto más variación, un setenta y tres por ciento. Perfecto, buenos datos. Siento que está un poco o verificado, es decir, aprendió mucho, aprendió mucho de la muestra entrenamiento que no está encontrando los mismos, los mismos patrones que encontró.

00:37:04:12 La más que entrenamiento es la muestra de variación. Bien, por eso puede ser esa diferencia. Bueno, y quizás por la poca cantidad que hay en entonces, lo que yo trato de hacer ahora es una búsqueda, es una búsqueda de óptimo, de hiper parámetros que se le llama el Grid search, que es una grilla donde esta grilla lo que hace es buscar distintos hiper parámetros e ir validando en función de la data distintos valores de curva rojo.

00:37:31:11 Entonces el va a probar muchos algo, muchos hiper parámetros distintos con la misma data para ver bueno cuál se encuentra. El que me entregue la mejor curva rock, pero que tenga una menor diferencia entre lo que es variación y entrenamiento. Bien, entonces digo que el parámetro alfa vaya entre cero desde punto, cero uno hasta hasta punto quince y vaya saltando en punto cero cinco.

00:38:03:02 La cantidad de neuronas de la capa vuelta, uno que vaya de uno a tres y la cantidad neuronal de uno que vaya uno a tres también. Yo esto lo puse con seis con cero neuronas y esto lo aumenté a treinta y se demoró cuatro sobre uno uno tres minuto cuatro minutos. Entonces imagínense, son doscientos datos, apenas piensen con veinte mil datos y con no sé, cien variables.

00:38:36:18 Entonces esos son los costos principalmente que tiene aplica en la red neuronal que eventualmente tiene altos alta cantidad de necesita alto poder de cómputo, bien, ejecutamos los datos lo a ir guardando en este frame que se llama resultados. Voy a ir aguardando lo que son el L2 que probó la cantidad de neuronas en la capa oculta uno. La cantidad neuronal en la capa oculta, dos la curva de entrenamiento y la curva de variación.

00:39:02:18 Y ahí está, jugando en ahí, por ejemplo, eso rojo te dice bueno, me estoy pasando de los mil doscientos de máximo iteración. Entonces lo que a ahí frena los mil doscientos y se queda con el menor con el menor valor de la función de Boston. Bien, pero hay otros que no te dice eso porque encontró antes de los mil doscientos, encontró el menor valor de la función de todo.

00:39:29:15 Bien, ahí terminó. ¿Se dan cuenta? Acá me voy a cambiarte de de Fran y acá están los distintos valores que proba entonces acá y te dice bueno, con un L2 desde punto cero uno, con la cantidad de neurona uno uno, encontré este valor uno uno con una neurona y con dos neurona en la capa abultados encontré estos valores y así va jugando bien.

00:40:04:14 Entonces claramente nosotros en ocasiones vamos a tener muchas más cantidades, por lo tanto un mecanismo de visualización se hace mucho más conveniente en este caso. Entonces yo lo podría graficar y yo en función a esta diferencia, porque yo calculo la diferencia en la curva de entrenamiento y variación podría encontrar bueno cual me conviene realmente utilizar en términos de parámetros, o bien por ejemplo yo acá en la cantidad de neuronas uno y mantiene una dos.

00:40:29:12 Aquí lo que se grafica es la diferencia entre los porcentajes de rol de entrenamiento y los de variación. Por lo tanto yo quiero un rock muy cercano a cero en términos de diferencia y en y esto podría ser, si se dan cuenta, este color yo lo podría encontrar acá, por ejemplo, como en estos sectores y o muy la sector Mar Roja sería como cantidad de neuronas tres y cantidad de neuronas tres.

00:41:02:22 La cabo adulta dos es en mucho porque una diferencia de veintidós por ciento, pero se mueve las zonas más azules moradas, que es la parte de uno a uno, puede ser mucho mejor. Aquí ya voy a encontrar lo que es el L2 y en el L2 podría ser, por ejemplo un cero, dos o un cero uno. Bien, porque esta es la parte más o la parte más baja, pero siempre manteniendo una neurona en vez de dos neuronas.

00:42:02:22 Bueno, lo mismo ser acá. Por lo tanto, la primera, lo primero que yo puedo hacer. Bueno, hagamos una función, un modelo en donde este modelo principalmente esté con un alfa de cero, uno de punto cero uno caba oculta uno una neurona y cabal culta, dos de una neurona que lo que sale entonces si se dan cuenta acá me da una curva roja de ser ochenta y uno por ciento y cero punto ocho, o sea, si se dan cuenta, a diferencia del primer modelo que arrojamos con los hiper parámetros, por default encontramos que claro, en curva de entrenamiento de ochenta y seis por ciento y la curva de variación da un setenta y tres por ciento,

00:42:35:21 por lo tanto, cuando ajustamos esto encontramos que claro, seguimos un poco de performance en términos de muestra de entrenamiento. Bajó de ochenta y seis ochenta y uno, pero ganamos en variación cien. Entonces hay diferentes formas de poder encontrar híper parámetros óptimos. Bien, pero yo acá les quise mostrar en cierta medida de forma automática, pero acá yo les quise mostrar como podría o visualizarlo.

00:43:25:17 Si nosotros queremos encontrar y ver parámetros óptimos de en términos más visuales, bien o simplemente y con esto ya termino para dar el pase a consultas y ir uno a la frente de resultados y acá encontrarlo. Entonces acá muy hubo un cero uno tres y un uno muy malo bien, pero por ejemplo acá si yo tomo por ejemplo un L2 de cero de punto cero uno, una cantidad neuronal uno y una cantidad de neurona en la capa oculta, dos de dos neuronas muy asegurar si se dan cuenta de un noventa y uno por ciento en la curva ropa de entrenamiento y un noventa por ciento la variación que mucho mejorar lo mostramos, es decir, mejoramos

00:44:12:10 diez puntos porcentuales utilizando esto hiper para bien. Entonces son principalmente formas. Claro, aquí tengo veintisiete posibilidades, pero en ocasiones tenemos cincuenta, tenemos cientos. Encontrar el óptimo en toda esa cantidad de observaciones se hace mucho más complejo y hay formas gráficas para poder visualizarlo o hay mecanismos de automatización bien y como se consultas que es ahí, si no me voy a ir con la luz o la reciclan.

00:45:00:04 Si bueno, invitamos a nuestros asistentes que nos dejen sus consultas en el chat. Tenemos uno por acá. ¿Es posible utilizar estos modelos para identificar informalidad laboral, digamos con variables sociodemográficas? Sí, o sea, o sea, si tú quieres, hay que muy importante de cual sea la estructura de información que necesitan las redes neuronales para funcionar. Si tú, si tú aseguras tener una estructura de información de este estilo que ver al otro ahí, de este estilo, es posible en parte ajustar cualquier algoritmo, o sea, todos los machine learning clásicos, incluso los de dip learning.

00:45:31:05 Esta estructura en la que tú tienes tu variable dependiente tú también te pueden, en este caso y tus variables comportamiento que Frank, no tengo más consulta de las otras. Bueno, acá nos dice Diana este ejercicio que realizaste que concluye a nivel de empresa, teniendo en cuenta los datos que concluyó a nivel de empresa, teniendo en cuenta los datos.

00:46:05:00 O sea, y lo que pasa es que uno de los problemas que tiene la red neuronal en si es que tu es difícil saber lo que está sucediendo dentro de la red neuronal. Bien, es el primer punto. Has sacado investigaciones para poder decir bueno, para saber lo que sucede en la red neuronal, hagan esto, hagan esto otro. Entonces en parte lo que tu vas a saber, en lo que te entrega el output final y el output final es todo lo que te entrega como estimación.

00:46:36:10 Hay. La probabilidad está que este cliente entre como default es de un ochenta por ciento, pero saber qué variable contribuyó a entregar mayor información para dar la explicación a eso es difícil. Yo se la mostré en el ejemplo. En el ejemplo de Tensor flow, eso es este simulador, porque simplemente del software lo que hace es estandarizar los parámetros.

00:47:24:29 Si los parámetros te dan peso muy alto es porque es añadir. Está contribuyendo más quizás, pero no necesariamente homogéneamente a todas. Por la misma forma que cuantos datos observaciones mínimas se necesitan para encontrar resultados válidos, confiables, sea que o sea, es que no hay como un no hay algo que esté escrito en piedra. Ese usar un dado, o sea mil, simplemente uno da cuando hacemos modelos, no necesariamente modelos económicos a modelos de investigación, sino modelos más de poder predictivo para utilizarlo.

00:47:54:13 La industria uno uno comienza en forma progresiva. Bien, si tú me dices cuánto es la cantidad de datos para hacer un modelo pero aplicando cualquier algoritmo, mira, yo te podría recomendar sobre los mil, sobre los dos mil horas. Sí, sobre todo se aplica en la industria. Bien, va a depender de tu muestra, pero no hay un valor de muestra que tú deberías utilizar para aplicarlo sencillamente para redes neuronales.

00:48:18:21 Son tipos de algoritmo que te van a entregar un desempeño que quizá tu modelo más sencillo, mucho más sencillo que por ejemplo, una regresión logística, quizás te entregue el mismo desempeño. ¿Entonces, para que hables con una red neuronal aplica eso más sencillo Ok, Cuál es? ¿Cuál es el aporte de la red neuronal a partir de este tipo de datos?

00:49:12:20 ¿Y cuál es el aporte? ¿La red neuronal? Bueno, pues predictivo. ¿Se dice que cuando le mostré el Excel, o sea, disculpen el pdf, donde está la presentación? Ahí principalmente diferenciaba lo que era lo clásico con el deep learning en si. Bien, entonces lo que te aporta simplemente por predictivo es tener mejores desempeño en los modelos. En este caso no, si se dan cuenta tú acá con mayor cantidad de datos, tú con algoritmos clásicos logras este desempeño, pero con algoritmos de deep learning, tú con con la misma cantidad de datos, por ejemplo, tienes una brecha de desempeño que logras mejorar mucho mejor, pero eso no solamente por cantidad datos, sino también también es por un tema

00:49:38:12 de calidad. El dato en sí y uno cuando comienza a modelar, uno mide la calidad, el dato que tan qué tan buenos. Emirato para modelar. Hola, Ok, tengo otra pregunta, El tipo de utilidad de estos ejercicios en contextos como la informalidad laboral o en este caso del default de crédito, sería la predicción del modelo para encontrar estos casos posibles.

00:50:13:07 Por ejemplo, que exista un caso de informalidad o que sea empresa con default. ¿Que otra utilidad permitirían estos modelos? Bueno, todo lo que se le ocurra. Imagínate hoy en día con Chad que Beth es una red neuronal pero mucho más profundo, bien que tiene alrededor de diecisiete billones de parámetros. Billones, diecisiete punto cinco billones guardan el Excel que le mostré que el modelo, el exel tenía que estimar siete parámetros, siete de estos pesos.

00:50:50:10 Diecisiete. Disculpen. Bueno, sabes que meter por una uno es un modelo de los dieciséis. Son diecisiete billones de estos pesos, entonces te da para mucho que casos de uso desde fraude de found riesgo de crédito rigo mercado right operativo de portafolios de de modelos de gestión modelo apoyo a la gestión modelo operativos SEC, eficiencia operacional, etcétera o sea hasta en General loma o a un hasta conducir hasta ese nivel.

00:51:25:08 Hacer que las redes neuronales se utilizan para medición de la eficiencia empresarial. Que no, no sea. O sea, si leo tu pregunta si lineal no, o sea, yo creo que hay otras cosas para medir la la eficiencia empresarial. ¿Ok, te leo por acá otra pregunta es posible adjudicar relaciones causales entre las variables dependientes y las variables dependiente? Por ejemplo, en el caso del dic.

00:52:16:17 Ford, es decir, esta lista de variables relacionan causalidad sobre ser o no empresa en caso de default no lo es lamentablemente. O sea. O sea la causalidad, la entrega. El investigador. Y aquí estoy, comparando un poco lo que es un mundo más académico con el mundo como más de la industria. Para definir auto algo causal, tú haces una revisión bibliográfica varias por datos, haces un método, estimas, elimina sesgo, etcétera incorpora sesgos y eventualmente incorporarlo, medirlo o si tus datos resultó datos tienes es ok, he entonces en función de eso tu dices hey, hey, miren lo que me arrojó.

00:52:50:20 Funcionan los datos y lo que yo puse como hipótesis y esto es causal, es distinto a lo que es la correlación. O sea, hay variables que que que te contribuyen más a explicar, a explicar, a explicar tu variable dependiente. Pero esto no son los modelos que te van a ayudar a decir eso. Ahora recién se está experimentando como el machine learning te podría ayudar a la causalidad, pero si tu llegues llega.

00:53:20:15 Quieres comprobar causalidad o relación que utilizan otros tipos de método y tiene un fuerte marco teórico que te avala. Poder argumentar después si esto es causal. ¿Una cosa o que vamos con una última consulta eh? Bueno, antes de leerte la voy a dejar en en pantalla lean la encuesta para que por favor puedan ir la de licenciado para una regresión multi variable.

00:53:52:26 ¿Qué algoritmos de activación y optimizador es recomiendas? Va a depender mucho de tu caso de uso, por ejemplo. Y una vez tuve que hacer un modelo de inferencia de salarios, de rentas y de ven miento de ventas de empresa. Entonces el yo una función de una función de costo. Yo pude haber hecho bueno, voy a utilizar un función de costo que es de concepto más lineales.

00:54:24:12 Bien, por lo tanto, no me servía mucho porque tenía muchos lados, a muchos, mucha empresa típica, etc, entonces me costaba un poco controlar esa empresa típica y utilizar una función de costo, cuantifica, porque la concentración de los datos estaba más hacia ventas más altas, por lo tanto, y ahí en vez de utilizar una función de costo que es términos más lineales, utilizo una función de constante no más cuantificar.

00:55:01:00 Por lo tanto eso me ayudó a definir qué variables, o sea que función de costo poder utilizar para ese caso de uso en en específicos. Hay muchas personas y hoy día que muchas personas que están enseñando machine learning que te dicen prueba todo, o sea, si hay que leerte dice ahí tiene cuatro funciones de costo, es por ejemplo, en este caso te dice bueno, aquí tenemos cuatro cuatro función de activación por las todas y quédate con la que mejor se ajusta.

00:55:23:27 Está bien, es una forma, pero es demasiado costoso en términos computacionales. Por lo tanto lo que te aconsejo es que mejor revisen los beneficios que tiene los pro y los contra que tiene cada una de estas funciones de activación y en función de eso vas probando. Te hace mucho más costoso y mucho más ilustrativo hacer eso que ir probando todas las combinaciones posibles.

00:55:56:03 Si nos va a ser una locura. Principalmente perfecto. Franco, no tenemos más consultas en el momento. ¿Algo que quieras agregar antes de finalizar? Bueno dejar. Lo invitamos al curso al curso que tengo de con software que son cursos sincrónicos en temas de de Machine learning testada. Hay un curso en curso avanzado de machine learning y de machine Learning Estate Python bien, pero siempre en el ambiente.

00:56:24:09 ¿Stata hay le explicó las técnica, como funcionan, etc y en curso más básico por hacerlo en términos de Machine, la que también le invito a ver que son todos los que son solo random sobre los algoritmos de penalización, etcétera Así que ahí Elisa le está compartiendo el link donde ven esos cursos y lo bueno que dan y lo bueno que están baratos de su fuera lo más importante no?

00:56:47:08 Gracias Franco Si, cómo lo lo menciona en el chat hace unos segundos deje el link donde pueden ver estos cursos que menciona Franco, también el enlace donde podrán encontrar la grabación de esta y otras presentaciones que quizás puedan ser de su interés también en el entorno de Stata y el correo electrónico donde nos pueden contactar. Agradecemos mucho la asistencia a todos ustedes.

00:57:15:07 Les deseamos un feliz resto de tarde. Nos esperamos en una próxima oportunidad. Franco mil gracias. Felicitar desfiles noche ya aprendizaje movimientos luego vale que estén muy bien. Feliz tarde para todos. Hasta pronto. Para mayor información respecto al software o en temas relacionados, no dude en contactarnos a través del correo electrónico o entrenamientos. Arroba, software, guion shop punto com o visitar nuestra página web Triple Ole o punto software Guión Shop puntocom.

Redes Neuronales con apoyo de Stata


Una de las dificultades que se presenta en términos de la gestión empresarial es la inferencia de modelos que permitan proyección, predicción de clases o detección de anomalías, en ese sentido, una alternativa son los algoritmos de redes neuronales, que ofrecen profundidad, capacidad de aprendizaje y estabilidad para trabajar con las distintas estructuras de datos, así, en esta sesión, se darán a conocer las herramientas con que cuenta Stata 18 para llevar a cabo un algoritmo de redes neuronales mediante la aplicación de un ejemplo práctico.



Etiquetas relacionadas

  • Aprendizaje
  • Datos
  • Energías
  • Estabilidad

¡Comparte este video con tus colegas!

Compartir

Ver más

Cotizar
Próximos
Eventos

X

Mis cotizaciones:

Comentarios a tu solicitud:

Cotizar