<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Deep Learning &#8211; Dialéktico</title>
	<atom:link href="https://dialektico.com/categoria/deep-learning/feed/" rel="self" type="application/rss+xml" />
	<link>https://dialektico.com</link>
	<description>Aprende ciencia de datos, machine learning y deep learning de forma gratuita y en español.</description>
	<lastBuildDate>Thu, 14 Aug 2025 01:31:18 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://dialektico.com/wp-content/uploads/2022/06/cropped-Favicon4-32x32.png</url>
	<title>Deep Learning &#8211; Dialéktico</title>
	<link>https://dialektico.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Introducción al descenso de gradiente</title>
		<link>https://dialektico.com/introduccion-al-descenso-de-gradiente/</link>
					<comments>https://dialektico.com/introduccion-al-descenso-de-gradiente/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 14 Aug 2025 01:26:17 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Matemáticas]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[matemáticas]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=11404</guid>

					<description><![CDATA[Cuando se utiliza machine learning para ajustar los parámetros de un modelo de forma que sea capaz de realizar inferencias sobre un conjunto de datos con un alto desempeño, esto se hace generalmente minimizando los errores medidos entre las estimaciones del modelo y los datos reales, de manera que su precisión aumente al disminuir los [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Cuando se utiliza <strong><a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a></strong> para ajustar los parámetros de un modelo de forma que sea capaz de realizar <strong>inferencias </strong>sobre un <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjunto de datos</a> con un alto desempeño, esto se hace generalmente <strong>minimizando los</strong> <strong>errores </strong>medidos entre las <strong>estimaciones </strong>del modelo y los datos reales, de manera que su precisión aumente al disminuir los errores de predicción.</p>



<p>Entre las múltiples formas de lograr esto, existe una <strong>técnica matemática</strong> de gran relevancia llamada <strong>descenso de gradiente</strong>. Esta estrategia de optimización es básica para algoritmos como las <strong>redes neuronales artificiales</strong>, por lo que en esta exploración aprenderemos sobre su funcionamiento, definición matemática, ejemplos, y una práctica de experimentación con código en <strong>Python</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2025/08/DDG_nivel.jpg" alt="descenso de gradiente dialéktico" class="wp-image-11668" style="width:601px;height:auto" title="Introducción al descenso de gradiente 1" srcset="https://dialektico.com/wp-content/uploads/2025/08/DDG_nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/08/DDG_nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Introducción al descenso de gradiente 2" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión lineal</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/"><img decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg" alt="regresión lineal dialektico" class="wp-image-8027" style="width:400px" title="Introducción al descenso de gradiente 3" srcset="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/RL_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/"><strong>Métricas de evaluación de modelos de regresión</strong></a></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab.png" alt="métricas de modelos de regresión dialéktico" class="wp-image-10735" style="width:400px;height:auto" title="Introducción al descenso de gradiente 4" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab.png 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Google Colab dialéktico" class="wp-image-7521" style="width:400px" title="Introducción al descenso de gradiente 5" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="python dialéktico" class="wp-image-7522" style="width:400px" title="Introducción al descenso de gradiente 6" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: una pizca de cálculo</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Introducción al descenso de gradiente 7" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún tentempié</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie.jpg" alt="tentempié dialéktico" class="wp-image-11299" style="width:444px;height:auto" title="Introducción al descenso de gradiente 8" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Introducción al descenso de gradientes para optimizar funciones</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Introducción al descenso de gradiente 9" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hasta el momento, hemos cubierto tres etapas básicas para la generación de modelos de <strong>aprendizaje de máquinas</strong>:</p>



<ul class="wp-block-list">
<li>Recolección y preparación de <a href="https://dialektico.com/datos-machine-learning/">datos</a>.</li>



<li>Entrenamiento del modelo.</li>



<li>Evaluación del modelo.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto nos deja listos para comenzar a explorar de forma más <strong>detallada </strong>los elementos que pertenecen a cada estadio. Anteriormente, nos hemos embarcado en un riguroso entrenamiento sobre los <strong>datos</strong> y sus <strong><a href="https://dialektico.com/obtener-conjuntos-de-datos-para-ml/">orígenes</a></strong>, por lo que comenzaremos a enfocarnos en las minucias asociadas al <strong>entrenamiento del modelo</strong>.</p>



<p>Cómo recordarás del recorrido sobre <a href="https://dialektico.com/funciones-de-perdida-machine-learning/">funciones de costo</a>, durante la etapa de <strong>entrenamiento</strong>, un algoritmo de <strong><a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a></strong> minimiza una <strong>función de pérdida objetivo</strong>, la cual cuantifica las diferencias entre las <strong>predicciones </strong>del modelo y los <strong>valores </strong>del <a href="https://dialektico.com/conjuntos-train-dev-test/">conjunto de datos de prueba</a>. La manera en la que se <strong>minimiza </strong>la función de pérdida es lo que se conoce como <strong>optimización</strong>. Definamos brevemente este concepto.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Optimizadores en aprendizaje de máquinas</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En <strong>machine learning</strong>, un <strong>optimizador </strong>es un algoritmo que ajusta los <strong>parámetros </strong>de un modelo para minimizar una función de pérdida.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_A1.jpg" alt="descenso de gradiente laiharang" class="wp-image-11525" style="width:498px;height:auto" title="Introducción al descenso de gradiente 10" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/07/DDG_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sí es algo similar, y el objetivo perseguido es el mismo, pero el método de <strong>mínimos cuadrados</strong> es un método de resolución directa para minimizar el <strong>error cuadrático medio</strong> (MSE), a diferencia de los optimizadores tradicionales, que minimizan la función le pérdida de manera algorítmica (como veremos más adelante).</p>



<p>Entre los diferentes <strong>optimizadores</strong>, existe uno que funge como base de muchos otros utilizados para entrenar modelos de mayor <strong>complejidad</strong>, y es el que conoceremos a continuación: el <strong>descenso de gradiente</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es el descenso de gradiente para machine learning?</h2>



<p>El <strong>descenso de gradiente</strong> es un <strong>algoritmo de optimización</strong> que se utiliza para encontrar los valores óptimos de los <strong>parámetros </strong>de un modelo minimizando una <strong>función de pérdida</strong> mediante un proceso iterativo que calcula el <strong>gradiente </strong>de la función respecto a los parámetros, y actualiza dichos parámetros en la dirección opuesta al gradiente, con el objetivo de reducir progresivamente el valor de la pérdida (el error).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/08/DDG_K1_2.jpg" alt="descenso de gradiente kagnadi" class="wp-image-11603" style="width:496px;height:auto" title="Introducción al descenso de gradiente 11" srcset="https://dialektico.com/wp-content/uploads/2025/08/DDG_K1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/08/DDG_K1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es verdad que existen algunos términos que hasta el momento no habíamos mencionado. Llegaremos a comprender esta definición de manera intuitiva, partiendo de un <strong>ejemplo</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Descenso de gradiente: ejemplos e intuición</h3>



<p>Supongamos que queremos <strong>entrenar </strong>un modelo de <strong>machine learning</strong> de aprendizaje supervisado, no importa cuáles son los <strong>datos</strong>, las <strong><a href="https://dialektico.com/datos-etiquetados-machine-learning/">variables de entrada</a></strong> o las <strong>variables de salida</strong>, nos centraremos en el entrenamiento mismo.</p>



<p>Cuando decimos <strong>entrenar</strong>, como bien se ha dicho, nos referimos a encontrar los <strong>valores óptimos </strong>de los <strong>parámetros </strong>del modelo, es decir, hallar los valores de los parámetros de un <strong>modelo matemático</strong> que logre capturar las <strong>relaciones </strong>entre los datos, permitiendo realizar inferencias de manera satisfactoria (lo cual, como sabemos, se determina utilizando <a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/">mediciones de su rendimiento</a>).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_M1.jpg" alt="mmerf descenso de gradiente" class="wp-image-11532" style="width:581px;height:auto" title="Introducción al descenso de gradiente 12" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/07/DDG_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El <strong>descenso de gradiente</strong> funciona mediante <strong>pasos</strong>, es un proceso <strong>iterativo </strong>basado en la repetición del cálculo de los valores de la <strong>función de costo</strong>.</p>



<p>Veamos cómo funciona paso por paso para dejarlo más claro:</p>



<p>1. Supongamos que hemos <strong>entrenado </strong>un <strong>modelo</strong> con un <strong>solo parámetro</strong> (en la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">regresión lineal</a>, por ejemplo, hemos calculado anteriormente los valores de dos parámetros):</p>



<ul class="wp-block-list">
<li>Después del entrenamiento, vemos que hemos obtenido el valor del <strong>parámetro </strong>del modelo, ¿cómo sabemos si funciona bien con este parámetro que hemos encontrado utilizando <strong>machine learning</strong>?</li>



<li>Para resolver nuestras dudas, hacemos una <strong>medición del</strong> <strong>desempeño </strong>del modelo con la función de costo (<strong>función de pérdida</strong>), y obtenemos un valor alto, es decir, el error es alto, por lo que el modelo no está correctamente optimizado.</li>



<li>Ahora que tenemos el valor del parámetro y el valor de la función de error, visualizamos estos utilizando un gráfico como el siguiente, donde el<strong> </strong>eje<strong> </strong><span class="katex-eq" data-katex-display="false">X</span> corresponde al valor del <strong>parámetro</strong>, y el <strong>eje </strong><span class="katex-eq" data-katex-display="false">Y</span> al de la función de costo (el error calculado):</li>
</ul>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/08/DDG_chart_1_3.png" alt="descenso de gradiente" class="wp-image-11613" title="Introducción al descenso de gradiente 13" srcset="https://dialektico.com/wp-content/uploads/2025/08/DDG_chart_1_3.png 1024w, https://dialektico.com/wp-content/uploads/2025/08/DDG_chart_1_3-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.1</strong> Punto sobre la gráfica Función de costo/Parámetro calculado. Muestra la relación entre el rendimiento del modelo y el valor de sus parámetros.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En esta gráfica se puede observar un valor relativamente alto del <strong>parámetro</strong>, y también un valor alto de la <strong>función de costo</strong>. Estos valores se ven representados por un punto, es decir, para este valor alto del parámetro obtenemos un <strong>error medido </strong>también alto, lo que implica que el modelo puede <strong>optimizarse </strong>más.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_A1-1.jpg" alt="descenso de gradiente aelacor" class="wp-image-11536" style="width:496px;height:auto" title="Introducción al descenso de gradiente 14" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_A1-1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/07/DDG_A1-1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nos ayudará a ilustrar el descenso de gradiente, ya verán más adelante.</p>



<p>Ahora, dibujaremos el punto sobre una curva:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_1_3.png" alt="descenso de gradiente" class="wp-image-11457" style="width:644px;height:auto" title="Introducción al descenso de gradiente 15" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_1_3.png 1024w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_1_3-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.2</strong> Punto sobre la gráfica Función de costo/Parámetro calculado, y sobre una curva que representa el movimiento conjunto de estos valores.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta curva representa cómo se suelen comportar los valores de la <strong>función de costo</strong> respecto a cómo cambia el valor de los <strong>parámetros calculados</strong>.</p>



<p>Para entender mejor esta curva, recordemos que nuestra misión es <strong>minimizar </strong>los valores del <strong>error calculado</strong> (mientras sea más chico, mejor), por lo que debemos buscar la <strong>dirección </strong>hacia la cual se debe mover Mmerf (el valor del parámetro sobre el eje <span class="katex-eq" data-katex-display="false">X</span>), de forma que se desplace hacia un mejor valor del error medido. Esto nos lleva al siguiente paso.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_M2.jpg" alt="mmerf descenso de gradiente" class="wp-image-11540" style="width:595px;height:auto" title="Introducción al descenso de gradiente 16" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_M2.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/07/DDG_M2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>2. Si queremos que el error sea menor, basta con mirar la <strong>gráfica</strong>: el punto debería dirigirse hacia abajo y hacia la izquierda sobre la curva. Siguiendo la tendencia, al hacer más pequeño el <strong>valor del parámetro</strong> esto debería provocar que el <strong>valor de la función de costo</strong> <strong>disminuya</strong>, acercándose al punto mínimo (el centro de la curva).</p>



<p>Ya escuchaste Mmerf, mueve ese trasero etéreo.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/04/DDG_chart_2.png" alt="descenso de gradiente" class="wp-image-11410" style="width:658px;height:auto" title="Introducción al descenso de gradiente 17" srcset="https://dialektico.com/wp-content/uploads/2025/04/DDG_chart_2.png 1024w, https://dialektico.com/wp-content/uploads/2025/04/DDG_chart_2-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.3</strong> El valor del parámetro se ha hecho más pequeño (se ha desplazado hacia la izquierda sobre el eje <span class="katex-eq" data-katex-display="false">X</span>), lo cual ha modificado al modelo. La nueva medición de la función de costo indica que el error ha disminuido, por lo que el punto en la gráfica se mueve hacía el centro de la curva, donde se encuentra el mínimo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Le hemos dado una dirección correcta, se ha ajustado el <strong>valor del parámetro</strong> a un valor más chico, y esto ha generado un menor valor de la <strong>pérdida calculada</strong> (se ha acercado a <span class="katex-eq" data-katex-display="false">0</span> en el eje <span class="katex-eq" data-katex-display="false">Y</span>).</p>



<p>3. Como buscamos el menor valor posible, realizamos otro paso, y volvemos a dirigir a Mmerf hacia un valor más pequeño del parámetro, lo cual lo termina desplazando hacia <strong>abajo </strong>y la <strong>izquierda</strong>, quedando en el punto más bajo de la curva:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_3_2.png" alt="descenso de gradiente" class="wp-image-11459" style="width:654px;height:auto" title="Introducción al descenso de gradiente 18" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_3_2.png 1024w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_3_2-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.4</strong> Después de que el parámetro se ha vuelto más pequeño, el punto se desplaza de nuevo hacia la izquierda sobre la curva, llegando al mínimo de la función de pérdida.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con este <strong>movimiento</strong>, donde se ha determinado hacia dónde debe moverse el valor del parámetro, hemos conseguido alcanzar un <strong>mínimo </strong>de la función de costo, lo cual se suele denominar «<strong>convergencia</strong>» (converge a un mínimo de la función).</p>



<p>Esta es la esencia del <strong>descenso de gradiente</strong>. Se le llama así, porque la idea es descender hacia el <strong>mínimo</strong> de la función de costo (se minimiza el error) modificando los valores de los parámetros de un modelo, y con <strong>gradiente</strong> se refiere a la <strong>dirección </strong>(si se sumará o restará en cantidad a los valores de los parámetros) y magnitud (cuánto se le sumará o restará) a considerar para llegar a la <strong>convergencia</strong>.</p>



<p>El algoritmo, entonces, consiste en los siguientes pasos:</p>



<ul class="wp-block-list">
<li>Se parte de un punto inicial, generalmente <strong>aleatorio</strong>.</li>



<li>Se calcula el <strong>gradiente</strong>, el cual indica en qué dirección la función de pérdida aumenta o disminuye, lo cual se utiliza para moverse en dirección hacia un <strong>mínimo</strong>.</li>



<li>Se ajustan un poco los valores de los parámetros del modelo, esperando reducir el error calculado.</li>



<li>Se repite el proceso, buscando alcanzar un mínimo después de <span class="katex-eq" data-katex-display="false">n</span> <strong>iteraciones</strong>.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/08/DDG_A1_3.jpg" alt="descenso de gradiente" class="wp-image-11627" style="width:452px;height:auto" title="Introducción al descenso de gradiente 19" srcset="https://dialektico.com/wp-content/uploads/2025/08/DDG_A1_3.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/08/DDG_A1_3-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A grandes rasgos, sí. Este proceso se entenderá mucho más en la siguiente sección, donde revisaremos su <strong>funcionamiento matemático</strong>.</p>



<p>Pero antes debemos de conocer dos elementos básicos del <strong>descenso de gradiente </strong>que son de gran relevancia en ciencia de datos:</p>



<ul class="wp-block-list">
<li>Tasa de aprendizaje.</li>



<li>Número de iteraciones.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es la tasa de aprendizaje en descenso de gradiente?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La <strong>tasa de aprendizaje</strong> (<strong><em>learning rate</em></strong>) es un <strong>hiperparámetro</strong> (por fin llegamos a hablar de nuestro primer hiperparámetro) que controla qué tan<strong> grande </strong>(<strong>magnitud</strong>) es cada<strong> paso</strong> que se da cuando se actualizan los <strong>parámetros </strong>del modelo durante el <strong>descenso de gradiente</strong>.</p>



<p>¿Cómo es que funciona?, es simple, se trata de un factor que determina el <strong>tamaño </strong>de cada movimiento de los parámetros tras cada iteración. Ilustrémoslo.</p>



<p>Recordemos lo que hicimos anteriormente, dimos tres pasos para llegar al mínimo de la función, lo cual podemos mostrar como sigue:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_10.png" alt="descenso de gradiente" class="wp-image-11554" style="width:613px;height:auto" title="Introducción al descenso de gradiente 20" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_10.png 1024w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_10-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.5</strong></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Supongamos que ahora hemos determinado que estos pasos serán más pequeños (<strong>tasa de aprendizaje</strong> menor), por lo que obtendremos el siguiente movimiento hacia un mínimo de la función de pérdida:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_11.png" alt="descenso de gradiente" class="wp-image-11555" style="width:612px;height:auto" title="Introducción al descenso de gradiente 21" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_11.png 1024w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_11-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.6</strong></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Se puede notar cómo los <strong>pasos </strong>son más <strong>cortos</strong>, y esto evita que se llegue al <strong>mínimo </strong>(el punto más bajo de la curva en el centro). Veamos cómo luce añadiendo un paso adicional:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/08/DDG_chart_5_3.png" alt="descenso de gradiente" class="wp-image-11632" style="width:656px;height:auto" title="Introducción al descenso de gradiente 22" srcset="https://dialektico.com/wp-content/uploads/2025/08/DDG_chart_5_3.png 1024w, https://dialektico.com/wp-content/uploads/2025/08/DDG_chart_5_3-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.7</strong></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aún con el cuarto paso, no alcanzamos el mínimo; por lo tanto, lo ideal es que el tamaño de los pasos (tasa de aprendizaje) sea mayor.</p>



<p>Veamos que sucedería si eleváramos el tamaño de la <strong>tasa de aprendizaje</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_6_2.png" alt="descenso de gradiente" class="wp-image-11464" style="width:697px;height:auto" title="Introducción al descenso de gradiente 23" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_6_2.png 1024w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_6_2-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.8</strong> Mismos cuatro pasos durante el descenso de gradiente, con una extensión mayor entre cada una, permitiendo la convergencia.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aquí podemos notar cómo llegamos al <strong>mínimo de la función de pérdida</strong> aumentando la <strong>tasa de aprendizaje</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_K2.jpg" alt="descenso de gradiente" class="wp-image-11557" style="width:503px;height:auto" title="Introducción al descenso de gradiente 24" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_K2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/07/DDG_K2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En ese caso, se puede llegar a <strong>sobrepasar el mínimo</strong>, obteniendo de nuevo valores altos de la función de costo, lo cual no resulta favorable:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="774" src="https://dialektico.com/wp-content/uploads/2025/04/DDG_chart_7.png" alt="descenso de gradiente" class="wp-image-11416" style="width:709px;height:auto" title="Introducción al descenso de gradiente 25" srcset="https://dialektico.com/wp-content/uploads/2025/04/DDG_chart_7.png 1024w, https://dialektico.com/wp-content/uploads/2025/04/DDG_chart_7-768x581.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.9</strong> Se aumenta la tasa de aprendizaje en el descenso de gradiente.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Se observa que, al incrementar el valor de la <strong>tasa de aprendizaje</strong>, se llega al otro extremo de la curva, esto implica que se tiene un valor cada vez más pequeño del <strong>parámetro estimado</strong> (más cerca del <span class="katex-eq" data-katex-display="false">0</span> en el eje <span class="katex-eq" data-katex-display="false">X</span>), lo cual genera que el error vuelva a aumentar (de nuevo el punto está más arriba, en el eje <span class="katex-eq" data-katex-display="false">Y</span>). Esto significa que valores más pequeños del parámetro de la función no implica siempre que generen mejores valores en las <strong>predicciones</strong>, por eso es importante configurar una <strong>tasa de aprendizaje</strong> que permita una <strong>convergencia </strong>cercana al mínimo de la función de pérdida.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es el número de iteraciones en descenso de gradiente?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las <strong>iteraciones</strong> son los pasos repetidos que se realizan en la ejecución del descenso de gradiente para <strong>ajustar los parámetros</strong> de un modelo con el objetivo de <strong>minimizar la función de costo</strong>.</p>



<p>Tomemos el caso en el que elegimos una tasa de aprendizaje pequeña y obtuvimos lo observado en la <strong><a href="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_5_2.png">Figura 3.9.7</a></strong>, donde vimos que no llegamos a alcanzar el mínimo del error calculado. Para esto, también podríamos haber añadido más pasos, como se muestra en la <strong>Figura 3.9.10</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1998" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_8_2.png" alt="descenso de gradiente" class="wp-image-11467" title="Introducción al descenso de gradiente 26" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_8_2.png 1998w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_8_2-768x298.png 768w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_8_2-1536x595.png 1536w" sizes="(max-width: 1998px) 100vw, 1998px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.10</strong> Se añaden iteraciones para alcanzar el mínimo de la función de pérdida.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para un valor relativamente <strong>bajo</strong> de la <strong>tasa de aprendizaje</strong>, al aumentar el <strong>número de iteraciones</strong> (pasos), hemos logrado <strong>minimizar el error</strong>.</p>



<p>Veamos ahora cómo luce el caso inverso, en el que tenemos un número más <strong>grande </strong>de <strong>tasa de aprendizaje</strong>, y reducimos los pasos para evitar oscilaciones que no permitan alcanzar el mínimo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1998" height="774" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_9.png" alt="descenso de gradiente" class="wp-image-11468" title="Introducción al descenso de gradiente 27" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_9.png 1998w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_9-768x298.png 768w, https://dialektico.com/wp-content/uploads/2025/07/DDG_chart_9-1536x595.png 1536w" sizes="(max-width: 1998px) 100vw, 1998px" /><figcaption class="wp-element-caption"><strong>Figura 3.9.1</strong>1 Se disminuyen las iteraciones para alcanzar el mínimo de la función de pérdida.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En este caso, utilizando un menor número de iteraciones se alcanza un mejor resultado.</p>



<p>Con esto hemos podido comprender cómo este par de esenciales <strong>hiperparámetros </strong>se combinan para <strong>optimizar </strong>la función de error y ajustar los parámetros de un modelo.</p>



<p>En general, se pueden considerar los siguientes problemas al intentar encontrar una <strong>convergencia </strong>en la función de pérdida:</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th>Fenómeno al intentar converger</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Sobretiro (Overshooting)</strong></td><td>El algoritmo «se pasa» del mínimo en cada paso debido a una tasa de aprendizaje demasiado grande.</td></tr><tr><td><strong>Oscilación</strong></td><td>Los valores de los parámetros rebotan de un lado al otro del mínimo sin estabilizarse.</td></tr><tr><td><strong>Divergencia</strong></td><td>El algoritmo no solo no converge, sino que el costo puede incluso aumentar indefinidamente.</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hasta este punto de la exploración podemos decir que entendemos el fin y proceso generalizado del descenso de gradiente. Para comprender con detalle cómo funciona el algoritmo, revisaremos las <strong>definiciones matemáticas</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-27'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_27' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_27' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_27' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='27'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='77,78,79,80'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='77' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál es el objetivo del descenso de gradiente para la optimización de modelos de machine learning?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-77]' id='ays-answer-267-27' value='267'/>

                <label for='ays-answer-267-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Ajustar los hiperparámetros de un modelo.</label><label for='ays-answer-267-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-77]' id='ays-answer-268-27' value='268'/>

                <label for='ays-answer-268-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Calcular el valor de los parámetros de un modelo que minimizan el valor de una función de costo.</label><label for='ays-answer-268-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-77]' id='ays-answer-269-27' value='269'/>

                <label for='ays-answer-269-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Detectar valores atípicos para su remoción en etapas de preprocesamiento.</label><label for='ays-answer-269-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-77]' id='ays-answer-270-27' value='270'/>

                <label for='ays-answer-270-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Obtener el conjunto de derivadas parciales de una función de error.</label><label for='ays-answer-270-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_27 === 'undefined'){
                window.quizOptions_27 = [];
            }
            window.quizOptions_27['77'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El descenso de gradientes es un algoritmo que ajusta los valores de los parámetros de un modelo para optimizar una función de pérdida.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='78' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de los siguientes son hiperparámetros que configuran el comportamiento del descenso de gradiente?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-78]' id='ays-answer-271-27' value='271'/>

                <label for='ays-answer-271-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Tasa de aprendizaje.</label><label for='ays-answer-271-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-78]' id='ays-answer-272-27' value='272'/>

                <label for='ays-answer-272-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Tasa de dilución.</label><label for='ays-answer-272-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-78]' id='ays-answer-273-27' value='273'/>

                <label for='ays-answer-273-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Sesgo de la ecuación lineal.</label><label for='ays-answer-273-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-78]' id='ays-answer-274-27' value='274'/>

                <label for='ays-answer-274-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Número de iteraciones.</label><label for='ays-answer-274-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_27 === 'undefined'){
                window.quizOptions_27 = [];
            }
            window.quizOptions_27['78'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La tasa de aprendizaje y el número de iteraciones son hiperparámetros del descenso de gradiente.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='79' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué hiperparámetro ajusta la magnitud del cambio de un parámetro en descenso de gradiente?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-79]' id='ays-answer-275-27' value='275'/>

                <label for='ays-answer-275-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Tasa de aprendizaje.</label><label for='ays-answer-275-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-79]' id='ays-answer-276-27' value='276'/>

                <label for='ays-answer-276-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Tasa de dilución.</label><label for='ays-answer-276-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-79]' id='ays-answer-277-27' value='277'/>

                <label for='ays-answer-277-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Sesgo de la ecuación lineal.</label><label for='ays-answer-277-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-79]' id='ays-answer-278-27' value='278'/>

                <label for='ays-answer-278-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Número de iteraciones.</label><label for='ays-answer-278-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_27 === 'undefined'){
                window.quizOptions_27 = [];
            }
            window.quizOptions_27['79'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La tasa de aprendizaje permite ajustar la magnitud del cambio en cada paso.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='80' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué hiperparámetro ajusta el número de veces que se ajustarán los parámetros de un modelo por descenso de gradiente?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-80]' id='ays-answer-279-27' value='279'/>

                <label for='ays-answer-279-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Tasa de aprendizaje.</label><label for='ays-answer-279-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-80]' id='ays-answer-280-27' value='280'/>

                <label for='ays-answer-280-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Tasa de dilución.</label><label for='ays-answer-280-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-80]' id='ays-answer-281-27' value='281'/>

                <label for='ays-answer-281-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Sesgo de la ecuación lineal.</label><label for='ays-answer-281-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-80]' id='ays-answer-282-27' value='282'/>

                <label for='ays-answer-282-27' class='  ays_position_initial  ays-quiz-keyboard-label'>Número de iteraciones.</label><label for='ays-answer-282-27' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_27 === 'undefined'){
                window.quizOptions_27 = [];
            }
            window.quizOptions_27['80'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El número de iteraciones permite determinar el número de pasos a realizar en un descenso de gradiente.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  88%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-27 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-27 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-27 #ays_finish_quiz_27 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-27{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-27 #ays_finish_quiz_27 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-27 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-27 .ays_question_hint,
            #ays-quiz-container-27 label[for^="ays-answer-"],
            #ays-quiz-container-27 #ays_finish_quiz_27 p,
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-fs-title,
            #ays-quiz-container-27 .ays-fs-subtitle,
            #ays-quiz-container-27 .logged_in_message,
            #ays-quiz-container-27 .ays_score_message,
            #ays-quiz-container-27 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-27 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-27 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-27 .ays-quiz-password-message-box,
            #ays-quiz-container-27 .ays-quiz-question-note-message-box,
            #ays-quiz-container-27 .ays_quiz_question,
            #ays-quiz-container-27 .ays-quiz-question-category-box,
            #ays-quiz-container-27 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-27 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-27 textarea,
            #ays-quiz-container-27 input::first-letter,
            #ays-quiz-container-27 select::first-letter,
            #ays-quiz-container-27 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-27 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-27 .select2-container,
            #ays-quiz-container-27 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-27 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-27 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-27 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-27 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-27 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-27 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-27 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-27 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-27 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-27 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-27 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-27 input[type='button'],
            #ays-quiz-container-27 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-27 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-27 .information_form input[type='text'],
            #ays-quiz-container-27 .information_form input[type='url'],
            #ays-quiz-container-27 .information_form input[type='number'],
            #ays-quiz-container-27 .information_form input[type='email'],
            #ays-quiz-container-27 .information_form input[type='checkbox'],
            #ays-quiz-container-27 .information_form input[type='tel'],
            #ays-quiz-container-27 .information_form textarea,
            #ays-quiz-container-27 .information_form select,
            #ays-quiz-container-27 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-27 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-27 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-27 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-27 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-27 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-27 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-27 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-27 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-27 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-27 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-27 .ays_cb_and_a,
            #ays-quiz-container-27 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-27 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-27 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-27 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-27 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-27 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-27 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-27 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-27 div.lds-spinner,
            #ays-quiz-container-27 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-27 div.lds-spinner div:after,
            #ays-quiz-container-27 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-27 .lds-circle,
            #ays-quiz-container-27 .lds-facebook div,
            #ays-quiz-container-27 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-27 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-27 .lds-dual-ring::after,
            #ays-quiz-container-27 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-27 .ui.rating .icon,
            #ays-quiz-container-27 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-27 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-27 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-27 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-27 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-27 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-27 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-27 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-27 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-27 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-27 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-27 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-27 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-27 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-27 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-27 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-27 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-27 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-27 div.ays-quiz-redirection-timer,
            #ays-quiz-container-27 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-27 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-27 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-27 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-27 input#ays-submit,
            #ays-quiz-container-27 #ays_finish_quiz_27 .action-button,
            div#ays-quiz-container-27 #ays_finish_quiz_27 .action-button.ays_restart_button,
            #ays-quiz-container-27 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-27 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-27 input#ays-submit,
            #ays-quiz-container-27 #ays_finish_quiz_27 input.action-button,
            #ays-quiz-container-27 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-27 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-27 #ays_finish_quiz_27 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-27 #ays_finish_quiz_27 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-27 input#ays-submit:hover,
            #ays-quiz-container-27 input#ays-submit:focus,
            #ays-quiz-container-27 #ays_finish_quiz_27 .action-button:hover,
            #ays-quiz-container-27 #ays_finish_quiz_27 .action-button:focus,
            #ays-quiz-container-27 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-27 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-27 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-27 .ays_restart_button_p,
            #ays-quiz-container-27 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-27 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-27 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-27 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-27 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-27 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-27 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-27 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-27 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-27 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-27 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-27 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-27 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-27 #ays_finish_quiz_27 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-27 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-27 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-27 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-27 .ays-field .select2-container--default,
            #ays-quiz-container-27 .ays-field .select2-container--default .selection,
            #ays-quiz-container-27 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-27 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-27 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-27 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-27 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-27 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-27 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-27 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-27 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-27 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-27 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-27 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-27 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-27 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-27 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-27 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-27.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-27.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-27 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-27 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-27 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-27 label[for^='ays-answer']:before,
            #ays-quiz-container-27 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-27.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-27.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-27 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-27.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-27.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-27.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-27.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-27.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-27.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-27.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-27.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-27.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-27.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-27 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-27 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-27 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-27 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-27 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-27 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-27 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-27 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-27 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-27 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-27 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-27 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-27 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-27 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-27 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-27 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-27 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-27{
                    max-width: 100%;
                }

                div#ays-quiz-container-27 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-27 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-27 .select2-container,
                #ays-quiz-container-27 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-27 input#ays-submit,
                div#ays-quiz-container-27 #ays_finish_quiz_27 .action-button,
                div#ays-quiz-container-27 #ays_finish_quiz_27 .action-button.ays_restart_button,
                #ays-quiz-container-27 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-27 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-27 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-27 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-27 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-27 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-27 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-27 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-27 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-27 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-27 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-27 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-27 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-27.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-27.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-27.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-27.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-27.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-27.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-27.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-27.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-27 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-27.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-27 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-27 #ays_finish_quiz_27 .action-button:hover,
                #ays-quiz-container-27 #ays_finish_quiz_27 .action-button:focus,
                #ays-quiz-container-27 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-27 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['27']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjcuMC40NSIsImNvcmVfdmVyc2lvbiI6IjYuOC4yIiwicGhwX3ZlcnNpb24iOiI4LjIuMjMiLCJjb2xvciI6IiM5ZTA1MDUiLCJiZ19jb2xvciI6IiNmZmZmZmYiLCJ0ZXh0X2NvbG9yIjoiIzBhMGEwYSIsImhlaWdodCI6MzUwLCJ3aWR0aCI6NDAwLCJlbmFibGVfbG9nZ2VkX3VzZXJzIjoib2ZmIiwiaW5mb3JtYXRpb25fZm9ybSI6ImRpc2FibGUiLCJmb3JtX25hbWUiOm51bGwsImZvcm1fZW1haWwiOm51bGwsImZvcm1fcGhvbmUiOm51bGwsImltYWdlX3dpZHRoIjoiIiwiaW1hZ2VfaGVpZ2h0IjoiIiwiZW5hYmxlX2NvcnJlY3Rpb24iOiJvbiIsImVuYWJsZV9wcm9ncmVzc19iYXIiOiJvbiIsImVuYWJsZV9xdWVzdGlvbnNfcmVzdWx0Ijoib24iLCJyYW5kb21pemVfcXVlc3Rpb25zIjoib2ZmIiwicmFuZG9taXplX2Fuc3dlcnMiOiJvZmYiLCJlbmFibGVfcXVlc3Rpb25zX2NvdW50ZXIiOiJvbiIsImVuYWJsZV9yZXN0cmljdGlvbl9wYXNzIjoib2ZmIiwicmVzdHJpY3Rpb25fcGFzc19tZXNzYWdlIjoiIiwidXNlcl9yb2xlIjpbXSwiY3VzdG9tX2NzcyI6IkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KVxyXG5kaXYjYXlzLXF1aXotY29udGFpbmVyLTUgaW5wdXQjYXlzLXN1Ym1pdCwgZGl2I2F5cy1xdWl6LWNvbnRhaW5lci01ICNheXNfZmluaXNoX3F1aXpfNSAuYWN0aW9uLWJ1dHRvbiwgZGl2I2F5cy1xdWl6LWNvbnRhaW5lci01ICNheXNfZmluaXNoX3F1aXpfNSAuYWN0aW9uLWJ1dHRvbi5heXNfcmVzdGFydF9idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG59XHJcblxyXG4jYXlzLXF1aXotY29udGFpbmVyLTUgaW5wdXQjYXlzLXN1Ym1pdCwgI2F5cy1xdWl6LWNvbnRhaW5lci01ICNheXNfZmluaXNoX3F1aXpfNSAuYWN0aW9uLWJ1dHRvbiwgZGl2I2F5cy1xdWl6LWNvbnRhaW5lci01ICNheXNfZmluaXNoX3F1aXpfNSAuYWN0aW9uLWJ1dHRvbi5heXNfcmVzdGFydF9idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTA1MDU7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG59IiwibGltaXRfdXNlcnMiOiJvZmYiLCJsaW1pdGF0aW9uX21lc3NhZ2UiOiIiLCJyZWRpcmVjdF91cmwiOiIiLCJyZWRpcmVjdGlvbl9kZWxheSI6MCwiYW5zd2Vyc192aWV3IjoibGlzdCIsImVuYWJsZV9ydGxfZGlyZWN0aW9uIjoib2ZmIiwiZW5hYmxlX2xvZ2dlZF91c2Vyc19tZXNzYWdlIjoiIiwicXVlc3Rpb25zX2NvdW50IjoiIiwiZW5hYmxlX3F1ZXN0aW9uX2JhbmsiOiJvZmYiLCJlbmFibGVfbGl2ZV9wcm9ncmVzc19iYXIiOiJvZmYiLCJlbmFibGVfcGVyY2VudF92aWV3Ijoib2ZmIiwiZW5hYmxlX2F2ZXJhZ2Vfc3RhdGlzdGljYWwiOiJvbiIsImVuYWJsZV9uZXh0X2J1dHRvbiI6Im9uIiwiZW5hYmxlX3ByZXZpb3VzX2J1dHRvbiI6Im9uIiwiZW5hYmxlX2Fycm93cyI6Im9mZiIsInRpbWVyX3RleHQiOiIiLCJxdWl6X3RoZW1lIjoiY2xhc3NpY19saWdodCIsImVuYWJsZV9zb2NpYWxfYnV0dG9ucyI6Im9mZiIsInJlc3VsdF90ZXh0IjoiIiwiZW5hYmxlX3Bhc3NfY291bnQiOiJvZmYiLCJoaWRlX3Njb3JlIjoib2ZmIiwicmF0ZV9mb3JtX3RpdGxlIjoiIiwiYm94X3NoYWRvd19jb2xvciI6InJnYmEoMTAsMTAsMTAsMC4zNSkiLCJxdWl6X2JvcmRlcl9yYWRpdXMiOiIwIiwicXVpel9iZ19pbWFnZSI6Imh0dHBzOlwvXC9kaWFsZWt0aWNvLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMlwvMDhcL1EzLmpwZyIsInF1aXpfYm9yZGVyX3dpZHRoIjoiMyIsInF1aXpfYm9yZGVyX3N0eWxlIjoic29saWQiLCJxdWl6X2JvcmRlcl9jb2xvciI6IiMwMDAiLCJxdWl6X2xvYWRlciI6ImZhY2Vib29rIiwiY3JlYXRlX2RhdGUiOm51bGwsImF1dGhvciI6IntcImlkXCI6XCIxXCIsXCJuYW1lXCI6XCJEYW5pZWwgRGlhbFxcdTAwZTlrdGljb1wifSIsInF1ZXN0X2FuaW1hdGlvbiI6InNoYWtlIiwiZm9ybV90aXRsZSI6IiIsImVuYWJsZV9iZ19tdXNpYyI6Im9mZiIsInF1aXpfYmdfbXVzaWMiOiIiLCJhbnN3ZXJzX2ZvbnRfc2l6ZSI6MTUsInNob3dfY3JlYXRlX2RhdGUiOiJvZmYiLCJzaG93X2F1dGhvciI6Im9mZiIsImVuYWJsZV9lYXJseV9maW5pc2giOiJvZmYiLCJhbnN3ZXJzX3J3X3RleHRzIjoib25fcGFzc2luZyIsImRpc2FibGVfc3RvcmVfZGF0YSI6Im9mZiIsImVuYWJsZV9iYWNrZ3JvdW5kX2dyYWRpZW50Ijoib2ZmIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8xIjoiIzAwMCIsImJhY2tncm91bmRfZ3JhZGllbnRfY29sb3JfMiI6IiNmZmYiLCJxdWl6X2dyYWRpZW50X2RpcmVjdGlvbiI6InZlcnRpY2FsIiwicmVkaXJlY3RfYWZ0ZXJfc3VibWl0Ijoib2ZmIiwic3VibWl0X3JlZGlyZWN0X3VybCI6IiIsInN1Ym1pdF9yZWRpcmVjdF9kZWxheSI6IjAiLCJwcm9ncmVzc19iYXJfc3R5bGUiOiJ0aGlyZCIsImVuYWJsZV9leGl0X2J1dHRvbiI6Im9mZiIsImV4aXRfcmVkaXJlY3RfdXJsIjoiIiwiaW1hZ2Vfc2l6aW5nIjoiY292ZXIiLCJxdWl6X2JnX2ltYWdlX3Bvc2l0aW9uIjoiY2VudGVyIGNlbnRlciIsImN1c3RvbV9jbGFzcyI6IiIsImVuYWJsZV9zb2NpYWxfbGlua3MiOiJvZmYiLCJzb2NpYWxfbGlua3MiOnsibGlua2VkaW5fbGluayI6IiIsImZhY2Vib29rX2xpbmsiOiIiLCJ0d2l0dGVyX2xpbmsiOiIiLCJ2a29udGFrdGVfbGluayI6IiIsImluc3RhZ3JhbV9saW5rIjoiIiwieW91dHViZV9saW5rIjoiIiwiYmVoYW5jZV9saW5rIjoiIn0sInNob3dfcXVpel90aXRsZSI6Im9mZiIsInNob3dfcXVpel9kZXNjIjoib24iLCJzaG93X2xvZ2luX2Zvcm0iOiJvZmYiLCJtb2JpbGVfbWF4X3dpZHRoIjoiIiwibGltaXRfdXNlcnNfYnkiOiJpcCIsImFjdGl2ZV9kYXRlX2NoZWNrIjoib2ZmIiwiYWN0aXZlSW50ZXJ2YWwiOiIyMDI1LTA3LTMxIDIyOjA4OjIzIiwiZGVhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDctMzEgMjI6MDg6MjMiLCJhY3RpdmVfZGF0ZV9wcmVfc3RhcnRfbWVzc2FnZSI6IlRoZSBxdWl6IHdpbGwgYmUgYXZhaWxhYmxlIHNvb24hIiwiYWN0aXZlX2RhdGVfbWVzc2FnZSI6Ilx1MDBhMUVsIHRlc3QgaGEgZXhwaXJhZG8hIiwiZXhwbGFuYXRpb25fdGltZSI6IjQiLCJlbmFibGVfY2xlYXJfYW5zd2VyIjoib2ZmIiwic2hvd19jYXRlZ29yeSI6Im9mZiIsInNob3dfcXVlc3Rpb25fY2F0ZWdvcnkiOiJvZmYiLCJkaXNwbGF5X3Njb3JlIjoiYnlfcGVyY2FudGFnZSIsImVuYWJsZV9yd19hc253ZXJzX3NvdW5kcyI6Im9uIiwiYW5zX3JpZ2h0X3dyb25nX2ljb24iOiJkZWZhdWx0IiwicXVpel9iZ19pbWdfaW5fZmluaXNoX3BhZ2UiOiJvZmYiLCJmaW5pc2hfYWZ0ZXJfd3JvbmdfYW5zd2VyIjoib2ZmIiwiYWZ0ZXJfdGltZXJfdGV4dCI6IiIsImVuYWJsZV9lbnRlcl9rZXkiOiJvbiIsImJ1dHRvbnNfdGV4dF9jb2xvciI6IiNmZmZmZmYiLCJidXR0b25zX3Bvc2l0aW9uIjoiY2VudGVyIiwic2hvd19xdWVzdGlvbnNfZXhwbGFuYXRpb24iOiJvbl9wYXNzaW5nIiwiZW5hYmxlX2F1ZGlvX2F1dG9wbGF5Ijoib2ZmIiwiYnV0dG9uc19zaXplIjoibWVkaXVtIiwiYnV0dG9uc19mb250X3NpemUiOiIxNyIsImJ1dHRvbnNfd2lkdGgiOiIiLCJidXR0b25zX2xlZnRfcmlnaHRfcGFkZGluZyI6IjIwIiwiYnV0dG9uc190b3BfYm90dG9tX3BhZGRpbmciOiIxMCIsImJ1dHRvbnNfYm9yZGVyX3JhZGl1cyI6IjMiLCJlbmFibGVfbGVhdmVfcGFnZSI6Im9uIiwiZW5hYmxlX3RhY2tlcnNfY291bnQiOiJvZmYiLCJ0YWNrZXJzX2NvdW50IjoiIiwicGFzc19zY29yZSI6MCwicGFzc19zY29yZV9tZXNzYWdlIjoiPGg0IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+Q29uZ3JhdHVsYXRpb25zITxcL2g0PlxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPllvdSBwYXNzZWQgdGhlIHF1aXohPFwvcD4iLCJmYWlsX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Pb3BzITxcL2g0PlxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPllvdSBoYXZlIG5vdCBwYXNzZWQgdGhlIHF1aXohXHJcblRyeSBhZ2FpbiE8XC9wPiIsInF1ZXN0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1aXpfd2lkdGhfYnlfcGVyY2VudGFnZV9weCI6InBpeGVscyIsInF1ZXN0aW9uc19oaW50X2ljb25fb3JfdGV4dCI6ImRlZmF1bHQiLCJxdWVzdGlvbnNfaGludF92YWx1ZSI6IiIsImVuYWJsZV9lYXJseV9maW5zaF9jb21maXJtX2JveCI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19vcmRlcmluZ19ieV9jYXQiOiJvZmYiLCJzaG93X3NjaGVkdWxlX3RpbWVyIjoib2ZmIiwic2hvd190aW1lcl90eXBlIjoiY291bnRkb3duIiwicXVpel9sb2FkZXJfdGV4dF92YWx1ZSI6IiIsImhpZGVfY29ycmVjdF9hbnN3ZXJzIjoib2ZmIiwic2hvd19pbmZvcm1hdGlvbl9mb3JtIjoib24iLCJxdWl6X2xvYWRlcl9jdXN0b21fZ2lmIjoiIiwiZGlzYWJsZV9ob3Zlcl9lZmZlY3QiOiJvZmYiLCJxdWl6X2xvYWRlcl9jdXN0b21fZ2lmX3dpZHRoIjoxMDAsInByb2dyZXNzX2xpdmVfYmFyX3N0eWxlIjoiZGVmYXVsdCIsInF1aXpfdGl0bGVfdHJhbnNmb3JtYXRpb24iOiJ1cHBlcmNhc2UiLCJzaG93X2Fuc3dlcnNfbnVtYmVyaW5nIjoibm9uZSIsInF1aXpfaW1hZ2Vfd2lkdGhfYnlfcGVyY2VudGFnZV9weCI6InBpeGVscyIsInF1aXpfaW1hZ2VfaGVpZ2h0IjoiIiwicXVpel9iZ19pbWdfb25fc3RhcnRfcGFnZSI6Im9mZiIsInF1aXpfYm94X3NoYWRvd194X29mZnNldCI6MCwicXVpel9ib3hfc2hhZG93X3lfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfel9vZmZzZXQiOjE1LCJxdWl6X3F1ZXN0aW9uX3RleHRfYWxpZ25tZW50IjoiY2VudGVyIiwicXVpel9hcnJvd190eXBlIjoiZGVmYXVsdCIsInF1aXpfc2hvd193cm9uZ19hbnN3ZXJzX2ZpcnN0Ijoib2ZmIiwicXVpel9kaXNwbGF5X2FsbF9xdWVzdGlvbnMiOiJvZmYiLCJxdWl6X3RpbWVyX3JlZF93YXJuaW5nIjoib2ZmIiwicXVpel9zY2hlZHVsZV90aW1lem9uZSI6IkFtZXJpY2FcL01leGljb19DaXR5IiwicXVlc3Rpb25zX2hpbnRfYnV0dG9uX3ZhbHVlIjoiIiwicXVpel90YWNrZXJzX21lc3NhZ2UiOiJcdTAwYTFFc3RlIHRlc3QgaGEgZXhwaXJhZG8hIiwicXVpel9lbmFibGVfbGlua2VkaW5fc2hhcmVfYnV0dG9uIjoib24iLCJxdWl6X2VuYWJsZV9mYWNlYm9va19zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX3R3aXR0ZXJfc2hhcmVfYnV0dG9uIjoib24iLCJxdWl6X21ha2VfcmVzcG9uc2VzX2Fub255bW91cyI6Im9mZiIsInF1aXpfbWFrZV9hbGxfcmV2aWV3X2xpbmsiOiJvZmYiLCJzaG93X3F1ZXN0aW9uc19udW1iZXJpbmciOiJub25lIiwicXVpel9tZXNzYWdlX2JlZm9yZV90aW1lciI6IiIsImVuYWJsZV9wYXNzd29yZCI6Im9mZiIsInBhc3N3b3JkX3F1aXoiOiIiLCJxdWl6X3Bhc3N3b3JkX21lc3NhZ2UiOiIiLCJlbmFibGVfc2VlX3Jlc3VsdF9jb25maXJtX2JveCI6Im9mZiIsImRpc3BsYXlfZmllbGRzX2xhYmVscyI6Im9mZiIsImVuYWJsZV9mdWxsX3NjcmVlbl9tb2RlIjoib2ZmIiwicXVpel9lbmFibGVfcGFzc3dvcmRfdmlzaWJpbGl0eSI6Im9mZiIsInF1ZXN0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJhbnN3ZXJzX21vYmlsZV9mb250X3NpemUiOjE1LCJzb2NpYWxfYnV0dG9uc19oZWFkaW5nIjoiIiwicXVpel9lbmFibGVfdmtvbnRha3RlX3NoYXJlX2J1dHRvbiI6Im9uIiwiYW5zd2Vyc19ib3JkZXIiOiJvbiIsImFuc3dlcnNfYm9yZGVyX3dpZHRoIjoxLCJhbnN3ZXJzX2JvcmRlcl9zdHlsZSI6InNvbGlkIiwiYW5zd2Vyc19ib3JkZXJfY29sb3IiOiIjNDQ0Iiwic29jaWFsX2xpbmtzX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV9xdWVzdGlvbl9jYXRlZ29yeV9kZXNjcmlwdGlvbiI6Im9mZiIsImFuc3dlcnNfbWFyZ2luIjoxMCwicXVpel9tZXNzYWdlX2JlZm9yZV9yZWRpcmVjdF90aW1lciI6IiIsImJ1dHRvbnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTcsImFuc3dlcnNfYm94X3NoYWRvdyI6Im9mZiIsImFuc3dlcnNfYm94X3NoYWRvd19jb2xvciI6IiMwMDAiLCJxdWl6X2Fuc3dlcl9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2Fuc3dlcl9ib3hfc2hhZG93X3lfb2Zmc2V0IjowLCJxdWl6X2Fuc3dlcl9ib3hfc2hhZG93X3pfb2Zmc2V0IjoxMCwicXVpel9jcmVhdGVfYXV0aG9yIjoxLCJxdWl6X2VuYWJsZV90aXRsZV90ZXh0X3NoYWRvdyI6Im9mZiIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfY29sb3IiOiIjMzMzIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd194X29mZnNldCI6MiwicXVpel90aXRsZV90ZXh0X3NoYWRvd195X29mZnNldCI6MiwicXVpel90aXRsZV90ZXh0X3NoYWRvd196X29mZnNldCI6MiwicXVpel9zaG93X29ubHlfd3JvbmdfYW5zd2VycyI6Im9mZiIsInF1aXpfdGl0bGVfZm9udF9zaXplIjoyMSwicXVpel90aXRsZV9tb2JpbGVfZm9udF9zaXplIjoyMSwicXVpel9wYXNzd29yZF93aWR0aCI6IiIsInF1aXpfcmV2aWV3X3BsYWNlaG9sZGVyX3RleHQiOiIiLCJxdWl6X21ha2VfcmV2aWV3X3JlcXVpcmVkIjoib2ZmIiwicXVpel9lbmFibGVfcmVzdWx0c190b2dnbGUiOiJvZmYiLCJxdWl6X3Jldmlld190aGFua195b3VfbWVzc2FnZSI6IiIsInF1aXpfcmV2aWV3X2VuYWJsZV9jb21tZW50X2ZpZWxkIjoib24iLCJxdWVzdF9leHBsYW5hdGlvbl9mb250X3NpemUiOjE2LCJxdWVzdF9leHBsYW5hdGlvbl9tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel93YWl0aW5nX3RpbWUiOiJvZmYiLCJ3cm9uZ19hbnN3ZXJzX2ZvbnRfc2l6ZSI6MTYsIndyb25nX2Fuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2ltYWdlX3pvb20iOiJvZmYiLCJyaWdodF9hbnN3ZXJzX2ZvbnRfc2l6ZSI6MTYsInJpZ2h0X2Fuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsInF1aXpfZGlzcGxheV9tZXNzYWdlc19iZWZvcmVfYnV0dG9ucyI6Im9mZiIsInF1aXpfZW5hYmxlX3VzZXJfY1x1MDU3MG9vc2luZ19hbm9ueW1vdXNfYXNzZXNzbWVudCI6Im9mZiIsIm5vdGVfdGV4dF9mb250X3NpemUiOjE0LCJub3RlX3RleHRfbW9iaWxlX2ZvbnRfc2l6ZSI6MTQsInF1aXpfcXVlc3Rpb25zX251bWJlcmluZ19ieV9jYXRlZ29yeSI6Im9mZiIsInF1aXpfZW5hYmxlX2N1c3RvbV90ZXh0c19mb3JfYnV0dG9ucyI6Im9mZiIsInF1aXpfY3VzdG9tX3RleHRzX3N0YXJ0X2J1dHRvbiI6IkVNUEVaQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19uZXh0X2J1dHRvbiI6IlNJR1VJRU5URSIsInF1aXpfY3VzdG9tX3RleHRzX3ByZXZfYnV0dG9uIjoiQU5URVJJT1IiLCJxdWl6X2N1c3RvbV90ZXh0c19jbGVhcl9idXR0b24iOiJMSU1QSUFSIiwicXVpel9jdXN0b21fdGV4dHNfZmluaXNoX2J1dHRvbiI6IkZJTkFMSVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX3NlZV9yZXN1bHRzX2J1dHRvbiI6IlZFUiBUT1RBTCIsInF1aXpfY3VzdG9tX3RleHRzX3Jlc3RhcnRfcXVpel9idXR0b24iOiJSZWluaWNpYXIgUHJ1ZWJhIiwicXVpel9jdXN0b21fdGV4dHNfc2VuZF9mZWVkYmFja19idXR0b24iOiJFbnZpYXIgY29tZW50YXJpb3MiLCJxdWl6X2N1c3RvbV90ZXh0c19sb2FkX21vcmVfYnV0dG9uIjoiQ2FyZ2FyIG1cdTAwZTFzIiwicXVpel9jdXN0b21fdGV4dHNfZXhpdF9idXR0b24iOiJTYWxpciIsInF1aXpfY3VzdG9tX3RleHRzX2NoZWNrX2J1dHRvbiI6IkNoZWNrIiwicXVpel9jdXN0b21fdGV4dHNfbG9naW5fYnV0dG9uIjoiTG9nIEluIiwicXVpel9lbmFibGVfcXVpel9jYXRlZ29yeV9kZXNjcmlwdGlvbiI6Im9mZiIsInF1aXpfYWRtaW5fbm90ZV90ZXh0X3RyYW5zZm9ybSI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcmlnaHRfYW5zd2VyX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2VyX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfYWRtaW5fbm90ZV90ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9xdWVzdF9leHBsYW5hdGlvbl90ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJzX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3dyb25nX2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfYWRtaW5fbm90ZV9sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2JnX2ltZ19kdXJpbmdfdGhlX3F1aXoiOiJvZmYiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfcmlnaHRfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X3dyb25nX2Fuc3dlcnNfbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9hZG1pbl9ub3RlX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9xdWVzdF9leHBsYW5hdGlvbl9mb250X3dlaWdodCI6Im5vcm1hbCIsInF1aXpfcmlnaHRfYW5zd2Vyc19mb250X3dlaWdodCI6Im5vcm1hbCIsInF1aXpfd3JvbmdfYW5zd2Vyc19mb250X3dlaWdodCI6Im5vcm1hbCIsInF1aXpfY29udGVudF9tYXhfd2lkdGgiOjkwLCJxdWl6X2NvbnRlbnRfbW9iaWxlX21heF93aWR0aCI6OTAsInF1aXpfdGltZXJfd2FybmluZ190ZXh0X2NvbG9yIjoiI2ZmMDAwMCIsInF1aXpfZW5hYmxlX2RlZmF1bHRfaGlkZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfc2hvd19yZXN0YXJ0X2J1dHRvbl9vbl9xdWl6X2ZhaWwiOiJvZmYiLCJxdWl6X2Rpc2FibGVfaW5wdXRfZm9jdXNpbmciOiJvZmYiLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJxdWl6X2FkbWluX25vdGVfbW9iaWxlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbW9iaWxlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJzaG93X2Fuc3dlcnNfY2FwdGlvbiI6Im9uIiwic2hvd19xdWl6X2ltYWdlIjoib24iLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIyNyIsInRpdGxlIjoiRGVzY2Vuc28gZGUgR3JhZGllbnRlIiwiZGVzY3JpcHRpb24iOiJDb250ZXN0YSBsYXMgc2lndWllbnRlcyBwcmVndW50YXMiLCJxdWl6X2ltYWdlIjoiIiwicXVpel9jYXRlZ29yeV9pZCI6IjIiLCJxdWVzdGlvbl9pZHMiOiI3Nyw3OCw3OSw4MCIsIm9yZGVyaW5nIjoiMjciLCJwdWJsaXNoZWQiOiIxIiwiaW50ZXJ2YWxzIjpudWxsLCJxdWl6X3VybCI6IiIsImN1c3RvbV9wb3N0X2lkIjoiMTE1ODYiLCJhdXRob3JfaWQiOiIxIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='27'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Descenso de gradiente: definición matemática</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg" alt="Libro_1" class="wp-image-6962" style="width:125px;height:125px" title="Introducción al descenso de gradiente 28" srcset="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Libro_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En esta sección formalizaremos la definición de <strong>descenso de gradiente</strong>, y haremos un ejercicio de «cálculo a mano» para observar sus efectos en los parámetros del modelo y su función de pérdida asociada.</p>



<p><strong>Definición (3.16)</strong>&nbsp;<strong>Descenso de gradiente.</strong> El descenso de gradiente es un algoritmo de optimización de primer orden que se utiliza para encontrar un mínimo local de una <a href="https://dialektico.com/wp-content/uploads/2025/07/def_310.png">función de pérdida</a> diferenciable <span class="katex-eq" data-katex-display="false">L</span> (nota sobre esto más abajo), la cual evalúa el desempeño de un modelo <span class="katex-eq" data-katex-display="false">h(x)</span> sobre un conjunto de datos etiquetados.</p>



<p>Sea <span class="katex-eq" data-katex-display="false">\mathcal{D} = {(x_1, y_1), \dots, (x_N, y_N)}</span> un conjunto de <span class="katex-eq" data-katex-display="false">N</span> observaciones, donde cada <span class="katex-eq" data-katex-display="false">x_n</span> es una entrada y <span class="katex-eq" data-katex-display="false">y_n</span> su etiqueta asociada, un modelo <span class="katex-eq" data-katex-display="false">h(x)</span>  que pretende modelar las relaciones entre estos valores y sus etiquetas, y produce predicciones <span class="katex-eq" data-katex-display="false">\hat{y}_n = h(x_n)</span>; y se define una función de pérdida que cuantifica el error entre <span class="katex-eq" data-katex-display="false">y_n</span> y <span class="katex-eq" data-katex-display="false">\hat{y}_n</span>, de forma individual como:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>l(y_n, \hat{y}_n). \tag{3.76}</pre></div>



<p>La función de pérdida total sobre el conjunto se expresa como:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre> L(\mathcal{Y}, \mathcal{\hat{Y}}) = \frac{1}{N} \sum_{i=1}^N l(y_n, \hat{y}_n). \tag{3.77}</pre></div>



<p>El descenso de gradiente busca minimizar esta función <span class="katex-eq" data-katex-display="false">L</span> ajustando los <span class="katex-eq" data-katex-display="false">D</span> parámetros del modelo de forma iterativa en <span class="katex-eq" data-katex-display="false">T</span> pasos. Denotamos por <span class="katex-eq" data-katex-display="false">\boldsymbol{\theta}^{(t)} \in \mathbb{R}^D</span> el vector de parámetros (número de parámetros del modelo ordenados en un vector) en la iteración <span class="katex-eq" data-katex-display="false">t</span>. El algoritmo actualiza simultáneamente todos los parámetros en dirección opuesta al gradiente de la función de pérdida, según la regla</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\boldsymbol{\theta}^{(t+1)} = \boldsymbol{\theta}^{(t)} - \gamma^{(t)} \nabla L(\boldsymbol{\theta}^{(t)}), \tag{3.78}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\boldsymbol{\theta}^{(t)}</span> es el vector de parámetros en la iteración <span class="katex-eq" data-katex-display="false">t</span>, <span class="katex-eq" data-katex-display="false">\gamma^{(T)} &gt; 0</span> es la tasa de aprendizaje en la iteración <span class="katex-eq" data-katex-display="false">t</span>, y <span class="katex-eq" data-katex-display="false">\nabla L(\boldsymbol{\theta}^{(t)})</span> es el gradiente de la función de pérdida respecto a todos los parámetros, es decir, es el conjunto de las derivadas parciales de la función de pérdida respecto a los parámetros del modelo, y se expresa como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\nabla L(\boldsymbol{\theta}) = \left( \frac{\partial L}{\partial \theta_1}, \frac{\partial L}{\partial \theta_2}, \dots, \frac{\partial L}{\partial \theta_D} \right), \tag{3.79}</pre></div>



<p>Por lo tanto, la actualización de un solo parámetro <span class="katex-eq" data-katex-display="false">\theta_d</span> en el paso <span class="katex-eq" data-katex-display="false">t</span> puede expresarse como</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\theta_d^{(t+1)} = \theta_d^{(t)} - \gamma^{(t)} \frac{\partial L}{\partial \theta_d}(\boldsymbol{\theta}^{(t)}),\tag{3.80}
</pre></div>



<p>O utilizando <span class="katex-eq" data-katex-display="false">\nabla</span> para denotar la derivada parcial:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\theta_d^{(t+1)} = \theta_d^{(t)} - \gamma^{(t)}\nabla L(\boldsymbol{\theta}_d^{(t)}).\tag{3.81}</pre></div>



<p>El procedimiento del descenso de gradiente se repite por un número predefinido de iteraciones <span class="katex-eq" data-katex-display="false">T</span>, o hasta que se cumpla una condición de parada, como:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\left| \nabla L(\theta_i) \right| \approx 0,\tag{3.82}</pre></div>



<p>lo cual indica que el gradiente es cercano a cero, señalando proximidad a un mínimo.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_A2.jpg" alt="DDG A2" class="wp-image-11566" style="width:500px;height:auto" title="Introducción al descenso de gradiente 29" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_A2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/07/DDG_A2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/07/DDG_D1.jpg" alt="DDG D1" class="wp-image-11567" style="width:500px;height:auto" title="Introducción al descenso de gradiente 30" srcset="https://dialektico.com/wp-content/uploads/2025/07/DDG_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/07/DDG_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Nota</strong> <strong>sobre la terminología de la definición 3.16</strong> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>1. ¿Qué significa que el descenso de gradiente es de<strong> primer orden</strong>?</p>



<ol class="wp-block-list">
<li></li>
</ol>



<p>Cuando decimos que un algoritmo de optimización es de<strong> primer orden</strong>, nos referimos a que utiliza únicamente la<strong> primera derivada</strong> (o el <strong>gradiente</strong>) de la función que se desea minimizar. No usa derivadas<strong> </strong>de<strong> orden superior</strong>, como la <strong>segunda derivada</strong> (Hessiana), que se emplea en algoritmos de <strong>segundo orden</strong>, como sucede en el método de Newton.</p>



<p>2. ¿Qué significa que la función es <strong>diferenciable</strong>?</p>



<p>Decir que una función es <strong>diferenciable</strong> significa que tiene derivada en todos los puntos de su <strong>dominio</strong>. Esto implica que:</p>



<ul class="wp-block-list">
<li>Su gráfica <strong>no tiene saltos ni esquinas</strong> (es suave).</li>



<li>Se puede calcular el <strong>gradiente</strong> (vector de derivadas parciales) en cada paso, que es lo que necesitamos para hacer actualizaciones en los pasos del descenso.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el contexto del descenso de gradiente, esto se traduce en que la función de pérdida <span class="katex-eq" data-katex-display="false">L(\theta)</span> debe ser <strong>diferenciable </strong>con respecto a los <strong>parámetros </strong>del modelo <span class="katex-eq" data-katex-display="false">\theta_d</span> para que podamos aplicar la regla de la Ecuación <span class="katex-eq" data-katex-display="false">3.78</span>.</p>



<p>Si no lo fuera, no podríamos calcular<strong> </strong>el <strong>gradiente</strong> y el algoritmo dejaría de ser aplicable.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Ejemplo de cálculo de un parámetro con descenso de gradiente</strong></h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Todo cobrará más sentido cuando presenciemos cómo es que el descenso de gradiente realiza su magia. Para esto, ajustaremos una <strong>función </strong>de la forma <span class="katex-eq" data-katex-display="false">h(x) = \theta x</span>, donde <span class="katex-eq" data-katex-display="false">\theta</span> es el único parámetro del modelo.</p>



<p>Si lo notan, se puede decir que es la <strong>ecuación de una recta</strong> (la que obtenemos mediante regresión lineal) sin su segundo parámetro, es decir, sin <strong>intercepción</strong>.</p>



<p>Para esto, utilizaremos el conjunto de datos:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\mathcal{D} = \lbrace{(x_1 = 1, y_1 = 2), (x_2 = 2, y_2 = 4)}\rbrace</pre></div>



<p>Es decir, un conjunto de datos con dos observaciones, como se muestra en la siguiente tabla:</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Entrada<br><span class="katex-eq" data-katex-display="false">x_n</span></th><th class="has-text-align-center" data-align="center">Salida<br><span class="katex-eq" data-katex-display="false">y_n</span></th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">2</td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">4</td></tr></tbody></table></figure>



<p>Aquí los valores corresponden a cualquier escenario que puedas idear, por ejemplo, se podría decir que <span class="katex-eq" data-katex-display="false">x_n</span> es el número de hamburguesas que puedes comprar en un restaurante, y <span class="katex-eq" data-katex-display="false">y_n</span> su correspondiente precio:</p>



<ul class="wp-block-list">
<li><span class="katex-eq" data-katex-display="false">x_1=1</span>, <span class="katex-eq" data-katex-display="false">y_1=2</span> (1 hamburguesa por 2 dólares).</li>



<li><span class="katex-eq" data-katex-display="false">x_2=2</span>, <span class="katex-eq" data-katex-display="false">y_2=4</span> (2 hamburguesas por 4 dólares).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En realidad, puedes imaginar cualquier caso, lo que importa es la forma en que modelaremos la relación entre estas variables.</p>



<p>Ahora queremos ajustar el parámetro de nuestro modelo para predecir nuevos valores de <span class="katex-eq" data-katex-display="false">y</span> respecto a nuevos valores de <span class="katex-eq" data-katex-display="false">x</span>, ¿qué función de pérdida nos serviría para evaluar un modelo de regresión?</p>



<p>Utilizaremos la función de pérdida del <strong>error cuadrático medio</strong>, que definimos en <a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/">otra travesía</a> de esta manera:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta) = \frac{1}{N} \sum_{n=1}^N (y_n - \hat{y}_n)^2,\tag{3.83}</pre></div>



<p>Dado que conocemos la forma de la función y el valor de <span class="katex-eq" data-katex-display="false">N</span> (tenemos dos ejemplos de entrenamiento), sustituimos en <span class="katex-eq" data-katex-display="false">(3.83)</span> y obtenemos</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta) = \frac{1}{2} \sum_{n=1}^{N} (y_n - \theta x_n)^2\tag{3.84}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\theta x_n=\hat{y}_n</span>, es decir, es el valor calculado por el modelo parametrizado por los parámetros <span class="katex-eq" data-katex-display="false">\theta</span>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Gradiente de la función de pérdida</strong></h3>



<p>Ahora calculamos el gradiente, que, como vimos en <span class="katex-eq" data-katex-display="false">(3.79)</span> y <span class="katex-eq" data-katex-display="false">(3.80)</span> se trata de la derivada de <span class="katex-eq" data-katex-display="false">L(\theta)</span> respecto a <span class="katex-eq" data-katex-display="false">\theta</span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{align}
\nabla L(\theta) &amp;= \frac{d}{d\theta} L(\theta)\tag{3.85} \\
                 &amp;= -\frac{1}{N} \sum_{n=1}^{N} x_n (y_n - \theta x_n), \tag{3.86}
\end{align}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">L(\theta)</span> es la función definida en <span class="katex-eq" data-katex-display="false">3.84(\theta)</span>. Veamos cómo aplicamos esta derivada para optimizar el modelo.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Hiperparámetros y aplicación de descenso de gradiente</h3>



<p>Los hiperparámetros a ajustar para hacer descenso de gradiente son los siguientes:</p>



<ul class="wp-block-list">
<li>Tasa de aprendizaje: <span class="katex-eq" data-katex-display="false">\gamma = 0.1</span></li>



<li>Número de iteraciones: <span class="katex-eq" data-katex-display="false">T= 3</span></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Además, inicializaremos el valor del parámetro en cero:</p>



<ul class="wp-block-list">
<li><span class="katex-eq" data-katex-display="false">\theta_0 = 0</span></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto listo, comencemos a hacer el descenso de gradiente:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>Iteración 1</strong></h4>



<p>Sustituimos en la Ecuación <span class="katex-eq" data-katex-display="false">(3.86)</span> con:</p>



<ul class="wp-block-list">
<li><span class="katex-eq" data-katex-display="false">\theta_0 = 0</span> (valor del parámetro).</li>



<li><span class="katex-eq" data-katex-display="false">x_n = 2</span> (valor de entrada). </li>



<li><span class="katex-eq" data-katex-display="false">y_n = 1</span> (valor de salida).</li>



<li><span class="katex-eq" data-katex-display="false">N = 2</span> (número de ejemplos de entrenamiento).</li>
</ul>



<p>Quedando:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\nabla L(\theta^{(0)}) = -\frac{1}{2} [1(2 - 0) + 2(4 - 0)] = -\frac{1}{2}(2 + 8) = -5.\tag{3.87}</pre></div>



<p>Esto quiere decir que el gradiente es igual a <span class="katex-eq" data-katex-display="false">-5</span>. Utilizamos este valor y sustituimos en <span class="katex-eq" data-katex-display="false">(3.78)</span> con:</p>



<ul class="wp-block-list">
<li><span class="katex-eq" data-katex-display="false">\theta_0^{(0)} = 0</span> (valor inicial, en el paso <span class="katex-eq" data-katex-display="false">0</span>).</li>



<li><span class="katex-eq" data-katex-display="false">\gamma = 0.1</span> (tasa de aprendizaje).</li>



<li><span class="katex-eq" data-katex-display="false">\nabla L(\theta^{(0)})= -5</span> (valor de salida).</li>
</ul>



<p>Quedando:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\theta^{(1)} = \theta^{(0)} - \gamma \cdot \nabla L(\theta^{(0)}) = 0 - 0.1 \cdot (-5) = 0.5.\tag{3.88}</pre></div>



<p>¿Qué significa esto? Que hemos aplicado el <strong>gradiente calculado</strong>, el cual nos dice en qué <strong>dirección </strong>se puede minimizar la función de pérdida, y al aplicarlo obtuvimos un nuevo valor para el <strong>parámetro </strong><span class="katex-eq" data-katex-display="false">\theta_0 </span>, que pasó de ser <span class="katex-eq" data-katex-display="false">0</span> a <span class="katex-eq" data-katex-display="false">0.5</span>.</p>



<p>¿Cómo comprobamos que esto mejora el <strong>desempeño </strong>del modelo? Calculemos la función de pérdida antes y después de aplicar el cambio al parámetro.</p>



<p>Función de pérdida (rendimiento del modelo) antes de aplicar el descenso de gradiente (utilizando la Ecuación <span class="katex-eq" data-katex-display="false">(3.84)</span>):</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta^{(0)}) = \frac{1}{4} \left[(2 - 0)^2 + (4 - 0)^2\right] = \frac{1}{4}(4 + 16) = 5.\tag{3.89}</pre></div>



<p>Ahora, obtenemos el nuevo valor del rendimiento del modelo con el parámetro modificado:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta^{(1)}) = \frac{1}{4} \left[(2 - 0.5)^2 + (4 - 1)^2\right] = \frac{1}{4}(2.25 + 9) = \frac{11.25}{4} = 2.8125, \tag{3.90}
</pre></div>



<p>donde se debe notar que <span class="katex-eq" data-katex-display="false">(3.89)</span> y <span class="katex-eq" data-katex-display="false">(3.90)</span> son casi el mismo cálculo, salvo que en la segunda ecuación se utilizó el nuevo valor del parámetro <span class="katex-eq" data-katex-display="false">\theta</span>. Con este nuevo parámetro, la <strong>función de error</strong> arrojó un resultado mejor (el error calculado es menor), lo que indica que el modelo mejoró en sus predicciones.</p>



<p>Lo que acabamos de hacer fue sencillo, pero altamente funcional: al encontrar el gradiente (la derivada), multiplicamos este por la tasa de aprendizaje y lo restamos al parámetro, lo cual nos dio un parámetro optimizado que mejoró las capacidades del modelo.</p>



<p>Continuemos con las siguientes dos iteraciones de manera resumida.</p>



<h4 class="wp-block-heading"><strong>Iteración 2</strong></h4>



<p>Se calcula el gradiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\nabla L(\theta^{(1)}) = -\frac{1}{2} \left[1(2 - 0.5) + 2(4 - 1)\right] = -\frac{1}{2}(1.5 + 6) = -3.75\tag{3.91}</pre></div>



<p>Se actualiza el parámetro <span class="katex-eq" data-katex-display="false">\theta</span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\theta^{(2)} = \theta^{(1)} - \gamma \cdot \nabla L(\theta^{(1)}) = 0.5 + 0.375 = 0.875\tag{3.92}</pre></div>



<p>El error antes de aplicar el descenso de gradiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta^{(1)}) = 2.8125\tag{3.93}</pre></div>



<p>El error después de aplicar el descenso de gradiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta^{(2)}) = \frac{1}{4} \left[(2 - 0.875)^2 + (4 - 1.75)^2\right] = \frac{1}{4}(1.2656 + 5.0625) = \frac{6.3281}{4} \approx 1.582 \\\tag{3.94}</pre></div>



<h4 class="wp-block-heading"><strong>Iteración 3</strong></h4>



<p>Se calcula el gradiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\nabla L(\theta^{(2)}) = -\frac{1}{2} \left[1(2 - 0.875) + 2(4 - 1.75)\right] = -\frac{1}{2}(1.125 + 4.5) = -2.8125
\tag{3.95}</pre></div>



<p>Se actualiza el parámetro <span class="katex-eq" data-katex-display="false">\theta</span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\theta^{(3)} = \theta^{(2)} - \gamma \cdot \nabla L(\theta^{(2)}) = 0.875 + 0.28125 = 1.15625\tag{3.96}</pre></div>



<p>El error antes de aplicar el descenso de gradiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(\theta^{(2)}) \approx 1.582\tag{3.97}</pre></div>



<p>El error después de aplicar el descenso de gradiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{align}
L(\theta^{(3)}) &amp;= \frac{1}{4} \left[(2 - 1.15625)^2 + (4 - 2.3125)^2\right] \tag{3.98} \\
                &amp;= \frac{1}{4}(0.710 + 2.859) = \frac{3.569}{4} \approx 0.892 \tag{3.99}
\end{align}
</pre></div>



<p>Se puede notar que en cada iteración, la función de pérdida disminuye, por lo que hemos encontrado mejores versiones del modelo al modificar el parámetro con descenso de gradiente. En la tabla se puede ver la evolución de los resultados:</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Iteración<br><span class="katex-eq" data-katex-display="false">t</span></th><th>Parámetro<br><span class="katex-eq" data-katex-display="false">\theta^{(t)}</span></th><th>Gradiente<br><span class="katex-eq" data-katex-display="false">\nabla L(\theta^{(t)})</span></th><th>Error antes de actualizar<br><span class="katex-eq" data-katex-display="false">L(\theta^{(t)})</span></th><th>Error después de actualizar<br><span class="katex-eq" data-katex-display="false">L(\theta^{(t+1)})</span></th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">0</td><td>0.000</td><td><span class="katex-eq" data-katex-display="false">-5.000</span></td><td><span class="katex-eq" data-katex-display="false">5.000</span></td><td><span class="katex-eq" data-katex-display="false">2.8125</span></td></tr><tr><td class="has-text-align-center" data-align="center">1</td><td>0.500</td><td><span class="katex-eq" data-katex-display="false">-3.750</span></td><td><span class="katex-eq" data-katex-display="false">2.8125</span></td><td><span class="katex-eq" data-katex-display="false">1.582</span></td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td>0.875</td><td><span class="katex-eq" data-katex-display="false">-2.8125</span></td><td><span class="katex-eq" data-katex-display="false">1.582</span></td><td><span class="katex-eq" data-katex-display="false">0.892</span></td></tr><tr><td class="has-text-align-center" data-align="center">3</td><td>1.15625</td><td>—</td><td><span class="katex-eq" data-katex-display="false">0.892</span></td><td>—</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.9.1</strong> Evolución del valor del parámetro del modelo tras cada iteración del descenso de gradiente. Nótese cómo el valor del error, medido por la función de pérdida, va disminuyendo tras cada actualización del parámetro.</figcaption></figure>



<p>Es así como evidenciamos el mecanismo interno del descenso de gradiente para optimizar modelos. En lo que concierne a una aplicación de esto a modelos <strong>multivariables</strong>, solo se aplica la misma actualización pero a todos los parámetros a la vez.</p>



<p>Es un algoritmo sencillo, por lo que encierra una belleza sutil tras bastidores. Un hechizo simple pero poderoso. </p>



<p>Es momento de utilizarlo con Python.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-codigo-de-programacion" style="color:#840303">Descenso de gradiente: estudio con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Introducción al descenso de gradiente 31" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora veremos ejemplos de cómo optimizar un <strong>modelo </strong>de inteligencia artificial con <strong>descenso de gradiente</strong> en Python, haremos uso de un nuevo conjunto de datos, para lo cual generaremos un modelo con un nuevo propósito.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/descenso_de_gradiente.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Introducción al descenso de gradiente 32" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También puedes previsualizarlo aquí:</p>


<p><script src="https://gist.github.com/DanielDialektico/dceeda056dcc692eb3c3eec1cc6d6ad9.js"></script></p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aquí finalizamos nuestro encuentro con el descenso de gradiente. Hemos aprendido cómo funciona, cuáles son sus mecanismos internos, y cómo lo podemos utilizar para entrenar modelos de aprendizaje automático.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2025/08/DGG_OB.jpg" alt="descenso de gradiente dialéktico" class="wp-image-11665" style="width:600px" title="Introducción al descenso de gradiente 33" srcset="https://dialektico.com/wp-content/uploads/2025/08/DGG_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2025/08/DGG_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En nuestra próxima lección continuaremos con algoritmos de optimización, y exploraremos de qué trata la versión más típica del descenso de gradiente: el <strong>descenso de gradiente estocástico</strong>.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/temporal/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Introducción al descenso de gradiente 34"></a></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/introduccion-al-descenso-de-gradiente/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sobreajuste y subajuste en modelos de aprendizaje automático</title>
		<link>https://dialektico.com/subajuste-sobreajuste-teoria-programacion/</link>
					<comments>https://dialektico.com/subajuste-sobreajuste-teoria-programacion/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Wed, 26 Mar 2025 19:36:37 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[aprendizaje supervisado]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[programacióh]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=11269</guid>

					<description><![CDATA[Al momento de concluir la etapa de entrenamiento de un modelo de machine learning, uno de las tareas posteriores e imprescindibles es la evaluación de su desempeño. Al obtener estas medidas, es muy común encontrar que los modelos no son capaces de realizar inferencias correctamente sobre un conjunto de datos de prueba. Esta problemática generalmente [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Al momento de concluir la etapa de <strong>entrenamiento </strong>de un modelo de <a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a>, uno de las tareas posteriores e imprescindibles es la <strong>evaluación</strong> de su <strong>desempeño</strong>. Al obtener estas medidas, es muy común encontrar que los modelos no son capaces de realizar <strong>inferencias </strong>correctamente sobre un conjunto de <a href="https://dialektico.com/conjuntos-train-dev-test/">datos de prueba</a>. Esta problemática generalmente se suele etiquetar en dos categorías principales: <strong>sobreajuste </strong>y <strong>subajuste </strong>de modelos.</p>



<p>Este par de situaciones son muy comunes a la hora de <strong>modelar datos </strong>mediante <strong>algoritmos </strong>de <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a>. Aquí exploraremos cada uno de estos, describiremos sus causas, consecuencias, diagnóstico, y abordaremos algunos ejemplos de forma teórica y práctica con lenguaje de programación <strong>Python</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_nivel.jpg" alt="ajuste y sobreajuste dialektico" class="wp-image-11298" style="width:601px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 35" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 36" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión lineal</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg" alt="regresión lineal dialektico" class="wp-image-8027" style="width:400px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 37" srcset="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/RL_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/"><strong>Métricas de evaluación de modelos de regresión</strong></a></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab.png" alt="métricas de modelos de regresión dialéktico" class="wp-image-10735" style="width:400px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 38" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab.png 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Google Colab dialéktico" class="wp-image-7521" style="width:400px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 39" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="python dialéktico" class="wp-image-7522" style="width:400px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 40" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún tentempié</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie.jpg" alt="tentempié dialéktico" class="wp-image-11299" style="width:444px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 41" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Introducción al sobreajuste y subajuste de modelos de machine learning</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 42" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como ya hemos visto durante nuestras dos <strong>últimas prácticas</strong> para la evaluación de modelos de aprendizaje supervisado (tanto de <strong><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_Modelos_Regresi%C3%B3n.ipynb" target="_blank" rel="noopener">regresión</a></strong> como de <strong><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_modelo_clasificaci%C3%B3n.ipynb" target="_blank" rel="noopener">clasificación</a></strong>), existen diferentes formas de medir el <strong>desempeño</strong> de un <strong>modelo </strong>cuyos <strong>parámetros </strong>han sido ajustados mediante algoritmos de <strong>machine learning</strong>.</p>



<p>Durante la <strong>evaluación </strong>del modelo resultante, pueden develarse problemas al momento de realizar los cálculos sobre los <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a> de <strong>entrenamiento </strong>y <strong>prueba</strong>. Lo más común es encontrar que, si los modelos no realizan <strong>predicciones </strong>de manera relativamente aceptable, entonces están <strong>sobreajustados </strong>o <strong>subajustados</strong>. ¿A qué nos referimos con esto?</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es el subajuste de un modelo de machine learning?</h2>



<p>Un modelo <strong>subajustado </strong>es un modelo de <strong>aprendizaje de máquinas</strong> que no logra capturar o «<strong>aprender</strong>» correctamente los patrones subyacentes a los <a href="https://dialektico.com/datos-machine-learning/">datos</a> debido, principalmente, a su simplicidad matemática (del modelo generado) y, por lo tanto, tiene un <strong>desempeño </strong>deficiente al ser evaluado tanto en el conjunto de datos de <strong>entrenamiento </strong>como en el de <strong>prueba</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_A_1.jpg" alt="ajuste y sobreajuste dialektico aelacor" class="wp-image-11305" style="width:495px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 43" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_A_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_A_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es correcto, sus capacidades predictivas no muestran un rendimiento aceptable al ser utilizado para predecir valores en los conjuntos de datos para su entrenamiento y prueba. Esta es su característica más distintiva.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_2.jpg" alt="ajuste y sobreajuste dialektico mmerf" class="wp-image-11304" style="width:558px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 44" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_2.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para entender mejor cómo funciona esta deficiencia en el <strong>ajuste </strong>del <strong>modelo </strong>(el cálculo de sus <strong>parámetros</strong>) es observando las gráficas de la <strong>Figura 3.8.1</strong>, donde se observan las formas que dibujan dos modelos que pretenden describir el comportamiento de los datos:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1140" height="516" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_1-2.png" alt="ajuste y sobreajuste dialektico" class="wp-image-11318" title="Sobreajuste y subajuste en modelos de aprendizaje automático 45" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_1-2.png 1140w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_1-2-768x348.png 768w" sizes="(max-width: 1140px) 100vw, 1140px" /><figcaption class="wp-element-caption"><strong>Figura 3.8.1</strong> Gráficas de dos modelos entrenados para ajustarse a los datos. El primero muestra un subajuste, mientras que el segundo se comporta de manera más similar a la tendencia de las observaciones. Esta gráfica y las consiguientes fueron obtenidas utilizando la librería <a href="https://matplotlib.org/" target="_blank" rel="noopener">MatplotLib</a> de <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a>.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nótese que la primera figura es una <strong>línea recta</strong> como la que hemos generado con las <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">regresiones lineales</a> de las <strong>prácticas</strong> anteriores. A pesar de que la <strong>función </strong>que dibuja esta línea está optimizada para mantener una distancia promedio corta respecto a cada punto (dato), esta no representa una tendencia muy similar a la que dibujan los datos (que parecen dibujar una especie de curva). Se dice, entonces, que el modelo está <strong>subajustado</strong>, ya que sus predicciones no son muy precisas al momento de evaluar su desempeño.</p>



<p>En cambio, en la gráfica de la <strong>derecha</strong>, se han mapeado los valores de una <strong>función </strong>que genera una forma más ajustada al <strong>movimiento </strong>de los <strong>datos</strong>. Esta curva se puede obtener utilizando regresiones polinomiales. El modelo resultante tiene un mejor desempeño en las predicciones.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_1.jpg" alt="ajuste y sobreajuste dialektico laiahrang" class="wp-image-11307" style="width:500px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 46" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>Una <strong>regresión polinomial</strong> es una<strong> regresión lineal </strong>que modela un polinomio de <span class="katex-eq" data-katex-display="false">n</span>-ésimo grado. No la utilizaremos mucho, por lo que no ahondaremos en el tema, si deseas saber más puedes revisar la definición en <a href="https://es.wikipedia.org/wiki/Regresi%C3%B3n_polinomial" target="_blank" rel="noopener">Wikipedia</a>, la cual me ha parecido correcta y concisa, pero no es necesario que lo atiendas. También utilizaremos esto más tarde en nuestra práctica de <strong>Python</strong>.</p>



<p>Matemáticamente hablando, los modelos de ambos ejemplos (<strong>Figura 3.8.1</strong>) tienen la siguiente forma:</p>



<ul class="wp-block-list">
<li>Modelo subajustado (regresión lineal):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = ax + b \tag{3.76}</pre></div>



<ul class="wp-block-list">
<li>Modelo con un mejor ajuste (regresión polinomial de grado 3):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = ax^3 + bx^2 + cx + d  \tag{3.77}</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hago este énfasis porque la elección del <strong>algoritmo </strong>utilizado para entrenar el modelo muchas veces es un aspecto clave para un ajuste efectivo de los parámetros. Nótese que los modelos presentados son solo la forma general de estos, donde los valores de los parámetros (<span class="katex-eq" data-katex-display="false">a, b, c, d...</span>) son los que se encuentran mediante la etapa de entrenamiento con un algoritmo de aprendizaje supervisado.</p>



<p>Finalmente, hay que tomar en cuenta que las <strong>deficiencias</strong> características del subajuste se encuentran directamente al <strong>medir </strong>el <strong>rendimiento </strong>del modelo en los conjuntos de datos de <strong>entrenamiento </strong>y <strong>prueba</strong>; esto es lo que hicimos durante nuestras últimas dos prácticas, en especial en la que corresponde a las métricas de evaluación de <a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/">modelos de regresión</a> (ya que acabamos de plantear el uso de <strong>regresiones lineales</strong>).</p>



<p>Hagamos un pequeño ejercicio al respecto, para refrescar nuestra memoria en el tema:</p>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-25'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_25' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_25' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_25' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='25'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='71,72,73'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='71' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de regresión lineal y lo has evaluado utilizando la Métrica R². El valor obtenido en el conjunto de entrenamiento es el siguiente: <strong>0.23</strong></p>
<p>¿Qué indica este valor de R²?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-71]' id='ays-answer-250-25' value='250'/>

                <label for='ays-answer-250-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es eficiente al realizar predicciones sobre los datos de entrenamiento.</label><label for='ays-answer-250-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-71]' id='ays-answer-251-25' value='251'/>

                <label for='ays-answer-251-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es deficiente al realizar predicciones sobre los datos de entrenamiento.</label><label for='ays-answer-251-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-71]' id='ays-answer-252-25' value='252'/>

                <label for='ays-answer-252-25' class='  ays_position_initial  ays-quiz-keyboard-label'>No es posible saberlo.</label><label for='ays-answer-252-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_25 === 'undefined'){
                window.quizOptions_25 = [];
            }
            window.quizOptions_25['71'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un valor de R² cercano a 1 es un resultado positivo, mientras que un valor que se aleja y tiende a 0 o -1 implica un ajuste deficiente del modelo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='72' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has calculado también la métrica R² utilizando los datos de prueba. El valor obtenido es el siguiente: <strong>0.19</strong></p>
<p>¿Qué indica este valor de R²?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-72]' id='ays-answer-254-25' value='254'/>

                <label for='ays-answer-254-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es eficiente al realizar predicciones sobre los datos de prueba.</label><label for='ays-answer-254-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-72]' id='ays-answer-255-25' value='255'/>

                <label for='ays-answer-255-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es deficiente al realizar predicciones sobre los datos de prueba.</label><label for='ays-answer-255-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-72]' id='ays-answer-256-25' value='256'/>

                <label for='ays-answer-256-25' class='  ays_position_initial  ays-quiz-keyboard-label'>No es posible saberlo.</label><label for='ays-answer-256-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_25 === 'undefined'){
                window.quizOptions_25 = [];
            }
            window.quizOptions_25['72'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un valor de R² cercano a 1 es un resultado positivo, mientras que un valor que se aleja y tiende a 0 o -1 implica un ajuste deficiente del modelo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='73' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué se puede deducir de los resultados obtenidos?</p>
<p>R² en datos de entrenamiento: <strong>0.21</strong></p>
<p>R² en datos de prueba: <strong>0.19</strong></p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-73]' id='ays-answer-257-25' value='257'/>

                <label for='ays-answer-257-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El desempeño del modelo es deficiente en ambos conjuntos de datos, por lo que se considera subajustado.</label><label for='ays-answer-257-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-73]' id='ays-answer-258-25' value='258'/>

                <label for='ays-answer-258-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El desempeño del modelo es bueno en ambos conjuntos de datos, por lo que se considera eficiente.</label><label for='ays-answer-258-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-73]' id='ays-answer-259-25' value='259'/>

                <label for='ays-answer-259-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El desempeño del modelo es eficiente en solo el conjunto de datos de prueba, por lo que se considera subajustado.</label><label for='ays-answer-259-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_25 === 'undefined'){
                window.quizOptions_25 = [];
            }
            window.quizOptions_25['73'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo subajustado es deficiente en los conjuntos de datos de prueba y de entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  100%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-25 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-25 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-25 #ays_finish_quiz_25 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-25{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-25 #ays_finish_quiz_25 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-25 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-25 .ays_question_hint,
            #ays-quiz-container-25 label[for^="ays-answer-"],
            #ays-quiz-container-25 #ays_finish_quiz_25 p,
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-fs-title,
            #ays-quiz-container-25 .ays-fs-subtitle,
            #ays-quiz-container-25 .logged_in_message,
            #ays-quiz-container-25 .ays_score_message,
            #ays-quiz-container-25 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-25 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-25 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-25 .ays-quiz-password-message-box,
            #ays-quiz-container-25 .ays-quiz-question-note-message-box,
            #ays-quiz-container-25 .ays_quiz_question,
            #ays-quiz-container-25 .ays-quiz-question-category-box,
            #ays-quiz-container-25 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-25 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-25 textarea,
            #ays-quiz-container-25 input::first-letter,
            #ays-quiz-container-25 select::first-letter,
            #ays-quiz-container-25 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-25 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-25 .select2-container,
            #ays-quiz-container-25 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-25 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-25 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-25 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-25 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-25 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-25 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-25 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-25 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-25 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-25 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-25 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-25 input[type='button'],
            #ays-quiz-container-25 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-25 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-25 .information_form input[type='text'],
            #ays-quiz-container-25 .information_form input[type='url'],
            #ays-quiz-container-25 .information_form input[type='number'],
            #ays-quiz-container-25 .information_form input[type='email'],
            #ays-quiz-container-25 .information_form input[type='checkbox'],
            #ays-quiz-container-25 .information_form input[type='tel'],
            #ays-quiz-container-25 .information_form textarea,
            #ays-quiz-container-25 .information_form select,
            #ays-quiz-container-25 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-25 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-25 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-25 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-25 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-25 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-25 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-25 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-25 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-25 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-25 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-25 .ays_cb_and_a,
            #ays-quiz-container-25 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-25 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-25 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-25 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-25 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-25 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-25 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-25 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-25 div.lds-spinner,
            #ays-quiz-container-25 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-25 div.lds-spinner div:after,
            #ays-quiz-container-25 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-25 .lds-circle,
            #ays-quiz-container-25 .lds-facebook div,
            #ays-quiz-container-25 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-25 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-25 .lds-dual-ring::after,
            #ays-quiz-container-25 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-25 .ui.rating .icon,
            #ays-quiz-container-25 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-25 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-25 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-25 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-25 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-25 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-25 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-25 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-25 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-25 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-25 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-25 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-25 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-25 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-25 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-25 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-25 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-25 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-25 div.ays-quiz-redirection-timer,
            #ays-quiz-container-25 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-25 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-25 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-25 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-25 input#ays-submit,
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button,
            div#ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_restart_button,
            #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-25 input#ays-submit,
            #ays-quiz-container-25 #ays_finish_quiz_25 input.action-button,
            #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-25 input#ays-submit:hover,
            #ays-quiz-container-25 input#ays-submit:focus,
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:hover,
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:focus,
            #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-25 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-25 .ays_restart_button_p,
            #ays-quiz-container-25 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-25 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-25 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-25 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-25 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-25 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-25 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-25 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-25 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-25 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-25 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-25 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-25 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-25 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-25 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-25 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-25 .ays-field .select2-container--default,
            #ays-quiz-container-25 .ays-field .select2-container--default .selection,
            #ays-quiz-container-25 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-25 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-25 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-25 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-25 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-25 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-25 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-25.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-25.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-25 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-25 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-25 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-25 label[for^='ays-answer']:before,
            #ays-quiz-container-25 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-25.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-25.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-25 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-25.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-25.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-25.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-25.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-25.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-25.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-25.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-25.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-25.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-25.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-25 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-25 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-25 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-25 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-25 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-25 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-25 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-25 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-25 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-25 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-25 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-25 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-25 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-25{
                    max-width: 100%;
                }

                div#ays-quiz-container-25 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-25 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-25 .select2-container,
                #ays-quiz-container-25 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-25 input#ays-submit,
                div#ays-quiz-container-25 #ays_finish_quiz_25 .action-button,
                div#ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_restart_button,
                #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-25 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-25 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-25 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-25 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-25 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-25 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-25 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-25 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-25 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-25 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-25 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-25.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-25.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-25 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-25.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-25 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:hover,
                #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:focus,
                #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['25']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuOS4yIiwiY29yZV92ZXJzaW9uIjoiNi43LjIiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDMtMjUgMjI6MTU6MzEiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMy0yNSAyMjoxNTozMSIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicXVpel90aW1lcl93YXJuaW5nX3RleHRfY29sb3IiOiIjZmYwMDAwIiwicXVpel9lbmFibGVfZGVmYXVsdF9oaWRlX3Jlc3VsdHNfdG9nZ2xlIjoib2ZmIiwicXVpel9zaG93X3Jlc3RhcnRfYnV0dG9uX29uX3F1aXpfZmFpbCI6Im9mZiIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJzaG93X2Fuc3dlcnNfY2FwdGlvbiI6Im9uIiwicXVpel9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbiI6Im9uIiwic2hvd19xdWl6X2ltYWdlIjoib24iLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIyNSIsInRpdGxlIjoiU3ViYWp1c3RlIHkgU29icmVhanVzdGUgMSIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNzEsNzIsNzMiLCJvcmRlcmluZyI6IjI1IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='25'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto quedará mucho más claro en nuestra práctica con <strong>Python</strong>, donde veremos ejemplos que analizaremos con <strong>métricas de evaluación</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_2.jpg" alt="ajuste y sobreajuste dialektico kagnadi" class="wp-image-11311" style="width:502px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 47" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Posibles causas de un modelo subajustado</h3>



<p>Las razones por las que un modelo puede sufrir un <strong>subajuste </strong>pueden ser variadas y depender de los <strong>datos </strong>y el tipo de <strong>algoritmo </strong>utilizado para ajustar los <strong>parámetros</strong>. Sin embargo, estas pueden ser las causas más comunes para un subajuste:</p>



<ul class="wp-block-list">
<li><strong>Modelo demasiado simple</strong>: No tiene suficiente capacidad para aprender patrones complejos. Esto se vio en el ejemplo de la <strong>Figura 3.8.1</strong>, donde un modelo como el que produce una regresión lineal simple (univariada) no es lo mejor en datos con patrones no lineales.</li>



<li><strong>Falta de datos</strong>: No hay suficiente información para aprender relaciones significativas entre las <a href="https://dialektico.com/datos-etiquetados-machine-learning/">variables de entrada y las salidas</a>, es decir, se requiere de un conjunto de datos más grande.</li>



<li><strong>Muy pocas características</strong>: No se han incluido variables de entrada clave en los datos de entrenamiento. Por ejemplo, si se desea obtener un modelo que sea capaz de predecir la calificación que obtendrá un alumno en un examen, probablemente los datos que pueden aportar información al respecto son: horas de estudio, calificaciones promedio, o estatus social. En cambio, variables que no aportan información relevante pueden ser: nombre del alumno, día de nacimiento, rango en Fortnite, etc.</li>



<li><strong>Mala selección de hiperparámetros</strong>: existen algunos parámetros relativos a los algoritmos utilizados, que veremos más adelante en el curso, que pueden ser decisivos en el ajuste final del modelo, algunos ejemplos son: número de iteraciones, regularización, optimizador, tasa de aprendizaje.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es el sobreajuste de un modelo de machine learning?</h2>



<p>Un modelo <strong>sobreajustado </strong>es un <strong>modelo </strong>obtenido mediante <strong>algoritmos </strong>de aprendizaje de máquinas cuyo comportamiento se adhiere de manera muy fiel a la <strong>tendencia </strong>de los datos de entrenamiento, con un ajuste que no solo captura los <strong>patrones </strong>subyacentes, sino también el <strong>ruido</strong> y las <strong>variaciones irrelevantes</strong>. </p>



<p>Esto provoca que el modelo tenga un rendimiento muy aceptable al evaluarse en el conjunto de datos de  <strong>entrenamiento</strong>, pero que sea deficiente al operar sobre <strong>datos nuevos</strong> (es decir, en el conjunto de datos de prueba, o datos nuevos recolectados), ya que no logra generalizar bien su comportamiento.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_3.jpg" alt="ajuste y sobreajuste dialektico mmerf" class="wp-image-11316" style="width:550px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 48" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_3.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A diferencia del <strong>subajuste</strong>, el <strong>sobreajuste </strong>ocurre cuando el modelo es demasiado complejo en comparación con la estructura de los datos. Como mencionó Mmerf, en la etapa de <strong>entrenamiento </strong>su desempeño luce muy bien, pero al evaluarse con los datos de <strong>prueba </strong>ya no funciona de igual manera.</p>



<p>El efecto del sobreajuste se observa en las gráficas de la <strong>Figura 3.8.2</strong>:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1140" height="516" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_2.png" alt="ajuste y sobreajuste dialektico" class="wp-image-11319" title="Sobreajuste y subajuste en modelos de aprendizaje automático 49" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_2.png 1140w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_2-768x348.png 768w" sizes="(max-width: 1140px) 100vw, 1140px" /><figcaption class="wp-element-caption"><strong>Figura 3.8.2</strong> Gráficas de dos modelos entrenados para ajustarse a la tendencia de los datos. El segundo muestra un sobreajuste, mientras que el primero describe el comportamiento de las observaciones sin adaptarse completamente a todas sus variaciones.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En este caso, en la <strong>primera gráfica</strong> yace el <strong>modelo </strong>que vimos anteriormente, donde los datos pueden ser modelados mediante una curva que decae sutilmente y se ajusta a su comportamiento sin encajar perfectamente en estos, lo que implica que realiza predicciones con pequeños defectos pero cercanas a la <strong>tendencia </strong>subyacente.</p>



<p>En la figura de la derecha, sin embargo, se visualiza una función que está demasiado <strong>ajustada </strong>al movimiento de los datos, provocando que se dibuje una figura irregular que intenta abarcar las variaciones de todas las <strong>observaciones</strong>, aunque estas puedan representar <strong>valores atípicos</strong> o <strong>ruido</strong>; obsérvese el último punto, el cual parece ser un valor atípico en el conjunto de datos, y que el <strong>modelo </strong>traza de manera exacta.</p>



<p>Esto implica que el modelo está <strong>sobreajustado</strong>, generando una <strong>función </strong>matemática que predice correctamente solo los valores del conjunto de datos de <strong>entrenamiento</strong>, pero falla en el conjunto de datos de <strong>prueba</strong> (no es capaz de realizar estimaciones correctas sobre valores cuya <strong>tendencia </strong>en realidad es una curva, no un conjunto de valles irregulares, como lo que se ha dibujado en la gráfica de la derecha).</p>



<p>Matemáticamente hablando, los modelos de ambos ejemplos tienen la siguiente forma:</p>



<ul class="wp-block-list">
<li>Modelo con un mejor ajuste (regresión polinomial de grado 3):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = ax^3 + bx^2 + cx + d</pre></div>



<ul class="wp-block-list">
<li>Modelo sobreajustado (regresión polinomial de grado 15):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = a_{15}x^{15} + a_{14}x^{14} + \dots + a_2x^2 + a_1x + a_0
</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De esto se desprende que utilizar modelos de varias <strong>dimensiones </strong>(variables) y grados altos puede desembocar en un <strong>sobreajuste</strong>, por lo que es necesario tener cuidado en mantener un balance entre los <strong>algoritmos </strong>de aprendizaje de máquinas a utilizar y las <strong>dimensiones </strong>de entrada de los datos.</p>



<p>Las gráficas finales de cada modelo con ajustes diferentes se pueden contemplar en la <strong>Figura 3.8.3</strong></p>



<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="1790" height="446" src="https://dialektico.com/wp-content/uploads/2025/03/image-5.png" alt="image 5" class="wp-image-11328" title="Sobreajuste y subajuste en modelos de aprendizaje automático 50" srcset="https://dialektico.com/wp-content/uploads/2025/03/image-5.png 1790w, https://dialektico.com/wp-content/uploads/2025/03/image-5-768x191.png 768w, https://dialektico.com/wp-content/uploads/2025/03/image-5-1536x383.png 1536w" sizes="(max-width: 1790px) 100vw, 1790px" /><figcaption class="wp-element-caption"><strong>Figura 3.8.3 </strong>Comparación entre las gráficas de modelos con subajuste, sobreajuste, y uno que mantiene un equilibrio entre ambos casos, considerado como el mejor ajuste entre los tres.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_2.jpg" alt="ajuste y sobreajuste dialektico laiahrang" class="wp-image-11323" style="width:499px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 51" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así es, los modelos de <strong>clasificación </strong>pueden tener los mismos problemas. Para identificarlos se sigue la misma metodología, se realizan las respectivas mediciones de <strong>desempeño</strong> utilizando <a href="https://dialektico.com/metricas-clasificacion-matriz-confusion/">métricas de evaluación de modelos de clasificación</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Posibles causas de un modelo sobreajustado</h3>



<p>Las razones por las que un <strong>modelo </strong>puede sufrir <strong>sobreajuste,</strong> al igual que en el subajuste, pueden ser variadas y dependen principalmente del conjunto de datos y/o de la complejidad del modelo utilizado. A continuación, se presentan algunas de las causas más comunes para un sobreajuste:</p>



<ul class="wp-block-list">
<li><strong>Modelo demasiado complejo</strong>: Tiene una gran cantidad de parámetros y variables, lo que le permite aprender incluso el ruido en los datos en lugar de los patrones generales.</li>



<li><strong>Demasiadas características irrelevantes</strong>: Si el modelo tiene muchas variables que no aportan información útil, puede ajustarse demasiado a datos específicos sin realizar generalizaciones correctamente.</li>



<li><strong>Insuficiente cantidad de datos</strong>: Con pocos datos, el modelo puede aprender patrones específicos del conjunto de entrenamiento en lugar de patrones generales.</li>



<li><strong>Las particiones del conjunto de datos no tienen la misma distribución</strong>: Los conjuntos de datos de entrenamiento prueba y/o validación no muestran consistencia en su comportamiento.</li>



<li><strong>Mala selección de hiperparámetros</strong>: Algunos parámetros, como la falta de regularización o arquitectura del algoritmo a utilizar, pueden hacer que el modelo sea demasiado flexible y se adapte al ruido.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_3.jpg" alt="ajuste y sobreajuste dialektico kagnadi" class="wp-image-11321" style="width:500px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 52" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_3.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_3-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-codigo-de-programacion" style="color:#840303">Detección de ajuste y sobreajuste de modelos con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 53" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es hora de un poco de acción. En la práctica de hoy revisaremos un caso de <strong>subajuste </strong>y <strong>sobreajuste </strong>de <strong>modelos</strong>, realizando <strong>diagnósticos </strong>con <strong>métricas </strong>de <strong>evaluación</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Miscel%C3%A1nea/Sobreajuste_y_subajuste_de_modelos.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 54" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes previsualizar el contenido aquí:</p>


<p><script src="https://gist.github.com/DanielDialektico/ca760b168c858020fb78b64c5958afba.js"></script></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-26'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_26' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_26' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_26' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='26'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='74,75,76'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='74' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados favorables en ambos conjuntos. Por lo tanto, el modelo está subajustado.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-74]' id='ays-answer-260-26' value='260'/>

                <label for='ays-answer-260-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-260-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-74]' id='ays-answer-261-26' value='261'/>

                <label for='ays-answer-261-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-261-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_26 === 'undefined'){
                window.quizOptions_26 = [];
            }
            window.quizOptions_26['74'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo subajustado es deficiente en los conjuntos de datos de prueba y de entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='75' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados favorables en el conjunto de datos de entrenamiento, pero un desempeño muy bajo en el conjunto de datos de prueba. Por lo tanto, el modelo está sobreajustado.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-75]' id='ays-answer-263-26' value='263'/>

                <label for='ays-answer-263-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-263-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-75]' id='ays-answer-264-26' value='264'/>

                <label for='ays-answer-264-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-264-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_26 === 'undefined'){
                window.quizOptions_26 = [];
            }
            window.quizOptions_26['75'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo sobreajustado es generalmente eficiente en el conjunto de datos de entrenamiento, pero no de igual manera en el de prueba.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='76' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados deficientes tanto en el conjunto de datos de entrenamiento como en el de prueba. El modelo está subajustado.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-76]' id='ays-answer-265-26' value='265'/>

                <label for='ays-answer-265-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-265-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-76]' id='ays-answer-266-26' value='266'/>

                <label for='ays-answer-266-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-266-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_26 === 'undefined'){
                window.quizOptions_26 = [];
            }
            window.quizOptions_26['76'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo subajustado es deficiente en los conjuntos de datos de prueba y entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  66%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-26 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-26 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-26 #ays_finish_quiz_26 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-26{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-26 #ays_finish_quiz_26 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-26 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-26 .ays_question_hint,
            #ays-quiz-container-26 label[for^="ays-answer-"],
            #ays-quiz-container-26 #ays_finish_quiz_26 p,
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-fs-title,
            #ays-quiz-container-26 .ays-fs-subtitle,
            #ays-quiz-container-26 .logged_in_message,
            #ays-quiz-container-26 .ays_score_message,
            #ays-quiz-container-26 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-26 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-26 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-26 .ays-quiz-password-message-box,
            #ays-quiz-container-26 .ays-quiz-question-note-message-box,
            #ays-quiz-container-26 .ays_quiz_question,
            #ays-quiz-container-26 .ays-quiz-question-category-box,
            #ays-quiz-container-26 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-26 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-26 textarea,
            #ays-quiz-container-26 input::first-letter,
            #ays-quiz-container-26 select::first-letter,
            #ays-quiz-container-26 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-26 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-26 .select2-container,
            #ays-quiz-container-26 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-26 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-26 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-26 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-26 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-26 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-26 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-26 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-26 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-26 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-26 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-26 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-26 input[type='button'],
            #ays-quiz-container-26 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-26 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-26 .information_form input[type='text'],
            #ays-quiz-container-26 .information_form input[type='url'],
            #ays-quiz-container-26 .information_form input[type='number'],
            #ays-quiz-container-26 .information_form input[type='email'],
            #ays-quiz-container-26 .information_form input[type='checkbox'],
            #ays-quiz-container-26 .information_form input[type='tel'],
            #ays-quiz-container-26 .information_form textarea,
            #ays-quiz-container-26 .information_form select,
            #ays-quiz-container-26 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-26 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-26 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-26 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-26 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-26 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-26 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-26 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-26 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-26 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-26 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-26 .ays_cb_and_a,
            #ays-quiz-container-26 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-26 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-26 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-26 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-26 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-26 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-26 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-26 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-26 div.lds-spinner,
            #ays-quiz-container-26 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-26 div.lds-spinner div:after,
            #ays-quiz-container-26 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-26 .lds-circle,
            #ays-quiz-container-26 .lds-facebook div,
            #ays-quiz-container-26 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-26 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-26 .lds-dual-ring::after,
            #ays-quiz-container-26 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-26 .ui.rating .icon,
            #ays-quiz-container-26 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-26 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-26 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-26 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-26 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-26 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-26 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-26 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-26 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-26 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-26 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-26 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-26 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-26 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-26 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-26 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-26 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-26 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-26 div.ays-quiz-redirection-timer,
            #ays-quiz-container-26 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-26 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-26 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-26 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-26 input#ays-submit,
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button,
            div#ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_restart_button,
            #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-26 input#ays-submit,
            #ays-quiz-container-26 #ays_finish_quiz_26 input.action-button,
            #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-26 input#ays-submit:hover,
            #ays-quiz-container-26 input#ays-submit:focus,
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:hover,
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:focus,
            #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-26 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-26 .ays_restart_button_p,
            #ays-quiz-container-26 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-26 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-26 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-26 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-26 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-26 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-26 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-26 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-26 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-26 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-26 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-26 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-26 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-26 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-26 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-26 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-26 .ays-field .select2-container--default,
            #ays-quiz-container-26 .ays-field .select2-container--default .selection,
            #ays-quiz-container-26 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-26 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-26 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-26 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-26 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-26 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-26 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-26.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-26.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-26 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-26 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-26 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-26 label[for^='ays-answer']:before,
            #ays-quiz-container-26 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-26.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-26.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-26 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-26.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-26.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-26.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-26.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-26.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-26.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-26.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-26.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-26.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-26.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-26 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-26 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-26 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-26 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-26 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-26 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-26 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-26 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-26 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-26 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-26 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-26 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-26 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-26{
                    max-width: 100%;
                }

                div#ays-quiz-container-26 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-26 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-26 .select2-container,
                #ays-quiz-container-26 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-26 input#ays-submit,
                div#ays-quiz-container-26 #ays_finish_quiz_26 .action-button,
                div#ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_restart_button,
                #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-26 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-26 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-26 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-26 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-26 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-26 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-26 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-26 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-26 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-26 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-26 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-26.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-26.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-26 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-26.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-26 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:hover,
                #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:focus,
                #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['26']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuOS4yIiwiY29yZV92ZXJzaW9uIjoiNi43LjIiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDMtMjUgMjM6MTQ6NDciLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMy0yNSAyMzoxNDo0NyIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicXVpel90aW1lcl93YXJuaW5nX3RleHRfY29sb3IiOiIjZmYwMDAwIiwicXVpel9lbmFibGVfZGVmYXVsdF9oaWRlX3Jlc3VsdHNfdG9nZ2xlIjoib2ZmIiwicXVpel9zaG93X3Jlc3RhcnRfYnV0dG9uX29uX3F1aXpfZmFpbCI6Im9mZiIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJzaG93X2Fuc3dlcnNfY2FwdGlvbiI6Im9uIiwicXVpel9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbiI6Im9uIiwic2hvd19xdWl6X2ltYWdlIjoib24iLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIyNiIsInRpdGxlIjoiU3ViYWp1c3RlIHkgU29icmVhanVzdGUgMiIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNzQsNzUsNzYiLCJvcmRlcmluZyI6IjI2IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='26'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hemos concluido uno de los temas más comunes de deficiencias en <strong>modelos </strong>de <strong>aprendizaje de máquinas.</strong> Conforme avancemos en esta travesía, experimentaremos formas de <strong>identificar</strong> y <strong>lidiar </strong>con estos desperfectos.</p>



<p>A partir de ahora, los temas serán un poco más <strong>avanzados</strong> y enfocados en la optimización del entrenamiento de modelos, ya que constituyen el preámbulo para la comprensión y práctica de las <strong>redes neuronales artificiales</strong>.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/introduccion-al-descenso-de-gradiente/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 55"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/subajuste-sobreajuste-teoria-programacion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Matriz de confusión y métricas de evaluación de modelos de clasificación</title>
		<link>https://dialektico.com/metricas-clasificacion-matriz-confusion/</link>
					<comments>https://dialektico.com/metricas-clasificacion-matriz-confusion/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 08:20:12 +0000</pubDate>
				<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Matemáticas]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=10883</guid>

					<description><![CDATA[Si has entrenado un modelo de clasificación utilizando técnicas de aprendizaje de máquinas (por ejemplo, ajustando un modelo mediante una regresión logística), debes evaluar qué tan bueno es haciendo su trabajo. Esto se logra mediante el uso de diferentes métricas que derivan de la comparación entre las clasificaciones generadas con el modelo y valores pertenecientes [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Si has entrenado un modelo de <strong>clasificación </strong>utilizando técnicas de <a href="https://dialektico.com/introduccion-machine-learning/">aprendizaje de máquinas</a> (por ejemplo, ajustando un modelo mediante una <a href="https://dialektico.com/regresion-logistica-fundamentos/">regresión logística</a>), debes <strong>evaluar </strong>qué tan bueno es haciendo su trabajo. Esto se logra mediante el uso de diferentes <strong>métricas </strong>que derivan de la comparación entre las clasificaciones generadas con el modelo y valores pertenecientes a un <a href="https://dialektico.com/conjuntos-train-dev-test/">conjunto de datos de prueba</a>.</p>



<p>Justo como hicimos cuando aprendimos sobre <a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/">métricas para medir el desempeño de modelos de regresión</a>, en esta sesión revisaremos qué métricas cumplen con este objetivo para modelos que <strong>categorizan </strong>datos, cómo se usan, <strong>analizan</strong>, e <strong>interpretan</strong>; todo llevado a la práctica en un caso utilizando Python.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_Nivel.jpg" alt="matriz de confusión dialéktico" class="wp-image-10884" style="width:601px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 56" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_Nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_Nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 57" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: algo de álgebra, probabilidad y estadística</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 58" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Fundamentos del <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg" alt="aprendizaje supervisado" class="wp-image-10137" style="width:416px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 59" srcset="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/ML_elem-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión logística</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/regresion-logistica-fundamentos/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg" alt="IRLG OBJ" class="wp-image-8303" style="width:400px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 60" srcset="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg 800w, https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><a href="https://dialektico.com/funcion-perdida-regresion-logistica/"><strong>Función de pérdida de la regresión logística</strong></a></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg" alt="funciones de pérdida" class="wp-image-10561" style="width:400px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 61" srcset="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg 800w, https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Colab" class="wp-image-7521" style="width:400px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 62" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="python" class="wp-image-7522" style="width:400px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 63" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún aperitivo</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_platillo.jpg" alt="MEMC platillo" class="wp-image-10888" style="width:444px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 64" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_platillo.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_platillo-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Métricas de evaluación de modelos de clasificación: cuáles y cómo utilizarlas</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 65" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Recordemos que en <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a> podemos abordar problemas mediante dos tipos de <strong>enfoques </strong>en cuanto a objetivos de modelos: <strong>modelos de regresión</strong> y <strong>modelos de clasificación</strong>.</p>



<p>Los modelos de regresión predicen valores de una variable continua (<strong>salida</strong>) respecto a los valores de variables con las que está relacionada (<strong>entradas</strong>). De este tipo de modelos ya hemos trazado cómo evaluar su desempeño al generar predicciones sobre datos nuevos no pertenecientes al conjunto de datos de entrenamiento.</p>



<p>Los modelos de <strong>clasificación</strong>, por otro lado, tratan sobre funciones que, mediante un análisis de <strong>probabilidades</strong>, determinan a qué clase pertenece cada dato de entrada de entre un grupo de categorías predefinidas.</p>



<p>Un ejemplo de esto es el caso que hemos desarrollado en la <a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/Regresi%C3%B3n_Log%C3%ADstica.ipynb" target="_blank" rel="noopener">práctica de Python</a> de la regresión logística, en la que se clasificaron canciones de entrada en géneros musicales de acuerdo a sus características. Más adelante veremos cómo utilizar esas mismas clasificaciones para <strong>evaluar </strong>los modelos con <strong>Python</strong>, pero hoy trabajaremos con un nuevo ejemplo para explicar cómo determinar las capacidades de clasificación de un modelo de este tipo, las cuales no contemplan ninguna de las métricas vistas en la anterior exploración.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_M1.jpg" alt="mmerf matriz de confusión dialéktico" class="wp-image-10889" style="width:600px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 66" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas para evaluar modelos de clasificación</h2>



<p>Antes de exponer un nuevo ejemplo, haré mención de las <strong>métricas </strong>de las que puedes disponer para <strong>evaluar </strong>modelos de clasificación. Primero, y porque ya las hemos mencionado y estudiado con anterioridad, puedes considerar el uso de <a href="https://dialektico.com/funciones-de-perdida-machine-learning/">funciones de pérdida</a>.</p>



<p>Las funciones de pérdida más comunes para modelos de clasificación son las siguientes:</p>



<ul class="wp-block-list">
<li>Pérdida de entropía cruzada (<em>Cross Entropy Loss</em>).</li>



<li>Pérdida de entropía cruzada sigmoidea (<em>Sigmoid Cross Entropy Loss</em>).</li>



<li>Pérdida de entropía cruzada softmax (<em>Softmax Cross Entropy Loss</em>).</li>



<li>Verosimilitud logarítmica negativa (<em>Negative Log-Likelihoo</em>d).</li>



<li>Pérdida 0-1 (0-1 <em>Loss</em>).</li>



<li>Pérdida de Hinge (<em>Hinge Loss</em>).</li>



<li>Pérdida Huber modificada (<em>Modified Huber Loss</em>).</li>



<li>Pérdida de Hinge suavizada (<em>Smooth Hinge Loss</em>).</li>



<li>Pérdida de Hinge reescalada (<em>Rescaled Hinge Loss</em>).</li>



<li>Pérdida de rampa (<em>Ramp Loss</em>).</li>



<li>Error de clasificación mínimo (<em>Minimum Classification Error</em>).</li>



<li>Pérdida logarítmica (<em>Log Loss</em>).</li>



<li>Pérdida exponencial (<em>Exponential Loss</em>).</li>



<li>Pérdida basada en margen (<em>Margin-Based Loss</em>).</li>



<li>Ranqueo por parejas (<em>Pairwise Ranking</em>).</li>



<li>Ranqueo por tripleta (<em>Triplet Ranking</em>).</li>



<li>Pérdida contrastiva (<em>Contrastive Loss</em>).</li>



<li>Pérdida pinball (<em>Pinball Loss</em>).</li>



<li>Pérdida pinball truncada (<em>Truncated Pinball Loss</em>).</li>
</ul>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_A1_2.jpg" alt="Laiahrang matriz de confusión dialéktico" class="wp-image-10893" style="width:500px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 67" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_A1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_A1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>No, siendo honestos dudo que haya alguien que las conozca y haya aplicado todas, salvo quienes se hayan dedicado específicamente a escribir <strong>artículos científicos</strong> sobre funciones de pérdida de modelos de clasificación. Solo lo pongo aquí para que sepan que existen.</p>



<p>Mientras menos ignoremos sobre lo que nos especializamos, mejor. Además, deben tener en cuenta que las funciones de pérdida tienen un amplio uso en el <strong>entrenamiento </strong>de modelos, más que en su evaluación final. Para eso, suelen utilizarse otras métricas, que son las que veremos a continuación.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M2.jpg" alt="mmerf " class="wp-image-10991" style="width:600px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 68" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M2.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_M2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Además de las funciones de pérdida, entre las cuales ya estudiamos con gran detalle la <strong>entropía cruzada</strong>, se cuenta con métricas que son mucho más frecuentes en la práctica de la ciencia datos.</p>



<p>Todas estas parten de la organización de los resultados en algo que se conoce como <strong>matriz de confusión</strong>. Es un concepto clave en ciencia de datos que debemos conocer.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Matriz de confusión para evaluar modelos de clasificación</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La <strong>matriz de confusión</strong> es una herramienta típica para la <strong>evaluación de modelos</strong> que realizan clasificaciones binarias. De forma más específica, la matriz de confusión es una <strong>matriz </strong>de <strong>dos dimensiones</strong> utilizada para evaluar sistemas de clasificación mostrando la cantidad de datos correcta e incorrectamente categorizados.</p>



<p>Vamos a revisar con detalle cómo luce y cómo se utiliza, pero para entenderla de forma concreta, antes debemos definir los elementos que la componen.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Componentes de la matriz de confusión</h3>



<p>Una matriz de confusión está conformada por los valores de las<strong> clasificaciones binarias</strong> (de dos <strong>clases</strong>) realizadas por un modelo entrenado. Se distinguen dos tipos:</p>



<ul class="wp-block-list">
<li>El modelo predice que un dato pertenece a la clase 0 (que también llamaremos clase &lt;&lt;negativa&gt;&gt;).</li>



<li>El modelo predice que un dato pertenece a la clase 1 (que también llamaremos clase &lt;&lt;positiva&gt;&gt;).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Teniendo esto en cuenta, en la matriz de confusión se utilizan este par de clasificaciones y se dibujan los siguientes casos de acuerdo a los <strong>aciertos </strong>o <strong>errores </strong>del modelo:</p>



<ul class="wp-block-list">
<li>El modelo predice que un dato pertenece a una clase 1 (positiva), y su predicción es correcta.</li>



<li>El modelo predice que un dato pertenece a una clase 1 (positiva), pero en realidad pertenece a la clase 0 (negativa), por lo que su predicción es incorrecta.</li>



<li>El modelo predice que un dato pertenece a una clase 0 (negativa), y su predicción es correcta.</li>



<li>El modelo predice que un dato pertenece a una clase 0 (negativa), pero en realidad pertenece a la clase 1 (positiva), por lo que su predicción es incorrecta.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_1.jpg" alt="kagnadi matriz de confusión dialéktico" class="wp-image-10994" style="width:516px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 69" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así es, y cada uno de estos casos tiene un nombre, vamos a revisarlos, definirlos, y compararlos con <strong>ejemplos</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ejemplo de evaluación de modelo clasificación con matriz de confusión</h3>



<p>Para el estudio de la matriz de confusión, vamos a plantear un caso típico en el que entrenamos un <strong>modelo </strong>para clasificar reseñas de películas en &lt;&lt;<strong>positivas</strong>&gt;&gt; y &lt;&lt;<strong>negativas</strong>&gt;&gt;.</p>



<p>Las <strong>entradas </strong>del modelo (el <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjunto de datos</a>) son reseñas de películas, por ejemplo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="854" height="137" src="https://dialektico.com/wp-content/uploads/2024/11/image-1.png" alt="image 1" class="wp-image-10927" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 70" srcset="https://dialektico.com/wp-content/uploads/2024/11/image-1.png 854w, https://dialektico.com/wp-content/uploads/2024/11/image-1-768x123.png 768w" sizes="(max-width: 854px) 100vw, 854px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.1</strong> Reseña positiva sobre una película, la cual es una entrada para el modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta es una <strong>reseña </strong>de película que se considera <strong>positiva</strong>, ya que elogia a la obra.</p>



<p>Sin embargo, podemos tener <strong>entradas </strong>de este otro tipo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="774" height="168" src="https://dialektico.com/wp-content/uploads/2024/11/image-2.png" alt="image 2" class="wp-image-10928" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 71" srcset="https://dialektico.com/wp-content/uploads/2024/11/image-2.png 774w, https://dialektico.com/wp-content/uploads/2024/11/image-2-768x167.png 768w" sizes="(max-width: 774px) 100vw, 774px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.2</strong> Reseña negativa sobre una película, otro tipo de entrada para el modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En esta otra reseña podemos notar una intención comunicativa diferente, en la que la película no es del agrado del crítico, y por lo tanto se considera <strong>negativa</strong>.</p>



<p>El objetivo de utilizar un algoritmo de <strong>aprendizaje automático</strong> para procesar esta información, es <strong>entrenar </strong>un modelo que, dada una nueva reseña, la clasifique como positiva o negativa.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_A2.jpg" alt="laiaahrang" class="wp-image-10995" style="width:503px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 72" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_A2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_A2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_2.jpg" alt="dialéktico" class="wp-image-10996" style="width:509px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 73" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>Por ahora necesito saber, con los conocimientos que tenemos hasta esta parte de nuestras exploraciones, ¿qué tanto me puedes decir sobre esta tarea de <strong>ciencia de datos</strong>?</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-22'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_22' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_22' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_22' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='22'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='60,61,62,63'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='60' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Considera el caso planteado sobre entrenar un modelo de machine learning para clasificar reseñas de películas, el conjunto de datos es el conjunto de reseñas de los usuarios. ¿Qué tipo de datos se tiene en cuanto a su estructura?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-206-22' value='206'/>

                <label for='ays-answer-206-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos estructurados.</label><label for='ays-answer-206-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-207-22' value='207'/>

                <label for='ays-answer-207-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos no estructurados.</label><label for='ays-answer-207-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-208-22' value='208'/>

                <label for='ays-answer-208-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos supraestructurados.</label><label for='ays-answer-208-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-209-22' value='209'/>

                <label for='ays-answer-209-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos fuertes.</label><label for='ays-answer-209-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['60'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los datos son de tipo no estructurado. Puedes revisar esta información en <a href="https://dialektico.com/tipos-de-datos/">esta lección</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='61' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Los ejemplos de entrenamiento están compuestos por reseñas de películas, ¿estos datos de qué tipo son conforme a su presentación?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-210-22' value='210'/>

                <label for='ays-answer-210-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos cualitativos.</label><label for='ays-answer-210-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-211-22' value='211'/>

                <label for='ays-answer-211-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos cuantitativos.</label><label for='ays-answer-211-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-212-22' value='212'/>

                <label for='ays-answer-212-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos enteros.</label><label for='ays-answer-212-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-213-22' value='213'/>

                <label for='ays-answer-213-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos continuos.</label><label for='ays-answer-213-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['61'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Al ser texto que expresa opiniones, son datos de tipo cualitativo. Puedes revisar esta información en <a href="https://dialektico.com/tipos-de-datos/">esta lección</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='62' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Dado que se va a dividir el conjunto de datos en entradas (reseñas) y salidas (positivas o negativas), ¿qué tipo aprendizaje de máquinas es el mejor para modelar estas relaciones?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-214-22' value='214'/>

                <label for='ays-answer-214-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje por refuerzo.</label><label for='ays-answer-214-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-215-22' value='215'/>

                <label for='ays-answer-215-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje no supervisado.</label><label for='ays-answer-215-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-216-22' value='216'/>

                <label for='ays-answer-216-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje newtoniano.</label><label for='ays-answer-216-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-217-22' value='217'/>

                <label for='ays-answer-217-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje supervisado.</label><label for='ays-answer-217-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['62'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El aprendizaje supervisado es el tipo de machine learning que mejor trabaja en entrenar modelos utilizando datos completamente etiquetados.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='63' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Se está buscando entrenar un modelo para clasificar datos en categorías, ¿cuál de los siguientes algoritmos puede procrear un modelo que cumpla con este objetivo satisfactoriamente?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-218-22' value='218'/>

                <label for='ays-answer-218-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión lineal.</label><label for='ays-answer-218-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-219-22' value='219'/>

                <label for='ays-answer-219-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión logística.</label><label for='ays-answer-219-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-220-22' value='220'/>

                <label for='ays-answer-220-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión de Galois.</label><label for='ays-answer-220-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-221-22' value='221'/>

                <label for='ays-answer-221-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Función de pérdida.</label><label for='ays-answer-221-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['63'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La regresión logística es el modelo que mejor se adecúa al problema, ya que genera un modelo que clasifica datos conforme a probabilidades de pertenencia.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  86%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-22 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-22 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-22 #ays_finish_quiz_22 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-22{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-22 #ays_finish_quiz_22 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-22 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-22 .ays_question_hint,
            #ays-quiz-container-22 label[for^="ays-answer-"],
            #ays-quiz-container-22 #ays_finish_quiz_22 p,
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-fs-title,
            #ays-quiz-container-22 .ays-fs-subtitle,
            #ays-quiz-container-22 .logged_in_message,
            #ays-quiz-container-22 .ays_score_message,
            #ays-quiz-container-22 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-22 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-22 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-22 .ays-quiz-password-message-box,
            #ays-quiz-container-22 .ays-quiz-question-note-message-box,
            #ays-quiz-container-22 .ays_quiz_question,
            #ays-quiz-container-22 .ays-quiz-question-category-box,
            #ays-quiz-container-22 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-22 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-22 textarea,
            #ays-quiz-container-22 input::first-letter,
            #ays-quiz-container-22 select::first-letter,
            #ays-quiz-container-22 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-22 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-22 .select2-container,
            #ays-quiz-container-22 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-22 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-22 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-22 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-22 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-22 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-22 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-22 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-22 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-22 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-22 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-22 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-22 input[type='button'],
            #ays-quiz-container-22 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-22 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-22 .information_form input[type='text'],
            #ays-quiz-container-22 .information_form input[type='url'],
            #ays-quiz-container-22 .information_form input[type='number'],
            #ays-quiz-container-22 .information_form input[type='email'],
            #ays-quiz-container-22 .information_form input[type='checkbox'],
            #ays-quiz-container-22 .information_form input[type='tel'],
            #ays-quiz-container-22 .information_form textarea,
            #ays-quiz-container-22 .information_form select,
            #ays-quiz-container-22 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-22 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-22 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-22 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-22 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-22 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-22 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-22 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-22 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-22 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-22 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-22 .ays_cb_and_a,
            #ays-quiz-container-22 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-22 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-22 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-22 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-22 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-22 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-22 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-22 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-22 div.lds-spinner,
            #ays-quiz-container-22 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-22 div.lds-spinner div:after,
            #ays-quiz-container-22 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-22 .lds-circle,
            #ays-quiz-container-22 .lds-facebook div,
            #ays-quiz-container-22 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-22 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-22 .lds-dual-ring::after,
            #ays-quiz-container-22 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-22 .ui.rating .icon,
            #ays-quiz-container-22 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-22 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-22 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-22 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-22 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-22 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-22 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-22 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-22 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-22 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-22 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-22 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-22 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-22 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-22 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-22 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-22 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-22 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-22 div.ays-quiz-redirection-timer,
            #ays-quiz-container-22 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-22 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-22 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-22 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-22 input#ays-submit,
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button,
            div#ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_restart_button,
            #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-22 input#ays-submit,
            #ays-quiz-container-22 #ays_finish_quiz_22 input.action-button,
            #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-22 input#ays-submit:hover,
            #ays-quiz-container-22 input#ays-submit:focus,
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:hover,
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:focus,
            #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-22 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-22 .ays_restart_button_p,
            #ays-quiz-container-22 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-22 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-22 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-22 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-22 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-22 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-22 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-22 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-22 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-22 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-22 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-22 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-22 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-22 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-22 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-22 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-22 .ays-field .select2-container--default,
            #ays-quiz-container-22 .ays-field .select2-container--default .selection,
            #ays-quiz-container-22 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-22 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-22 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-22 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-22 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-22 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-22 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-22.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-22.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-22 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-22 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-22 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-22 label[for^='ays-answer']:before,
            #ays-quiz-container-22 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-22.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-22.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-22 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-22.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-22.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-22.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-22.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-22.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-22.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-22.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-22.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-22.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-22.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-22 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-22 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-22 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-22 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-22 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-22 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-22 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-22 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-22 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-22 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-22 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-22 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-22 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-22{
                    max-width: 100%;
                }

                div#ays-quiz-container-22 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-22 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-22 .select2-container,
                #ays-quiz-container-22 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-22 input#ays-submit,
                div#ays-quiz-container-22 #ays_finish_quiz_22 .action-button,
                div#ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_restart_button,
                #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-22 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-22 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-22 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-22 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-22 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-22 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-22 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-22 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-22 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-22 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-22 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-22.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-22.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-22 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-22.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-22 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:hover,
                #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:focus,
                #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['22']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuNy4wIiwiY29yZV92ZXJzaW9uIjoiNi43LjEiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDEtMjMgMDI6MDI6NDYiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMS0yMyAwMjowMjo0NiIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjIyIiwidGl0bGUiOiJNXHUwMGU5dHJpY2FzIGRlIGNsYXNpZmljYWNpXHUwMGYzbiIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNjAsNjEsNjIsNjMiLCJvcmRlcmluZyI6IjIyIiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='22'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Entonces, podemos distinguir los siguientes elementos en este proyecto de machine learning:</p>



<ul class="wp-block-list">
<li>Conjunto de datos: está compuesto por reseñas positivas y negativas de películas. Los datos son fragmentos de texto, por lo que son <a href="https://dialektico.com/tipos-de-datos/">datos no estructurados</a>, de tipo cualitativo. Además, los datos están <a href="https://dialektico.com/datos-etiquetados-machine-learning/">etiquetados</a>, señalando cuáles reseñas son positivas y cuáles negativas.</li>



<li>Objetivo: entrenar un modelo de machine learning que clasifique reseñas en positivas o negativas.</li>



<li>Algoritmo a utilizar: algún algoritmo de aprendizaje supervisado de clasificación, como la regresión logística.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora que conocemos el <strong>caso de estudio</strong>, prosigamos con la definición de los componentes de la matriz de confusión.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tipos de falsos y verdaderos de la matriz de confusión</h3>



<p>Revisemos ahora los casos que se toman en cuenta en una matriz de confusión y dan vida a las métricas para evaluar modelos de clasificación.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Verdadero Positivo (VP)</h4>



<p>Un <strong>verdadero positivo</strong> es una entrada que el modelo ha clasificado <strong>correctamente </strong>como <strong>positiva</strong>.</p>



<p>Nuestro modelo de clasificación de reseñas de películas se ha entrenado determinando que la clase positiva es 1, por lo tanto, un <strong>verdadero positivo</strong> significa que se ha entregado al modelo una <strong>reseña positiva</strong> y este la ha <strong>clasificado correctamente</strong> en esta categoría.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VP_3.jpg" alt="MEMC VP 3" class="wp-image-11226" style="width:662px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 74" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VP_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_VP_3-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Verdadero Negativo (VN)</h4>



<p>Un <strong>verdadero negativo</strong> es una entrada que el modelo ha clasificado <strong>correctamente </strong>como <strong>negativa</strong>.</p>



<p>Dado que la clase negativa es 0, un verdadero negativo generado por el modelo de clasificación de reseñas sucede cuando se le entrega una reseña negativa y la <strong>clasifica correctamente</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VN_3.jpg" alt="MEMC VN 3" class="wp-image-11227" style="width:612px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 75" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VN_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_VN_3-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Falso Positivo (FP)</h4>



<p>Un <strong>falso positivo</strong> es un caso en el que modelo <strong>clasifica incorrectamente</strong> una entrada que pertenece a la clase <strong>negativa</strong>. En estadística también se le conoce como <strong>error Tipo I</strong>.</p>



<p>En nuestro ejemplo, un <strong>falso positivo</strong> se da cuando se le entrega al modelo clasificador una reseña negativa, y este la categoriza como reseña positiva.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FP_2.jpg" alt="MEMC FP 2" class="wp-image-11229" style="width:612px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 76" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FP_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_FP_2-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Falso Negativo (FN)</h4>



<p>Un <strong>falso negativo</strong> se da cuando el modelo ha clasificado de <strong>forma errónea</strong> una entrada que es de la clase <strong>positiva</strong>, asignándola como <strong>negativo</strong>. En estadística también se le conoce como <strong>error Tipo II</strong>.</p>



<p>En nuestro ejemplo, un <strong>falso negativo</strong> se da cuando se le entrega al modelo clasificador una reseña <strong>positiva</strong>, y este la categoriza como reseña <strong>negativa</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FN_2.jpg" alt="MEMC FN 2" class="wp-image-11230" style="width:617px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 77" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FN_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_FN_2-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Estos son los diferentes casos que componen a la matriz de confusión, los verdaderos positivos y negativos (<strong>VP </strong>y <strong>VN</strong>) y los falsos positivos y negativos (<strong>FP </strong>Y <strong>FN</strong>) son lo que se utilizan para obtener métricas de evaluación de modelos de clasificación. </p>



<p>Volvamos a la matriz de confusión.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Estructura de la Matriz de Confusión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La matriz de confusión es una herramienta para la evaluación de modelos de clasificación organizando la cantidad de clasificaciones binarias correctas e incorrectas en una matriz de dos dimensiones, como se muestra en la <strong>Figura 3.7.3</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1466" height="1131" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2.jpg" alt="matriz de confusión dialéktico" class="wp-image-11007" style="width:640px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 78" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2.jpg 1466w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2-768x593.jpg 768w" sizes="(max-width: 1466px) 100vw, 1466px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.3</strong> Matriz de confusión.</figcaption></figure>



<p>Donde, como ya vimos antes:</p>



<ul class="wp-block-list">
<li><strong>VN </strong>y <strong>VP</strong> son verdaderos positivos y negativos, ese decir, las clasificaciones realizadas <strong>correctamente</strong>.</li>



<li><strong>FN </strong>y <strong>FP </strong>son falsos positivos y negativos, ese decir, las clasificaciones realizadas <strong>incorrectamente</strong>.</li>



<li>Nótese que la <strong>diagonal </strong>de la matriz (<strong>VN</strong> y <strong>VP</strong>) muestra las predicciones <strong>correctas</strong>.</li>



<li>De forma inversa, los elementos fuera de la <strong>diagonal </strong>(<strong>FP</strong> y <strong>FN</strong>) muestran las predicciones <strong>incorrectas</strong>.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto debería quedar claro cómo está compuesta una <strong>matriz de confusión</strong>. Se trata simplemente del arreglo de los resultados de utilizar el modelo de clasificación en el <strong>conjunto de datos de prueba</strong>: se registran los <strong>errores </strong>y <strong>aciertos</strong>, y se categorizan como verdaderos o falsos respecto a cada clase (como es clasificación <strong>binaria</strong>, estas se consideran como <strong>negativa </strong>y <strong>positiva</strong>).</p>



<p>Por fin podemos hablar de las <strong>métricas </strong>que se derivan de estos valores.</p>



<p>Utilizando los resultados de una matriz de confusión, se pueden derivar las siguientes medidas para evaluar modelos de clasificación:</p>



<ul class="wp-block-list">
<li>Exactitud (<em>Accuracy</em>).</li>



<li>Precisión (<em>Precision</em>).</li>



<li>Sensibilidad (<em>Recall</em>, <em>Sensitivity</em>).</li>



<li>Puntaje F1 (<em>F1 Score</em>).</li>



<li>Curvas ROC y AUC.</li>



<li>Tasa de falsos positivos (<em>False Positive Rate</em>).</li>



<li>Tasa de falsos negativos (<em>False Negative Rate</em>).</li>



<li>Tasa de falsas omisiones (<em>False Omission Rate</em>).</li>



<li>Prevalencia (<em>Prevalence</em>).</li>



<li>Valor predictivo negativo (<em>Negative Predictive Value</em>).</li>



<li>Marcación (<em>Markedness</em>).</li>



<li>Razón de probabilidades diagnóstica (<em>Diagnostic Odds Ratio</em>).</li>



<li>Coeficiente de correlación de Matthews (<em>Matthews Correlation Coefficient</em>).</li>



<li>Puntuación de amenaza, índice de éxito crítico, índice de Jaccard (<em>Threat Score, Critical Success Index, Jaccard Index</em>).</li>



<li>Umbral de prevalencia (<em>Prevalence Threshold</em>).</li>



<li>Exactitud balanceada (<em>Balanced Accuracy</em>).</li>



<li>Índice de Fowlkes-Mallows (<em>Fowlkes-Mallows Index</em>).</li>



<li>Razón de verosimilitud positiva (<em>Positive Likelihood Ratio</em>).</li>



<li>Razón de verosimilitud negativa (<em>Negative Likelihood Ratio</em>).</li>



<li>Información (<em>Informedness</em>).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si te preguntas cómo es que se obtienen estas métricas de una matriz de confusión, lo veremos más adelante en esta exploración.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_L_1.jpg" alt="aelacor matriz de confusión dialéktico" class="wp-image-10895" style="width:500px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 79" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_L_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_L_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sí, son demasiadas, pero de entre estas se suelen usar solo un <strong>subconjunto </strong>relativamente pequeño.</p>



<p>Estas son las métricas de evaluación de modelos de clasificación más utilizadas:</p>



<ul class="wp-block-list">
<li>Exactitud.</li>



<li>Precisión.</li>



<li>Sensibilidad.</li>



<li>Puntaje F1.</li>



<li>Pérdida de entropía cruzada.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y con esto llegamos a las <strong>medidas </strong>que estaremos conociendo y poniendo a prueba aquí. Tenemos cuatro métricas derivadas de la matriz de confusión, y una obtenida por función de pérdida (<strong>entropía cruzada</strong>). Estas son de bastante utilidad para la evaluación de modelos de clasificación.</p>



<p>Para entenderlo mejor, lo desarrollaremos y veremos aplicado a nuestro caso de estudio de clasificación de reseñas.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M3.jpg" alt="MEMC M3" class="wp-image-11013" style="width:601px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 80" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M3.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_M3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Ejemplo de evaluación de modelo de machine learning con métricas de la matriz de confusión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Supondremos que hemos <strong>entrenado </strong>un modelo de aprendizaje supervisado para la categorización de reseñas de películas, y lo hemos utilizado sobre un conjunto de datos de prueba, donde obtuvimos los siguientes resultados:</p>



<ul class="wp-block-list">
<li><strong>Verdaderos Positivos (VP)</strong>: 90 reseñas positivas fueron clasificadas correctamente como positivas.</li>



<li><strong>Verdaderos Negativos (VN)</strong>: 80 reseñas negativas fueron clasificadas correctamente como negativas.</li>



<li><strong>Falsos Positivos (FP)</strong>: 20 reseñas negativas fueron clasificadas incorrectamente como positivas.</li>



<li><strong>Falsos Negativos (FN)</strong>: 10 reseñas positivas fueron clasificadas incorrectamente como negativas.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora organizamos esta información en la matriz de confusión:</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td>90</td><td>20</td></tr><tr><td>10</td><td>80</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.7.1</strong> Matriz de confusión con resultados obtenidos utilizando el modelo clasificador de reseñas de películas.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Compara esta matriz con la de la imagen Figura <strong><a href="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2.jpg">3.7.3</a></strong> y podrás notar cómo es que se han realizado los acomodos de las cifras obtenidas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas Derivadas de la Matriz de Confusión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con lo que hemos visto hasta ahora basta para poder aprender sobre métricas de evaluación de modelos de clasificación, para lo cual se utilizan los valores organizados en la matriz de confusión, y se calculan mediante fórmulas sencillas. </p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Exactitud (Accuracy)</h3>



<p>La exactitud es una métrica que mide la proporción de clasificaciones correctas entre todas las clasificaciones realizadas. Se calcula con la siguiente fórmula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Exactitud} = \frac{VP + VN}{VP + VN + FP + FN}, \tag{3.69}</pre></div>



<p>donde <strong>VP</strong>, <strong>VN</strong>, <strong>FP</strong> y <strong>FN </strong>son los valores de la matriz de confusión revisados en la sección anterior. Esta fórmula es bastante simple, consiste en sumar las predicciones correctas (<strong>VP </strong>y <strong>VN</strong>) y dividirlas entre todas las demás, por lo que arroja una proporción de los datos correctamente clasificados por el modelo.</p>



<p>Aquí haremos una breve pausa para revisar un término de <strong>importancia medular</strong>. Para interpretar correctamente esta métrica y las subsecuentes, debemos tener en cuenta un tipo de estructura que puede presentar un conjunto de datos: <strong>datos desbalanceados</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Influencia de datos desbalanceados en métricas de rendimiento</h4>



<p>Como vimos en la exploración pasada, los <strong><a href="https://dialektico.com/datos-desbalanceados-definicion-ejemplos/">datos desbalanceados</a></strong> es una propiedad de un conjunto de datos en el que las categorías (datos de salida objetivo para el entrenamiento de un modelo de clasificación) no están repartidas de manera equitativa. Esto significa que una o más clases tienen significativamente más <strong>ejemplos de entrenamiento</strong> que otras.</p>



<p>Para ilustrarlo, recordemos que tenemos <strong><a href="https://dialektico.com/wp-content/uploads/2024/09/CDE_Ejemplos_etiq.jpg">datos etiquetados</a></strong>, donde, en el caso de las tareas de clasificación, se designan clases a cada uno de los ejemplos de entrenamiento. Sin embargo, estos datos pueden llegar a estar <strong>desproporcionados </strong>(<strong>desbalanceados</strong>). Un ejemplo se puede observar en la <strong>Figura 3.7.4</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1284" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Datos_des.jpg" alt="datos desbalanceados dialéktico" class="wp-image-11015" style="width:651px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 81" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Datos_des.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_Datos_des-768x963.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.4</strong> Representación gráfica de datos balanceados (superior) y desbalanceados (inferior), donde se puede notar una proporción muy separada de datos para las diferentes clases. </figcaption></figure>



<p>Pongamos otro ejemplo: se podrían tener 200 datos etiquetados con la <strong>clase 1</strong>, y solo 10 datos etiquetados con la <strong>clase 0</strong>. Esto significa que no se tiene una proporción igual entre datos que pertenecen a ambas clases (5% de los datos de una clase, y 95% de otra clase).</p>



<p>Esto puede llegar a generar confusión, ya que un modelo podría <strong>acertar </strong>en <strong>predecir </strong>todas las clases de <strong>tipo 1</strong> y fallar en todas las clases de <strong>tipo 0,</strong> pero aun así, si calculamos su exactitud como se hace en la <strong>Ecuación (3.69)</strong>, su precisión sería del 95%, porque las clases están desbalanceadas. Sin embargo, como en realidad no ha logrado clasificar correctamente ningún dato en la clase 0, se podría concluir que en realidad es 50% efectiva, lo cual lo hace un modelo poco eficiente.</p>



<p>Este tema de datos desbalanceados es algo que se debe tener en cuenta al evaluar modelos de clasificación. En una ocasión futura, veremos <strong>técnicas </strong>para lidiar con esto desde el preprocesamiento de datos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación de la exactitud</h4>



<p>Ahora sí, volvamos con la métrica de <strong>Exactitud</strong>, y expliquemos como se interpreta. Esta mide la proporción de <strong>predicciones correctas</strong> realizadas por un modelo en relación con el total de predicciones. Es decir, evalúa qué tan bien el modelo clasificó correctamente tanto los casos <strong>positivos </strong>como los <strong>negativos </strong>en un conjunto de datos.</p>



<p>Los resultados de esta métrica se interpretan como sigue:</p>



<ul class="wp-block-list">
<li><strong>Exactitud alta</strong> <strong>(valores cercanos a 1)</strong>: Indican que el modelo tuvo un alto porcentaje de predicciones correctas.</li>



<li><strong>Exactitud baja</strong> <strong>(valores cercanos a 0)</strong>: Indican un bajo desempeño del modelo, es decir, muchas predicciones incorrectas.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Limitaciones en cuanto a datos desbalanceados:</p>



<ul class="wp-block-list">
<li>En conjuntos de datos con clases desbalanceadas (por ejemplo, como ya hemos visto, donde los datos positivos son muy pocos en comparación con los negativos), la exactitud puede ser engañosa. Un modelo podría obtener una alta exactitud simplemente prediciendo siempre la clase con mayor predominancia. En estos casos, es mejor considerar métricas adicionales como la precisión, la sensibilidad (recall) o la métrica F1, que veremos a continuación.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ejemplo de cálculo e interpretación de la exactitud</h3>



<p>Ahora calcularemos la exactitud del modelo clasificador de reseñas. De acuerdo a los valores de la matriz mostrados en la <strong>Tabla 3.7.1</strong> y a la fórmula de la <strong>Ecuación (3.69)</strong>, se calcula como sigue.</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Exactitud} = \frac{VP + VN}{VP + VN + FP + FN} = \frac{90 + 80}{90 + 80 + 20 + 10} = \frac{170}{200} = 0.85 \tag{3.70}</pre></div>



<p>Esto implica que el modelo tiene una exactitud del 85%, es decir, el modelo clasifica <strong>correctamente </strong>el 85% de las reseñas de películas. Es una buena métrica general, pero puede ser engañosa si las clases están <strong>desbalanceadas </strong>(no es el caso en nuestro ejemplo).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Precisión (Precision)</h3>



<p>La precisión es una métrica que mide la proporción de clasificaciones de la <strong>clase positiva</strong> que se han hecho correctamente entre todos los datos pertenecientes a la <strong>clase positiva</strong>. Se calcula con la siguiente fórmula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Precisión} = \frac{VP}{VP + FP}. \tag{3.71}</pre></div>



<p>Nótese que esta fórmula solo considera los <strong>positivos</strong>, tanto los <strong>aciertos </strong>como los <strong>errores</strong>. Quiere decir que refleja el porcentaje de datos correctamente clasificados para la clase 1 (positiva).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación de la precisión</h4>



<p>Los resultados de la precisión se interpretan de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>Precisión alta (valores cercanos a 1)</strong>: Significa que la mayoría de las predicciones positivas del modelo son correctas. Es decir, el modelo tiene pocos <strong>falsos positivos</strong>. Es importante en escenarios donde los falsos positivos son costosos o críticos, como en el diagnóstico médico.</li>



<li><strong>Precisión baja (valores cercanos a 0)</strong>: Indica que el modelo realiza muchas predicciones positivas incorrectas, lo que sugiere un número elevado de falsos positivos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cálculo e interpretación en el ejemplo propuesto</h3>



<p>Calcularemos la precisión del modelo clasificador de reseñas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Precisión} = \frac{VP}{VP + FP} = \frac{90}{90 + 20} = \frac{90}{110} \approx 0.818 \tag{3.72}
</pre></div>



<p>La <strong>precisión </strong>es aproximadamente 81.8%, lo que significa que de todas las reseñas clasificadas como positivas, el 81.8% realmente son positivas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Sensibilidad o Exhaustividad (Recall)</h3>



<p>La <strong>sensibilidad </strong>o <strong>exhaustividad </strong>es una métrica que mide el porcentaje de casos positivos correctamente identificados como positivos, considerando también aquellos positivos mal clasificados. Se calcula con la siguiente fórmula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Sensibilidad} = \frac{VP}{VP + FN} \tag{3.73}</pre></div>



<p>Esta fórmula se diferencia de la precisión porque considera a los <strong>falsos negativos (FN)</strong>, lo cual sucede porque su objetivo principal es medir la capacidad del modelo para identificar correctamente los casos positivos. Los falsos negativos representan los casos positivos que el modelo no logró detectar, por lo que son fundamentales para evaluar esta métrica. Si el modelo tiene un número alto de <strong>falsos negativos</strong>, significa que está fallando en detectar una gran cantidad de casos positivos. Esto reduce el valor de la Exhaustividad, indicando un desempeño deficiente en la detección de la clase positiva.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación de la sensibilidad </h4>



<p>Los resultados de la sensibilidad se interpretan de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>Exhaustividad alta (valores cercanos a 1):</strong> El modelo es muy efectivo detectando los casos positivos. Es decir, tiene pocos falsos negativos. Esta métrica es ideal en escenarios donde es crucial no pasar por alto falsos negativos.</li>



<li><strong>Exhaustividad baja (valores cercanos a 0):</strong> Indica que el modelo falla al identificar muchos casos positivos, generando un alto número de falsos negativos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cálculo e interpretación en el ejemplo propuesto</h3>



<p>Calcularemos la sensibilidad del modelo clasificador de reseñas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Sensibilidad} = \frac{VP}{VP + FN} = \frac{90}{90 + 10} = \frac{90}{100} = 0.9
 \tag{3.74}
</pre></div>



<p>La <strong>sensibilidad </strong>obtenida es del 90%, lo que indica que nuestro modelo detecta correctamente el 90% de las <strong>reseñas positivas</strong>. Esta métrica es útil cuando queremos reducir los <strong>falsos negativos</strong>, priorizando que la mayoría de las reseñas positivas se clasifiquen correctamente.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_2.jpg" alt="MEMC K 2" class="wp-image-11019" style="width:515px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 82" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Casi, pero tienen una pequeña/gran diferencia. Creo que esto se puede prestar a malinterpretaciones, así que revisemos con un poco más de detalle.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Diferencia entre Precisión (precision) y Sensibilidad (recall) | Opcional</h4>



<p>La precisión y la sensibilidad son métricas que calculan proporciones de verdaderos positivos, pero no sobre el mismo grupo de información. Considérese lo siguiente:</p>



<ul class="wp-block-list">
<li>La <strong>precisión </strong>se obtiene dividiendo los <strong>verdaderos positivos</strong> entre la suma de <strong>verdaderos positivos</strong> y <strong>falsos positivos</strong> (<strong><a href="https://dialektico.com/wp-content/uploads/2025/01/ec371.png">Ecuación 3.71</a></strong>). Recordemos que un falso positivo es una predicción errónea, lo cual significa que es un valor de la clase negativa (el modelo la asignó a la clase positiva, pero no acertó). Esto quiere decir que la precisión está obteniendo el porcentaje de predicciones correctas de la clase positiva entre las predicciones correctas e incorrectas de verdaderos positivos. Por lo tanto, un alto valor de precisión indica que el valor de los falsos positivos es bajo, y el modelo está clasificando datos correctamente en la clase positiva, entre otras palabras: de todas las <strong>predicciones positivas</strong> que hizo el modelo, cuántas son correctas.</li>



<li>Por otro lado, la <strong>sensibilidad </strong>es la proporción de <strong>verdaderos positivos</strong> entre la suma de<strong> verdaderos positivos</strong> y <strong>falsos negativos</strong> (<a href="https://dialektico.com/wp-content/uploads/2025/01/ec373.png">Ecuación 3.73</a>). Los falsos negativos son valores que el modelo clasificó incorrectamente, que en realidad eran positivos, pero se clasificaron como negativos. Esto significa que la sensibilidad toma en cuenta no solo los datos que el modelo asignó a la clase positiva, sino también los positivos que quedaron asignados a la clasificación incorrecta. Esto se traduce en que se calcula cuántos datos de la <strong>clase positiva</strong> fueron detectados entre todos los que corresponden realmente a este.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¿Te parece un poco embrolloso?, lo resumiremos de esta forma:</p>



<ul class="wp-block-list">
<li>La <strong>precisión </strong>prioriza la <strong>minimización </strong>de los <strong>falsos positivos</strong>. Si necesitas que estos sean menores, utiliza esta métrica para ajustar los parámetros de tu modelo. Un ejemplo típico de esto es el <strong>diagnóstico médico</strong>, ya que un <strong>falso positivo</strong> se puede traducir en predecir incorrectamente una enfermedad (el positivo indica que el paciente está enfermo, por lo tanto, un falso positivo es un paciente mal diagnosticado con una enfermedad que no tiene), por lo que minimizar falsos positivos evita tratamientos innecesarios.</li>



<li>La <strong>sensibilidad minimiza </strong>los <strong>falsos negativos</strong>. Si la prioridad es que el modelo no de por alto estos casos, esta métrica es la indicada para realizar ajustes. Un ejemplo de esto es la <strong>detección de fraudes</strong>, donde un valor negativo indica que una transacción no es un fraude; imagina que el modelo predice de forma errónea que una transacción fraudulenta no es un fraude, esto implicaría pérdidas monetarias.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora mucho más resumido:</p>



<p>La importancia de la precisión o sensibilidad depende del contexto:</p>



<ul class="wp-block-list">
<li><strong>Priorizar precisión</strong>: Si es crucial minimizar los falsos positivos.</li>



<li><strong>Priorizar sensibilidad</strong>/<strong>recall</strong>: Si es crucial minimizar los falsos negativos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Puntuación F1 (F1 Score)</strong></h3>



<p>Por último, el <strong>puntaje F1</strong> es una métrica que combina la <strong>precisión</strong> y el <strong>recall</strong> en un único valor que equilibra ambas métricas. Es especialmente útil cuando se desea un balance entre precisión y sensibilidad.</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre> \text{F1} = 2 \times \frac{\text{Precisión} \times \text{Exhaustividad}}{\text{Precisión} + \text{Exhaustividad}}
 \tag{3.75}</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación del puntaje F1</h4>



<p>Los resultados de F1 se interpretan de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>F1 alto (valores cercanos a 1):</strong> Indica que el modelo tiene un buen equilibrio entre precisión y sensibilidad (recall). Es decir, detecta correctamente la mayoría de los positivos reales (alta sensibilidad) y sus predicciones positivas son confiables (alta precisión).</li>



<li><strong>F1 bajo (valores cercanos a 0):</strong> Refleja un desempeño pobre del modelo, ya sea porque tiene baja precisión (muchos falsos positivos), baja sensibilidad (muchos falsos negativos), o ambos.</li>
</ul>



<p>El F1-Score es especialmente útil en escenarios donde:</p>



<ul class="wp-block-list">
<li>Hay un <strong>desequilibrio en las clases</strong> (una clase es mucho más frecuente que otra).</li>



<li>Es importante un <strong>balance entre precisión y recall</strong>.</li>



<li>Los <strong>falsos positivos y falsos negativos tienen un costo similar</strong>, y no se puede priorizar una métrica sobre la otra.</li>
</ul>



<p>F1 es un mediador entre <strong>sensibilidad </strong>y <strong>precisión</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cálculo e interpretación en el ejemplo propuesto</h3>



<p>Calcularemos el puntaje F1 del modelo clasificador de reseñas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
F1 &amp;= 2 \cdot \frac{\text{Precisión} \cdot \text{Sensibilidad}}{\text{Precisión} + \text{Sensibilidad}} \\
   &amp;= 2 \cdot \frac{0.8181 \cdot 0.9}{0.8181 + 0.9} \\
   &amp;= 2 \cdot \frac{0.7363}{1.7181} \\
   &amp;= 2 \cdot 0.4286 \\
   &amp;= 0.8571
\end{aligned}</pre></div>



<p>El <strong>F1-Score</strong> obtenido es de aproximadamente 0.85, lo que indica que el modelo tiene un buen equilibrio entre precisión (0.81) y recall (0.90). Esto significa que:</p>



<ul class="wp-block-list">
<li>Aunque hay algunos falsos positivos, la mayoría de las predicciones positivas son correctas (<strong>precisión moderadamente alta</strong>).</li>



<li>El modelo es capaz de identificar correctamente una gran cantidad de reseñas positivas (<strong>recall/sensibilidad alta</strong>).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-color has-link-color wp-elements-ab3a07d07aab51a754908fc5148c237a" style="color:#9f1212"><strong>Nota sobre las métricas de la matriz de confusión</strong></p>



<p>Las métricas antes expuestas, derivadas de la <strong>matriz de confusión</strong>, son muy variadas, pero la mayoría son poco conocidas. Esto es porque solo se suelen utilizar las que mencioné en la última lista. Sin embargo, como seguro ya saben, para mí es importante que tengan el conocimiento de todo el abanico de posibilidades que tienen a su disposición para evaluar modelos.</p>



<p>Una buena síntesis gráfica de estas medidas es la que se muestra en la <strong>Figura 3.7.5</strong>, donde se puede observar la relación que existe entre las métricas y los valores predichos y reales.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="960" height="776" src="https://dialektico.com/wp-content/uploads/2024/11/image.png" alt="image" class="wp-image-10898" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 83" srcset="https://dialektico.com/wp-content/uploads/2024/11/image.png 960w, https://dialektico.com/wp-content/uploads/2024/11/image-768x621.png 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-element-caption">F<strong>igura 3.7.5</strong> Métricas obtenidas mediante operaciones con los valores de una matriz de confusión. Recuperado de (<a href="https://en.wikipedia.org/wiki/Confusion_matrix" target="_blank" rel="noopener">&lt;&lt;Confusion matrix&gt;&gt; s. f., Wikipedia.org</a>).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta imagen está en inglés porque proviene de <a href="https://en.wikipedia.org/wiki/Confusion_matrix" target="_blank" rel="noopener">Wikipedia</a> en inglés, y la traducción automática al español me pareció imprecisa. Creo que tiene una organización que vale la pena revisar.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="512" height="512" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_meme.jpg" alt="MEMC meme" class="wp-image-10899" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 84"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_1_2.jpg" alt="MEMC D 1 2" class="wp-image-11027" style="width:502px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 85" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Que en este caso, son estas:</p>



<ol class="wp-block-list">
<li>&nbsp;Fawcett, Tom (2006).&nbsp;<a href="http://people.inf.elte.hu/kiss/11dwhdm/roc.pdf" target="_blank" rel="noopener">«An Introduction to ROC Analysis»</a>&nbsp;(PDF).&nbsp;<em>Pattern Recognition Letters</em>.&nbsp;<strong>27</strong>&nbsp;(8): 861–874.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1016%2Fj.patrec.2005.10.010" target="_blank" rel="noopener">10.1016/j.patrec.2005.10.010</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/S2CID_(identifier)" target="_blank" rel="noopener">S2CID</a>&nbsp;<a href="https://api.semanticscholar.org/CorpusID:2027090" target="_blank" rel="noopener">2027090</a>.</li>



<li>Provost, Foster; Tom Fawcett (2013-08-01).&nbsp;<a href="https://www.researchgate.net/publication/256438799" target="_blank" rel="noopener">«Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking»</a>.&nbsp;<em>O&#8217;Reilly Media, Inc</em>.</li>



<li>Powers, David M. W. (2011).&nbsp;<a href="https://www.researchgate.net/publication/228529307" target="_blank" rel="noopener">«Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness &amp; Correlation»</a>.&nbsp;<em>Journal of Machine Learning Technologies</em>.&nbsp;<strong>2</strong>&nbsp;(1): 37–63.</li>



<li>Ting, Kai Ming (2011). Sammut, Claude; Webb, Geoffrey I. (eds.).&nbsp;<em>Encyclopedia of machine learning</em>. Springer.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1007%2F978-0-387-30164-8" target="_blank" rel="noopener">10.1007/978-0-387-30164-8</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/ISBN_(identifier)" target="_blank" rel="noopener">ISBN</a>&nbsp;<a href="https://en.wikipedia.org/wiki/Special:BookSources/978-0-387-30164-8" target="_blank" rel="noopener"><bdi>978-0-387-30164-8</bdi></a>.</li>



<li>Brooks, Harold; Brown, Barb; Ebert, Beth; Ferro, Chris; Jolliffe, Ian; Koh, Tieh-Yong; Roebber, Paul; Stephenson, David (2015-01-26).&nbsp;<a href="https://www.cawcr.gov.au/projects/verification/" target="_blank" rel="noopener">«WWRP/WGNE Joint Working Group on Forecast Verification Research»</a>.&nbsp;<em>Collaboration for Australian Weather and Climate Research</em>. World Meteorological Organisation. Retrieved&nbsp;2019-07-17.</li>



<li>Chicco D, Jurman G (January 2020).&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6941312" target="_blank" rel="noopener">«The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation»</a>.&nbsp;<em>BMC Genomics</em>.&nbsp;<strong>21</strong>&nbsp;(1): 6-1–6-13.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1186%2Fs12864-019-6413-7" target="_blank" rel="noopener">10.1186/s12864-019-6413-7</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMC_(identifier)" target="_blank" rel="noopener">PMC</a>&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6941312" target="_blank" rel="noopener">6941312</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMID_(identifier)" target="_blank" rel="noopener">PMID</a>&nbsp;<a href="https://pubmed.ncbi.nlm.nih.gov/31898477" target="_blank" rel="noopener">31898477</a>.</li>



<li>Chicco D, Toetsch N, Jurman G (February 2021).&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7863449" target="_blank" rel="noopener">«The Matthews correlation coefficient (MCC) is more reliable than balanced accuracy, bookmaker informedness, and markedness in two-class confusion matrix evaluation»</a>.&nbsp;<em>BioData Mining</em>.&nbsp;<strong>14</strong>&nbsp;(13): 13.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1186%2Fs13040-021-00244-z" target="_blank" rel="noopener">10.1186/s13040-021-00244-z</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMC_(identifier)" target="_blank" rel="noopener">PMC</a>&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7863449" target="_blank" rel="noopener">7863449</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMID_(identifier)" target="_blank" rel="noopener">PMID</a>&nbsp;<a href="https://pubmed.ncbi.nlm.nih.gov/33541410" target="_blank" rel="noopener">33541410</a>.</li>



<li>Tharwat A. (August 2018).&nbsp;<a href="https://doi.org/10.1016%2Fj.aci.2018.08.003" target="_blank" rel="noopener">«Classification assessment methods»</a>.&nbsp;<em>Applied Computing and Informatics</em>.&nbsp;<strong>17</strong>: 168–192.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1016%2Fj.aci.2018.08.003" target="_blank" rel="noopener">10.1016/j.aci.2018.08.003</a>.</li>
</ol>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En fin, solo estoy divagando de nuevo. Volvamos a donde estábamos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-23'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_23' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_23' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_23' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='23'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='64,65,66,67'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='64' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de las siguientes son métricas derivadas de la matriz de confusión?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-222-23' value='222'/>

                <label for='ays-answer-222-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Sensibilidad.</label><label for='ays-answer-222-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-223-23' value='223'/>

                <label for='ays-answer-223-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Luminosidad.</label><label for='ays-answer-223-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-224-23' value='224'/>

                <label for='ays-answer-224-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Verosimilitud.</label><label for='ays-answer-224-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-225-23' value='225'/>

                <label for='ays-answer-225-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Exactitud.</label><label for='ays-answer-225-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['64'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La sensibilidad y la exactitud son medidas calculadas mediante valores de la matriz de confusión.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='65' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué metrica se utiliza para medir el balance entre la sensibilidad y la precisión?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-226-23' value='226'/>

                <label for='ays-answer-226-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Sensibilidad.</label><label for='ays-answer-226-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-227-23' value='227'/>

                <label for='ays-answer-227-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Puntaje F1</label><label for='ays-answer-227-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-228-23' value='228'/>

                <label for='ays-answer-228-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Exactitud.</label><label for='ays-answer-228-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-229-23' value='229'/>

                <label for='ays-answer-229-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Precisión.</label><label for='ays-answer-229-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['65'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El Puntaje F1 mide el balance entre la sensibilidad y la precisión.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='66' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué metrica se utiliza si necesito minimizar los falsos positivos?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-230-23' value='230'/>

                <label for='ays-answer-230-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Sensibilidad.</label><label for='ays-answer-230-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-231-23' value='231'/>

                <label for='ays-answer-231-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Puntaje F1</label><label for='ays-answer-231-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-232-23' value='232'/>

                <label for='ays-answer-232-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Exactitud.</label><label for='ays-answer-232-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-233-23' value='233'/>

                <label for='ays-answer-233-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Precisión.</label><label for='ays-answer-233-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['66'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La precisión minimiza los falsos positivos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='67' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál de los siguientes es un error de tipo 1?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-234-23' value='234'/>

                <label for='ays-answer-234-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso negativo.</label><label for='ays-answer-234-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-235-23' value='235'/>

                <label for='ays-answer-235-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero negativo.</label><label for='ays-answer-235-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-236-23' value='236'/>

                <label for='ays-answer-236-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero positivo.</label><label for='ays-answer-236-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-237-23' value='237'/>

                <label for='ays-answer-237-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso positivo.</label><label for='ays-answer-237-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['67'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un falso positivo es también conocido como error de tipo 1.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  80%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-23 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-23 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-23 #ays_finish_quiz_23 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-23{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-23 #ays_finish_quiz_23 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-23 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-23 .ays_question_hint,
            #ays-quiz-container-23 label[for^="ays-answer-"],
            #ays-quiz-container-23 #ays_finish_quiz_23 p,
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-fs-title,
            #ays-quiz-container-23 .ays-fs-subtitle,
            #ays-quiz-container-23 .logged_in_message,
            #ays-quiz-container-23 .ays_score_message,
            #ays-quiz-container-23 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-23 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-23 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-23 .ays-quiz-password-message-box,
            #ays-quiz-container-23 .ays-quiz-question-note-message-box,
            #ays-quiz-container-23 .ays_quiz_question,
            #ays-quiz-container-23 .ays-quiz-question-category-box,
            #ays-quiz-container-23 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-23 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-23 textarea,
            #ays-quiz-container-23 input::first-letter,
            #ays-quiz-container-23 select::first-letter,
            #ays-quiz-container-23 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-23 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-23 .select2-container,
            #ays-quiz-container-23 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-23 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-23 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-23 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-23 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-23 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-23 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-23 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-23 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-23 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-23 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-23 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-23 input[type='button'],
            #ays-quiz-container-23 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-23 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-23 .information_form input[type='text'],
            #ays-quiz-container-23 .information_form input[type='url'],
            #ays-quiz-container-23 .information_form input[type='number'],
            #ays-quiz-container-23 .information_form input[type='email'],
            #ays-quiz-container-23 .information_form input[type='checkbox'],
            #ays-quiz-container-23 .information_form input[type='tel'],
            #ays-quiz-container-23 .information_form textarea,
            #ays-quiz-container-23 .information_form select,
            #ays-quiz-container-23 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-23 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-23 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-23 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-23 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-23 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-23 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-23 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-23 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-23 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-23 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-23 .ays_cb_and_a,
            #ays-quiz-container-23 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-23 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-23 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-23 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-23 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-23 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-23 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-23 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-23 div.lds-spinner,
            #ays-quiz-container-23 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-23 div.lds-spinner div:after,
            #ays-quiz-container-23 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-23 .lds-circle,
            #ays-quiz-container-23 .lds-facebook div,
            #ays-quiz-container-23 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-23 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-23 .lds-dual-ring::after,
            #ays-quiz-container-23 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-23 .ui.rating .icon,
            #ays-quiz-container-23 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-23 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-23 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-23 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-23 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-23 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-23 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-23 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-23 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-23 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-23 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-23 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-23 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-23 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-23 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-23 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-23 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-23 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-23 div.ays-quiz-redirection-timer,
            #ays-quiz-container-23 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-23 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-23 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-23 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-23 input#ays-submit,
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button,
            div#ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_restart_button,
            #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-23 input#ays-submit,
            #ays-quiz-container-23 #ays_finish_quiz_23 input.action-button,
            #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-23 input#ays-submit:hover,
            #ays-quiz-container-23 input#ays-submit:focus,
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:hover,
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:focus,
            #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-23 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-23 .ays_restart_button_p,
            #ays-quiz-container-23 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-23 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-23 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-23 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-23 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-23 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-23 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-23 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-23 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-23 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-23 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-23 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-23 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-23 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-23 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-23 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-23 .ays-field .select2-container--default,
            #ays-quiz-container-23 .ays-field .select2-container--default .selection,
            #ays-quiz-container-23 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-23 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-23 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-23 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-23 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-23 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-23 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-23.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-23.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-23 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-23 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-23 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-23 label[for^='ays-answer']:before,
            #ays-quiz-container-23 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-23.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-23.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-23 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-23.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-23.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-23.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-23.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-23.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-23.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-23.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-23.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-23.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-23.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-23 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-23 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-23 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-23 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-23 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-23 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-23 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-23 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-23 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-23 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-23 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-23 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-23 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-23{
                    max-width: 100%;
                }

                div#ays-quiz-container-23 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-23 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-23 .select2-container,
                #ays-quiz-container-23 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-23 input#ays-submit,
                div#ays-quiz-container-23 #ays_finish_quiz_23 .action-button,
                div#ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_restart_button,
                #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-23 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-23 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-23 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-23 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-23 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-23 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-23 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-23 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-23 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-23 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-23 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-23.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-23.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-23 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-23.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-23 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:hover,
                #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:focus,
                #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['23']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuNy4wIiwiY29yZV92ZXJzaW9uIjoiNi43LjEiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDEtMjMgMDI6MDA6NDQiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMS0yMyAwMjowMDo0NCIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjIzIiwidGl0bGUiOiJNXHUwMGU5dHJpY2FzIGRlIGNsYXNpZmljYWNpXHUwMGYzbiAyIiwiZGVzY3JpcHRpb24iOiJDb250ZXN0YSBsYXMgc2lndWllbnRlcyBwcmVndW50YXMiLCJxdWl6X2ltYWdlIjoiIiwicXVpel9jYXRlZ29yeV9pZCI6IjIiLCJxdWVzdGlvbl9pZHMiOiI2NCw2NSw2Niw2NyIsIm9yZGVyaW5nIjoiMjMiLCJwdWJsaXNoZWQiOiIxIiwiaW50ZXJ2YWxzIjpudWxsLCJxdWl6X3VybCI6IiIsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='23'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas de evaluación de modelos de clasificación con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 86" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Pasemos al campo de batalla. En esta práctica calcularemos medidas de evaluación de los modelos de clasificación que trabajamos en la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">introducción a la regresión logística</a>, y haremos el análisis de los resultados, para derivar las conclusiones correspondientes.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_modelo_clasificaci%C3%B3n.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 87" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes previsualizar el contenido aquí:</p>



<script src="https://gist.github.com/DanielDialektico/4f4cd880d1787db420c09de917ed29ab.js"></script>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así concluye esta (un poco) larga sesión. Estas <strong>métricas </strong>las verás varias veces a lo largo de tu carrera, es por eso que le hemos dedicado especial detalle. En la siguiente aventura hablaremos sobre el subajuste y sobreajuste de modelos de machine learning, otro tópico altamente relevante para la ciencia de datos.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/subajuste-sobreajuste-teoria-programacion/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 88"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/metricas-clasificacion-matriz-confusion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Función de pérdida de la regresión logística</title>
		<link>https://dialektico.com/funcion-perdida-regresion-logistica/</link>
					<comments>https://dialektico.com/funcion-perdida-regresion-logistica/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Wed, 31 Jul 2024 05:04:12 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[aprendizaje supervisado]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[funciones de pérdida]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=8774</guid>

					<description><![CDATA[Como ya hemos aprendimos durante la introducción a las funciones de pérdida, el fin de estas funciones es realizar mediciones sobre qué tan cercanos a los datos reales son los cálculos realizados por un modelo entrenado con un algoritmo de aprendizaje de máquinas. Cuando se trata de este tema, lo más convencional es iniciar su [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Como ya hemos aprendimos durante la <a href="https://dialektico.com/funciones-de-perdida-machine-learning/">introducción a las funciones de pérdida</a>, el fin de estas funciones es realizar mediciones sobre qué tan cercanos a los datos reales son los cálculos realizados por un <strong>modelo </strong>entrenado con un algoritmo de <strong><a href="https://dialektico.com/introduccion-machine-learning/">aprendizaje de máquinas</a></strong>.</p>



<p>Cuando se trata de este tema, lo más convencional es iniciar su estudio utilizando como referencia las funciones de costo para <a href="https://dialektico.com/aprendizaje-supervisado/#regClaf">algoritmos de regresión</a>, como es el caso del <strong>error cuadrático medio</strong> (MSE). Sin embargo, es importante conocer cómo opera una función de pérdida para <strong>algoritmos de clasificación</strong>, para lo cual invocaremos y estudiaremos la función de error utilizada para la optimización de parámetros en la <strong><a href="https://dialektico.com/regresion-logistica-fundamentos/">regresión logística</a> </strong>y<strong> </strong>otros algoritmos de modelos de clasificación: la <strong>función de entropía cruzada binaria</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_Nivel_2.jpg" alt="FPL Nivel 2" class="wp-image-10686" style="width:540px;height:auto" title="Función de pérdida de la regresión logística 89" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/07/FPL_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Función de pérdida de la regresión logística 90" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center has-medium-font-size"><strong>Matemáticas</strong></p>



<p class="has-text-align-center">Álgebra y funciones.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Función de pérdida de la regresión logística 91" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/regresion-logistica-fundamentos/">Regresión logística</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/regresion-logistica-fundamentos/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg" alt="IRLG OBJ" class="wp-image-8303" style="width:400px;height:auto" title="Función de pérdida de la regresión logística 92" srcset="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg 800w, https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/funciones-de-perdida-machine-learning/">Funciones de pérdida</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg" alt="FDP Objeto" class="wp-image-10561" style="width:400px;height:auto" title="Función de pérdida de la regresión logística 93" srcset="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg 800w, https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún acompañamiento</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_tent.jpg" alt="FPL tent" class="wp-image-8826" style="width:444px;height:auto" title="Función de pérdida de la regresión logística 94" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_tent.jpg 800w, https://dialektico.com/wp-content/uploads/2024/07/FPL_tent-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Función de pérdida logística</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Función de pérdida de la regresión logística 95" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una <strong><a href="https://dialektico.com/funciones-de-perdida-machine-learning/">función de pérdida</a></strong> que se puede utilizar para la evaluación de modelos de <strong>regresión logística</strong>, y en general de diversos modelos de clasificación de dos clases, es la función de <strong>entropía cruzada binaria</strong> (<em>Cross-Entropy</em>), también conocida como función de <strong>pérdida logística</strong> (<em>Log-Loss</em>). Su objetivo es determinar la cercanía de los cálculos de probabilidad dados por un modelo clasificador respecto a los valores del terreno real (aquellos pertenecientes al <a href="https://dialektico.com/datos-etiquetados-machine-learning/" target="_blank" rel="noreferrer noopener">conjunto de datos</a> recolectados). Es decir, determina qué tan bien realiza clasificaciones el <strong>modelo </strong>ajustado durante la etapa de <strong>entrenamiento</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_K1.jpg" alt="FPL K1" class="wp-image-8827" style="width:512px;height:auto" title="Función de pérdida de la regresión logística 96" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_K1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/07/FPL_K1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La función de pérdida logística opera de forma similar a las funciones de costo de <strong>modelos de regresión</strong> que vimos anteriormente, pero con unas pequeñas diferencias que examinaremos a continuación.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Funcionamiento de la Entropía Cruzada Binaria</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La manera en la que se determinan las <strong>pérdidas </strong>o <strong>errores </strong>en la función de <strong>entropía cruzada</strong> es mediante la determinación de qué tan lejanas se encuentran las <strong>probabilidades </strong>calculadas para determinadas <strong>clases</strong>.</p>



<p>Para esto debemos recordar que las salidas de un modelo <strong>clasificador </strong>como la función logística son <strong>probabilidades condicionales</strong> que nos dicen lo siguiente: ¿cuál es la probabilidad de que un dato de entrada pertenezca a una clase específica?</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_M1.jpg" alt="FPL M1" class="wp-image-8828" style="width:604px;height:auto" title="Función de pérdida de la regresión logística 97" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/FPL_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Al obtener estas probabilidades con el modelo ajustado, la función de pérdida logística obtiene las <strong>diferencias </strong>entre las <strong>probabilidades </strong>y las <strong>clases binarias</strong> (<span class="katex-eq" data-katex-display="false">1</span> y <span class="katex-eq" data-katex-display="false">0</span>).</p>



<p>Lo desarrollaremos en un ejemplo para comprenderlo mejor.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Ejemplo de función de pérdida logística</h4>



<p>Para ilustrar el cálculo de los <strong>errores </strong>en un modelo clasificador, utilizaremos un ejemplo parecido al que trabajamos para abordar la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/" target="_blank" rel="noreferrer noopener">regresión lineal</a>, en el que trabajamos con un conjunto de <a href="https://dialektico.com/datos-machine-learning/" target="_blank" rel="noreferrer noopener">datos</a> de <strong>horas de estudio</strong> y <strong>calificaciones obtenidas</strong>.</p>



<p>Haremos algo muy similar, pero tornando el enfoque de un problema de <strong>regresión </strong>a uno de <strong>clasificación</strong>.</p>



<p>El objetivo será el siguiente: determinar si un alumno logra pasar o no un examen de acuerdo con sus horas de estudio.</p>



<p>Supongamos que la siguiente tabla es parte de nuestros datos:</p>



<figure class="wp-block-table is-style-stripes"><table><tbody><tr><td><strong>Horas de estudio</strong> (<span class="katex-eq" data-katex-display="false">x</span>)</td><td><strong>¿Aprobó el examen?</strong> (<span class="katex-eq" data-katex-display="false">y</span>)</td></tr><tr><td>1</td><td>0</td></tr><tr><td>2.2</td><td>0</td></tr><tr><td>3.5</td><td>0</td></tr><tr><td>4</td><td>1</td></tr><tr><td>5.5</td><td>1</td></tr><tr><td>6</td><td>1</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.5.1 </strong>Muestra de datos de horas de estudio y aprobaciones de exámenes de alumnos. La característica de entrada es la cantidad de horas de estudio, mientras que las clases son: aprobó = <span class="katex-eq" data-katex-display="false">1</span>, y no aprobó = <span class="katex-eq" data-katex-display="false">0</span>.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En los datos mostrados en la tabla se observa cómo para diferentes cantidades de horas de estudio dedicadas se aprueba o no el examen, lo cual genera dos <strong>clases</strong>, donde <span class="katex-eq" data-katex-display="false">0</span> significa que el estudiante no pasó el examen, y <span class="katex-eq" data-katex-display="false">1</span> significa que sí lo aprobó.</p>



<p>La <strong>relación </strong>entre las dos clases <strong>(variable dependiente</strong>) y las horas de estudio (<strong>variable independiente</strong>) la modelaremos realizando una <strong>regresión logística</strong> sobre la información dada.</p>



<p>Supongamos que hemos entrenado el <strong>modelo</strong>, y realizamos predicciones para cada dato mostrado en la tabla. Para obtener la pérdida total se realizan operaciones de <strong>comparación </strong>entre las <strong>salidas </strong>y observaciones del <strong>terreno real</strong> y las probabilidades calculadas. Estos cálculos los veremos de forma mucho más detallada en la sección de matemáticas, por el momento, la <strong>Figura 3.5.1</strong>, la cual es una versión ligeramente modificada de la <strong><a href="https://dialektico.com/wp-content/uploads/2024/06/FDP_FuncionesPDiagrama.jpg">Figura 3.4.1</a></strong> perteneciente a nuestro último recorrido, ilustra el proceso de forma simplificada:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1035" height="888" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_Diagrama_2.jpg" alt="FPL Diagrama 2" class="wp-image-10580" title="Función de pérdida de la regresión logística 98" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_Diagrama_2.jpg 1035w, https://dialektico.com/wp-content/uploads/2024/07/FPL_Diagrama_2-768x659.jpg 768w" sizes="(max-width: 1035px) 100vw, 1035px" /><figcaption class="wp-element-caption"><strong>Figura 3.5.1</strong> Esquema de cómo opera una función de pérdida de entropía cruzada binaria: realiza comparaciones entre las probabilidades condicionales calculadas por el modelo entrenado y los valores de las clases.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como se puede observar, a diferencia de la <strong>función de pérdida</strong> que utilizamos para una <strong>regresión lineal</strong>, en este caso se obtienen las diferencias entre las <strong>probabilidades </strong>calculadas por el modelo (que están en el rango de <span class="katex-eq" data-katex-display="false">0</span> a <span class="katex-eq" data-katex-display="false">1</span>) y las <strong>clases binarias </strong>(que, como sabemos, son <span class="katex-eq" data-katex-display="false">0</span> o <span class="katex-eq" data-katex-display="false">1</span>).</p>



<p>Al final, estas diferencias se <strong>agregan </strong>y se obtiene un <strong>promedio</strong> (la pérdida total).</p>



<p>El cálculo de estos <strong>costos </strong>o <strong>pérdidas </strong>depende del uso de una <strong>fórmula </strong>que no se explicará aquí. Esta genera un número que expresa las diferencias entre las <strong>probabilidades </strong>calculadas por el modelo, y las <strong>etiquetas </strong>del terreno real, pero estas diferencias no se calculan directamente, son <strong>reexpresadas </strong>mediante un proceso matemático que se aprenderá en el siguiente apartado.</p>



<p>Por el momento, ilustraremos los pasos para la obtención de pérdida total logística en 4 puntos.</p>



<p><strong>1.</strong> Primero, necesitamos calcular las <strong>pérdidas individuales </strong>utilizando la <strong>función de pérdida logística</strong>. Esta es la fórmula de la que te he hablado.  Supondremos que hemos obtenido las pérdidas asociadas y las organizamos en una columna nueva:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><tbody><tr><td><strong>Horas de estudio</strong> (<span class="katex-eq" data-katex-display="false">x</span>)</td><td><strong>¿Aprobó el examen?</strong> (<span class="katex-eq" data-katex-display="false">y</span>)</td><td><strong>Pérdida</strong> <strong>calculada</strong></td></tr><tr><td>1</td><td>0</td><td>0.311</td></tr><tr><td>2.2</td><td>0</td><td>0.798</td></tr><tr><td>3.5</td><td>0</td><td>1.70</td></tr><tr><td>4</td><td>1</td><td>0.127</td></tr><tr><td>5.5</td><td>1</td><td>0.029</td></tr><tr><td>6</td><td>1</td><td>0.018</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.5.2 </strong>Tabla con el cálculo de las pérdidas añadido en una nueva columna.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>2.</strong> Ahora, obtenemos la suma de estas pérdidas:</p>



<p class="has-text-align-center"><strong>Suma de las pérdidas individuales</strong>: <span class="katex-eq" data-katex-display="false">2.987</span></p>



<p><strong>3.</strong> Y, por último, calculamos el promedio:</p>



<p class="has-text-align-center"><strong>Pérdida total</strong>: <span class="katex-eq" data-katex-display="false">2.987/6=0.49</span></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_A1.jpg" alt="FPL A1" class="wp-image-8853" style="width:509px;height:auto" title="Función de pérdida de la regresión logística 99" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/07/FPL_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El criterio a seguir para <strong>interpretar </strong>el resultado de la función de pérdida logística es el mismo que el que se tiene para la función de MSE:</p>



<ul class="wp-block-list">
<li><strong>Valor de pérdida cercano a 0</strong>: Un valor bajo de pérdida logística indica que el modelo está haciendo buenas predicciones, es decir, las probabilidades predichas están cerca de las etiquetas reales.</li>



<li><strong>Valor de pérdida cercano a 1</strong>: Un valor alto de log-loss (pérdida logística) indica que el modelo está haciendo predicciones deficientes: las probabilidades predichas están lejos de las etiquetas reales.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Al haber obtenido un valor de pérdida de <span class="katex-eq" data-katex-display="false">0.49</span> en un conjunto con valores de entrada que van desde <span class="katex-eq" data-katex-display="false">1</span> a <span class="katex-eq" data-katex-display="false">6</span>, podemos concluir que el modelo ajustado es eficiente al realizar las <strong>inferencias</strong> de <strong>clasificación </strong>para las que fue <strong>entrenado</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">Definición matemática de la función de entropía cruzada binaria</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg" alt="Libro_1" class="wp-image-6962" style="width:125px;height:125px" title="Función de pérdida de la regresión logística 100" srcset="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Libro_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como vimos en la sección de <strong>matemáticas </strong>de la <strong>regresión logística</strong>, esta función <strong>modela </strong>la <strong>probabilidad </strong>de que una <strong>entrada </strong><span class="katex-eq" data-katex-display="false"> x_n </span> pertenezca a una <strong>clase </strong>particular <span class="katex-eq" data-katex-display="false"> y_n \in {0, 1} </span>. La función de probabilidad para <span class="katex-eq" data-katex-display="false"> y_n = 1 </span> dada una entrada <span class="katex-eq" data-katex-display="false"> x_n </span> y los parámetros <span class="katex-eq" data-katex-display="false"> \theta </span> está dada por:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} \sigma(x) = p(y_n = 1 | x_n, \theta) = \frac{1}{1 + e^{-(\theta_0 + \sum_{i=1}^D \theta_i x_n^i)}}, \tag{3.28} \end{aligned}</pre></div>



<p>Donde <span class="katex-eq" data-katex-display="false"> \sigma(x) </span> es la función sigmoide.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición (3.11) Función de entropía cruzada binaria.</strong> Sea <span class="katex-eq" data-katex-display="false">\mathcal{D} = \lbrace (x_{1},y_{1}),…,(x_{N},y_{N})\rbrace</span> un conjunto de <span class="katex-eq" data-katex-display="false"> N </span> <a href="https://dialektico.com/wp-content/uploads/2024/10/IAS_def1.png">datos etiquetados</a>, y <span class="katex-eq" data-katex-display="false"> \sigma(x) </span> una función sigmoide como la definida en la <strong>Ecuación (3.28)</strong> que pretende mapear los valores de cada entrada <span class="katex-eq" data-katex-display="false">x_n</span> a su respectiva salida <span class="katex-eq" data-katex-display="false">y_n</span>, la función de pérdida de entropía cruzada es una función que mapea un conjunto de valores de ejemplos de entrenamiento a un número real, y está definida como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} L(\mathcal{Y}, \mathcal{\hat{Y}})) = \frac{1}{N} \sum_{n=1}^N l(y_n, \sigma(x_n)) \end{aligned}, \tag{3.44}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\mathcal{\hat{Y}}</span> es el conjunto de todas las predicciones realizadas con el modelo <span class="katex-eq" data-katex-display="false"> \sigma(x) </span>, y <span class="katex-eq" data-katex-display="false"> l </span> es la función de pérdidas individuales definida como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} l(y, \sigma(x)) = -[y \log(\sigma(x)) + (1 - y) \log(1 - \sigma(x))] \end{aligned}, \tag{3.45}</pre></div>



<p>la cual obtiene las diferencias entre las probabilidades predichas y sus clases correspondientes en el conjunto de datos. </p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_D1.jpg" alt="FPL D1" class="wp-image-8860" style="width:512px;height:auto" title="Función de pérdida de la regresión logística 101" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/07/FPL_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Te doy un momento para pensarlo <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f440.png" alt="👀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>De acuerdo con la <strong>estructura </strong>de <strong>funciones de pérdida</strong> revisada en la anterior exploración, se pueden identificar los siguientes <strong>componentes</strong>:</p>



<ul class="wp-block-list">
<li><strong>Agregador de pérdidas</strong>: <span class="katex-eq" data-katex-display="false">\frac{1}{N} \sum_{i=1}^N</span></li>



<li><strong>Función de pérdidas individuales</strong>: <span class="katex-eq" data-katex-display="false"> -[y \log(\sigma(x)) + (1 - y) \log(1 - \sigma(x))] </span></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_Ae1.jpg" alt="FPL Ae1" class="wp-image-8861" style="width:512px;height:auto" title="Función de pérdida de la regresión logística 102" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_Ae1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/07/FPL_Ae1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, desarrollaremos con detalle cómo se llega a la forma final de esta función, y qué operaciones definen su utilidad.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Fundamentos matemáticos de la función de pérdida de la regresión logística</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Volveremos a invocar (una vez más) la expresión <span class="katex-eq" data-katex-display="false">(3.28)</span>, la cual es el modelo resultante de la regresión logística, y que nos arroja el cálculo de la probabilidad de que un dato de entrada <span class="katex-eq" data-katex-display="false"> x_n </span> parametrizado por <span class="katex-eq" data-katex-display="false"> \theta </span> pertenezca a la clase <span class="katex-eq" data-katex-display="false"> y_n = 1 </span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation} p(y_n = 1 | x_n, \theta) = \sigma(x_n) = \frac{1}{1 + e^{-(\theta_0 + \sum_{i=1}^D \theta_i x_n^i)}}. \tag{3.28} \end{equation}</pre></div>



<p>La razón por la cual estoy mostrando de nuevo esta ecuación, es porque la utilizaremos, pero ahora para expresar la ecuación para obtener la probabilidad de que <span class="katex-eq" data-katex-display="false"> y_n = 0 | x_n, \theta </span>, es decir, de que la etiqueta sea igual a <span class="katex-eq" data-katex-display="false">0</span> dado el valor de la entrada <span class="katex-eq" data-katex-display="false">x_n</span> y sus características, en vez de obtener la probabilidad condicional de que <span class="katex-eq" data-katex-display="false"> y_n = 1 | x_n, \theta </span>, como se ha mostrado anteriormente. </p>



<p>Considerando que <span class="katex-eq" data-katex-display="false">p(y_n = 1 | x_n, \theta) = \sigma(x_n)</span>, tenemos que</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation} p(y_n = 0 | x_n, \theta) = 1 - \sigma(x_n), \tag{3.46} \end{equation}</pre></div>



<p>lo cual no es más que el <strong>complemento </strong>de la probabilidad, donde <span class="katex-eq" data-katex-display="false">1-</span>(probabilidad de que el dato pertenezca a la clase 1), es la probabilidad restante correspondiente a que el dato corresponda a la clase 0.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://i.pinimg.com/originals/02/b9/8f/02b98f9348bd0729594d8c4153de70fa.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_M2_v2.jpg" alt="FPL M2 v2" class="wp-image-8865" style="width:630px;height:auto" title="Función de pérdida de la regresión logística 103" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_M2_v2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/FPL_M2_v2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Bien, ahora pasemos a lo mágico.</p>



<p>La probabilidad condicional de que <span class="katex-eq" data-katex-display="false"> y_n </span> sea igual a <span class="katex-eq" data-katex-display="false"> 1 </span> o <span class="katex-eq" data-katex-display="false"> 0 </span> se puede escribir de manera <em>compacta </em>utilizando las <strong>Ecuaciones <a href="https://dialektico.com/wp-content/uploads/2024/10/ec_328.png">(3.28)</a></strong> y <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/ec_346.png">(3.46)</a></strong>. Esto se hace elevando <span class="katex-eq" data-katex-display="false"> \sigma(x_n) </span> a la potencia <span class="katex-eq" data-katex-display="false"> y_n </span> y <span class="katex-eq" data-katex-display="false"> (1 - \sigma(x_n)) </span> a la potencia <span class="katex-eq" data-katex-display="false"> (1 - y_n) </span>, quedando</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation} p(y_n | x_n, \theta) = \sigma(x_n)^{y_n} \cdot (1 - \sigma(x_n))^{1 - y_n}. \tag{3.47} \end{equation}</pre></div>



<p>El por qué de esta expresión y sus potencias lo desglosaremos a continuación. Esta ecuación, la<strong> (3.47)</strong>, es el núcleo de la función de pérdida de entropía cruzada binaria, y comprender el por qué tiene esa forma nos dirá todo sobre su funcionamiento para evaluar un modelo clasificador binario de aprendizaje automático.</p>



<p>La idea central es que, debido a la naturaleza binaria de <span class="katex-eq" data-katex-display="false"> y_n </span> (su par de etiquetas para clasificación), las expresiones <span class="katex-eq" data-katex-display="false"> \sigma(x_n)^{y_n} </span> y <span class="katex-eq" data-katex-display="false"> (1 - \sigma(x_n))^{1 - y_n} </span> seleccionan la probabilidad correcta conforme se tiene <span class="katex-eq" data-katex-display="false"> y_n = 1 </span> o <span class="katex-eq" data-katex-display="false"> y_n = 0</span> en <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/ec_347.png">(3.47)</a></strong>,</p>



<p>Para entenderlo, desarrollemos cada caso:</p>



<p><strong>1.</strong> Cuando <span class="katex-eq" data-katex-display="false"> y_n = 1 </span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation}y_n = 1 \implies 1 - y_n = 0, \tag{3.48} \end{equation}</pre></div>



<p>por lo tanto, la <strong>Expresión <a href="https://dialektico.com/wp-content/uploads/2024/10/ec_347.png">(3.47)</a></strong> se convierte en:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}\sigma(x_n)^1 \cdot (1 - \sigma(x_n))^0 &amp;= \sigma(x_n) \cdot 1 \\
&amp;= \sigma(x_n). \tag{3.49} \end{aligned}</pre></div>



<p>Esta expresión es correcta porque <span class="katex-eq" data-katex-display="false"> \sigma(x_n) </span> es, por definición, la probabilidad condicional de que <span class="katex-eq" data-katex-display="false"> y_n = 1 </span>, dado <span class="katex-eq" data-katex-display="false"> x_n </span> y los parámetros <span class="katex-eq" data-katex-display="false"> \theta </span>, recordémoslo:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation} p(y_n = 1 | x_n, \theta) = \sigma(x_n). \tag{3.50} \end{equation}</pre></div>



<p><strong>2.</strong> Cuando <span class="katex-eq" data-katex-display="false"> y_n = 0 </span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation}y_n = 0 \implies 1 - y_n = 1, \tag{3.51} \end{equation}</pre></div>



<p>lo cual que significa que la <strong>Ecuación <a href="https://dialektico.com/wp-content/uploads/2024/10/ec_347.png">(3.47)</a></strong> se convierte en:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}\sigma(x_n)^0 \cdot (1 - \sigma(x_n))^1 &amp;= 1 \cdot (1 - \sigma(x_n)) \\
&amp;= 1 - \sigma(x_n), \tag{3.52} \end{aligned}</pre></div>



<p>Lo cual sabemos que es correcto, dado que es su complemento, como definimos en <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/ec_346.png">(3.46)</a></strong>.</p>



<p>De esto se concluye, entonces, que la expresión compacta:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation} p(y_n | x_n, \theta) = \sigma(x_n)^{y_n} \cdot (1 - \sigma(x_n))^{1 - y_n}, \tag{3.53} \end{equation}</pre></div>



<p>es algebraicamente correcta porque selecciona la probabilidad correcta dependiendo del valor de <span class="katex-eq" data-katex-display="false"> y_n </span>. Es equivalente a las dos probabilidades de las clases definidas, por lo que proporciona una forma unificada para calcular la probabilidad condicional de la clase correcta, ya sea <span class="katex-eq" data-katex-display="false"> y_n = 0 </span> o <span class="katex-eq" data-katex-display="false"> y_n = 1 </span>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_D2.jpg" alt="FPL D2" class="wp-image-8866" style="width:520px;height:auto" title="Función de pérdida de la regresión logística 104" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_D2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/07/FPL_D2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_M3.jpg" alt="FPL M3" class="wp-image-8867" style="width:610px;height:auto" title="Función de pérdida de la regresión logística 105" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_M3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/FPL_M3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/07/FPL_K2.jpg" alt="FPL K2" class="wp-image-8868" style="width:507px;height:auto" title="Función de pérdida de la regresión logística 106" srcset="https://dialektico.com/wp-content/uploads/2024/07/FPL_K2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/07/FPL_K2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Maximización de la verosimilitud</h3>



<p>Sabemos que la <strong>regresión logística</strong> busca ajustar los <strong>parámetros </strong><span class="katex-eq" data-katex-display="false"> \theta </span> del modelo <span class="katex-eq" data-katex-display="false">\sigma(x_n)</span> para maximizar la probabilidad de que el modelo prediga correctamente las <strong>clases </strong>a las que pertenecen las observaciones dadas las <strong>entradas</strong>. Esto se llama <strong>maximización </strong>de la verosimilitud (Maximum Likelihood Estimation, MLE), y ya la hemos <a href="https://dialektico.com/wp-content/uploads/2024/10/def_38.png">estudiado con anterioridad</a>.</p>



<p>Para calcular la máxima verosimilitud, se debe considerar la probabilidad conjunta de todas las observaciones, la cual por definición sabemos que es el producto de las probabilidades individuales:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation}
P(\mathbf{y}|\mathbf{x}, \theta) = \prod_{n=1}^N p(y_n | x_n, \theta), \tag{3.54}
\end{equation}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false"> N </span> es el número total de observaciones.</p>



<p>Trabajar con el producto de probabilidades puede ser numéricamente inestable y complicado. Para simplificar las derivadas y la optimización, se toma (como ya es costumbre) el <strong>logaritmo </strong>de la <strong>probabilidad conjunta</strong>. El logaritmo transforma el producto en una suma, que es más manejable:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation}
\log P(\mathbf{y}|\mathbf{x}, \theta) = \sum_{n=1}^N \log p(y_n | x_n, \theta). \tag{3.55}
\end{equation}</pre></div>



<p>Por último, en lugar de <strong>maximizar</strong> la probabilidad logarítmica, <strong>minimizamos </strong>su <strong>opuesto</strong>, que es equivalente. De aquí surge la función de pérdida logarítmica (log-loss). Tomar el negativo del logaritmo asegura que estamos minimizando una cantidad positiva cuando las predicciones son buenas (alta probabilidad) y castigando más fuertemente las malas predicciones (baja probabilidad):</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation}
l(y_n, \sigma(x_n)) = -\log(p(y_n | x_n, \theta)). \tag{3.56}
\end{equation}</pre></div>



<p>Utilizando la expresión compacta de la probabilidad condicional de la <strong>Ecuación</strong> <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/ec_347.png">(3.47)</a></strong>, sustituimos en <strong>(3.56)</strong> y obtenemos:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{equation}
l(y_n, \sigma(x_n)) = -[y_n \log(\sigma(x_n)) + (1 - y_n) \log(1 - \sigma(x_n))], \tag{3.57}
\end{equation}</pre></div>



<p>Si lo piensas bien, esta expresión ya la habíamos avistado antes; revisa la <strong>Ecuación <a href="https://dialektico.com/wp-content/uploads/2024/10/ec_336.png">(3.36)</a></strong> de la exploración de la regresión logística.</p>



<p>Finalmente, calculamos el promedio de estas pérdidas individuales para obtener la función de pérdida:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} L(\mathcal{Y}, \mathcal{\hat{Y}})) = \frac{1}{N} \sum_{n=1}^N l(y_n, \sigma(x_n)) \end{aligned}, \tag{3.58}</pre></div>



<p>Con esto queda demostrado cómo es que la función de pérdida refleja las probabilidades calculadas por el modelo dados los distintos valores de las clases. </p>



<p>Lo ilustraremos con un ejemplo.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ejemplo de aplicación de función de pérdida logística</h3>



<p>Volvamos a nuestro ejemplo en el que hemos entrenado un modelo de <strong>clasificación </strong>de alumnos dadas sus horas dedicadas de estudio, y calculemos la probabilidad de que un par de observaciones pertenezcan a la clase <span class="katex-eq" data-katex-display="false">1</span> (examen aprobado).</p>



<p>Dado que tenemos solo una variable independiente (horas de estudio), nuestro modelo es una <strong>función sigmoidea</strong> univariable como la que se ha definido en la <strong>Ecuación <a href="https://dialektico.com/wp-content/uploads/2024/10/ec_329_funcionsigmo.png">(3.29)</a></strong>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(x_n)=\frac{1}{1+e^{-(\theta_{0}+\theta_{1}x_n)}}\:.  \tag{3.29}
\end{aligned}</pre></div>



<p>Aquí ya usaremos de forma explícita las ecuaciones y valores involucrados en el proceso. Supongamos que después de ajustar los parámetros del modelo en la fase de entrenamiento, hemos obtenido los siguientes valores:</p>



<p class="has-text-align-center"><span class="katex-eq" data-katex-display="false"> \theta_0 = -2 </span></p>



<p class="has-text-align-center"> <span class="katex-eq" data-katex-display="false"> \theta_1 = 1 </span></p>



<p>Dando como resultado la función:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(x_n)=\frac{1}{1+e^{-((-2)+1(x_n))}}\:.  \tag{3.59}
\end{aligned}</pre></div>



<p>Las dos observaciones que utilizaremos de nuestro conjunto de datos son las siguientes:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>Horas de estudio</strong> <span class="katex-eq" data-katex-display="false"> (x_n) </span></td><td class="has-text-align-center" data-align="center"><strong>Valor real de su etiqueta/clase</strong> <span class="katex-eq" data-katex-display="false"> (y_n) </span></td></tr><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">0</td></tr><tr><td class="has-text-align-center" data-align="center">4</td><td class="has-text-align-center" data-align="center">1</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.5.3.</strong> Ejemplos de entrenamiento que utilizaremos para evaluar el modelo. Nótese que son parte de los datos con los que habíamos trabajado anteriormente.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para hacer uso de la <strong>función de pérdida logística</strong> primero calcularemos las predicciones del modelo para las dos entradas univariables.</p>



<p>Comenzamos con el primer dato <span class="katex-eq" data-katex-display="false"> x_1 = 1 </span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} \sigma(x_1) = \frac{1}{1 + e^{-((-2) + 1(1))}} = \frac{1}{1 + e^{1}} \approx 0.268.  \tag{3.60} \end{aligned}</pre></div>



<p>Para <span class="katex-eq" data-katex-display="false"> x_2 = 4 </span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} \sigma(x_2) = \frac{1}{1 + e^{-((-2) + 1(4))}} = \frac{1}{1 + e^{-2}} \approx 0.88.  \tag{3.61}\end{aligned}</pre></div>



<p>Ahora que hemos calculado las probabilidades, utilizamos la función de <strong>entropía cruzada</strong> para obtener la pérdida de las predicciones del modelo, comparando las predicciones dada cada entrada con su respectiva etiqueta real (clase a la que pertenece).</p>



<p>Para la entrada <span class="katex-eq" data-katex-display="false"> x_1 = 1 </span> con la etiqueta real <span class="katex-eq" data-katex-display="false"> y_1 = 0 </span>, sustituimos en la <strong>Ecuación (<a href="https://dialektico.com/wp-content/uploads/2024/10/ec_357.png">3.57</a>)</strong>, la cual es la función de pérdidas individuales de la regresión logística:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{align*}
L(y_2, \sigma(x_2)) &amp;= - \left[0 \cdot \log(0.268) + (1 - 0) \cdot \log(1 - 0.268)\right] \\
&amp;= - \log(0.732) \\
&amp;\approx 0.311.  \tag{3.62}
\end{align*}</pre></div>



<p>Lo hacemos ahora para <span class="katex-eq" data-katex-display="false"> x_2 = 4 </span> con <span class="katex-eq" data-katex-display="false"> y_2 = 1 </span>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{align*}
L(y_1, \sigma(x_1)) &amp;= - \left[1 \cdot \log(0.88) + (1 - 1) \cdot \log(1 - 0.88)\right] \\
&amp;= - \log(0.88) \\
&amp;\approx 0.127.  \tag{3.63}
\end{align*}</pre></div>



<p>Y obtenemos la pérdida total calculando el promedio:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned} J(\theta) = \frac{1}{2} [0.127 + 0.311] = \frac{1}{2} (0.438) \approx0.219.  \tag{3.64}\end{aligned}</pre></div>



<p>Este valor es interpretable de acuerdo a las reglas expuestas en el tramo anterior. Dado que es de <span class="katex-eq" data-katex-display="false">0.219 </span>, y que conforme la pérdida calculada tienda a <span class="katex-eq" data-katex-display="false">0</span> la precisión del modelo es mayor, se puede concluir que el modelo tiene un rendimiento aceptable.</p>



<p>Conociendo el cómo operan las <strong>funciones de pérdida</strong> para modelos de <strong>clasificación </strong>y <strong>regresión</strong>, podemos comenzar a explorar cómo funcionan algoritmos de <strong>aprendizaje supervisado</strong> más complejos, y utilizarlas también para <strong>evaluar </strong>el rendimiento final de los modelos ajustados al terminar la fase de entrenamiento, lo cual veremos de forma más detallada en la siguiente travesía.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Función de pérdida de la regresión logística 107"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/funcion-perdida-regresion-logistica/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción a las funciones de pérdida</title>
		<link>https://dialektico.com/funciones-de-perdida-machine-learning/</link>
					<comments>https://dialektico.com/funciones-de-perdida-machine-learning/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Fri, 07 Jun 2024 06:47:48 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[aprendizaje supervisado]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=6765</guid>

					<description><![CDATA[Uno de los conceptos medulares del machine learning es el de funciones de pérdida, las cuales son un componente esencial de cualquier algoritmo de aprendizaje supervisado, e incluso hacen acto de presencia en otros tipos de algoritmos, como los de aprendizaje no supervisado. Como una preparación previa al estudio de las redes neuronales artificiales, comenzaremos [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Uno de los conceptos medulares del machine learning es el de <strong>funciones de pérdida</strong>, las cuales son un componente esencial de cualquier algoritmo de <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a>, e incluso hacen acto de presencia en otros tipos de algoritmos, como los de <a href="https://dialektico.com/tipos-de-machine-learning/">aprendizaje no supervisado</a>. Como una preparación previa al estudio de las <strong>redes neuronales artificiales</strong>, comenzaremos a revelar este y otros conceptos relacionados al <a href="https://dialektico.com/introduccion-machine-learning/">aprendizaje de máquinas</a>; en este caso, se trata de un ingrediente esencial para el proceso de <strong>entrenamiento </strong>y <strong>evaluación</strong> de modelos.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_Nivel_2.jpg" alt="FDP Nivel 2" class="wp-image-10495" style="width:540px;height:auto" title="Introducción a las funciones de pérdida 108" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/06/FDP_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Introducción a las funciones de pérdida 109" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center has-medium-font-size"><strong>Matemáticas</strong></p>



<p class="has-text-align-center"><strong>Un poco de álgebra y cálculo</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Introducción a las funciones de pérdida 110" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión lineal</a> (definición de algoritmos de regresión)</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg" alt="RL OB" class="wp-image-8027" style="width:400px" title="Introducción a las funciones de pérdida 111" srcset="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/RL_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/regresion-logistica-fundamentos/">Regresión logística</a> (definición de algoritmos de clasificación)</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/regresion-logistica-fundamentos/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg" alt="IRLG OBJ" class="wp-image-8303" style="width:400px;height:400px" title="Introducción a las funciones de pérdida 112" srcset="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg 800w, https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún bocadillo</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/06/Bocadillo_FDP_3.jpg" alt="Bocadillo FDP 3" class="wp-image-10494" style="width:368px;height:auto" title="Introducción a las funciones de pérdida 113" srcset="https://dialektico.com/wp-content/uploads/2024/06/Bocadillo_FDP_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/06/Bocadillo_FDP_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Funciones de pérdida para aprendizaje de máquinas</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Introducción a las funciones de pérdida 114" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como ya hemos visto en la teoría y práctica<strong> </strong>de la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/" target="_blank" rel="noreferrer noopener">regresión lineal</a> y la <a href="https://dialektico.com/regresion-logistica-fundamentos/" target="_blank" rel="noreferrer noopener">regresión logística</a>, al momento de <em>entrenar</em> un modelo de aprendizaje supervisado se está ejecutando un proceso que ajusta los valores de sus parámetros utilizando una <strong>función </strong>que mide qué tan grande es la distancia entre las <strong>estimaciones </strong>realizadas por el modelo y los <a style="font-weight: bold;" href="https://dialektico.com/datos-machine-learning/">datos</a> <strong>reales</strong> (también conocidos como<strong> datos del terreno real</strong>, o <strong>verdad fundamental</strong>); dichas funciones se conocen como<strong> funciones de pérdida</strong>.</p>



<p>Dicho de una forma más concisa, una <strong>función de pérdida</strong>, <strong>función de error</strong>, o<strong> función de costo</strong> (<em>loss function</em>), es una función matemática que evalúa el desempeño de un modelo de aprendizaje automático calculando las diferencias entre los valores predichos por este, y los valores reales del <a href="https://dialektico.com/datos-etiquetados-machine-learning/" target="_blank" rel="noreferrer noopener">conjunto de datos</a>.</p>



<p>Esta función es vital para el <strong>entrenamiento </strong>del modelo, ya que de esto depende el ajuste/optimización de sus <strong>parámetros</strong>, y generalmente, ofrece una forma para la evaluación de los resultados finales.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_M1_v2.jpg" alt="mmerf" class="wp-image-8839" style="width:654px;height:auto" title="Introducción a las funciones de pérdida 115" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_M1_v2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/06/FDP_M1_v2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_A1.jpg" alt="FDP A1" class="wp-image-8309" style="width:522px;height:auto" title="Introducción a las funciones de pérdida 116" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/06/FDP_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es correcto, dado que el modelo es puesto a prueba por la <strong>función de pérdida</strong>, esta evalúa la calidad de los <strong>parámetros </strong>de la función ajustada durante y después de la etapa de entrenamiento.</p>



<p>La <strong>Figura 3.4.1</strong> muestra en términos sencillos cómo opera una función de costo, calculando las <strong>diferencias </strong>entre los valores obtenidos por el modelo, y las observaciones del conjunto de datos:</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1035" height="888" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_FuncionesPDiagrama.jpg" alt="Función de pérdida, dialéktico" class="wp-image-8842" style="width:840px;height:auto" title="Introducción a las funciones de pérdida 117" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_FuncionesPDiagrama.jpg 1035w, https://dialektico.com/wp-content/uploads/2024/06/FDP_FuncionesPDiagrama-768x659.jpg 768w" sizes="(max-width: 1035px) 100vw, 1035px" /><figcaption class="wp-element-caption"><strong>Figura 3.4.1</strong> Esquema de la lógica de una función de pérdida para la evaluación de un modelo de aprendizaje de máquinas. Los datos de entrenamiento son procesados para ajustar el modelo, el cual genera predicciones que son comparadas con los datos reales por la función de costo, obteniendo las diferencias entre estos.</figcaption></figure>



<p>Es importante mencionar que las funciones de pérdida se pueden utilizar tanto durante la <strong>etapa de aprendizaje</strong> (ajuste de <strong>parámetros</strong>) como después, cuando el modelo ya ha sido <strong>entrenado</strong>.</p>



<p>Las funciones de costo que hemos visto hasta ahora son utilizadas para <strong>optimizar </strong>los parámetros en la fase de entrenamiento, pero conforme avancemos en el curso las utilizaremos también para <strong>evaluar </strong>el <strong>modelo final </strong>resultante.</p>



<p>A continuación, exploraremos el <strong>objetivo </strong>y <strong>uso </strong>de las funciones de pérdida con mayor detalle.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Ejemplo de una función de pérdida</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Uno de los ejemplos más comunes de una función de pérdida, y que ya hemos visto en acción en la práctica de la regresión lineal, es la <strong>función de error cuadrático medio</strong> (MSE, por sus siglas en inglés: <em>Mean Squared Error</em>), la cual calcula el promedio del cuadrado de las diferencias entre los valores del <strong>terreno real</strong> y los valores <strong>predichos</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_L1.jpg" alt="FDP L1" class="wp-image-8311" style="width:548px;height:auto" title="Introducción a las funciones de pérdida 118" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_L1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/06/FDP_L1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Vamos a ilustrarlo poco a poco.</p>



<p>Supongamos que hemos <strong>ajustado </strong>los parámetros de un modelo utilizando técnicas de aprendizaje de máquinas, específicamente, un modelo de <strong>aprendizaje supervisado</strong> que aborda un problema de <strong><a href="https://dialektico.com/aprendizaje-supervisado/#regClaf">regresión</a></strong>. La siguiente tabla contiene los valores <em>reales </em>del conjunto de datos y las cantidades estimadas por el modelo resultante.</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><thead><tr><th class="has-text-align-center" data-align="center">Valores reales</th><th class="has-text-align-center" data-align="center">Valores predichos</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">12</td><td class="has-text-align-center" data-align="center">11</td></tr><tr><td class="has-text-align-center" data-align="center">15</td><td class="has-text-align-center" data-align="center">13.5</td></tr><tr><td class="has-text-align-center" data-align="center">19</td><td class="has-text-align-center" data-align="center">21</td></tr><tr><td class="has-text-align-center" data-align="center">21.5</td><td class="has-text-align-center" data-align="center">24</td></tr><tr><td class="has-text-align-center" data-align="center">33</td><td class="has-text-align-center" data-align="center">32</td></tr><tr><td class="has-text-align-center" data-align="center">37</td><td class="has-text-align-center" data-align="center">35.5</td></tr><tr><td class="has-text-align-center" data-align="center">40</td><td class="has-text-align-center" data-align="center">38</td></tr><tr><td class="has-text-align-center" data-align="center">42.5</td><td class="has-text-align-center" data-align="center">42.5</td></tr><tr><td class="has-text-align-center" data-align="center">45</td><td class="has-text-align-center" data-align="center">43.8</td></tr><tr><td class="has-text-align-center" data-align="center">49</td><td class="has-text-align-center" data-align="center">50</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.4.1.</strong> Ejemplo de datos recogidos y almacenados en el conjunto de datos, y los valores generados por un modelo aprendizaje de máquinas.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora calcularemos el <strong>error cuadrático medio</strong> (la función de costo), paso por paso:</p>



<ul class="wp-block-list">
<li>De acuerdo con la <a href="https://dialektico.com/wp-content/uploads/2024/10/frag_34_errorcuad.png">definición</a>, primero se calcula la diferencia entre los valores <strong>reales </strong>y los valores <strong>predichos</strong>, lo cual quedaría como se muestra en la nueva columna añadida:</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table aligncenter is-style-stripes"><table><thead><tr><th class="has-text-align-center" data-align="center">Valores reales</th><th class="has-text-align-center" data-align="center">Valores predichos</th><th class="has-text-align-center" data-align="center">Diferencia</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">12</td><td class="has-text-align-center" data-align="center">11</td><td class="has-text-align-center" data-align="center">1</td></tr><tr><td class="has-text-align-center" data-align="center">15</td><td class="has-text-align-center" data-align="center">13.5</td><td class="has-text-align-center" data-align="center">1.5</td></tr><tr><td class="has-text-align-center" data-align="center">19</td><td class="has-text-align-center" data-align="center">21</td><td class="has-text-align-center" data-align="center">-2</td></tr><tr><td class="has-text-align-center" data-align="center">21.5</td><td class="has-text-align-center" data-align="center">24</td><td class="has-text-align-center" data-align="center">-2.5</td></tr><tr><td class="has-text-align-center" data-align="center">33</td><td class="has-text-align-center" data-align="center">32</td><td class="has-text-align-center" data-align="center">1</td></tr><tr><td class="has-text-align-center" data-align="center">37</td><td class="has-text-align-center" data-align="center">35.5</td><td class="has-text-align-center" data-align="center">1.5</td></tr><tr><td class="has-text-align-center" data-align="center">40</td><td class="has-text-align-center" data-align="center">38</td><td class="has-text-align-center" data-align="center">2</td></tr><tr><td class="has-text-align-center" data-align="center">42.5</td><td class="has-text-align-center" data-align="center">42.5</td><td class="has-text-align-center" data-align="center">0</td></tr><tr><td class="has-text-align-center" data-align="center">45</td><td class="has-text-align-center" data-align="center">43.8</td><td class="has-text-align-center" data-align="center">1.2</td></tr><tr><td class="has-text-align-center" data-align="center">49</td><td class="has-text-align-center" data-align="center">50</td><td class="has-text-align-center" data-align="center">-1</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.4.2.</strong> Se añade la columna con las restas de los valores del conjunto de datos y los valores calculados con el modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li>Ahora que tenemos las diferencias, obtendremos el cuadrado de estas:</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table aligncenter is-style-stripes"><table><thead><tr><th class="has-text-align-center" data-align="center">Valores reales</th><th class="has-text-align-center" data-align="center">Valores predichos</th><th class="has-text-align-center" data-align="center">Diferencia</th><th class="has-text-align-center" data-align="center">Cuadrado de las diferencias</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">12</td><td class="has-text-align-center" data-align="center">11</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">1</td></tr><tr><td class="has-text-align-center" data-align="center">15</td><td class="has-text-align-center" data-align="center">13.5</td><td class="has-text-align-center" data-align="center">1.5</td><td class="has-text-align-center" data-align="center">2.25</td></tr><tr><td class="has-text-align-center" data-align="center">19</td><td class="has-text-align-center" data-align="center">21</td><td class="has-text-align-center" data-align="center">-2</td><td class="has-text-align-center" data-align="center">4</td></tr><tr><td class="has-text-align-center" data-align="center">21.5</td><td class="has-text-align-center" data-align="center">24</td><td class="has-text-align-center" data-align="center">-2.5</td><td class="has-text-align-center" data-align="center">6.25</td></tr><tr><td class="has-text-align-center" data-align="center">33</td><td class="has-text-align-center" data-align="center">32</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">1</td></tr><tr><td class="has-text-align-center" data-align="center">37</td><td class="has-text-align-center" data-align="center">35.5</td><td class="has-text-align-center" data-align="center">1.5</td><td class="has-text-align-center" data-align="center">2.25</td></tr><tr><td class="has-text-align-center" data-align="center">40</td><td class="has-text-align-center" data-align="center">38</td><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">4</td></tr><tr><td class="has-text-align-center" data-align="center">42.5</td><td class="has-text-align-center" data-align="center">42.5</td><td class="has-text-align-center" data-align="center">0</td><td class="has-text-align-center" data-align="center">0</td></tr><tr><td class="has-text-align-center" data-align="center">45</td><td class="has-text-align-center" data-align="center">43.8</td><td class="has-text-align-center" data-align="center">1.2</td><td class="has-text-align-center" data-align="center">1.44</td></tr><tr><td class="has-text-align-center" data-align="center">49</td><td class="has-text-align-center" data-align="center">50</td><td class="has-text-align-center" data-align="center">-1</td><td class="has-text-align-center" data-align="center">1</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.4.3.</strong> Se añade una columna que contiene la diferencia elevada al cuadrado.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li>Teniendo estas diferencias, solo debemos añadir dos pasos más, primero sumamos los valores de esta última columna:
<ul class="wp-block-list">
<li><strong>Suma del cuadrado de las diferencias</strong> = <span class="katex-eq" data-katex-display="false">23.19</span></li>
</ul>
</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<ul class="wp-block-list">
<li>Y por último, calculamos el promedio, es decir, dividimos esta suma entre el número de valores o datos, el cual es <span class="katex-eq" data-katex-display="false">10</span>:
<ul class="wp-block-list">
<li><strong>Suma del cuadrado de las diferencias dividida entre el total de dato</strong>s = <span class="katex-eq" data-katex-display="false">\frac{23.19}{10} = 2.319</span>.</li>
</ul>
</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto quiere decir que el <strong>error cuadrático medio</strong> (valor arrojado por la función de costo) del modelo es aproximadamente <span class="katex-eq" data-katex-display="false">2.31</span>.</p>



<p>De esta forma, el algoritmo calcula qué tanto se <strong>acercan </strong>las <strong>predicciones </strong>del modelo a las cifras <strong>reales</strong>. Dado que el rango de los valores reales está entre <span class="katex-eq" data-katex-display="false">11</span> y <span class="katex-eq" data-katex-display="false">50</span>, podemos intuir que un promedio de <span class="katex-eq" data-katex-display="false">2.31</span> de los errores es relativamente pequeño, por lo que se puede aseverar que tiene un <strong>desempeño</strong> aceptable (estas conclusiones siempre dependerán de los datos, es necesario recordar, en general, que conforme esta métrica se acerca a <span class="katex-eq" data-katex-display="false">0</span>, indica una mejor precisión del modelo).</p>



<p>Dentro de los algoritmos de regresión <strong>lineal </strong>y <strong>logística</strong>, recordemos que lo que se hace es <strong>optimizar </strong>estas funciones, es decir, <strong>minimizar </strong>o <strong>maximizar </strong>sus resultados (dependiendo de la función utilizada); por ejemplo, en la regresión lineal se busca minimizar el <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/frag_34_errorcuad.png">MSE</a></strong>, de modo que se ajustan los parámetros para encontrar el valor más pequeño posible de los errores medidos por esta función (los mismos que acabamos de calcular). En este sentido, <strong>minimizar es optimizar</strong>, ya que con ello se encuentran los parámetros más óptimos para generar un modelo eficiente.</p>



<p>El ejemplo atestiguado hasta ahora se centra en una función de pérdida aplicado a un modelo de <strong>regresión</strong>; con el fin de no extender mucho esta lección, no analizaremos el procesamiento generado por una función de pérdida para modelos de <strong>clasificación </strong>(para los cuales, de cualquier manera, el principio operacional es el mismo). Esto lo examinaremos con más detalle en la siguiente exploración.</p>



<p>Habiendo ilustrado cómo opera una función de costo y cuál es su uso, echemos un vistazo a los <strong>tipos </strong>de funciones de pérdida que existen, y una lista con ejemplos de cada uno.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Tipos de funciones de pérdida</h2>



<p>Las funciones de error son variadas y se utilizan dependiendo de los conjuntos de datos de entrada y el contexto del propósito del modelo de aprendizaje automático. Se dividen principalmente en dos categorías: </p>



<ol class="wp-block-list">
<li>Funciones de pérdida<strong> </strong>para <strong>aprendizaje supervisado</strong>, que a su vez se subdividen de acuerdo al tipo de modelo:
<ul class="wp-block-list">
<li><strong>Modelos de regresión</strong>.</li>



<li><strong>Modelos de clasificación</strong>.</li>
</ul>
</li>



<li>Funciones de pérdida para <strong>aprendizaje no supervisado</strong>.</li>
</ol>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_K1.jpg" alt="FDP K1" class="wp-image-8314" style="width:520px;height:auto" title="Introducción a las funciones de pérdida 119" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_K1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/06/FDP_K1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es verdad, sin embargo, es importante al menos saber que estas funciones existen no solo para un tipo de <strong>machine learning</strong>. Por lo mismo, a continuación dejaré unas listas con las <strong>funciones de error</strong> más <strong>comunes</strong>; en las prácticas de programación no utilizaremos todas, pero puede que en algún momento necesites información sobre algunas de las funciones disponibles, ya sea en el ámbito laboral, personal o académico.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Funciones de pérdida más utilizadas para machine learning</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, enlistaré las funciones de pérdida más comunes para machine learning por categorías, no te preocupes si te parecen cuantiosas, en la práctica solo utilizarás algunas cuantas, solo quiero que conozcas su existencia y sea una referencia que puedas tener a la mano.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Funciones de pérdida para aprendizaje supervisado</h3>



<h4 class="wp-block-heading has-text-color" style="color:#750000"><strong>Funciones de pérdida para algoritmos de regresión</strong></h4>



<p>Las funciones de pérdida más comunes para modelos de regresión son las siguientes:</p>



<ul class="wp-block-list">
<li>Error cuadrático medio (Mean Squared Error, MSE).</li>



<li>Error absoluto medio (Mean Absolute Error, MAE).</li>



<li>Error absoluto porcentual medio (Mean Absolute Percentage Error, MAPE)</li>



<li>Raíz del error cuadrático medio (Root Mean Square Error, RMSE).</li>



<li>Raíz del error logarítmico cuadrático medio (Root Mean Squared Logarithmic Error, RMSLE).</li>



<li>Pérdida de Huber (Huber Loss).</li>



<li>Pérdida Log-cosh. (Log-Cosh Loss).</li>



<li>Pérdida cuantílica (Quantile Loss).</li>



<li>L1 suavizado (Smooth L1).</li>



<li>Pérdida ∈-insensible (∈-Insensitive Loss).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-text-color" style="color:#6b0000"><strong>Funciones de pérdida para algoritmos de clasificación</strong></h4>



<p>Las funciones de pérdida más comunes para modelos de clasificación son las siguientes:</p>



<ul class="wp-block-list">
<li>Pérdida de entropía cruzada (Cross Entropy Loss).</li>



<li>Pérdida de entropía cruzada sigmoidea (Sigmoid Cross Entropy Loss).</li>



<li>Pérdida de entropía cruzada softmax (Softmax Cross Entropy Loss).</li>



<li>Verosimilitud logarítmica negativa (Negative Log-Likelihood).</li>



<li>Pérdida 0-1 (0-1 Loss).</li>



<li>Pérdida de Hinge (Hinge Loss).</li>



<li>Pérdida Huber modificada (Modified Huber Loss).</li>



<li>Pérdida de Hinge suavizada (Smooth Hinge Loss).</li>



<li>Pérdida de Hinge reescalada (Rescaled Hinge Loss).</li>



<li>Pérdida de rampa (Ramp Loss).</li>



<li>Erro de clasificación mínimo (Minimum Classification Error).</li>



<li>Pérdida logarítmica (Log Loss).</li>



<li>Pérdida exponencial (Exponential Loss).</li>



<li>Pérdida basada en margen (Margin-Based Loss).</li>



<li>Ranqueo por parejas (Pairwise Ranking).</li>



<li>Ranqueo por tripleta (Triplet Ranking).</li>



<li>Pérdida contrastiva (Contrastive Loss).</li>



<li>Pérdida pinball (Pinball Loss).</li>



<li>Pérdida pinball truncada (Truncated Pinball Loss).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Funciones de pérdida para aprendizaje no supervisado</h3>



<p>Las funciones de pérdida más comunes para evaluar el desempeño de algoritmos de aprendizaje no supervisado son las siguientes:</p>



<ul class="wp-block-list">
<li>Error cuadrado (Square Error).</li>



<li>Error de distancia (Distance Error).</li>



<li>Error de reconstrucción (Reconstruction Error).</li>



<li>Varianza negativa (Negative Variance).</li>



<li>Pérdida de energía (Energy Loss).</li>



<li>Pérdida minimax (Minimax Loss).</li>



<li>Pérdida de Wasserstein (Wasserstein Loss<strong>)</strong>.</li>



<li>Función de pérdida de difusión (Diffusion Model Loss Function).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para más información sobre estas funciones y sus respectivas definiciones matemáticas, puedes consultar los siguientes recursos:</p>



<ul class="wp-block-list">
<li><a href="https://arxiv.org/abs/2301.05579" target="_blank" rel="noopener">A survey and taxonomy of loss functions in machine learning.</a></li>



<li><a href="https://faculty.ist.psu.edu/vhonavar/Courses/ds310/lossfunc.pdf" target="_blank" rel="noopener">A Comprehensive Survey of Loss Functions in Machine Learning.</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Teniendo esto en mente, ya has conocido lo suficiente para tener una idea del <strong>uso</strong> y <strong>definición</strong> de una <strong>función de pérdida</strong>. Ahora lo formalizaremos matemáticamente.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Función de perdida, definición matemática</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg" alt="Libro_1" class="wp-image-6962" style="width:125px;height:125px" title="Introducción a las funciones de pérdida 120" srcset="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Libro_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como habrás notado, las funciones de pérdida son parte medular de nuestros encuentros con gran parte de los algoritmos de <strong>aprendizaje automático</strong>; su objetivo es generar una medida de qué tan bien opera un <strong>modelo </strong>entrenado, o en proceso de entrenamiento, para realizar <strong>estimaciones </strong>numéricas.</p>



<p>Por ello, se puede definir una generalización matemática de esta función, que expresa la idea central de su finalidad y los cálculos que conducen al cumplimiento de su objetivo.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.10 (Función de Pérdida).</strong> Sea <span class="katex-eq" data-katex-display="false">\mathcal{D} = \lbrace (x_{1},y_{1}),…,(x_{N},y_{N})\rbrace</span> un conjunto de <span class="katex-eq" data-katex-display="false"> N </span> datos u observaciones etiquetadas compuesto por los conjuntos <span class="katex-eq" data-katex-display="false">\mathcal{X} = \lbrace x_{1},…, x_{N}\rbrace</span> de entradas y <span class="katex-eq" data-katex-display="false">\mathcal{Y} = \lbrace y_{1},…, y_{N}\rbrace</span> de salidas, utilizado para entrenar un modelo o función <span class="katex-eq" data-katex-display="false">h(x)</span>, donde cada salida del modelo se expresa como <span class="katex-eq" data-katex-display="false">h(x)=\hat{y}</span>. Una función de pérdida es un mapeo que toma un valor verdadero <span class="katex-eq" data-katex-display="false"> y \in \mathcal{Y} </span> y un valor predicho <span class="katex-eq" data-katex-display="false"> \hat{y}</span>, y asigna a esta pareja un número real que cuantifica el «error» o «pérdida» del modelo <span class="katex-eq" data-katex-display="false">h(x)</span> que ha hecho la predicción <span class="katex-eq" data-katex-display="false"> \hat{y} </span>.</p>



<p>En términos generales, la función de pérdida para la evaluación de un modelo dado un conjunto de datos <span class="katex-eq" data-katex-display="false">\mathcal{D}</span> con <span class="katex-eq" data-katex-display="false"> N </span> instancias se define como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre> L(\mathcal{Y}, \mathcal{\hat{Y}}) = \frac{1}{N} \sum_{n=1}^N l(y_n, \hat{y}_n) , \tag{3.42}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\mathcal{\hat{Y}}</span> es el conjunto de todas las predicciones realizadas con el modelo y que están sometidas a evaluación, y <span class="katex-eq" data-katex-display="false"> l </span> es una función de pérdidas individuales, es decir, la medición del error o distancia entre la predicción <span class="katex-eq" data-katex-display="false">\hat{y}_n</span> y su valor <span class="katex-eq" data-katex-display="false">y_n</span> real asociado. La forma de agregación, en este caso, expresada mediante la suma <span class="katex-eq" data-katex-display="false">\sum</span>, puede variar, así como <span class="katex-eq" data-katex-display="false">N</span> puede ser igual a <span class="katex-eq" data-katex-display="false">1</span> para mantener solo la agregación sin calcular el promedio.</p>



<p><strong>Nota:</strong> sin entrar en más detalle, solo se hará mención de que en algunos casos especiales (como en los <strong>autoencoders</strong>, los cuales definiremos en otra exploración) se tiene que <span class="katex-eq" data-katex-display="false">X = Y</span>, pero que esto no desvíe tu atención de la definición antes presentada.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Taxonomía y ejemplo de una función de pérdida</h3>



<p>Para digerir más fácilmente esta definición, retomaremos el ejemplo del <strong>error cuadrático medio</strong> (ECM), ahora relacionando su estructura respecto a la generalización de la función de pérdida de la <strong>Definición 3.10</strong>. Para esto, identificamos los elementos de su <strong>taxonomía</strong> como sigue:</p>



<ul class="wp-block-list">
<li><strong>Agregador de pérdidas o errores</strong>: el cual viene señalado en la Ecuación <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/ec_342.png">(3.42)</a></strong> como <span class="katex-eq" data-katex-display="false">\frac{1}{N} \sum_{n=1}^N.</span></li>



<li><strong>Función de pérdidas individuales</strong>: la cual viene expresada en la Ecuación <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/ec_342.png">(3.42)</a></strong> como <span class="katex-eq" data-katex-display="false">l(y_n, \hat{y}_n).</span></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora, echemos un vistazo a la definición matemática del error cuadrático medio:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre> L(\mathcal{Y}, \mathcal{\hat{Y}})  = \frac{1}{N} \sum_{n=1}^N (y_n - \hat{y}_n)^2 \tag{3.43}</pre></div>



<p>¿Puedes identificar los elementos antes descritos en esta última expresión? </p>



<p>Si revisamos cuidadosamente encontramos lo siguiente:</p>



<ul class="wp-block-list">
<li><strong>Agregador de pérdidas</strong>: <span class="katex-eq" data-katex-display="false">\frac{1}{N} \sum_{n=1}^N</span></li>



<li><strong>Función de pérdidas individuales</strong>: <span class="katex-eq" data-katex-display="false">(y_n - \hat{y}_n)^2</span></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Podemos observar cómo se promedian los resultados de la función de pérdidas individuales, lo cual es el mismo cálculo que desglosamos en el ejemplo de la sección anterior. </p>



<p>Para ilustrarlo mejor, podemos, por ejemplo, obtener el valor de la pérdida para los primeros cinco valores de la <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/tab_341_2.png">Tabla 3.4.1</a></strong> utilizando la expresión <strong>(3.43)</strong>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>L(y, \hat{y}) = \frac{1}{N} \sum_{n=1}^N (y_n - \hat{y}_n)^2</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>=\frac{(12-11)^2+(15-13.5)^2+(19-21)^2+(21.5-24)^2+(33-32)^2}{5}</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>=\frac{1+2.25+4+6.25+1}{5}</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>=\frac{14.5}{5} =2.9</pre></div>



<p>Esto significa que el valor de la función de pérdida para los primeros <span class="katex-eq" data-katex-display="false">5</span> valores respecto a las predicciones del modelo es igual a <span class="katex-eq" data-katex-display="false">2.9</span>. Nótese cómo este número es el resultado de <strong>mapear </strong>las salidas del conjunto de entrenamiento y las predicciones a un <strong>número real</strong>, que refleja la <strong>similitud </strong>entre estas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-16'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_16' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_16' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_16' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='16'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='44,45,46'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='44' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Una función de pérdida evalúa qué tan rápido se realiza el entrenamiento de un modelo.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-44]' id='ays-answer-148-16' value='148'/>

                <label for='ays-answer-148-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-148-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-44]' id='ays-answer-149-16' value='149'/>

                <label for='ays-answer-149-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-149-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_16 === 'undefined'){
                window.quizOptions_16 = [];
            }
            window.quizOptions_16['44'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Las funciones de pérdida no evalúan rapidez, evalúan la capacidad predictiva de un modelo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='45' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Una función de pérdida en un algoritmo de aprendizaje supervisado calcula qué tanto se asemejan las predicciones de un modelo entrenado a los datos reales.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-45]' id='ays-answer-153-16' value='153'/>

                <label for='ays-answer-153-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-153-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-45]' id='ays-answer-154-16' value='154'/>

                <label for='ays-answer-154-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-154-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_16 === 'undefined'){
                window.quizOptions_16 = [];
            }
            window.quizOptions_16['45'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Una función de pérdida en un algoritmo de aprendizaje supervisado calcula qué tanto se asemejan las predicciones de un modelo entrenado a los datos reales.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='46' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Las funciones de pérdida pueden ser útiles para evaluar estos tipos de modelos:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-46]' id='ays-answer-155-16' value='155'/>

                <label for='ays-answer-155-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Modelos de regresión.</label><label for='ays-answer-155-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-46]' id='ays-answer-156-16' value='156'/>

                <label for='ays-answer-156-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Modelos de clasificación</label><label for='ays-answer-156-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-46]' id='ays-answer-157-16' value='157'/>

                <label for='ays-answer-157-16' class='  ays_position_initial  ays-quiz-keyboard-label'>Modelos de aprendizaje no supervisado</label><label for='ays-answer-157-16' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_16 === 'undefined'){
                window.quizOptions_16 = [];
            }
            window.quizOptions_16['46'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Las funciones de pérdida pueden ser utiles para evaluar todos esos tipos de modelos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  94%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-16 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-16 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-16 #ays_finish_quiz_16 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-16{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-16 #ays_finish_quiz_16 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-16 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-16 .ays_question_hint,
            #ays-quiz-container-16 label[for^="ays-answer-"],
            #ays-quiz-container-16 #ays_finish_quiz_16 p,
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-fs-title,
            #ays-quiz-container-16 .ays-fs-subtitle,
            #ays-quiz-container-16 .logged_in_message,
            #ays-quiz-container-16 .ays_score_message,
            #ays-quiz-container-16 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-16 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-16 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-16 .ays-quiz-password-message-box,
            #ays-quiz-container-16 .ays-quiz-question-note-message-box,
            #ays-quiz-container-16 .ays_quiz_question,
            #ays-quiz-container-16 .ays-quiz-question-category-box,
            #ays-quiz-container-16 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-16 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-16 textarea,
            #ays-quiz-container-16 input::first-letter,
            #ays-quiz-container-16 select::first-letter,
            #ays-quiz-container-16 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-16 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-16 .select2-container,
            #ays-quiz-container-16 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-16 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-16 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-16 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-16 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-16 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-16 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-16 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-16 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-16 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-16 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-16 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-16 input[type='button'],
            #ays-quiz-container-16 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-16 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-16 .information_form input[type='text'],
            #ays-quiz-container-16 .information_form input[type='url'],
            #ays-quiz-container-16 .information_form input[type='number'],
            #ays-quiz-container-16 .information_form input[type='email'],
            #ays-quiz-container-16 .information_form input[type='checkbox'],
            #ays-quiz-container-16 .information_form input[type='tel'],
            #ays-quiz-container-16 .information_form textarea,
            #ays-quiz-container-16 .information_form select,
            #ays-quiz-container-16 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-16 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-16 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-16 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-16 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-16 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-16 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-16 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-16 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-16 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-16 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-16 .ays_cb_and_a,
            #ays-quiz-container-16 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-16 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-16 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-16 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-16 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-16 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-16 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-16 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-16 div.lds-spinner,
            #ays-quiz-container-16 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-16 div.lds-spinner div:after,
            #ays-quiz-container-16 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-16 .lds-circle,
            #ays-quiz-container-16 .lds-facebook div,
            #ays-quiz-container-16 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-16 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-16 .lds-dual-ring::after,
            #ays-quiz-container-16 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-16 .ui.rating .icon,
            #ays-quiz-container-16 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-16 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-16 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-16 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-16 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-16 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-16 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-16 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-16 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-16 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-16 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-16 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-16 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-16 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-16 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-16 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-16 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-16 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-16 div.ays-quiz-redirection-timer,
            #ays-quiz-container-16 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-16 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-16 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-16 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-16 input#ays-submit,
            #ays-quiz-container-16 #ays_finish_quiz_16 .action-button,
            div#ays-quiz-container-16 #ays_finish_quiz_16 .action-button.ays_restart_button,
            #ays-quiz-container-16 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-16 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-16 input#ays-submit,
            #ays-quiz-container-16 #ays_finish_quiz_16 input.action-button,
            #ays-quiz-container-16 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-16 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-16 #ays_finish_quiz_16 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-16 #ays_finish_quiz_16 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-16 input#ays-submit:hover,
            #ays-quiz-container-16 input#ays-submit:focus,
            #ays-quiz-container-16 #ays_finish_quiz_16 .action-button:hover,
            #ays-quiz-container-16 #ays_finish_quiz_16 .action-button:focus,
            #ays-quiz-container-16 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-16 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-16 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-16 .ays_restart_button_p,
            #ays-quiz-container-16 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-16 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-16 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-16 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-16 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-16 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-16 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-16 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-16 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-16 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-16 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-16 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-16 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-16 #ays_finish_quiz_16 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-16 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-16 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-16 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-16 .ays-field .select2-container--default,
            #ays-quiz-container-16 .ays-field .select2-container--default .selection,
            #ays-quiz-container-16 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-16 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-16 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-16 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-16 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-16 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-16 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-16 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-16 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-16 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-16 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-16 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-16 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-16 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-16 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-16 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-16.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-16.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-16 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-16 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-16 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-16 label[for^='ays-answer']:before,
            #ays-quiz-container-16 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-16.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-16.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-16 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-16.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-16.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-16.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-16.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-16.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-16.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-16.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-16.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-16.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-16.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-16 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-16 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-16 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-16 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-16 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-16 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-16 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-16 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-16 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-16 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-16 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-16 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-16 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-16 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-16 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-16 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-16 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-16{
                    max-width: 100%;
                }

                div#ays-quiz-container-16 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-16 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-16 .select2-container,
                #ays-quiz-container-16 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-16 input#ays-submit,
                div#ays-quiz-container-16 #ays_finish_quiz_16 .action-button,
                div#ays-quiz-container-16 #ays_finish_quiz_16 .action-button.ays_restart_button,
                #ays-quiz-container-16 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-16 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-16 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-16 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-16 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-16 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-16 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-16 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-16 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-16 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-16 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-16 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-16 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-16.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-16.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-16.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-16.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-16.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-16.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-16.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-16.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-16 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-16.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-16 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-16 #ays_finish_quiz_16 .action-button:hover,
                #ays-quiz-container-16 #ays_finish_quiz_16 .action-button:focus,
                #ays-quiz-container-16 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-16 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['16']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjUuNy43IiwiY29yZV92ZXJzaW9uIjoiNi41LjQiLCJwaHBfdmVyc2lvbiI6IjguMi4xOCIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjQtMDYtMDcgMDA6Mzc6MzYiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNC0wNi0wNyAwMDozNzozNiIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJxdWl6X2JnX2ltZ19kdXJpbmdfdGhlX3F1aXoiOiJvZmYiLCJzaG93X2Fuc3dlcnNfY2FwdGlvbiI6Im9uIiwicXVpel9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbiI6Im9uIiwic2hvd19xdWl6X2ltYWdlIjoib24iLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIxNiIsInRpdGxlIjoiRnVuY2lvbmVzIGRlIHBcdTAwZTlyZGlkYSIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNDQsNDUsNDYiLCJvcmRlcmluZyI6IjE2IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='16'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aquí damos por finalizado el estudio de este invaluable artefacto de la ciencia de datos. Aún no veremos cómo obtener los valores de las funciones de pérdida con <strong>Python</strong>, esto lo haremos más adelante cuando las utilicemos para <strong>evaluar </strong>el rendimiento de <strong>modelos</strong> de<strong> aprendizaje supervisado</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/06/FDP_OB.jpg" alt="FDP OB" class="wp-image-8319" style="width:502px;height:auto" title="Introducción a las funciones de pérdida 121" srcset="https://dialektico.com/wp-content/uploads/2024/06/FDP_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/06/FDP_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la siguiente expedición aprenderemos cómo opera una función de pérdida para la evaluación de modelos de clasificación, lo cual nos abrirá paso a formas más robustas de evaluación de rendimiento de modelos.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/funcion-perdida-regresion-logistica/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1-300x147.png" alt="Button2 1" style="width:186px;height:91px" title="Introducción a las funciones de pérdida 122"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/funciones-de-perdida-machine-learning/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Conjuntos de datos de entrenamiento, desarrollo y prueba</title>
		<link>https://dialektico.com/conjuntos-train-dev-test/</link>
					<comments>https://dialektico.com/conjuntos-train-dev-test/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Mon, 20 Mar 2023 06:24:46 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[aprendizaje supervisado]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[conjuntos de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=5797</guid>

					<description><![CDATA[Finalmente, hemos arribado al último tramo antes de iniciar la primeras exploraciones enfocadas en modelos de machine learning; en esta ocasión, la travesía será fugaz, pero no por ello menos importante, ya que trata sobre un paso intermedio entre el preprocesamiento y procesamiento de datos, y que es prácticamente indefectible antes de comenzar con el [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Finalmente, hemos arribado al último tramo antes de iniciar la primeras exploraciones enfocadas en modelos de <strong><a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a></strong>; en esta ocasión, la travesía será <strong>fugaz</strong>, pero no por ello menos importante, ya que trata sobre un paso intermedio entre el <strong><a href="https://dialektico.com/introduccion-preprocesamiento/">preprocesamiento</a></strong> y <strong>procesamiento </strong>de datos, y que es prácticamente indefectible antes de comenzar con el entrenamiento de todo modelo de<strong> aprendizaje de máquinas</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2023/03/CDE_Nivel_2.jpg" alt="CDE Nivel 2" class="wp-image-10135" style="width:602px;height:auto" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 123" srcset="https://dialektico.com/wp-content/uploads/2023/03/CDE_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/CDE_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Equipaje recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" class="wp-image-7016" style="width:196px;height:auto" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 124" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Nociones sobre <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3.jpg" alt="datos" class="wp-image-7367" style="width:400px;height:400px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 125" srcset="https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Nociones sobre <a href="https://dialektico.com/introduccion-preprocesamiento/">preprocesamiento de datos</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq.jpg" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" class="wp-image-7578" style="width:410px;height:auto" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 126" srcset="https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Fundamentos de <a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg" alt="ML elem" class="wp-image-10137" style="width:416px;height:auto" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 127" srcset="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/ML_elem-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Tentempié</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/SnackEDP_2.jpg" alt="SnackEDP 2" class="wp-image-10136" style="width:400px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 128" srcset="https://dialektico.com/wp-content/uploads/2023/03/SnackEDP_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/SnackEDP_2-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">¿Qué son los conjuntos de datos de entrenamiento, desarrollo y prueba?</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" class="wp-image-6960" style="width:125px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 129" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Después de <strong>preprocesar</strong> un conjunto de <a href="https://dialektico.com/datos-machine-learning/">datos</a>, este ya está listo para ser <strong>computado </strong>por un algoritmo de <strong>machine learning</strong>; sin embargo, es necesario gestionar un aspecto de su estructura una última vez mediante un sencillo pero imprescindible paso: la división de este en <strong>subconjuntos</strong>, conocidos como conjuntos de <strong>entrenamiento</strong>, <strong>desarrollo</strong>, y <strong>prueba</strong>.</p>



<p>Estos conjuntos tienen diferentes objetivos a lo largo de la etapa de <strong>entrenamiento </strong>de un <strong>modelo </strong>de aprendizaje automático, y es menester entender el cómo y por qué de estas divisiones antes de comenzar a utilizar algoritmos de este tipo.</p>



<p>Revisaremos a detalle cada uno, su definición y la <strong>proporción</strong> que generalmente tienen respecto a todos los datos disponibles.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:0px" aria-hidden="true" id="conjEnt" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Conjunto de datos de entrenamiento (test set)</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El <strong>conjunto de datos de entrenamiento</strong> (test set) es el subconjunto de datos que se procesa para la extracción de patrones, y con ello ajustar <strong>automáticamente</strong> los <strong>parámetros</strong> que constituyen al modelo resultante.</p>



<p>Es decir, es la porción de datos que se entrega de forma inicial a la máquina para que <strong>aprenda</strong> de estos.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/CDE_M1.jpg" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" class="wp-image-7587" style="width:559px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 130" srcset="https://dialektico.com/wp-content/uploads/2024/05/CDE_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/CDE_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para ilustrar esto, recordaremos el <strong>ejemplo</strong> visto en nuestra <strong><a href="https://dialektico.com/introduccion-machine-learning/">primera exploración</a></strong>, en el que se entrena a un modelo para el <strong>reconocimiento de gatos</strong> en imágenes; en este caso, el <strong>conjunto de datos</strong> comprende la cantidad total de imágenes de animales que damos a la computadora para que <strong>aprenda</strong> a diferenciarlos.</p>



<p>Este ejemplo se había simplificado en la introducción al aprendizaje de máquinas de la siguiente forma:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1600" height="800" src="https://dialektico.com/wp-content/uploads/2023/03/E0EDP.jpg" alt="E0EDP" class="wp-image-10144" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 131" srcset="https://dialektico.com/wp-content/uploads/2023/03/E0EDP.jpg 1600w, https://dialektico.com/wp-content/uploads/2023/03/E0EDP-768x384.jpg 768w, https://dialektico.com/wp-content/uploads/2023/03/E0EDP-1536x768.jpg 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /><figcaption class="wp-element-caption"><strong>Fig. 2.8.1 </strong>Ilustración simplificada del entrenamiento de un algoritmo cuya tarea es la de reconocer gatos de entre imágenes de distintos animales. Las entradas son las imágenes, y las salidas las clasificaciones dadas por el modelo entrenado. Tomado y adaptado de <a href="https://dialektico.com/introduccion-machine-learning/">Introducción al aprendizaje de máquinas</a>. </figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora que tenemos mayor conocimiento sobre los <a href="https://dialektico.com/datos-etiquetados-machine-learning/">conjuntos de datos etiquetados</a>, podemos desarrollar un poco más esta ejemplificación mostrando parte de la <strong>estructura </strong>y <strong>etapas </strong>subyacentes de un algoritmo de <strong>machine learning</strong>, cuya primera fase describiremos como el <strong>aprendizaje </strong>de la máquina a partir del conjunto de datos de <strong>entrenamiento</strong>, el cual está compuesto de una porción de todo el <strong>conjunto de datos</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1600" height="800" src="https://dialektico.com/wp-content/uploads/2023/03/E1EDP_2.jpg" alt="E1EDP 2" class="wp-image-10145" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 132" srcset="https://dialektico.com/wp-content/uploads/2023/03/E1EDP_2.jpg 1600w, https://dialektico.com/wp-content/uploads/2023/03/E1EDP_2-768x384.jpg 768w, https://dialektico.com/wp-content/uploads/2023/03/E1EDP_2-1536x768.jpg 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /><figcaption class="wp-element-caption"><strong>Fig. 2.8.2</strong> Primera etapa del algoritmo de machine learning de nuestro ejemplo, en el que se introduce como entradas una porción del conjunto de datos, el cual identificamos como <strong>conjunto de datos de entrenamiento</strong> (recuadro rojo). El resultado de esta primera fase es la obtención de un <strong>modelo</strong> ajustado a los datos, capaz de estimar las <strong>salidas </strong>objetivo (en este caso, reconocer gatos) con un cierto grado de <strong>precisión</strong>.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El conjunto de datos de entrenamiento es la parte de todas nuestras imágenes que daremos a la máquina para este<strong> aprendizaje</strong> inicial. Es importante destacar que nunca le proporcionaremos el <strong>100%</strong> de los datos, (al menos no en lo que respecta a los algoritmos de <strong>aprendizaje supervisado</strong>, los cuales estudiaremos primero en este curso), las razones se abordarán más adelante.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tamaño del conjunto de datos de entrenamiento</h3>



<p>La porción de datos que se debe elegir para el <strong>entrenamiento </strong>del modelo no será siempre la misma, ya que varía de acuerdo al <strong>tamaño</strong> del <strong>conjunto de datos</strong>, entre otros factores. Sin embargo, se suele recomendar que al menos el <strong>70% </strong>de los datos estén dentro de este subconjunto, ya que se requieren suficientes ejemplos de entrenamiento para un ajuste óptimo del modelo (el tamaño definido puede variar significativamente conforme al número de <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/#ejemplosE">ejemplos de entrenamiento</a> disponibles).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Conjunto de datos de desarrollo (dev set)</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez que hemos seleccionado los datos a utilizar para generar el <strong>aprendizaje</strong> del modelo, ¿para qué necesitamos hacer otras divisiones del conjunto de datos? </p>



<p>La respuesta a esta cuestión se encuentra en la etapa posterior a la antes descrita, la cual es sumamente importante y característica del <strong>aprendizaje automático</strong>, ya que consiste en evaluar qué tan bien la máquina ha <strong>aprendido</strong>, es decir, qué tan bien se ha ajustado el modelo a los datos mediante la determinación de sus <strong>parámetros</strong>. Para estos fines, se distribuyen típicamente los datos en uno o dos subconjuntos más: el de <strong>desarrollo</strong>, y el de <strong>pruebas</strong>. </p>



<p>Hablemos sobre el primero.</p>



<p>El conjunto de datos de <strong>desarrollo </strong>o de <strong>validación</strong> (dev set), es el subconjunto que se utiliza para determinar el <strong>rendimiento </strong>del modelo operando sobre <strong>datos nuevos</strong> (que no pertenecen al <strong>conjunto de entrenamiento</strong>), y el cual se utiliza para ajustar sus <strong>hiperparámetros,</strong> lo cual significa configurar algoritmo utilizado hasta obtener resultados satisfactorios.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/CDE_L1.jpg" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" class="wp-image-7594" style="width:504px;height:auto" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 133" srcset="https://dialektico.com/wp-content/uploads/2024/05/CDE_L1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/CDE_L1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/CDE_D1.jpg" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" class="wp-image-7595" style="width:493px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 134" srcset="https://dialektico.com/wp-content/uploads/2024/05/CDE_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/CDE_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Los <strong>hiperparámetros </strong>son <strong>parámetros</strong> que definen algunos aspectos sobre las operaciones y estructura de un <strong>algoritmo </strong>de aprendizaje de máquinas, y que no se ajustan <strong>automáticamente</strong> porque se definen <strong>antes </strong>de la etapa de <strong>entrenamiento</strong>; por lo pronto no ahondaremos mucho en ello, pero será objeto de estudio en próximas expediciones. </p>



<p>El punto clave aquí es que el conjunto de datos de <strong>validación </strong>se entrega al modelo para <strong>evaluar </strong>su <strong>desempeño</strong> y con ello configurar el algoritmo utilizado para determinar qué configuración le favorece más. Esto sucede probando el modelo y cuantificando sus <strong>aciertos </strong>y <strong>errores</strong>. En nuestro ejemplo, la evaluación se realizaría utilizando el modelo para <strong>etiquetar </strong>como gatos o no gatos a nuevas imágenes que no provengan del <strong>conjunto de entrenamiento</strong> (por eso se genera otro subconjunto aparte).</p>



<p>Una vez evaluado el desempeño del modelo entrenado, se procede a realizar cambios en la <strong>arquitectura </strong>del modelo con el fin de dilucidar cuáles <strong>valores</strong> de su configuración proveen las <strong>salidas</strong> con la precisión más alta, como se muestra en la <strong>Figura 2.8.3</strong>.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1100" height="1141" src="https://dialektico.com/wp-content/uploads/2023/03/E2EDP_2.jpg" alt="E2EDP 2" class="wp-image-10147" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 135" srcset="https://dialektico.com/wp-content/uploads/2023/03/E2EDP_2.jpg 1100w, https://dialektico.com/wp-content/uploads/2023/03/E2EDP_2-768x797.jpg 768w" sizes="(max-width: 1100px) 100vw, 1100px" /><figcaption class="wp-element-caption"><strong>Fig. 2.8.3</strong> Esquema que muestra el uso del conjunto de datos de <strong>desarrollo</strong> después del conjunto de <strong>entrenamiento</strong>. El conjunto de datos de desarrollo (recuadro amarillo) permite evaluar cuál es el rendimiento del modelo ajustado mediante la etapa de aprendizaje, registrando sus aciertos y errores (en nuestro ejemplo, su precisión al calcular si se trata de un gato o no); esto permite modificar sus hiperparámetros (configuración del algoritmo), reentrenar el modelo con las nuevas modificaciones, y comenzar de nuevo el flujo de entrenamiento y evaluación, repitiendo el proceso tantas veces se necesite hasta lograr los resultados deseados.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El uso de un conjunto de datos de <strong>desarrollo</strong> es imprescindible su se desea experimentar con la configuración del algoritmo o algoritmos utilizados para el <strong>entrenamiento</strong>. Sin embargo, su uso no siempre está presente a la hora de <strong>ajustar </strong>modelos de machine learning.  Todo dependerá de la complejidad de los datos, y de tus resultados preliminares. Habrá ocasiones en que solo necesites de un conjunto de <strong>entrenamiento </strong>y <strong>prueba</strong>, esto lo veremos más adelante.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tamaño del conjunto de datos de desarrollo</h3>



<p>Lo recomendable en cuanto al tamaño para este subconjunto es que abarque alrededor del <strong>10%</strong> del conjunto original, pero esto dependerá del número total de ejemplos de entrenamiento. Por ejemplo, para un conjunto de datos de <strong>1000</strong> ejemplos de entrenamiento (en el ejemplo, 1000 imágenes), el <strong>10%</strong> es <strong>100</strong>, y parece suficiente para la etapa de desarrollo; pero si se tratara de un conjunto más grande, por ejemplo, de <strong>1 millón</strong> de datos, el <strong>10%</strong> serían<strong> 100 mil</strong> ejemplos de entrenamiento, por lo que incluso podría elegirse solo el <strong>1%</strong> (<strong>10 mil</strong>) o menos  para el <strong>tamaño </strong>del conjunto de <strong>validación</strong>.</p>



<p>Es importante tomar en cuenta esto último, ya que resalta la influencia de las <strong>dimensiones </strong>del conjunto de datos para la definición de las porciones de los subconjuntos de entrenamiento, desarrollo y prueba.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Conjunto de datos de prueba (test set)</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para finalizar, el <strong>conjunto de datos de prueba</strong> (<strong>test set</strong>) es el subconjunto de datos que pretende <strong>simular </strong>el uso del modelo de <strong>machine learning</strong> en <strong>producción</strong>, es decir, en situaciones fuera del entorno de <strong>desarrollo</strong>, o lo que podemos llamar como la <strong>evaluación </strong>de su <strong>rendimiento </strong>en las condiciones más cercanas al «mundo real».</p>



<p>Estos datos son <strong>nuevos </strong>para el modelo, no se hallan contenidos en el <strong>conjunto de entrenamiento</strong> o de <strong>validación</strong>, por lo que se utilizan para evaluar su <strong>desempeño </strong>final después de la elección de <strong>hiperparámetros</strong>, si es que llevaste a cabo una etapa de ajuste de estos. </p>



<p>La intención de este conjunto es responder a la cuestión: ¿qué tan preciso es el modelo en la ejecución sus tareas? Si los resultados son satisfactorios, entonces se puede generalizar que el modelo funcionará con el mismo rendimiento en <strong>datos nuevos</strong> ya no pertenecientes al conjunto de datos.</p>



<p>Respecto a nuestro ejemplo, esto se traduce en que, después de <strong>entrenar</strong> al modelo y seleccionar los <strong>hiperparámetros </strong>más convenientes, se <strong>evaluará</strong> una última vez con otro cúmulo de imágenes nuevas:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1700" src="https://dialektico.com/wp-content/uploads/2023/03/E5EDP_2.jpg" alt="E5EDP 2" class="wp-image-10154" style="width:750px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 136" srcset="https://dialektico.com/wp-content/uploads/2023/03/E5EDP_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2023/03/E5EDP_2-768x1088.jpg 768w, https://dialektico.com/wp-content/uploads/2023/03/E5EDP_2-1084x1536.jpg 1084w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-element-caption"><strong>Fig. 2.8.4</strong> Esquema que muestra el uso del conjunto de entrenamiento para la evaluación del modelo después del ajuste del algoritmo de aprendizaje automático. Una vez hecho esto, se evalúa el rendimiento del modelo resultante con un conjunto de datos de prueba. Si los resultados son favorecedores, se finaliza el proceso. En caso contrario, se realizan los ajustes pertinentes y se vuelven a realizar las mediciones.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Cuando se han finalizado los ajustes del algoritmo de <strong>machine learning</strong>, se <strong>evalúa </strong>de nuevo el modelo, pero ahora con un conjunto de datos completamente nuevo (conjunto de <strong>prueba</strong>). Este definirá que tan bien hace su trabajo el modelo obtenido. Si el rendimiento final no es el esperado, se vuelve a repetir el proceso realizando ajustes en el algoritmo u otros componentes asociados, como los datos o métricas de rendimiento, hasta alcanzar resultados satisfactorios.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2023/03/CDE_M2_2.jpg" alt="CDE M2 2" class="wp-image-10178" style="width:620px;height:auto" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 137" srcset="https://dialektico.com/wp-content/uploads/2023/03/CDE_M2_2.jpg 1080w, https://dialektico.com/wp-content/uploads/2023/03/CDE_M2_2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tamaño del conjunto de datos de prueba</h3>



<p>Las dimensiones de este conjunto son similares a las del conjunto de datos de <strong>desarrollo</strong>: se recomienda un aproximado del <strong>10%</strong> del total de los datos, ya que se requiere una cantidad no muy pequeña de <strong>ejemplos </strong>para poner a prueba el <strong>modelo</strong>. Como se explicó anteriormente, esto depende mucho del <strong>tamaño</strong> del conjunto de datos, por lo que porcentajes más chicos pueden ser igualmente funcionales. </p>



<p>Una distribución común de división del conjunto de datos es la proporción <strong>80%-10%-10%</strong> para cada subconjunto respectivamente (train, dev, test), principalmente cuando se trata de conjuntos relativamente <strong>pequeños </strong>o <strong>medianos</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Notas</strong>: </p>



<ul class="wp-block-list">
<li>Los conjuntos de datos en los códigos de machine learning que te encuentres en la red generalmente no se dividirán en los tres subconjuntos antes descritos, ya que el uso de un conjunto de desarrollo/validación está más enfocado en la experimentación en fases de la definición de la configuración del algoritmo, por lo que se suelen utilizar solo los conjuntos de entrenamiento y prueba. Sin embargo, en proyectos industriales o de investigación científica, se recomienda considerar el conjunto de validación para realizar pruebas de las arquitecturas de los modelos implicados.</li>



<li>Antes de hacer estas divisiones, es recomendable realizar un <strong>barajeo aleatorio</strong> de los ejemplos de entrenamiento. Esto se puede lograr fácilmente con funciones como <a href="https://scikit-learn.org/stable/modules/generated/sklearn.utils.shuffle.html" target="_blank" rel="noopener"><strong>shuffle</strong></a> de <strong>Sklearn</strong> en <strong>Python</strong>.</li>



<li>Si no has cachado todo lo visto en esta lección, no te preocupes, en un futuro muy próximo estaremos haciendo estas divisiones en prácticas de programación (y en la teoría), lo cual te ayudará a comprender su uso.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-13'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_13' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_13' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_13' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='13'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='32,33,34,35'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='32' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Supóngase que se tiene un conjunto de datos con 10,000 ejemplos de entrenamiento para entrenar un modelo de machine learning, ¿en qué momento se divide el conjunto de datos en los conjuntos de entrenamiento, desarrollo y prueba?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-32]' id='ays-answer-103-13' value='103'/>

                <label for='ays-answer-103-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Antes de la etapa de preprocesamiento y procesamiento de datos.</label><label for='ays-answer-103-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-32]' id='ays-answer-104-13' value='104'/>

                <label for='ays-answer-104-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Después de la etapa de preprocesamiento, y antes de la etapa de procesamiento.</label><label for='ays-answer-104-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-32]' id='ays-answer-105-13' value='105'/>

                <label for='ays-answer-105-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Después de la etapa de procesamiento de datos.</label><label for='ays-answer-105-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_13 === 'undefined'){
                window.quizOptions_13 = [];
            }
            window.quizOptions_13['32'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La división del conjunto de datos se da después del preprocesaimento y antes del procesamiento, ya que es un paso necesario para este último.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='33' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál de los siguientes es un buen porcentaje de ejemplos de entrenamiento para el conjunto de datos de entrenamiento?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-33]' id='ays-answer-108-13' value='108'/>

                <label for='ays-answer-108-13' class='  ays_position_initial  ays-quiz-keyboard-label'>80%</label><label for='ays-answer-108-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-33]' id='ays-answer-109-13' value='109'/>

                <label for='ays-answer-109-13' class='  ays_position_initial  ays-quiz-keyboard-label'>10%</label><label for='ays-answer-109-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-33]' id='ays-answer-110-13' value='110'/>

                <label for='ays-answer-110-13' class='  ays_position_initial  ays-quiz-keyboard-label'>62%</label><label for='ays-answer-110-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_13 === 'undefined'){
                window.quizOptions_13 = [];
            }
            window.quizOptions_13['33'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Se recomienda al menos un 70% de datos para el conjunto de entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='34' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>El conjunto de datos de desarrollo/validación se utiliza para:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-34]' id='ays-answer-111-13' value='111'/>

                <label for='ays-answer-111-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Entrenar al modelo.</label><label for='ays-answer-111-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-34]' id='ays-answer-112-13' value='112'/>

                <label for='ays-answer-112-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Evaluar el rendimiento final del modelo.</label><label for='ays-answer-112-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-34]' id='ays-answer-113-13' value='113'/>

                <label for='ays-answer-113-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Evaluar el modelo y ajustar hiperparámetros.</label><label for='ays-answer-113-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_13 === 'undefined'){
                window.quizOptions_13 = [];
            }
            window.quizOptions_13['34'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El conjunto de datos de desarrollo se utiliza para evaluar el modelo y ajustar los hiperparámetros de acuerdo con estas mediciones.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='35' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué subconjunto del conjunto datos se utiliza para la evaluación del rendimiento final del modelo después del ajuste de hiperparámetros?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-35]' id='ays-answer-114-13' value='114'/>

                <label for='ays-answer-114-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Conjunto de datos.</label><label for='ays-answer-114-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-35]' id='ays-answer-115-13' value='115'/>

                <label for='ays-answer-115-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Conjunto de validación.</label><label for='ays-answer-115-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-35]' id='ays-answer-116-13' value='116'/>

                <label for='ays-answer-116-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Conjunto de prueba.</label><label for='ays-answer-116-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-35]' id='ays-answer-117-13' value='117'/>

                <label for='ays-answer-117-13' class='  ays_position_initial  ays-quiz-keyboard-label'>Conjunto de entrenamiento.</label><label for='ays-answer-117-13' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_13 === 'undefined'){
                window.quizOptions_13 = [];
            }
            window.quizOptions_13['35'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El conjunto de datos de entrenamiento pone a preba el modelo resultante de la variación de hiperparámetros.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  88%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-13 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-13 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-13 #ays_finish_quiz_13 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-13{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-13 #ays_finish_quiz_13 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-13 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-13 .ays_question_hint,
            #ays-quiz-container-13 label[for^="ays-answer-"],
            #ays-quiz-container-13 #ays_finish_quiz_13 p,
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-fs-title,
            #ays-quiz-container-13 .ays-fs-subtitle,
            #ays-quiz-container-13 .logged_in_message,
            #ays-quiz-container-13 .ays_score_message,
            #ays-quiz-container-13 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-13 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-13 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-13 .ays-quiz-password-message-box,
            #ays-quiz-container-13 .ays-quiz-question-note-message-box,
            #ays-quiz-container-13 .ays_quiz_question,
            #ays-quiz-container-13 .ays-quiz-question-category-box,
            #ays-quiz-container-13 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-13 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-13 textarea,
            #ays-quiz-container-13 input::first-letter,
            #ays-quiz-container-13 select::first-letter,
            #ays-quiz-container-13 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-13 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-13 .select2-container,
            #ays-quiz-container-13 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-13 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-13 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-13 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-13 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-13 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-13 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-13 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-13 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-13 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-13 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-13 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-13 input[type='button'],
            #ays-quiz-container-13 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-13 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-13 .information_form input[type='text'],
            #ays-quiz-container-13 .information_form input[type='url'],
            #ays-quiz-container-13 .information_form input[type='number'],
            #ays-quiz-container-13 .information_form input[type='email'],
            #ays-quiz-container-13 .information_form input[type='checkbox'],
            #ays-quiz-container-13 .information_form input[type='tel'],
            #ays-quiz-container-13 .information_form textarea,
            #ays-quiz-container-13 .information_form select,
            #ays-quiz-container-13 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-13 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-13 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-13 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-13 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-13 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-13 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-13 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-13 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-13 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-13 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-13 .ays_cb_and_a,
            #ays-quiz-container-13 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-13 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-13 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-13 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-13 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-13 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-13 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-13 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-13 div.lds-spinner,
            #ays-quiz-container-13 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-13 div.lds-spinner div:after,
            #ays-quiz-container-13 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-13 .lds-circle,
            #ays-quiz-container-13 .lds-facebook div,
            #ays-quiz-container-13 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-13 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-13 .lds-dual-ring::after,
            #ays-quiz-container-13 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-13 .ui.rating .icon,
            #ays-quiz-container-13 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-13 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-13 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-13 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-13 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-13 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-13 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-13 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-13 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-13 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-13 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-13 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-13 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-13 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-13 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-13 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-13 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-13 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-13 div.ays-quiz-redirection-timer,
            #ays-quiz-container-13 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-13 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-13 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-13 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-13 input#ays-submit,
            #ays-quiz-container-13 #ays_finish_quiz_13 .action-button,
            div#ays-quiz-container-13 #ays_finish_quiz_13 .action-button.ays_restart_button,
            #ays-quiz-container-13 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-13 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-13 input#ays-submit,
            #ays-quiz-container-13 #ays_finish_quiz_13 input.action-button,
            #ays-quiz-container-13 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-13 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-13 #ays_finish_quiz_13 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-13 #ays_finish_quiz_13 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-13 input#ays-submit:hover,
            #ays-quiz-container-13 input#ays-submit:focus,
            #ays-quiz-container-13 #ays_finish_quiz_13 .action-button:hover,
            #ays-quiz-container-13 #ays_finish_quiz_13 .action-button:focus,
            #ays-quiz-container-13 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-13 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-13 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-13 .ays_restart_button_p,
            #ays-quiz-container-13 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-13 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-13 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-13 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-13 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-13 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-13 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-13 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-13 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-13 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-13 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-13 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-13 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-13 #ays_finish_quiz_13 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-13 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-13 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-13 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-13 .ays-field .select2-container--default,
            #ays-quiz-container-13 .ays-field .select2-container--default .selection,
            #ays-quiz-container-13 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-13 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-13 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-13 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-13 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-13 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-13 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-13 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-13 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-13 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-13 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-13 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-13 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-13 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-13 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-13 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-13.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-13.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-13 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-13 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-13 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-13 label[for^='ays-answer']:before,
            #ays-quiz-container-13 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-13.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-13.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-13 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-13.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-13.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-13.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-13.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-13.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-13.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-13.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-13.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-13.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-13.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-13 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-13 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-13 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-13 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-13 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-13 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-13 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-13 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-13 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-13 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-13 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-13 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-13 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-13 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-13 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-13 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-13 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-13{
                    max-width: 100%;
                }

                div#ays-quiz-container-13 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-13 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-13 .select2-container,
                #ays-quiz-container-13 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-13 input#ays-submit,
                div#ays-quiz-container-13 #ays_finish_quiz_13 .action-button,
                div#ays-quiz-container-13 #ays_finish_quiz_13 .action-button.ays_restart_button,
                #ays-quiz-container-13 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-13 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-13 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-13 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-13 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-13 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-13 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-13 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-13 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-13 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-13 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-13 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-13 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-13.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-13.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-13.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-13.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-13.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-13.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-13.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-13.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-13 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-13.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-13 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-13 #ays_finish_quiz_13 .action-button:hover,
                #ays-quiz-container-13 #ays_finish_quiz_13 .action-button:focus,
                #ays-quiz-container-13 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-13 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['13']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjQuMC44IiwiY29yZV92ZXJzaW9uIjoiNi4xLjEiLCJwaHBfdmVyc2lvbiI6IjcuNC4zMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjMtMDMtMjAgMDA6MDE6MTQiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyMy0wMy0yMCAwMDowMToxNCIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3F1aXpfY2F0ZWdvcnlfZGVzY3JpcHRpb24iOiJvZmYiLCJxdWl6X2VuYWJsZV91c2VyX2NcdTA1NzBvb3NpbmdfYW5vbnltb3VzX2Fzc2Vzc21lbnQiOiJvZmYiLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIxMyIsInRpdGxlIjoiQ29uanVudG9zIEUsIEQsIHkgUCIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiMzIsMzMsMzQsMzUiLCJvcmRlcmluZyI6IjEyIiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOm51bGwsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='13'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¡Hemos terminado!</p>



<p>Has finalizado tu <strong>entrenamiento en datos</strong>, lo que significa que en nuestra próxima exploración arrancaremos en terrenos más inmersos en el dominio del <strong>aprendizaje de máquinas</strong>, donde te adentrarás en el conocimiento de los algoritmos de <strong>aprendizaje supervisado</strong>, y podrás experimentar uno de estos por primera vez en <strong>Python</strong>.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/aprendizaje-supervisado/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1-300x147.png" alt="conjuntos de datos de prueba, desarrollo y entrenamiento" style="width:186px" title="Conjuntos de datos de entrenamiento, desarrollo y prueba 138"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/conjuntos-train-dev-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción al machine learning, primera exploración</title>
		<link>https://dialektico.com/introduccion-machine-learning/</link>
					<comments>https://dialektico.com/introduccion-machine-learning/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 30 Jun 2022 06:29:51 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[introduccion]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=337</guid>

					<description><![CDATA[Como primera parada en nuestro paso a través de las parcelas del machine learning, vamos a detenernos un poco, mirar a nuestro alrededor, y echar un vistazo al mapa: ¿qué es machine learning?, ¿para qué sirve?, ¿qué tipos de machine learning existen?, algunos ejemplos, sus componentes principales, entre otras particularidades cuyo conocimiento es conveniente para [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como primera parada en nuestro paso a través de las parcelas del <strong>machine learning</strong>, vamos a detenernos un poco, mirar a nuestro alrededor, y echar un vistazo al mapa: <strong>¿qué es machine learning?</strong>, <strong>¿para qué sirve?</strong>, <strong>¿qué tipos de machine learning existen?</strong>, algunos <strong>ejemplos</strong>, sus <strong>componentes principales</strong>, entre otras particularidades cuyo conocimiento es conveniente para sortear el terreno y poder adentrarnos de lleno en sus misterios.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2022/06/CDD_Nivel_2.jpg" alt="CDD Nivel 2" class="wp-image-9778" style="width:504px;height:auto" title="Introducción al machine learning, primera exploración 139" srcset="https://dialektico.com/wp-content/uploads/2022/06/CDD_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/06/CDD_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center has-text-color" id="block-70cdf752-e9ec-4bfe-b578-9438fa26a518" style="color:#8f0e0e">¿Qué necesitaremos para nuestra primera exploración?</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="Travel Bag" class="wp-image-7016" style="width:196px;height:auto" title="Introducción al machine learning, primera exploración 140" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center" id="block-21dafccd-f01e-4419-996f-4dda6638f87c">Dado que es tu primera vez por estos lares, en esta ocasión el inventario es bastante ligero:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center has-medium-font-size"><strong>Tentempié: algún alimento para amenizar la travesía</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2022/06/Snack_INM_3.jpg" alt="tentempie dialéktico" class="wp-image-9269" style="width:416px;height:auto" title="Introducción al machine learning, primera exploración 141" srcset="https://dialektico.com/wp-content/uploads/2022/06/Snack_INM_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/06/Snack_INM_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y es todo. Este recorrido en particular contendrá conceptos poco <strong>técnicos</strong>, solo te recomiendo algún comestible para acompañar, y poner <strong>suma atención</strong> a todo lo que verás a continuación.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-6850a15a-bd0d-4345-a1ca-5618a94ca9ec"><strong style="font-style: italic;">Nota</strong><i>: a lo largo de nuestras travesías me referiré al machine learning también como </i><strong style="font-style: italic;">aprendizaje de máquinas</strong><i>, </i><strong style="font-style: italic;">aprendizaje automático</strong><i>, o </i><strong style="font-style: italic;">aprendizaje artificial</strong><i>.</i></p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="block-ca8bd0c6-afd7-4153-b075-0532d765c85c" style="color:#8f0e0e">¿Qué es machine learning?</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px;height:125px" title="Introducción al machine learning, primera exploración 142" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-3a77bf80-3d76-4604-b227-4d5a9a85e1aa">El <strong>machine learning</strong> es una rama de las ciencias computacionales y matemáticas (especialmente, de la inteligencia artificial) que <strong>estudia </strong>y <strong>desarrolla técnicas </strong>para la creación de sistemas capaces de concretar uno o más objetivos mediante algoritmos no explícitamente programados, a través de un proceso de aprendizaje que consiste en la<strong> extracción automática de patrones </strong>de <strong>conjuntos de datos</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/04/IN_L1_2.jpg" alt="laiahrang" class="wp-image-7043" style="width:487px" title="Introducción al machine learning, primera exploración 143" srcset="https://dialektico.com/wp-content/uploads/2024/04/IN_L1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/04/IN_L1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2022/06/D7_IN.jpg" alt="dialéktico" class="wp-image-9274" style="width:487px" title="Introducción al machine learning, primera exploración 144" srcset="https://dialektico.com/wp-content/uploads/2022/06/D7_IN.jpg 1200w, https://dialektico.com/wp-content/uploads/2022/06/D7_IN-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-2810adb2-2bc9-4de0-8f02-1c9da76dcc48">Para mostrar este concepto de una manera <strong>más digerible</strong>, explicaré puntualmente los diferentes términos clave que lo conforman.</p>



<p id="block-2810adb2-2bc9-4de0-8f02-1c9da76dcc48">Comencemos hablando sobre el fenómeno central con el que estaremos lidiando durante toda nuestra travesía: el <strong>aprendizaje</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Aprendizaje en machine learning</h2>



<p>En el contexto del machine learning, el <strong>aprendizaje</strong> se refiere al hecho de que una máquina sea capaz de realizar una tarea o más tareas, y <strong>mejorar</strong> en su ejecución mediante el procesamiento de <strong>datos</strong>; es decir, se da a través de la <em><strong>experiencia</strong></em>, justo como hacemos nosotros en nuestra vida diaria.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/04/IN_K1_2.jpg" alt="kagnadi" class="wp-image-7096" style="width:491px" title="Introducción al machine learning, primera exploración 145" srcset="https://dialektico.com/wp-content/uploads/2024/04/IN_K1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/04/IN_K1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Exacto. Como cuando mejoramos en la realización de nuestras actividades cotidianas, en <strong>machine learning</strong> las computadoras <strong>mejoran </strong>en la ejecución de sus objetivos conforme a los <strong>datos </strong>que les damos<strong> </strong>y sus<strong> intentos</strong> por alcanzar<strong> exitosamente </strong>sus metas.</p>



<p id="block-6323a7b6-78e6-4785-9fa2-5b8e1398054d">Un ejemplo clásico de esto es un sistema capaz de reconocer gatos. Para lograr que una computadora aprenda cómo <strong>diferenciar </strong>un gato de otros animales, le tenemos que proporcionar cúmulos de imágenes <strong>etiquetadas</strong>, es decir, grupos de imágenes en las que le señalemos cuáles son de gatos y cuáles no (justo como lo haríamos con un bebé).</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2021/07/Blog1_1.jpg" alt="algoritmo aprendiendo a reconocer imágenes dialéktico" style="width:430px;height:auto" title="Introducción al machine learning, primera exploración 146"><figcaption class="wp-element-caption"><strong>Fig. 1.3.1 </strong>A través del aprendizaje automático, las computadoras aprenden de forma no muy diferente a los seres humanos. En el ejemplo mencionado, le indicamos a la computadora cuáles imágenes corresponden a gatos y cuáles no con el fin de que logre diferenciar unas de otras.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-6323a7b6-78e6-4785-9fa2-5b8e1398054d">Mediante el <strong>procesamiento</strong> de estos <strong>datos </strong>(las imágenes y sus correspondientes pixeles), y la consideración de sus <strong>errores y éxitos</strong> (la cantidad de gatos que la máquina reconoce de forma correcta o incorrecta), la máquina incrementará progresivamente su capacidad de diferenciar gatos de otros animales. Esto indica que la computadora<strong> </strong><em><strong>aprende conforme analiza los datos que le proporcionamos</strong></em>, y esto es en esencia la <strong>definición </strong>y<strong> meta</strong> del machine learning.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1600" height="800" src="https://dialektico.com/wp-content/uploads/2022/11/IM2.jpg" alt="aprendizaje de máquinas dialéktico" class="wp-image-4071" title="Introducción al machine learning, primera exploración 147" srcset="https://dialektico.com/wp-content/uploads/2022/11/IM2.jpg 1600w, https://dialektico.com/wp-content/uploads/2022/11/IM2-768x384.jpg 768w, https://dialektico.com/wp-content/uploads/2022/11/IM2-1536x768.jpg 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /><figcaption class="wp-element-caption"><strong>Fig. <strong>1.3.</strong>2 </strong>Un modelo de aprendizaje automático puede lograr <em>reconocer </em>objetos diferenciando patrones en imágenes. En nuestro ejemplo, un algoritmo logra identificar gatos de entre diferentes animales procesando imágenes etiquetadas, en las que se le señala cuáles corresponden a gatos y cuáles no.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De forma resumida, podemos aseverar que el <strong>machine learning</strong> es una rama de la ciencia que busca desarrollar y/o implementar técnicas para generar <strong>aprendizaje</strong> en máquinas, es decir: mejorar sus capacidades en el cumplimiento de objetivos conforme a los <strong>datos </strong>que le proveemos.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2022/06/A2_IN_2.jpg" alt="aelacor" class="wp-image-9370" style="width:504px;height:auto" title="Introducción al machine learning, primera exploración 148" srcset="https://dialektico.com/wp-content/uploads/2022/06/A2_IN_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2022/06/A2_IN_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2022/06/D8_IN.jpg" alt="dialéktico" class="wp-image-9371" style="width:493px;height:auto" title="Introducción al machine learning, primera exploración 149" srcset="https://dialektico.com/wp-content/uploads/2022/06/D8_IN.jpg 1200w, https://dialektico.com/wp-content/uploads/2022/06/D8_IN-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las computadoras no interactúan de la misma forma que nosotros con la <strong>información </strong>de la que van a aprender. </p>



<p>Pero lo hacen.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-color" id="block-fc72277d-5336-4e09-bcac-5292ecbe2b1c" style="color:#8f0e0e">Componentes principales del machine learning</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-3102eb5e-b66d-4f2a-902c-914265a01429">Con el objetivo de ilustrar cómo es que se genera el <strong>aprendizaje de máquinas</strong> de manera más concisa, hablaremos sobre los <strong>elementos </strong>que lo producen. Estos componentes son los bloques más esenciales, y son comunes a todos los diferentes tipos de machine learning (que mencionaremos más adelante).</p>



<p>Como si se tratara de <strong>ingredientes </strong>imprescindibles para una receta mágica, revisemos cada uno de estos:</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1. Conjunto de datos</h3>



<p>Este elemento es crucial, vital, ineludible, no solo en aprendizaje de máquinas, sino en toda la <strong>ciencia de datos</strong>. Los <strong>datos </strong>son la materia prima de la cual las máquinas aprenden para concretar tareas, y me atrevo a aseverar que son el pilar de toda la <strong>inteligencia artificial</strong> moderna.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2022/06/M4_IN.jpg" alt="mmerf" class="wp-image-9372" style="width:587px;height:auto" title="Introducción al machine learning, primera exploración 150" srcset="https://dialektico.com/wp-content/uploads/2022/06/M4_IN.jpg 1080w, https://dialektico.com/wp-content/uploads/2022/06/M4_IN-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el ejemplo que revisamos, e ilustramos en la <strong>Figura <strong>1.3.</strong>2</strong>, el conjunto de datos es el grupo de imágenes de gatos y otros animales. Más adelante en el curso aprenderás todo lo que necesitas para <strong>manipular </strong>y <strong>utilizar </strong>los datos para producir <strong>aprendizaje automático</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2. Un algoritmo para procesar los datos</h3>



<p>Cuando hablamos sobre <strong>machine learning</strong>, hablamos sobre&#8230; eso, máquinas aprendiendo. Las computadoras operan mediante instrucciones, y estas instrucciones son recibidas mediante una lógica a seguir. Esta lógica es lo que conocemos como <strong>algoritmos</strong>. </p>



<p>Los algoritmos en aprendizaje automático comprenden al conjunto de pasos a seguir para procesar los datos y extraer <strong>patrones </strong>de estos. El estudio del machine learning se puede reducir al estudio de sus algoritmos, ya que se trata de las diversas <strong>técnicas </strong>existentes para operar sobre datos y obtener <strong>modelos matemáticos</strong> (de esto hablaremos en el siguiente punto).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2022/06/M45_IN.jpg" alt="mmerf" class="wp-image-9373" style="width:610px;height:auto" title="Introducción al machine learning, primera exploración 151" srcset="https://dialektico.com/wp-content/uploads/2022/06/M45_IN.jpg 1080w, https://dialektico.com/wp-content/uploads/2022/06/M45_IN-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En nuestro ejemplo invocado anteriormente, el algoritmo sería el conjunto de <strong>operaciones </strong>realizadas bajo una <strong>lógica </strong>para que la máquina logre <strong>reconocer </strong>gatos con éxito. Aquí hablaremos más tarde sobre los algoritmos de machine learning más populares.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. Modelo matemático</h3>



<p>Esto más que un ingrediente es, de hecho, lo que resultará del <strong>procesamiento </strong>de datos mediante el <strong>algoritmo </strong>utilizado. El <strong>modelo </strong>es una <strong>función matemática</strong> que captura patrones en los datos, y los expresa matemáticamente. Este modelo es utilizado para realizar los <strong>cálculos </strong>para que la <strong>máquina </strong>realice sus tareas.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2022/06/M6_IN.jpg" alt="mmerf" class="wp-image-9374" style="width:588px;height:auto" title="Introducción al machine learning, primera exploración 152" srcset="https://dialektico.com/wp-content/uploads/2022/06/M6_IN.jpg 1080w, https://dialektico.com/wp-content/uploads/2022/06/M6_IN-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el ejemplo antes citado, el <strong>modelo </strong>matemático resultante es una <strong>función </strong>que, dada una nueva imagen, genera un valor numérico que indica si la imagen es un gato o no. Los detalles de los modelos matemáticos los abordaremos con mucho más detalle en próximos tópicos del curso, principalmente en los <strong>apartados de matemáticas</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Flujo general del machine learning</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La relación entre los diferentes componentes aquí expuestos se puede explicar mediante el diagrama de lo que he llamado <strong>marco de trabajo general del aprendizaje de máquinas</strong> (<strong>Figura 1.3.3</strong>), en el que se observa cómo los elementos clave conviven y generan lo que llamamos inteligencia artificial mediante algoritmos de machine learning.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1300" src="https://dialektico.com/wp-content/uploads/2022/06/Flujo_ML_IN_5.jpg" alt="Flujo ML IN 5" class="wp-image-10953" style="width:758px;height:auto" title="Introducción al machine learning, primera exploración 153" srcset="https://dialektico.com/wp-content/uploads/2022/06/Flujo_ML_IN_5.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/06/Flujo_ML_IN_5-768x975.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Fig. 1.3.3</strong> Diagrama del marco de trabajo general de aprendizaje de máquinas. Se muestra cómo los datos son transformados por un algoritmo con el fin de generar un modelo matemático que opere sobre los datos.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Desde este punto de vista, la <strong>inteligencia artificial</strong> que es producida por <strong>aprendizaje de máquinas </strong>es menos misteriosa: al final se trata de <strong>modelos matemáticos</strong> procreados mediante algoritmos que procesan datos.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/04/A1_IN.jpg" alt="aelacor" class="wp-image-7102" style="width:494px" title="Introducción al machine learning, primera exploración 154" srcset="https://dialektico.com/wp-content/uploads/2024/04/A1_IN.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/04/A1_IN-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-527e48af-8f47-4543-88cf-f8c9b1c5eb49">Hoy en día varios autores se refieren al machine learning como una rama de la<strong> inteligencia artificial</strong>, e incluso de las<strong> ciencias cognitivas</strong>. En este curso aceptaremos la convención de que el machine learning es inteligencia artificial, porque sus avances se desprenden del estudio de esta.</p>



<p id="block-527e48af-8f47-4543-88cf-f8c9b1c5eb49">Sin embargo, la <strong>inteligencia </strong>es aún un concepto de diversos tintes, y existen diversas métricas para su medición que difieren entre sí en cuanto a lo que es la inteligencia y cómo es alcanzable por una máquina. Esto evita discernir de forma concreta si estos sistemas son realmente <strong><em>inteligentes </em></strong>o no. Desde mi perspectiva, las computadoras aún no son inteligentes <em>per se</em>, pero esto es un tema que da para un extenso debate. Lo dejo a tu criterio.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Ejemplos de machine learning</h2>



<p>Para ilustrar el alcance de este tipo de algoritmos, en la <strong>Figura 1.3.4</strong> se pueden apreciar diferentes ejemplos de productos <em>inteligentes</em> creados mediante técnicas de aprendizaje automático:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1600" src="https://dialektico.com/wp-content/uploads/2024/04/IN_IM3.jpg" alt="ejemplos de machine learning dialéktico" class="wp-image-7097" style="width:639px;height:auto" title="Introducción al machine learning, primera exploración 155" srcset="https://dialektico.com/wp-content/uploads/2024/04/IN_IM3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/IN_IM3-768x1200.jpg 768w, https://dialektico.com/wp-content/uploads/2024/04/IN_IM3-983x1536.jpg 983w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Fig. 1.3.4</strong> Ejemplos de aplicaciones del machine learning.</figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Estos son solo una diminuta porción del racimo de posibilidades que ofrece el machine learning: sus aplicaciones permean gran parte de nuestra vida diaria, especialmente en los entornos digitales, pero por el momento no nos detendremos a hablar sobre esto, ya que lo estaremos experimentando a lo largo del <strong>curso</strong>.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="181" src="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1.jpg" alt="HistoricFrame 1" class="wp-image-7458" title="Introducción al machine learning, primera exploración 156" srcset="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1-768x136.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>El término <strong>machine learning</strong> fue utilizado por primera vez por el ingeniero Arthur L. Samuel en 1959, en un artículo llamado &lt;&lt;<a href="https://ieeexplore.ieee.org/document/5392560" target="_blank" rel="noopener">Some Studies in Machine Learning Using the Game Checkers</a>&gt;&gt;. En su texto abordó los procedimientos para lograr que una computadora aprenda a jugar el juego de mesa &lt;&lt;damas inglesas&gt;&gt;. Sobre los resultados expresó lo siguiente: &lt;&lt;se ha realizado suficiente trabajo para verificar el hecho de que una computadora puede ser programada para aprender a jugar mejor que las personas que escribieron el programa&gt;&gt;.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2022/06/image-63.png" alt="Arthur L. Samuel machine learning por dialéktico" class="wp-image-9367" style="width:477px;height:auto" title="Introducción al machine learning, primera exploración 157" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-63.png 1024w, https://dialektico.com/wp-content/uploads/2022/06/image-63-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="162" src="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1.jpg" alt="HistoricFrameBottom 1" class="wp-image-7459" style="width:847px;height:auto" title="Introducción al machine learning, primera exploración 158" srcset="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1-768x122.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Machine learning vs algoritmos convencionales</h3>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Dada la definición del machine learning que hemos desarrollado aquí, se puede distinguir un <strong>enorme diferenciador</strong> que tiene respecto a la forma en que ofrecen soluciones los <strong>programas informáticos convencionales</strong>, ya que en estos últimos se establecen reglas que la computadora debe seguir para ejecutar una tarea, y que no cambian salvo que el programador decida realizar alguna edición del <strong>código </strong>computacional que las establece.</p>



<p>En un algoritmo de machine learning, en cambio, su <strong>eficiencia</strong> cumpliendo sus objetivos <strong>cambia </strong>a la par que <strong>procesa datos</strong>.</p>



<p>Un ejemplo de esto es una computadora que ha sido programada para entablar algún tipo de <strong>diálogo</strong> con usuarios. Una forma de hacer esto, es con un programa que muestre <strong>respuestas predefinidas</strong> por el programador dado un texto de entrada específico.</p>



<p>En cambio, un <strong>algoritmo de machine learning</strong> puede aprender a responder procesando información de conversaciones, y sus respuestas pueden variar conforme «lea» más de estas, como se ejemplifica en la <strong>figura <strong>1.3.</strong>5</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/Speaking_3.jpg" alt="ejemplos de machine learning" class="wp-image-8824" style="width:652px;height:auto" title="Introducción al machine learning, primera exploración 159" srcset="https://dialektico.com/wp-content/uploads/2024/07/Speaking_3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/Speaking_3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /><figcaption class="wp-element-caption"><strong>Fig. <strong>1.3.</strong>5</strong> La operación de una computadora que realiza una tarea a través de aprendizaje automático se ve modificada con relación a los datos que consume. En este ejemplo, una computadora que ha leído (procesado) cierto tipo de conversaciones en español, donde se puede notar la influencia de <strong>expresiones locales</strong>, ha aprendido a responder de una manera que podría cambiar en cuanto procese otras pláticas nuevas. Es importante notar cómo el <strong>contexto </strong>o los<strong> factores culturales </strong>determinan el<strong> comportamiento </strong>de una IA en un campo como el lenguaje, ya que incluso se han suscitado casos de <a href="https://hipertextual.com/2022/06/clip-robot-racista-sexista-alarma-comunidad-cientifica" target="_blank" rel="noopener">computadoras racistas o sexistas al ser entrenadas con información sesgada.</a></figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por lo tanto, a través del aprendizaje automático se generan programas que funcionan a partir de estructuras matemáticas <em><strong>dinámicas</strong></em>, es decir, que cambian automáticamente a la par que procesan información: estos programas se adaptan y varían su rendimiento con el consumo de datos nuevos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-2'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_2' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_2' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_2' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta la siguiente pregunta</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='2'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='4'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='4' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 1</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cómo es que una máquina <em>aprende</em> mediante algoritmos de machine learning?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-4]' id='ays-answer-10-2' value='10'/>

                <label for='ays-answer-10-2' class='  ays_position_initial  ays-quiz-keyboard-label'>Mediante operaciones estáticas.</label><label for='ays-answer-10-2' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-4]' id='ays-answer-11-2' value='11'/>

                <label for='ays-answer-11-2' class='  ays_position_initial  ays-quiz-keyboard-label'>Haciendo extracción de patrones de conjuntos de datos mediante un algoritmo que genera un modelo matemático.</label><label for='ays-answer-11-2' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-4]' id='ays-answer-12-2' value='12'/>

                <label for='ays-answer-12-2' class='  ays_position_initial  ays-quiz-keyboard-label'>Obteniendo datos de forma continua y generando código computacional por sí misma.</label><label for='ays-answer-12-2' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_2 === 'undefined'){
                window.quizOptions_2 = [];
            }
            window.quizOptions_2['4'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El machine learning es una rama de las ciencias computacionales cuyo objetivo es desarrollar algoritmos capaces realizar una o más tareas a través de la extracción automática de patrones de conjuntos de datos, procurando la minimización de sus errores conforme procesa información en un periodo de tiempo determinado.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  84%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-2 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-2 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-2 #ays_finish_quiz_2 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-2{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-2 #ays_finish_quiz_2 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-2 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-2 .ays_question_hint,
            #ays-quiz-container-2 label[for^="ays-answer-"],
            #ays-quiz-container-2 #ays_finish_quiz_2 p,
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-fs-title,
            #ays-quiz-container-2 .ays-fs-subtitle,
            #ays-quiz-container-2 .logged_in_message,
            #ays-quiz-container-2 .ays_score_message,
            #ays-quiz-container-2 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-2 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-2 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-2 .ays-quiz-password-message-box,
            #ays-quiz-container-2 .ays-quiz-question-note-message-box,
            #ays-quiz-container-2 .ays_quiz_question,
            #ays-quiz-container-2 .ays-quiz-question-category-box,
            #ays-quiz-container-2 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-2 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-2 textarea,
            #ays-quiz-container-2 input::first-letter,
            #ays-quiz-container-2 select::first-letter,
            #ays-quiz-container-2 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-2 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-2 .select2-container,
            #ays-quiz-container-2 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-2 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-2 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-2 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-2 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-2 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-2 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-2 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-2 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-2 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-2 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-2 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-2 input[type='button'],
            #ays-quiz-container-2 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-2 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-2 .information_form input[type='text'],
            #ays-quiz-container-2 .information_form input[type='url'],
            #ays-quiz-container-2 .information_form input[type='number'],
            #ays-quiz-container-2 .information_form input[type='email'],
            #ays-quiz-container-2 .information_form input[type='checkbox'],
            #ays-quiz-container-2 .information_form input[type='tel'],
            #ays-quiz-container-2 .information_form textarea,
            #ays-quiz-container-2 .information_form select,
            #ays-quiz-container-2 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-2 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-2 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-2 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-2 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-2 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-2 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-2 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-2 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-2 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-2 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-2 .ays_cb_and_a,
            #ays-quiz-container-2 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-2 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-2 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-2 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-2 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-2 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-2 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-2 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-2 div.lds-spinner,
            #ays-quiz-container-2 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-2 div.lds-spinner div:after,
            #ays-quiz-container-2 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-2 .lds-circle,
            #ays-quiz-container-2 .lds-facebook div,
            #ays-quiz-container-2 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-2 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-2 .lds-dual-ring::after,
            #ays-quiz-container-2 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-2 .ui.rating .icon,
            #ays-quiz-container-2 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-2 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-2 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-2 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-2 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-2 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-2 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-2 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-2 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-2 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-2 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-2 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-2 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-2 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-2 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-2 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-2 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-2 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-2 div.ays-quiz-redirection-timer,
            #ays-quiz-container-2 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-2 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-2 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-2 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-2 input#ays-submit,
            #ays-quiz-container-2 #ays_finish_quiz_2 .action-button,
            div#ays-quiz-container-2 #ays_finish_quiz_2 .action-button.ays_restart_button,
            #ays-quiz-container-2 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-2 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-2 input#ays-submit,
            #ays-quiz-container-2 #ays_finish_quiz_2 input.action-button,
            #ays-quiz-container-2 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-2 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-2 #ays_finish_quiz_2 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-2 #ays_finish_quiz_2 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-2 input#ays-submit:hover,
            #ays-quiz-container-2 input#ays-submit:focus,
            #ays-quiz-container-2 #ays_finish_quiz_2 .action-button:hover,
            #ays-quiz-container-2 #ays_finish_quiz_2 .action-button:focus,
            #ays-quiz-container-2 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-2 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-2 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-2 .ays_restart_button_p,
            #ays-quiz-container-2 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-2 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-2 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-2 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-2 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-2 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-2 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-2 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-2 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-2 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-2 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-2 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-2 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-2 #ays_finish_quiz_2 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-2 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-2 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-2 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-2 .ays-field .select2-container--default,
            #ays-quiz-container-2 .ays-field .select2-container--default .selection,
            #ays-quiz-container-2 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-2 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-2 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-2 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-2 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-2 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-2 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-2 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-2 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-2 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-2 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-2 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-2 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-2 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-2 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-2 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-2.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-2.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-2 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-2 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-2 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-2 label[for^='ays-answer']:before,
            #ays-quiz-container-2 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-2.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-2.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-2 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-2.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-2.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-2.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-2.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-2.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-2.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-2.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-2.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-2.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-2.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-2 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-2 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-2 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-2 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-2 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-2 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-2 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-2 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-2 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-2 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-2 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-2 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-2 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-2 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-2 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-2 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-2 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-2{
                    max-width: 100%;
                }

                div#ays-quiz-container-2 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-2 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-2 .select2-container,
                #ays-quiz-container-2 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-2 input#ays-submit,
                div#ays-quiz-container-2 #ays_finish_quiz_2 .action-button,
                div#ays-quiz-container-2 #ays_finish_quiz_2 .action-button.ays_restart_button,
                #ays-quiz-container-2 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-2 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-2 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-2 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-2 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-2 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-2 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-2 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-2 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-2 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-2 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            #ays-quiz-container-2 input#ays-submit, #ays-quiz-container-2 #ays_finish_quiz_2 .action-button, div#ays-quiz-container-2 #ays_finish_quiz_2 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}

#ays-quiz-container-2 .ays-field.checked_answer_div input:checked+label:hover {
    background-color: rgb(158 5 5);
}

#ays-quiz-container-2 .ays-field:hover label {
    background: rgb(158 5 5);
    /* border-radius: 4px; */
    color: #fff;
    transition: all .3s;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-2 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-2 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-2.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-2.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-2.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-2.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-2.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-2.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-2.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-2.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-2 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-2.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-2 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-2 #ays_finish_quiz_2 .action-button:hover,
                #ays-quiz-container-2 #ays_finish_quiz_2 .action-button:focus,
                #ays-quiz-container-2 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-2 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['2']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjMuNS4wIiwiY29yZV92ZXJzaW9uIjoiNi4wLjEiLCJwaHBfdmVyc2lvbiI6IjguMC4xNiIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiI2F5cy1xdWl6LWNvbnRhaW5lci0yIGlucHV0I2F5cy1zdWJtaXQsICNheXMtcXVpei1jb250YWluZXItMiAjYXlzX2ZpbmlzaF9xdWl6XzIgLmFjdGlvbi1idXR0b24sIGRpdiNheXMtcXVpei1jb250YWluZXItMiAjYXlzX2ZpbmlzaF9xdWl6XzIgLmFjdGlvbi1idXR0b24uYXlzX3Jlc3RhcnRfYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWUwNTA1O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbiAgICBib3gtc2hhZG93OiB1bnNldDtcclxufVxyXG5cclxuI2F5cy1xdWl6LWNvbnRhaW5lci0yIC5heXMtZmllbGQuY2hlY2tlZF9hbnN3ZXJfZGl2IGlucHV0OmNoZWNrZWQrbGFiZWw6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCA1IDUpO1xyXG59XHJcblxyXG4jYXlzLXF1aXotY29udGFpbmVyLTIgLmF5cy1maWVsZDpob3ZlciBsYWJlbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMTU4IDUgNSk7XHJcbiAgICBcLyogYm9yZGVyLXJhZGl1czogNHB4OyAqXC9cclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxufSIsImxpbWl0X3VzZXJzIjoib2ZmIiwibGltaXRhdGlvbl9tZXNzYWdlIjoiIiwicmVkaXJlY3RfdXJsIjoiIiwicmVkaXJlY3Rpb25fZGVsYXkiOjAsImFuc3dlcnNfdmlldyI6Imxpc3QiLCJlbmFibGVfcnRsX2RpcmVjdGlvbiI6Im9mZiIsImVuYWJsZV9sb2dnZWRfdXNlcnNfbWVzc2FnZSI6IiIsInF1ZXN0aW9uc19jb3VudCI6IiIsImVuYWJsZV9xdWVzdGlvbl9iYW5rIjoib2ZmIiwiZW5hYmxlX2xpdmVfcHJvZ3Jlc3NfYmFyIjoib2ZmIiwiZW5hYmxlX3BlcmNlbnRfdmlldyI6Im9mZiIsImVuYWJsZV9hdmVyYWdlX3N0YXRpc3RpY2FsIjoib24iLCJlbmFibGVfbmV4dF9idXR0b24iOiJvbiIsImVuYWJsZV9wcmV2aW91c19idXR0b24iOiJvbiIsImVuYWJsZV9hcnJvd3MiOiJvZmYiLCJ0aW1lcl90ZXh0IjoiIiwicXVpel90aGVtZSI6ImNsYXNzaWNfbGlnaHQiLCJlbmFibGVfc29jaWFsX2J1dHRvbnMiOiJvZmYiLCJyZXN1bHRfdGV4dCI6IiIsImVuYWJsZV9wYXNzX2NvdW50Ijoib2ZmIiwiaGlkZV9zY29yZSI6Im9mZiIsInJhdGVfZm9ybV90aXRsZSI6IiIsImJveF9zaGFkb3dfY29sb3IiOiJyZ2JhKDEwLDEwLDEwLDAuMzUpIiwicXVpel9ib3JkZXJfcmFkaXVzIjoiMCIsInF1aXpfYmdfaW1hZ2UiOiJodHRwczpcL1wvZGlhbGVrdGljby5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjJcLzA4XC9RMy5qcGciLCJxdWl6X2JvcmRlcl93aWR0aCI6IjMiLCJxdWl6X2JvcmRlcl9zdHlsZSI6InNvbGlkIiwicXVpel9ib3JkZXJfY29sb3IiOiIjMDAwIiwicXVpel9sb2FkZXIiOiJmYWNlYm9vayIsImNyZWF0ZV9kYXRlIjpudWxsLCJhdXRob3IiOiJ7XCJpZFwiOlwiMVwiLFwibmFtZVwiOlwiRGFuaWVsIERpYWxcXHUwMGU5a3RpY29cIn0iLCJxdWVzdF9hbmltYXRpb24iOiJzaGFrZSIsImZvcm1fdGl0bGUiOiIiLCJlbmFibGVfYmdfbXVzaWMiOiJvZmYiLCJxdWl6X2JnX211c2ljIjoiIiwiYW5zd2Vyc19mb250X3NpemUiOiIxNSIsInNob3dfY3JlYXRlX2RhdGUiOiJvZmYiLCJzaG93X2F1dGhvciI6Im9mZiIsImVuYWJsZV9lYXJseV9maW5pc2giOiJvZmYiLCJhbnN3ZXJzX3J3X3RleHRzIjoib25fcGFzc2luZyIsImRpc2FibGVfc3RvcmVfZGF0YSI6Im9mZiIsImVuYWJsZV9iYWNrZ3JvdW5kX2dyYWRpZW50Ijoib2ZmIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8xIjoiIzAwMCIsImJhY2tncm91bmRfZ3JhZGllbnRfY29sb3JfMiI6IiNmZmYiLCJxdWl6X2dyYWRpZW50X2RpcmVjdGlvbiI6InZlcnRpY2FsIiwicmVkaXJlY3RfYWZ0ZXJfc3VibWl0Ijoib2ZmIiwic3VibWl0X3JlZGlyZWN0X3VybCI6IiIsInN1Ym1pdF9yZWRpcmVjdF9kZWxheSI6MCwicHJvZ3Jlc3NfYmFyX3N0eWxlIjoidGhpcmQiLCJlbmFibGVfZXhpdF9idXR0b24iOiJvZmYiLCJleGl0X3JlZGlyZWN0X3VybCI6IiIsImltYWdlX3NpemluZyI6ImNvdmVyIiwicXVpel9iZ19pbWFnZV9wb3NpdGlvbiI6ImNlbnRlciBjZW50ZXIiLCJjdXN0b21fY2xhc3MiOiIiLCJlbmFibGVfc29jaWFsX2xpbmtzIjoib2ZmIiwic29jaWFsX2xpbmtzIjp7ImxpbmtlZGluX2xpbmsiOiIiLCJmYWNlYm9va19saW5rIjoiIiwidHdpdHRlcl9saW5rIjoiIiwidmtvbnRha3RlX2xpbmsiOiIiLCJpbnN0YWdyYW1fbGluayI6IiIsInlvdXR1YmVfbGluayI6IiJ9LCJzaG93X3F1aXpfdGl0bGUiOiJvZmYiLCJzaG93X3F1aXpfZGVzYyI6Im9uIiwic2hvd19sb2dpbl9mb3JtIjoib2ZmIiwibW9iaWxlX21heF93aWR0aCI6IiIsImxpbWl0X3VzZXJzX2J5IjoiaXAiLCJhY3RpdmVfZGF0ZV9jaGVjayI6Im9mZiIsImFjdGl2ZUludGVydmFsIjoiMjAyMi0wOC0xNyAwMjoxNDoxOCIsImRlYWN0aXZlSW50ZXJ2YWwiOiIyMDIyLTA4LTE3IDAyOjE0OjE4IiwiYWN0aXZlX2RhdGVfcHJlX3N0YXJ0X21lc3NhZ2UiOiJUaGUgcXVpeiB3aWxsIGJlIGF2YWlsYWJsZSBzb29uISIsImFjdGl2ZV9kYXRlX21lc3NhZ2UiOiJcdTAwYTFFbCB0ZXN0IGhhIGV4cGlyYWRvISIsImV4cGxhbmF0aW9uX3RpbWUiOiI0IiwiZW5hYmxlX2NsZWFyX2Fuc3dlciI6Im9mZiIsInNob3dfY2F0ZWdvcnkiOiJvZmYiLCJzaG93X3F1ZXN0aW9uX2NhdGVnb3J5Ijoib2ZmIiwiZGlzcGxheV9zY29yZSI6ImJ5X3BlcmNhbnRhZ2UiLCJlbmFibGVfcndfYXNud2Vyc19zb3VuZHMiOiJvbiIsImFuc19yaWdodF93cm9uZ19pY29uIjoiZGVmYXVsdCIsInF1aXpfYmdfaW1nX2luX2ZpbmlzaF9wYWdlIjoib2ZmIiwiZmluaXNoX2FmdGVyX3dyb25nX2Fuc3dlciI6Im9mZiIsImFmdGVyX3RpbWVyX3RleHQiOiIiLCJlbmFibGVfZW50ZXJfa2V5Ijoib24iLCJidXR0b25zX3RleHRfY29sb3IiOiIjZmZmZmZmIiwiYnV0dG9uc19wb3NpdGlvbiI6ImNlbnRlciIsInNob3dfcXVlc3Rpb25zX2V4cGxhbmF0aW9uIjoib25fcGFzc2luZyIsImVuYWJsZV9hdWRpb19hdXRvcGxheSI6Im9mZiIsImJ1dHRvbnNfc2l6ZSI6Im1lZGl1bSIsImJ1dHRvbnNfZm9udF9zaXplIjoiMTciLCJidXR0b25zX3dpZHRoIjoiIiwiYnV0dG9uc19sZWZ0X3JpZ2h0X3BhZGRpbmciOiIyMCIsImJ1dHRvbnNfdG9wX2JvdHRvbV9wYWRkaW5nIjoiMTAiLCJidXR0b25zX2JvcmRlcl9yYWRpdXMiOiIzIiwiZW5hYmxlX2xlYXZlX3BhZ2UiOiJvbiIsImVuYWJsZV90YWNrZXJzX2NvdW50Ijoib2ZmIiwidGFja2Vyc19jb3VudCI6IiIsInBhc3Nfc2NvcmUiOjAsInBhc3Nfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPkNvbmdyYXR1bGF0aW9ucyE8XC9oND5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Zb3UgcGFzc2VkIHRoZSBxdWl6ITxcL3A+IiwiZmFpbF9zY29yZV9tZXNzYWdlIjoiPGg0IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+T29wcyE8XC9oND5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Zb3UgaGF2ZSBub3QgcGFzc2VkIHRoZSBxdWl6IVxyXG5UcnkgYWdhaW4hPFwvcD4iLCJxdWVzdGlvbl9mb250X3NpemUiOjE2LCJxdWl6X3dpZHRoX2J5X3BlcmNlbnRhZ2VfcHgiOiJwaXhlbHMiLCJxdWVzdGlvbnNfaGludF9pY29uX29yX3RleHQiOiJkZWZhdWx0IiwicXVlc3Rpb25zX2hpbnRfdmFsdWUiOiIiLCJlbmFibGVfZWFybHlfZmluc2hfY29tZmlybV9ib3giOiJvbiIsImVuYWJsZV9xdWVzdGlvbnNfb3JkZXJpbmdfYnlfY2F0Ijoib2ZmIiwic2hvd19zY2hlZHVsZV90aW1lciI6Im9mZiIsInNob3dfdGltZXJfdHlwZSI6ImNvdW50ZG93biIsInF1aXpfbG9hZGVyX3RleHRfdmFsdWUiOiIiLCJoaWRlX2NvcnJlY3RfYW5zd2VycyI6Im9mZiIsInNob3dfaW5mb3JtYXRpb25fZm9ybSI6Im9uIiwicXVpel9sb2FkZXJfY3VzdG9tX2dpZiI6IiIsImRpc2FibGVfaG92ZXJfZWZmZWN0Ijoib2ZmIiwicXVpel9sb2FkZXJfY3VzdG9tX2dpZl93aWR0aCI6MTAwLCJwcm9ncmVzc19saXZlX2Jhcl9zdHlsZSI6ImRlZmF1bHQiLCJxdWl6X3RpdGxlX3RyYW5zZm9ybWF0aW9uIjoidXBwZXJjYXNlIiwic2hvd19hbnN3ZXJzX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X2ltYWdlX3dpZHRoX2J5X3BlcmNlbnRhZ2VfcHgiOiJwaXhlbHMiLCJxdWl6X2ltYWdlX2hlaWdodCI6IiIsInF1aXpfYmdfaW1nX29uX3N0YXJ0X3BhZ2UiOiJvZmYiLCJxdWl6X2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd195X29mZnNldCI6MCwicXVpel9ib3hfc2hhZG93X3pfb2Zmc2V0IjoxNSwicXVpel9xdWVzdGlvbl90ZXh0X2FsaWdubWVudCI6ImNlbnRlciIsInF1aXpfYXJyb3dfdHlwZSI6ImRlZmF1bHQiLCJxdWl6X3Nob3dfd3JvbmdfYW5zd2Vyc19maXJzdCI6Im9mZiIsInF1aXpfZGlzcGxheV9hbGxfcXVlc3Rpb25zIjoib2ZmIiwicXVpel90aW1lcl9yZWRfd2FybmluZyI6Im9mZiIsInF1aXpfc2NoZWR1bGVfdGltZXpvbmUiOiJBbWVyaWNhXC9NZXhpY29fQ2l0eSIsInF1ZXN0aW9uc19oaW50X2J1dHRvbl92YWx1ZSI6IiIsInF1aXpfdGFja2Vyc19tZXNzYWdlIjoiXHUwMGExRXN0ZSB0ZXN0IGhhIGV4cGlyYWRvISIsInF1aXpfZW5hYmxlX2xpbmtlZGluX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfZmFjZWJvb2tfc2hhcmVfYnV0dG9uIjoib24iLCJxdWl6X2VuYWJsZV90d2l0dGVyX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9tYWtlX3Jlc3BvbnNlc19hbm9ueW1vdXMiOiJvZmYiLCJxdWl6X21ha2VfYWxsX3Jldmlld19saW5rIjoib2ZmIiwic2hvd19xdWVzdGlvbnNfbnVtYmVyaW5nIjoibm9uZSIsInF1aXpfbWVzc2FnZV9iZWZvcmVfdGltZXIiOiIiLCJlbmFibGVfcGFzc3dvcmQiOiJvZmYiLCJwYXNzd29yZF9xdWl6IjoiIiwicXVpel9wYXNzd29yZF9tZXNzYWdlIjoiIiwiZW5hYmxlX3NlZV9yZXN1bHRfY29uZmlybV9ib3giOiJvZmYiLCJkaXNwbGF5X2ZpZWxkc19sYWJlbHMiOiJvZmYiLCJlbmFibGVfZnVsbF9zY3JlZW5fbW9kZSI6Im9mZiIsInF1aXpfZW5hYmxlX3Bhc3N3b3JkX3Zpc2liaWxpdHkiOiJvZmYiLCJxdWVzdGlvbl9tb2JpbGVfZm9udF9zaXplIjoxNiwiYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNSwic29jaWFsX2J1dHRvbnNfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3Zrb250YWt0ZV9zaGFyZV9idXR0b24iOiJvbiIsImFuc3dlcnNfYm9yZGVyIjoib24iLCJhbnN3ZXJzX2JvcmRlcl93aWR0aCI6MSwiYW5zd2Vyc19ib3JkZXJfc3R5bGUiOiJzb2xpZCIsImFuc3dlcnNfYm9yZGVyX2NvbG9yIjoiIzQ0NCIsInNvY2lhbF9saW5rc19oZWFkaW5nIjoiIiwicXVpel9lbmFibGVfcXVlc3Rpb25fY2F0ZWdvcnlfZGVzY3JpcHRpb24iOiJvZmYiLCJhbnN3ZXJzX21hcmdpbiI6MTAsInF1aXpfbWVzc2FnZV9iZWZvcmVfcmVkaXJlY3RfdGltZXIiOiIiLCJidXR0b25zX21vYmlsZV9mb250X3NpemUiOjE3LCJhbnN3ZXJzX2JveF9zaGFkb3ciOiJvZmYiLCJhbnN3ZXJzX2JveF9zaGFkb3dfY29sb3IiOiIjMDAwIiwicXVpel9hbnN3ZXJfYm94X3NoYWRvd194X29mZnNldCI6MCwicXVpel9hbnN3ZXJfYm94X3NoYWRvd195X29mZnNldCI6MCwicXVpel9hbnN3ZXJfYm94X3NoYWRvd196X29mZnNldCI6MTAsInF1aXpfY3JlYXRlX2F1dGhvciI6MSwicXVpel9lbmFibGVfdGl0bGVfdGV4dF9zaGFkb3ciOiJvZmYiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X2NvbG9yIjoiIzMzMyIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfeF9vZmZzZXQiOjIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfeV9vZmZzZXQiOjIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfel9vZmZzZXQiOjIsInF1aXpfc2hvd19vbmx5X3dyb25nX2Fuc3dlcnMiOiJvZmYiLCJxdWl6X3RpdGxlX2ZvbnRfc2l6ZSI6MjEsInF1aXpfdGl0bGVfbW9iaWxlX2ZvbnRfc2l6ZSI6MjEsInF1aXpfcGFzc3dvcmRfd2lkdGgiOiIiLCJxdWl6X3Jldmlld19wbGFjZWhvbGRlcl90ZXh0IjoiIiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInF1aXpfd2FpdGluZ190aW1lIjoib2ZmIiwicXVpel9iZ19pbWdfZHVyaW5nX3RoZV9xdWl6Ijoib2ZmIiwic2hvd19hbnN3ZXJzX2NhcHRpb24iOiJvbiIsInF1aXpfZW5hYmxlX2tleWJvYXJkX25hdmlnYXRpb24iOiJvbiIsInNob3dfcXVpel9pbWFnZSI6Im9uIiwicXVpel9lbmFibGVfcXVpel9jYXRlZ29yeV9kZXNjcmlwdGlvbiI6Im9mZiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV91c2VyX2NcdTA1NzBvb3NpbmdfYW5vbnltb3VzX2Fzc2Vzc21lbnQiOiJvZmYiLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOjAsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjIiLCJ0aXRsZSI6IkludHIuIE1hY2hpbmUgTGVhcm5pbmcgMSIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGEgc2lndWllbnRlIHByZWd1bnRhIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNCIsIm9yZGVyaW5nIjoiMiIsInB1Ymxpc2hlZCI6IjEiLCJpbnRlcnZhbHMiOm51bGwsInF1aXpfdXJsIjpudWxsLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='2'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nuestra exploración está por terminar, antes solo haremos hincapié en los <strong>tipos de machine learning</strong> existentes, y otros aspectos adicionales que dejaré a tu elección.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-color" id="block-e0937cfd-c0ee-40d9-816d-8207cc207a29" style="color:#8f0e0e">Tipos de machine learning</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-431374b7-00db-4fd8-8732-aaa1b0289ef1">Ahora que sabemos la definición del aprendizaje automático, es importante conocer cuáles son sus principales <strong>tipos</strong>.</p>



<p id="block-8885d245-e4d5-4d11-b6f7-ca470180f1c0">El machine learning se divide en las siguientes 5 categorías principales:</p>



<ul id="block-b4bec944-1838-424e-ab93-6d0b3c9b140c" class="wp-block-list">
<li><strong>Aprendizaje supervisado</strong> (supervised learning).</li>



<li><strong>Aprendizaje no supervisado</strong> (not supervised learning).</li>



<li><strong>Aprendizaje semi-supervisado</strong> (semi-supervised learning).</li>



<li><strong>Aprendizaje por refuerzo</strong> (reinforcement learning).</li>



<li><strong>Aprendizaje auto-supervisado</strong> (self-supervised learning).</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="block-5924e4db-aa48-4fcd-a6f2-99ea6f92a559">Estas divisiones están dadas principalmente por la forma en que se entrega al algoritmo los datos a procesar, y cómo los digiere, siendo el <strong>aprendizaje supervisado</strong> una de las categorías que goza de mayor popularidad en la actualidad.</p>



<p id="block-e795bc2c-fcde-4a79-8885-8802bfde93fd">Exploraremos cada una de estas formas en siguientes lecciones, y si lo deseas puedes echar un vistazo más detallado en el artículo opcional sobre <a href="https://dialektico.com/tipos-de-machine-learning/">tipos de machine learning</a>. </p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-default"/>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con lo que hemos visto hasta aquí, tenemos una introducción bastante sustanciosa a lo que es el machine learning. Debajo tocaré <strong>tres</strong> <strong>breves aspectos</strong> más que te darán información adicional sobre sus <strong>usos</strong> y <strong>algoritmos</strong>. Si lo deseas, puedes saltar aquí a tu siguiente aventura:</p>



<p class="has-text-align-center"><a href="#IntroMLFinal2">Ir al final</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" id="IMLComPrin" class="wp-block-spacer"></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-3'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_3' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_3' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_3' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='3'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/deep-learning/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='5,6'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='5' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 2</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál de los siguientes no es un tipo de aprendizaje de máquinas?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-5]' id='ays-answer-13-3' value='13'/>

                <label for='ays-answer-13-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje por decisión</label><label for='ays-answer-13-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-5]' id='ays-answer-14-3' value='14'/>

                <label for='ays-answer-14-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje por refuerzo</label><label for='ays-answer-14-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-5]' id='ays-answer-15-3' value='15'/>

                <label for='ays-answer-15-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje supervisado</label><label for='ays-answer-15-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_3 === 'undefined'){
                window.quizOptions_3 = [];
            }
            window.quizOptions_3['5'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los 4 tipos de machine learning son: aprendizaje supervisado, no supervisado, semi-supervisado y por refuerzo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='6' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 2</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de los siguientes se consideran elementos clave para el desarrollo de una solucion mediante machine learning? Marca todos los que apliquen.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-6]' id='ays-answer-16-3' value='16'/>

                <label for='ays-answer-16-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Un modelo matemático</label><label for='ays-answer-16-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-6]' id='ays-answer-17-3' value='17'/>

                <label for='ays-answer-17-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Lenguaje de programación Python</label><label for='ays-answer-17-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-6]' id='ays-answer-18-3' value='18'/>

                <label for='ays-answer-18-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Un conjunto de datos</label><label for='ays-answer-18-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-6]' id='ays-answer-19-3' value='19'/>

                <label for='ays-answer-19-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Un algoritmo</label><label for='ays-answer-19-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-6]' id='ays-answer-158-3' value='158'/>

                <label for='ays-answer-158-3' class='  ays_position_initial  ays-quiz-keyboard-label'>Gráficas de rendimiento</label><label for='ays-answer-158-3' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_3 === 'undefined'){
                window.quizOptions_3 = [];
            }
            window.quizOptions_3['6'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El lenguaje de programación Python es solo un componente opcional al momento de desarrollar un algoritmo de aprendizaje de máquinas. Revisa de nuevo sus elementos básicos.</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  78%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-3 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-3 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-3 #ays_finish_quiz_3 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-3{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-3 #ays_finish_quiz_3 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-3 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-3 .ays_question_hint,
            #ays-quiz-container-3 label[for^="ays-answer-"],
            #ays-quiz-container-3 #ays_finish_quiz_3 p,
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-fs-title,
            #ays-quiz-container-3 .ays-fs-subtitle,
            #ays-quiz-container-3 .logged_in_message,
            #ays-quiz-container-3 .ays_score_message,
            #ays-quiz-container-3 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-3 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-3 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-3 .ays-quiz-password-message-box,
            #ays-quiz-container-3 .ays-quiz-question-note-message-box,
            #ays-quiz-container-3 .ays_quiz_question,
            #ays-quiz-container-3 .ays-quiz-question-category-box,
            #ays-quiz-container-3 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-3 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-3 textarea,
            #ays-quiz-container-3 input::first-letter,
            #ays-quiz-container-3 select::first-letter,
            #ays-quiz-container-3 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-3 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-3 .select2-container,
            #ays-quiz-container-3 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-3 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-3 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-3 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-3 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-3 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-3 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-3 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-3 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-3 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-3 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-3 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-3 input[type='button'],
            #ays-quiz-container-3 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-3 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-3 .information_form input[type='text'],
            #ays-quiz-container-3 .information_form input[type='url'],
            #ays-quiz-container-3 .information_form input[type='number'],
            #ays-quiz-container-3 .information_form input[type='email'],
            #ays-quiz-container-3 .information_form input[type='checkbox'],
            #ays-quiz-container-3 .information_form input[type='tel'],
            #ays-quiz-container-3 .information_form textarea,
            #ays-quiz-container-3 .information_form select,
            #ays-quiz-container-3 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-3 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-3 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-3 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-3 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-3 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-3 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-3 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-3 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-3 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-3 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-3 .ays_cb_and_a,
            #ays-quiz-container-3 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-3 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-3 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-3 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-3 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-3 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-3 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-3 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-3 div.lds-spinner,
            #ays-quiz-container-3 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-3 div.lds-spinner div:after,
            #ays-quiz-container-3 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-3 .lds-circle,
            #ays-quiz-container-3 .lds-facebook div,
            #ays-quiz-container-3 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-3 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-3 .lds-dual-ring::after,
            #ays-quiz-container-3 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-3 .ui.rating .icon,
            #ays-quiz-container-3 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-3 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-3 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-3 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-3 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-3 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-3 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-3 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-3 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-3 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-3 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-3 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-3 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-3 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-3 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-3 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-3 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-3 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-3 div.ays-quiz-redirection-timer,
            #ays-quiz-container-3 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-3 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-3 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-3 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-3 input#ays-submit,
            #ays-quiz-container-3 #ays_finish_quiz_3 .action-button,
            div#ays-quiz-container-3 #ays_finish_quiz_3 .action-button.ays_restart_button,
            #ays-quiz-container-3 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-3 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-3 input#ays-submit,
            #ays-quiz-container-3 #ays_finish_quiz_3 input.action-button,
            #ays-quiz-container-3 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-3 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-3 #ays_finish_quiz_3 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-3 #ays_finish_quiz_3 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-3 input#ays-submit:hover,
            #ays-quiz-container-3 input#ays-submit:focus,
            #ays-quiz-container-3 #ays_finish_quiz_3 .action-button:hover,
            #ays-quiz-container-3 #ays_finish_quiz_3 .action-button:focus,
            #ays-quiz-container-3 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-3 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-3 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-3 .ays_restart_button_p,
            #ays-quiz-container-3 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-3 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-3 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-3 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-3 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-3 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-3 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-3 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-3 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-3 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-3 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-3 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-3 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-3 #ays_finish_quiz_3 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-3 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-3 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-3 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-3 .ays-field .select2-container--default,
            #ays-quiz-container-3 .ays-field .select2-container--default .selection,
            #ays-quiz-container-3 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-3 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-3 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-3 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-3 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-3 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-3 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-3 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-3 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-3 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-3 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-3 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-3 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-3 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-3 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-3 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-3.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-3.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-3 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-3 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-3 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-3 label[for^='ays-answer']:before,
            #ays-quiz-container-3 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-3.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-3.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-3 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-3.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-3.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-3.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-3.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-3.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-3.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-3.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-3.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-3.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-3.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-3 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-3 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-3 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-3 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-3 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-3 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-3 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-3 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-3 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-3 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-3 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-3 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-3 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-3 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-3 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-3 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-3 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-3{
                    max-width: 100%;
                }

                div#ays-quiz-container-3 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-3 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-3 .select2-container,
                #ays-quiz-container-3 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-3 input#ays-submit,
                div#ays-quiz-container-3 #ays_finish_quiz_3 .action-button,
                div#ays-quiz-container-3 #ays_finish_quiz_3 .action-button.ays_restart_button,
                #ays-quiz-container-3 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-3 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-3 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-3 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-3 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-3 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-3 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-3 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-3 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-3 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-3 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            #ays-quiz-container-3 input#ays-submit, #ays-quiz-container-3 #ays_finish_quiz_3 .action-button, div#ays-quiz-container-3 #ays_finish_quiz_3 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}

#ays-quiz-container-2 .ays-field.checked_answer_div input:checked+label:hover {
    background-color: rgb(158 5 5);
}

#ays-quiz-container-2 .ays-field:hover label {
    background: rgb(158 5 5);
    /* border-radius: 4px; */
    color: #fff;
    transition: all .3s;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-3 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-3 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-3.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-3.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-3.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-3.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-3.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-3.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-3.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-3.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-3 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-3.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-3 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-3 #ays_finish_quiz_3 .action-button:hover,
                #ays-quiz-container-3 #ays_finish_quiz_3 .action-button:focus,
                #ays-quiz-container-3 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-3 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['3']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjMuNS4wIiwiY29yZV92ZXJzaW9uIjoiNi4wLjEiLCJwaHBfdmVyc2lvbiI6IjguMC4xNiIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiI2F5cy1xdWl6LWNvbnRhaW5lci0zIGlucHV0I2F5cy1zdWJtaXQsICNheXMtcXVpei1jb250YWluZXItMyAjYXlzX2ZpbmlzaF9xdWl6XzMgLmFjdGlvbi1idXR0b24sIGRpdiNheXMtcXVpei1jb250YWluZXItMyAjYXlzX2ZpbmlzaF9xdWl6XzMgLmFjdGlvbi1idXR0b24uYXlzX3Jlc3RhcnRfYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWUwNTA1O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbiAgICBib3gtc2hhZG93OiB1bnNldDtcclxufVxyXG5cclxuI2F5cy1xdWl6LWNvbnRhaW5lci0yIC5heXMtZmllbGQuY2hlY2tlZF9hbnN3ZXJfZGl2IGlucHV0OmNoZWNrZWQrbGFiZWw6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCA1IDUpO1xyXG59XHJcblxyXG4jYXlzLXF1aXotY29udGFpbmVyLTIgLmF5cy1maWVsZDpob3ZlciBsYWJlbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMTU4IDUgNSk7XHJcbiAgICBcLyogYm9yZGVyLXJhZGl1czogNHB4OyAqXC9cclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxufSIsImxpbWl0X3VzZXJzIjoib2ZmIiwibGltaXRhdGlvbl9tZXNzYWdlIjoiIiwicmVkaXJlY3RfdXJsIjoiIiwicmVkaXJlY3Rpb25fZGVsYXkiOjAsImFuc3dlcnNfdmlldyI6Imxpc3QiLCJlbmFibGVfcnRsX2RpcmVjdGlvbiI6Im9mZiIsImVuYWJsZV9sb2dnZWRfdXNlcnNfbWVzc2FnZSI6IiIsInF1ZXN0aW9uc19jb3VudCI6IiIsImVuYWJsZV9xdWVzdGlvbl9iYW5rIjoib2ZmIiwiZW5hYmxlX2xpdmVfcHJvZ3Jlc3NfYmFyIjoib2ZmIiwiZW5hYmxlX3BlcmNlbnRfdmlldyI6Im9mZiIsImVuYWJsZV9hdmVyYWdlX3N0YXRpc3RpY2FsIjoib24iLCJlbmFibGVfbmV4dF9idXR0b24iOiJvbiIsImVuYWJsZV9wcmV2aW91c19idXR0b24iOiJvbiIsImVuYWJsZV9hcnJvd3MiOiJvZmYiLCJ0aW1lcl90ZXh0IjoiIiwicXVpel90aGVtZSI6ImNsYXNzaWNfbGlnaHQiLCJlbmFibGVfc29jaWFsX2J1dHRvbnMiOiJvZmYiLCJyZXN1bHRfdGV4dCI6IiIsImVuYWJsZV9wYXNzX2NvdW50Ijoib2ZmIiwiaGlkZV9zY29yZSI6Im9mZiIsInJhdGVfZm9ybV90aXRsZSI6IiIsImJveF9zaGFkb3dfY29sb3IiOiJyZ2JhKDEwLDEwLDEwLDAuMzUpIiwicXVpel9ib3JkZXJfcmFkaXVzIjoiMCIsInF1aXpfYmdfaW1hZ2UiOiJodHRwczpcL1wvZGlhbGVrdGljby5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjJcLzA4XC9RMy5qcGciLCJxdWl6X2JvcmRlcl93aWR0aCI6IjMiLCJxdWl6X2JvcmRlcl9zdHlsZSI6InNvbGlkIiwicXVpel9ib3JkZXJfY29sb3IiOiIjMDAwIiwicXVpel9sb2FkZXIiOiJmYWNlYm9vayIsImNyZWF0ZV9kYXRlIjpudWxsLCJhdXRob3IiOiJ7XCJpZFwiOlwiMVwiLFwibmFtZVwiOlwiRGFuaWVsIERpYWxcXHUwMGU5a3RpY29cIn0iLCJxdWVzdF9hbmltYXRpb24iOiJzaGFrZSIsImZvcm1fdGl0bGUiOiIiLCJlbmFibGVfYmdfbXVzaWMiOiJvZmYiLCJxdWl6X2JnX211c2ljIjoiIiwiYW5zd2Vyc19mb250X3NpemUiOiIxNSIsInNob3dfY3JlYXRlX2RhdGUiOiJvZmYiLCJzaG93X2F1dGhvciI6Im9mZiIsImVuYWJsZV9lYXJseV9maW5pc2giOiJvZmYiLCJhbnN3ZXJzX3J3X3RleHRzIjoib25fcGFzc2luZyIsImRpc2FibGVfc3RvcmVfZGF0YSI6Im9mZiIsImVuYWJsZV9iYWNrZ3JvdW5kX2dyYWRpZW50Ijoib2ZmIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8xIjoiIzAwMCIsImJhY2tncm91bmRfZ3JhZGllbnRfY29sb3JfMiI6IiNmZmYiLCJxdWl6X2dyYWRpZW50X2RpcmVjdGlvbiI6InZlcnRpY2FsIiwicmVkaXJlY3RfYWZ0ZXJfc3VibWl0Ijoib2ZmIiwic3VibWl0X3JlZGlyZWN0X3VybCI6IiIsInN1Ym1pdF9yZWRpcmVjdF9kZWxheSI6MCwicHJvZ3Jlc3NfYmFyX3N0eWxlIjoidGhpcmQiLCJlbmFibGVfZXhpdF9idXR0b24iOiJvZmYiLCJleGl0X3JlZGlyZWN0X3VybCI6IiIsImltYWdlX3NpemluZyI6ImNvdmVyIiwicXVpel9iZ19pbWFnZV9wb3NpdGlvbiI6ImNlbnRlciBjZW50ZXIiLCJjdXN0b21fY2xhc3MiOiIiLCJlbmFibGVfc29jaWFsX2xpbmtzIjoib2ZmIiwic29jaWFsX2xpbmtzIjp7ImxpbmtlZGluX2xpbmsiOiIiLCJmYWNlYm9va19saW5rIjoiIiwidHdpdHRlcl9saW5rIjoiIiwidmtvbnRha3RlX2xpbmsiOiIiLCJpbnN0YWdyYW1fbGluayI6IiIsInlvdXR1YmVfbGluayI6IiJ9LCJzaG93X3F1aXpfdGl0bGUiOiJvZmYiLCJzaG93X3F1aXpfZGVzYyI6Im9uIiwic2hvd19sb2dpbl9mb3JtIjoib2ZmIiwibW9iaWxlX21heF93aWR0aCI6IiIsImxpbWl0X3VzZXJzX2J5IjoiaXAiLCJhY3RpdmVfZGF0ZV9jaGVjayI6Im9mZiIsImFjdGl2ZUludGVydmFsIjoiMjAyMi0wOC0xNyAwMjozMToyNCIsImRlYWN0aXZlSW50ZXJ2YWwiOiIyMDIyLTA4LTE3IDAyOjMxOjI0IiwiYWN0aXZlX2RhdGVfcHJlX3N0YXJ0X21lc3NhZ2UiOiJUaGUgcXVpeiB3aWxsIGJlIGF2YWlsYWJsZSBzb29uISIsImFjdGl2ZV9kYXRlX21lc3NhZ2UiOiJcdTAwYTFFbCB0ZXN0IGhhIGV4cGlyYWRvISIsImV4cGxhbmF0aW9uX3RpbWUiOiI0IiwiZW5hYmxlX2NsZWFyX2Fuc3dlciI6Im9mZiIsInNob3dfY2F0ZWdvcnkiOiJvZmYiLCJzaG93X3F1ZXN0aW9uX2NhdGVnb3J5Ijoib2ZmIiwiZGlzcGxheV9zY29yZSI6ImJ5X3BlcmNhbnRhZ2UiLCJlbmFibGVfcndfYXNud2Vyc19zb3VuZHMiOiJvbiIsImFuc19yaWdodF93cm9uZ19pY29uIjoiZGVmYXVsdCIsInF1aXpfYmdfaW1nX2luX2ZpbmlzaF9wYWdlIjoib2ZmIiwiZmluaXNoX2FmdGVyX3dyb25nX2Fuc3dlciI6Im9mZiIsImFmdGVyX3RpbWVyX3RleHQiOiIiLCJlbmFibGVfZW50ZXJfa2V5Ijoib24iLCJidXR0b25zX3RleHRfY29sb3IiOiIjZmZmZmZmIiwiYnV0dG9uc19wb3NpdGlvbiI6ImNlbnRlciIsInNob3dfcXVlc3Rpb25zX2V4cGxhbmF0aW9uIjoib25fcGFzc2luZyIsImVuYWJsZV9hdWRpb19hdXRvcGxheSI6Im9mZiIsImJ1dHRvbnNfc2l6ZSI6Im1lZGl1bSIsImJ1dHRvbnNfZm9udF9zaXplIjoiMTciLCJidXR0b25zX3dpZHRoIjoiIiwiYnV0dG9uc19sZWZ0X3JpZ2h0X3BhZGRpbmciOiIyMCIsImJ1dHRvbnNfdG9wX2JvdHRvbV9wYWRkaW5nIjoiMTAiLCJidXR0b25zX2JvcmRlcl9yYWRpdXMiOiIzIiwiZW5hYmxlX2xlYXZlX3BhZ2UiOiJvbiIsImVuYWJsZV90YWNrZXJzX2NvdW50Ijoib2ZmIiwidGFja2Vyc19jb3VudCI6IiIsInBhc3Nfc2NvcmUiOjAsInBhc3Nfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPkNvbmdyYXR1bGF0aW9ucyE8XC9oND5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Zb3UgcGFzc2VkIHRoZSBxdWl6ITxcL3A+IiwiZmFpbF9zY29yZV9tZXNzYWdlIjoiPGg0IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+T29wcyE8XC9oND5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Zb3UgaGF2ZSBub3QgcGFzc2VkIHRoZSBxdWl6IVxyXG5UcnkgYWdhaW4hPFwvcD4iLCJxdWVzdGlvbl9mb250X3NpemUiOjE2LCJxdWl6X3dpZHRoX2J5X3BlcmNlbnRhZ2VfcHgiOiJwaXhlbHMiLCJxdWVzdGlvbnNfaGludF9pY29uX29yX3RleHQiOiJkZWZhdWx0IiwicXVlc3Rpb25zX2hpbnRfdmFsdWUiOiIiLCJlbmFibGVfZWFybHlfZmluc2hfY29tZmlybV9ib3giOiJvbiIsImVuYWJsZV9xdWVzdGlvbnNfb3JkZXJpbmdfYnlfY2F0Ijoib2ZmIiwic2hvd19zY2hlZHVsZV90aW1lciI6Im9mZiIsInNob3dfdGltZXJfdHlwZSI6ImNvdW50ZG93biIsInF1aXpfbG9hZGVyX3RleHRfdmFsdWUiOiIiLCJoaWRlX2NvcnJlY3RfYW5zd2VycyI6Im9mZiIsInNob3dfaW5mb3JtYXRpb25fZm9ybSI6Im9uIiwicXVpel9sb2FkZXJfY3VzdG9tX2dpZiI6IiIsImRpc2FibGVfaG92ZXJfZWZmZWN0Ijoib2ZmIiwicXVpel9sb2FkZXJfY3VzdG9tX2dpZl93aWR0aCI6MTAwLCJwcm9ncmVzc19saXZlX2Jhcl9zdHlsZSI6ImRlZmF1bHQiLCJxdWl6X3RpdGxlX3RyYW5zZm9ybWF0aW9uIjoidXBwZXJjYXNlIiwic2hvd19hbnN3ZXJzX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X2ltYWdlX3dpZHRoX2J5X3BlcmNlbnRhZ2VfcHgiOiJwaXhlbHMiLCJxdWl6X2ltYWdlX2hlaWdodCI6IiIsInF1aXpfYmdfaW1nX29uX3N0YXJ0X3BhZ2UiOiJvZmYiLCJxdWl6X2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd195X29mZnNldCI6MCwicXVpel9ib3hfc2hhZG93X3pfb2Zmc2V0IjoxNSwicXVpel9xdWVzdGlvbl90ZXh0X2FsaWdubWVudCI6ImNlbnRlciIsInF1aXpfYXJyb3dfdHlwZSI6ImRlZmF1bHQiLCJxdWl6X3Nob3dfd3JvbmdfYW5zd2Vyc19maXJzdCI6Im9mZiIsInF1aXpfZGlzcGxheV9hbGxfcXVlc3Rpb25zIjoib2ZmIiwicXVpel90aW1lcl9yZWRfd2FybmluZyI6Im9mZiIsInF1aXpfc2NoZWR1bGVfdGltZXpvbmUiOiJBbWVyaWNhXC9NZXhpY29fQ2l0eSIsInF1ZXN0aW9uc19oaW50X2J1dHRvbl92YWx1ZSI6IiIsInF1aXpfdGFja2Vyc19tZXNzYWdlIjoiXHUwMGExRXN0ZSB0ZXN0IGhhIGV4cGlyYWRvISIsInF1aXpfZW5hYmxlX2xpbmtlZGluX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfZmFjZWJvb2tfc2hhcmVfYnV0dG9uIjoib24iLCJxdWl6X2VuYWJsZV90d2l0dGVyX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9tYWtlX3Jlc3BvbnNlc19hbm9ueW1vdXMiOiJvZmYiLCJxdWl6X21ha2VfYWxsX3Jldmlld19saW5rIjoib2ZmIiwic2hvd19xdWVzdGlvbnNfbnVtYmVyaW5nIjoibm9uZSIsInF1aXpfbWVzc2FnZV9iZWZvcmVfdGltZXIiOiIiLCJlbmFibGVfcGFzc3dvcmQiOiJvZmYiLCJwYXNzd29yZF9xdWl6IjoiIiwicXVpel9wYXNzd29yZF9tZXNzYWdlIjoiIiwiZW5hYmxlX3NlZV9yZXN1bHRfY29uZmlybV9ib3giOiJvZmYiLCJkaXNwbGF5X2ZpZWxkc19sYWJlbHMiOiJvZmYiLCJlbmFibGVfZnVsbF9zY3JlZW5fbW9kZSI6Im9mZiIsInF1aXpfZW5hYmxlX3Bhc3N3b3JkX3Zpc2liaWxpdHkiOiJvZmYiLCJxdWVzdGlvbl9tb2JpbGVfZm9udF9zaXplIjoxNiwiYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNSwic29jaWFsX2J1dHRvbnNfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3Zrb250YWt0ZV9zaGFyZV9idXR0b24iOiJvbiIsImFuc3dlcnNfYm9yZGVyIjoib24iLCJhbnN3ZXJzX2JvcmRlcl93aWR0aCI6MSwiYW5zd2Vyc19ib3JkZXJfc3R5bGUiOiJzb2xpZCIsImFuc3dlcnNfYm9yZGVyX2NvbG9yIjoiIzQ0NCIsInNvY2lhbF9saW5rc19oZWFkaW5nIjoiIiwicXVpel9lbmFibGVfcXVlc3Rpb25fY2F0ZWdvcnlfZGVzY3JpcHRpb24iOiJvZmYiLCJhbnN3ZXJzX21hcmdpbiI6MTAsInF1aXpfbWVzc2FnZV9iZWZvcmVfcmVkaXJlY3RfdGltZXIiOiIiLCJidXR0b25zX21vYmlsZV9mb250X3NpemUiOjE3LCJhbnN3ZXJzX2JveF9zaGFkb3ciOiJvZmYiLCJhbnN3ZXJzX2JveF9zaGFkb3dfY29sb3IiOiIjMDAwIiwicXVpel9hbnN3ZXJfYm94X3NoYWRvd194X29mZnNldCI6MCwicXVpel9hbnN3ZXJfYm94X3NoYWRvd195X29mZnNldCI6MCwicXVpel9hbnN3ZXJfYm94X3NoYWRvd196X29mZnNldCI6MTAsInF1aXpfY3JlYXRlX2F1dGhvciI6MSwicXVpel9lbmFibGVfdGl0bGVfdGV4dF9zaGFkb3ciOiJvZmYiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X2NvbG9yIjoiIzMzMyIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfeF9vZmZzZXQiOjIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfeV9vZmZzZXQiOjIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfel9vZmZzZXQiOjIsInF1aXpfc2hvd19vbmx5X3dyb25nX2Fuc3dlcnMiOiJvZmYiLCJxdWl6X3RpdGxlX2ZvbnRfc2l6ZSI6MjEsInF1aXpfdGl0bGVfbW9iaWxlX2ZvbnRfc2l6ZSI6MjEsInF1aXpfcGFzc3dvcmRfd2lkdGgiOiIiLCJxdWl6X3Jldmlld19wbGFjZWhvbGRlcl90ZXh0IjoiIiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInF1aXpfd2FpdGluZ190aW1lIjoib2ZmIiwicXVpel9iZ19pbWdfZHVyaW5nX3RoZV9xdWl6Ijoib2ZmIiwic2hvd19hbnN3ZXJzX2NhcHRpb24iOiJvbiIsInF1aXpfZW5hYmxlX2tleWJvYXJkX25hdmlnYXRpb24iOiJvbiIsInNob3dfcXVpel9pbWFnZSI6Im9uIiwicXVpel9lbmFibGVfcXVpel9jYXRlZ29yeV9kZXNjcmlwdGlvbiI6Im9mZiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV91c2VyX2NcdTA1NzBvb3NpbmdfYW5vbnltb3VzX2Fzc2Vzc21lbnQiOiJvZmYiLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOjAsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjMiLCJ0aXRsZSI6IkludHIuIE1hY2hpbmUgTGVhcm5pbmcgMiIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNSw2Iiwib3JkZXJpbmciOiIzIiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOm51bGwsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='3'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Principales usos del machine learning</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De acuerdo a la literatura, podemos enunciar <strong>cinco principales tipos de uso</strong> para los cuales se invoca el aprendizaje automático, los cuales conoceremos muy a fondo en futuras exploraciones, y que <strong>deberás identificar</strong> en tu día a día como experto en el área.</p>



<p><strong>Principales usos del machine learning:</strong></p>



<ul class="wp-block-list has-black-color has-text-color">
<li><strong>Clasificación</strong>: como en nuestro ejemplo de reconocimiento de imágenes de gatos, consiste en categorizar datos. Otro ejemplo de este enfoque sería un algoritmo cuya tarea sea clasificar películas por su género, como terror o fantasía.</li>



<li><strong>Regresión</strong>: trata sobre hacer estimaciones numéricas. Por ejemplo, se pueden generar modelos que respondan a preguntas como: ¿cuál es el precio de un teléfono celular de acuerdo a sus características?, o ¿cuál será el número de visitantes a un centro comercial el día de mañana?</li>



<li><strong>Agrupación</strong>: crear grupos de datos de acuerdo a sus similitudes. Por ejemplo, agrupar animales conforme a sus rasgos genéticos.</li>



<li><strong>Reducción de dimensionalidad</strong>: tiene como objetivo reducir las dimensiones de los datos, ayudándonos a filtrar y mantener aquellos subconjuntos que sean matemáticamente más relevantes.</li>



<li><strong>Generación (modelos generativos)</strong>: este caso de uso ha sido ampliamente impulsado en años recientes, y se centra en la creación de nuevos contenidos o respuestas basadas en una amplia gama de entradas. Un ejemplo de esto es <a href="https://chat.openai.com/" target="_blank" rel="noopener">ChatGPT </a>o <a href="https://llama.meta.com/" target="_blank" rel="noopener">Llama</a>, los cuales pueden a su vez generar soluciones que incluyan las categorías antes mencionadas.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto es solo parte de los usos más frecuentes en la actualidad, estas aplicaciones están principalmente destinadas a la <strong>investigación científica</strong> y la <strong>inteligencia de negocios</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-color" id="block-dbfc2610-6092-4fd6-907a-5a7fc6eb92b2" style="color:#8f0e0e">Algoritmos de aprendizaje automático más utilizados</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por último, te mostraré una lista con<strong> </strong>los algoritmos de machine learning<strong> más frecuentes </strong>en el ámbito de la<strong> ciencia de datos</strong>, puede que en este momento no te parezcan muy significativos sus nombres, pero con el tiempo no solo los conocerás, sino que también aprenderás a utilizarlos.</p>



<p><strong>Algoritmos de machine learning más utilizados:</strong></p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<ul id="block-a963be52-875b-4e8e-80f6-0ebf50457581" class="wp-block-list">
<li>Regresión lineal.</li>



<li>Regresión logística.</li>



<li>Red neuronal artificial.</li>



<li>Máquina de soporte vectorial.</li>



<li>K-medias.</li>



<li>Sistemas de recomendación.</li>



<li>Árbol de decisión.</li>



<li>Bosques aleatorios.</li>



<li>Impulso (Boosting).</li>



<li>Clasificador Bayesiano.</li>



<li>Análisis de componentes principales.</li>



<li>Macro Modelos de Lenguaje (LLM).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="IntroMLFinal2">Entre estos, las <strong>redes neuronales artificiales</strong> y las <strong>LLMs</strong> son los que presentan su mayor auge en nuestros tiempos. Todos los algoritmos mencionados y sus características serán objeto de estudio en otras exploraciones, así que no te preocupes si no estás familiarizado con algunos.</p>



<p>Eso es todo por ahora. A partir de aquí, nos adentraremos en una primera sección ya no introductoria en la que aprenderemos sobre los datos, su extracción, manipulación y transformación para el machine learning.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa" id="IntroMLFinal"><a href="https://dialektico.com/datos-machine-learning/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1.png" alt="siguiente" style="aspect-ratio:2.023529411764706;width:176px;height:auto" title="Introducción al machine learning, primera exploración 160"></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-left has-text-color" style="color:#810202"><strong>OPCIONAL:</strong></p>



<p class="has-text-align-left"><strong>Tipos de machine learning</strong></p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-dial-ktico wp-block-embed-dial-ktico"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="n0VIE9zofs"><a href="https://dialektico.com/tipos-de-machine-learning-introduccion/">Tipos de machine learning: tu armamento para el procesamiento de datos</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="«Tipos de machine learning: tu armamento para el procesamiento de datos» — Dialéktico" src="https://dialektico.com/tipos-de-machine-learning-introduccion/embed/#?secret=YeeKxXNKPD#?secret=n0VIE9zofs" data-secret="n0VIE9zofs" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/introduccion-machine-learning/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción a Google Colab</title>
		<link>https://dialektico.com/google-colab/</link>
					<comments>https://dialektico.com/google-colab/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 30 Jun 2022 01:49:08 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[google colab]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=360</guid>

					<description><![CDATA[Previo a comenzar tu aprendizaje del machine learning, e introducirte en el mundo de la ciencia de datos, debes estar familiarizado con Google Colab, la herramienta que utilizarás en este curso para observar y/o desarrollar tus propios modelos. Si ya lo has utilizado antes, puedes saltar esta sección y emprender tu primera exploración del aprendizaje [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Previo a comenzar tu aprendizaje del <strong>machine learning</strong>, e introducirte en el mundo de la ciencia de datos, debes estar familiarizado con <strong>Google Colab</strong>, la herramienta que utilizarás en este curso para observar y/o desarrollar tus propios modelos. Si ya lo has utilizado antes, <strong>puedes saltar esta sección</strong> y emprender tu primera exploración del aprendizaje automático:</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/introduccion-machine-learning/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/09/Boton.png" alt="primera lección" style="width:173px;height:auto" title="Introducción a Google Colab 161"></a></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En caso contrario, te recomiendo que te quedes a revisar este tutorial introductorio.</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/03/M2.jpg" alt="M2" style="width:536px;height:auto" title="Introducción a Google Colab 162"></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También puedes visitar la versión en video de este tutorial:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Tutorial Definitivo de Google Colab: De Cero a Avanzado | Dialéktico" width="800" height="450" src="https://www.youtube.com/embed/IYDH9ZYhoSY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-color" id="que-es-google-colab" style="color:#b42020">¿Qué es Google Colab?</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p><a href="https://colab.research.google.com/" target="_blank" rel="noopener">Google Colaboratory</a> es una <strong>plataforma en línea de Google </strong>que permite<strong> </strong>la <strong>creación, ejecución, almacenamiento </strong>y<strong> compartición </strong>de programas en<strong> Python </strong>en espacios de trabajo amigables y sencillos de utilizar. Sus principales beneficios, contra otras aplicaciones de escritorio para programar en Python, son los siguientes:</p>



<ul class="wp-block-list">
<li>No tienes que<strong> instalar Python, </strong>ni las<strong> bibliotecas </strong>más populares<strong>, </strong>o lidiar con posibles<strong> tediosas configuraciones </strong>para empezar a programar, lo cual es demasiado bueno en términos de ahorro de tiempo.</li>



<li>Es un entorno sumamente <strong>intuitivo y fácil de utilizar</strong>.</li>



<li>Permite <strong>almacenamiento de códigos</strong> en la nube de <a href="https://www.google.com/intl/es/drive/" target="_blank" rel="noopener">Google Drive</a>, así como conexión a tu cuenta de <a href="https://github.com/" target="_blank" rel="noopener">GitHub</a>.</li>



<li>Es un <strong>recurso online</strong>, por lo que podrás acceder a él en cualquier lugar con conexión a internet y utilizarlo incluso en tu dispositivo móvil.</li>



<li>Permite <strong>compartir códigos </strong>con otros usuarios, ya sea para su <strong>edición </strong>conjunta o solo para ser <strong>ejecutados</strong>.</li>



<li>Es posible utilizar <strong>GPU </strong>o <strong>TPU</strong> sin costo. </li>



<li>A pesar de que hay versiones de paga, su forma gratuita ofrece lo suficiente para <strong>configurar y ejecutar algoritmos</strong> de <strong>machine learning</strong>.</li>



<li>Es popular entre la comunidad, por lo que encontrarás todo tipo de tutoriales y códigos en la red para su uso.</li>



<li>Empezar a utilizarlo es fácil, solo es necesaria una cuenta de <strong>Google</strong>.</li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-color" id="como-utilizar-google-colab-mini-tutorial" style="color:#b42020">Tutorial: ¿cómo utilizar Google Colab? </h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora que ya hablamos de sus nada despreciables bondades, pasemos a la acción. A continuación, te describiré paso a paso <strong>cómo comenzar a usar Colab</strong> para programar y/o ejecutar programas de Python línea, y cómo utilizar sus diferentes funciones:</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="1-entra-a-google-colab-y-familiarizate-con-la-terminologia">1. Entra a Google Colab</h3>



<p>Lo primero que tienes que hacer es picar en este botón para abrir una libreta de Google Colab <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-image aligncenter size-full is-resized mi-imagen-pulsa"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Otros/Tutorial_de_Google_Colab.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/06/Boton_2.png" alt="Boton 2" class="wp-image-9255" style="width:215px;height:auto" title="Introducción a Google Colab 163" srcset="https://dialektico.com/wp-content/uploads/2022/06/Boton_2.png 860w, https://dialektico.com/wp-content/uploads/2022/06/Boton_2-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En pantalla te aparecerá un <strong>notebook</strong> o <strong>libreta </strong>ejecutable, la cual es un tipo de entorno interactivo en el que hallarás una interfaz en la que puedes ejecutar código y crear bloques con texto, imágenes, y más (es importante mencionar que este tipo de entornos fue ideado originalmente por <a href="https://jupyter.org/" target="_blank" rel="noopener">jupyter.org</a>).</p>



<p>Lo que verás en pantalla es un <strong>notebook </strong>que hice para ti con el fin de que te familiarices con la herramienta:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="568" height="302" src="https://dialektico.com/wp-content/uploads/2022/06/image-4.png" alt="image 4" class="wp-image-8999" title="Introducción a Google Colab 164"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="2-listo-para-empezar">2. Ingresa a tu cuenta de Google</h3>



<p>Para poder comenzar a interactuar con esta y cualquier libreta de Colab en línea, primero deberás<strong> iniciar sesión </strong>en <strong>Google</strong>, o crear tu cuenta de <strong>Gmail</strong>. A estas alturas, siendo sinceros, no contar con una es algo extraño.</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/01/Gmail.jpg" alt="google colab dialéktico" style="width:438px;height:auto" title="Introducción a Google Colab 165"></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para iniciar sesión navega a la parte superior derecha de la libreta, y da clic en el botón <strong>&lt;&lt;Acceder&gt;&gt;</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="447" height="258" src="https://dialektico.com/wp-content/uploads/2022/06/image-3.png" alt="image 3" class="wp-image-8998" title="Introducción a Google Colab 166"></figure>



<p>En pantalla aparecerá un campo para <strong>iniciar sesión</strong> o crear una <strong>cuenta nueva</strong>. Introduce tus datos:<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1014" height="363" src="https://dialektico.com/wp-content/uploads/2022/06/image-2.png" alt="image 2" class="wp-image-8989" title="Introducción a Google Colab 167" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-2.png 1014w, https://dialektico.com/wp-content/uploads/2022/06/image-2-768x275.png 768w" sizes="(max-width: 1014px) 100vw, 1014px" /></figure>



<p>Una vez dentro, se te redirigirá a la libreta de Colab, lista para ser utilizada.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. Familiarízate con el espacio de trabajo</h3>



<p>Ahora debes entender cómo están <strong>estructuradas </strong>las libretas en Colab. En esencia, existen dos tipos de entidades principales: celdas de <strong>texto</strong>, y celdas de <strong>código</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-style-default"><img loading="lazy" decoding="async" width="1200" height="598" src="https://dialektico.com/wp-content/uploads/2022/06/IGC_bloques.jpg" alt="IGC bloques" class="wp-image-9002" style="width:840px;height:auto" title="Introducción a Google Colab 168" srcset="https://dialektico.com/wp-content/uploads/2022/06/IGC_bloques.jpg 1200w, https://dialektico.com/wp-content/uploads/2022/06/IGC_bloques-768x383.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-element-caption"><center><strong>Fig. 1.2.1</strong> Tipos de bloques principales que hallarás en un cuaderno de Google Colab.</center></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Cada <strong>celda </strong>es un<strong> bloque </strong>al cual puedes acceder dando <strong>clic </strong>sobre este. Generalmente, los bloques de texto contienen descripciones detalladas del código, por lo que para trabajar con una nueva libreta solo necesitas leer el contenido de las celdas de texto, y ejecutar los códigos correspondientes. Así de sencillo.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4. Ejecuta código</h3>



<p>Para ejecutar las celdas de código lo único que tienes que hacer es presionar el símbolo de reproducir, u oprimir las teclas Ctrl + Enter estando dentro del bloque:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="500" height="200" src="https://dialektico.com/wp-content/uploads/2022/06/IGC_b1.jpg" alt="IGC b1" class="wp-image-9003" title="Introducción a Google Colab 169"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Lo primero que verás al ejecutar la celda es el siguiente mensaje:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="620" height="214" src="https://dialektico.com/wp-content/uploads/2022/06/image-61.png" alt="image 61" class="wp-image-9095" title="Introducción a Google Colab 170"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Da clic en «<strong>Ejecutar de todos modos</strong>» (a menos que no confíes en mí <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f440.png" alt="👀" class="wp-smiley" style="height: 1em; max-height: 1em;" />), y notarás que el código empezará a correr, para posteriormente generar su respectiva salida. La primera vez que ejecutas código puede tardar un poco, no te preocupes si es el caso.</p>



<p>Para probar un código más complejo, puedes ejecutar la siguiente celda y observar cómo genera una <strong>gráfica</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="655" height="680" src="https://dialektico.com/wp-content/uploads/2022/06/image-5.png" alt="image 5" class="wp-image-9004" title="Introducción a Google Colab 171"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2022/06/IGC_M3.jpg" alt="IGC M3" class="wp-image-9005" style="width:569px;height:auto" title="Introducción a Google Colab 172" srcset="https://dialektico.com/wp-content/uploads/2022/06/IGC_M3.jpg 1080w, https://dialektico.com/wp-content/uploads/2022/06/IGC_M3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2022/06/IGC_D2.jpg" alt="IGC D2" class="wp-image-9006" style="width:516px;height:auto" title="Introducción a Google Colab 173" srcset="https://dialektico.com/wp-content/uploads/2022/06/IGC_D2.jpg 1200w, https://dialektico.com/wp-content/uploads/2022/06/IGC_D2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto que hemos visto hasta ahora puedes comenzar a ejecutar códigos utilizando libretas de Colab tanto del <strong>curso </strong>como fuera de este. Sin embargo, Colab es una herramienta con muchas características a las que puedes sacar provecho a lo largo de toda tu carrera, por lo que te hablaré de otras características más adelante.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si esto último no es de tu interés, o quieres consultarlo más tarde, puedes saltar hasta la última parte del tutorial dando <a href="https://dialektico.com/google-colab/#final">clic aquí</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Google Colab: funciones y características </h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Vamos a hablar rápidamente sobre diferentes utilidades que ofrece Google Colab más allá de lectura, escritura y ejecución de código, pensando en que le puedas dar un uso más personal y ágil.</p>



<p>Tocaremos los siguientes puntos:</p>



<ul class="wp-block-list">
<li><strong>Edición y creación de celdas</strong>:
<ul class="wp-block-list">
<li>Creación y manipulación de celdas.</li>



<li>Manipulación de celdas en interfaz.</li>
</ul>
</li>



<li><strong>Celdas de texto</strong>:
<ul class="wp-block-list">
<li>Markdown y HTML.</li>



<li>Estilos y elementos.</li>



<li>Tablas.</li>



<li>Matemáticas con LaTeX.</li>



<li>Magics.</li>
</ul>
</li>



<li><strong>Celdas de código</strong>:
<ul class="wp-block-list">
<li>Instalación de bibliotecas.</li>



<li>Autocompletado.</li>



<li>Asistente Gemini.</li>



<li>Tablas interactivas.</li>
</ul>
</li>



<li><strong>General:</strong>
<ul class="wp-block-list">
<li>Almacenamiento e historial de versiones.</li>



<li>Edición e inserción de bloques.</li>



<li>Información adicional.</li>



<li>Entorno de ejecución.</li>



<li>Herramientas y configuración.</li>



<li>Panel de apoyo
<ul class="wp-block-list">
<li>Índice</li>



<li>Búsqueda y reemplazo.</li>



<li>Variables.</li>



<li>Secretos.</li>



<li>Control de archivos.</li>
</ul>
</li>
</ul>
</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Edición y creación de celdas</h3>



<p>Primero hablaremos de manera efímera sobre cómo <strong>crear </strong>y <strong>manipular</strong> <strong>celdas </strong>de manera sencilla dentro de la libreta de Colab.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Creación de celdas en interfaz</h4>



<p>Para crear una <strong>nueva celda </strong>(de código o texto) en Google Colab, la manera más sencilla es colocando el cursor justo debajo o encima de una celda ya existente; al hacer esto, aparecerá una línea sobre la que reposarán dos botones con las leyedas &lt;&lt;<strong>Código</strong>&gt;&gt; y <strong>&lt;&lt;Texto</strong>&gt;&gt;. Al hacer clic, crearás una celda nueva del tipo que hayas elegido.</p>



<p>Ubica la celda <strong>&#8211;C1&#8211;</strong> y añade celdas debajo de la indicación para hacer pruebas:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="944" height="179" src="https://dialektico.com/wp-content/uploads/2022/06/image-6.png" alt="image 6" class="wp-image-9007" style="width:840px;height:auto" title="Introducción a Google Colab 174" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-6.png 944w, https://dialektico.com/wp-content/uploads/2022/06/image-6-768x146.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></figure>



<h4 class="wp-block-heading">Manipulación de celdas en interfaz</h4>



<p>Además de la creación de celdas sobre el espacio de trabajo, también existe un pequeño menú con opciones para manipular las celdas. Solo debes dar clic en cualquier celda y se mostrará como sigue:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1034" height="474" src="https://dialektico.com/wp-content/uploads/2022/06/image-62.png" alt="image 62" class="wp-image-9267" style="width:844px;height:auto" title="Introducción a Google Colab 175" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-62.png 1034w, https://dialektico.com/wp-content/uploads/2022/06/image-62-768x352.png 768w" sizes="(max-width: 1034px) 100vw, 1034px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Estos íconos representan funciones sencillas para manipular y/o modificar las celdas. A continuación te describo cada una de estas, describiéndolas de izquierda a derecha:</p>



<ul class="wp-block-list">
<li><strong>Mover hacia arriba (Flecha hacia arriba)</strong>: Este ícono permite mover la celda actual hacia arriba, intercambiándola con la celda que está justo encima de ella.</li>



<li><strong>Mover hacia abajo (Flecha hacia abajo)</strong>: Similar al ícono anterior, este permite mover la celda actual hacia abajo, intercambiándola con la celda que está justo debajo.</li>



<li><strong>Insertar enlace (Ícono de cadena)</strong>: Este ícono sirve para añadir un enlace a un texto seleccionado en la celda de texto, facilitando la inclusión de hipervínculos en tus textos.</li>



<li><strong>Editar celda (Ícono de lápiz)</strong>: Al hacer clic en este ícono, puedes cambiar el tipo de celda (por ejemplo, de código a texto o viceversa) y editar su contenido.</li>



<li><strong>Duplicar celda en una pestaña (Ícono de dos rectángulos superpuestos)</strong>: Este ícono permite editar la celda en una pestaña que aparece en la parte superior derecha de la libreta.</li>



<li><strong>Eliminar celda (Ícono de basurero)</strong>: Este ícono elimina la celda actual del notebook. Es importante usarlo con precaución ya que no hay opción de deshacer si eliminas una celda por error.</li>



<li><strong>Menú de opciones (Tres puntos verticales)</strong>: Este ícono despliega un menú con opciones adicionales, como mover la celda a una posición específica, copiar, cortar, pegar, y otras configuraciones avanzadas para la celda.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Celdas de texto en Google Colab</h3>



<p>Comenzaremos explicando varias <strong>características </strong>importantes que permiten escribir <strong>texto </strong>de manera enriquecida en libretas de Colab.</p>



<p>Nota: a partir de este momento, nos referiremos a las <strong>celdas </strong>con un <strong>identificador </strong>si es necesario, para facilitar su hallazgo en la <strong>libreta</strong>, este vendrá marcado por una <strong>C </strong>y un número, lo cual significa Celda número {n}.</p>



<p>Por ejemplo, esta sería la celda número 1, referenciada con <strong>&#8211;C1&#8211;</strong>:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="504" height="86" src="https://dialektico.com/wp-content/uploads/2022/06/image-7.png" alt="image 7" class="wp-image-9008" title="Introducción a Google Colab 176"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Markdown y HTML</h4>



<p>Ahora exploremos el contenido que se puede añadir a las celdas de texto. Para poder crear texto enriquecido debemos comprender que las celdas de Colab utilizan un lenguaje de marcado llamado <strong>Markdown</strong>, el cual permite añadir contenido de manera sencilla a páginas web. Puedes encontrar todo lo relacionado a este lenguaje en <a href="https://markdown.es/" target="_blank" rel="noopener">markdown.es</a>.</p>



<p>No es necesario que aprendas este <strong>lenguaje de</strong> <strong>marcado</strong>, pero tenerlo en cuenta te ayudará a tener contexto de lo que verás al editar celdas de texto.</p>



<p>Para que entiendas mejor de qué hablo, ubica la celda <strong>&#8211;C2&#8211;</strong> y realiza doble clic. Verás lo siguiente:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="794" height="275" src="https://dialektico.com/wp-content/uploads/2022/06/image-8.png" alt="image 8" class="wp-image-9009" title="Introducción a Google Colab 177" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-8.png 794w, https://dialektico.com/wp-content/uploads/2022/06/image-8-768x266.png 768w" sizes="(max-width: 794px) 100vw, 794px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Al dar doble clic observarás cómo luce el contenido en formato <strong>Markdown </strong>en la parte superior. Esta es la que puedes <strong>editar</strong>, siendo la parte inferior la manera como luce una vez que la ejecutas o das clic fuera de la celda:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="179" height="78" src="https://dialektico.com/wp-content/uploads/2022/06/image-9.png" alt="image 9" class="wp-image-9010" title="Introducción a Google Colab 178"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Además de poder utilizar este lenguaje de marcado, Markdown permite usar <strong>HTML </strong>para añadir elementos y estilos que no están disponibles en la <strong>sintaxis </strong>de Markdown, como centrar <strong>imágenes</strong>, insertar <strong>tablas </strong>personalizadas, o definir estilos específicos.</p>



<p>Da doble clic en la celda <strong>&#8211;C3&#8211;</strong> para que observes el mismo texto de <strong>&#8211;C2&#8211;</strong> pero generado con HTML:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="808" height="285" src="https://dialektico.com/wp-content/uploads/2022/06/image-11.png" alt="image 11" class="wp-image-9012" style="width:766px;height:auto" title="Introducción a Google Colab 179" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-11.png 808w, https://dialektico.com/wp-content/uploads/2022/06/image-11-768x271.png 768w" sizes="(max-width: 808px) 100vw, 808px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Estilos y elementos</h4>



<p>Ahora pasemos a cómo generar estilos y elementos en las celdas de texto de Colab. Hacerlo es bastante sencillo, ya que, como habrás notado, se tiene a disposición un <strong>editor de texto</strong> al dar doble clic en la celda:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="536" height="50" src="https://dialektico.com/wp-content/uploads/2022/06/image-12.png" alt="image 12" class="wp-image-9013" title="Introducción a Google Colab 180"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Secciones y subsecciones</h5>



<p>Para añadir títulos y subtítulos, y con ello generar un índice de forma automática, puedes hacer diferentes <strong>secciones </strong>o <strong>subsecciones </strong>en las celdas de texto-</p>



<p>Para esto deberás dar clic en la <strong>doble T</strong> que aparece al principio del menú de edición de texto:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="555" height="131" src="https://dialektico.com/wp-content/uploads/2022/06/image-13.png" alt="image 13" class="wp-image-9014" title="Introducción a Google Colab 181"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También lo puedes hacer escribiendo el símbolo <strong>&lt;&lt;#&gt;&gt;</strong> más el nombre de la<strong> sección</strong>, y añadiendo más asteriscos para designar <strong>jerarquías</strong>. Esto lo puedes entender mejor dando doble clic en la celda <strong>&#8211;C4&#8211;</strong>, donde verás lo siguiente:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="541" height="517" src="https://dialektico.com/wp-content/uploads/2022/06/image-14.png" alt="image 14" class="wp-image-9015" title="Introducción a Google Colab 182"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Podrás notar como por cada <strong>&lt;&lt;#&gt;&gt;</strong> adicional añadido se generan subsecciones.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Formatos de texto</h5>



<p>Los <strong>formatos</strong> de texto pueden ser moldeados a través de las demás herramientas del panel. Si das doble clic en la celda <strong>&#8211;C5&#8211;</strong>, aparecerá lo siguiente:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="530" height="752" src="https://dialektico.com/wp-content/uploads/2022/06/image-15.png" alt="image 15" class="wp-image-9016" title="Introducción a Google Colab 183"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>(La línea horizontal, por razones de procesos de la libreta, solo aparece cuando cierras el editor de texto).</p>



<p>Puedes modificar cada línea que requieras para comprender cómo se genera cada formato y objeto diferente. </p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Listas</h5>



<p>Al hacer clic en la celda <strong>&#8211;C6&#8211;</strong> se mostrará el Markdown para cada tipo de <strong>lista</strong>. Toma en cuenta que para añadir listas puedes utilizar los íconos de listas que aparecen en el editor de texto, pero si deseas más de dos elementos debes añadirlos manualmente con el lenguaje de marcado.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="564" height="605" src="https://dialektico.com/wp-content/uploads/2022/06/image-18.png" alt="image 18" class="wp-image-9023" title="Introducción a Google Colab 184"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Tablas</h5>



<p>Para generar <strong>tablas </strong>debes utilizar exclusivamente el lenguaje Markdown. En la celda <strong>&#8211;C7&#8211;</strong> podrás ver el formato requerido:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="541" height="404" src="https://dialektico.com/wp-content/uploads/2022/06/image-19.png" alt="image 19" class="wp-image-9024" title="Introducción a Google Colab 185"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Imágenes</h5>



<p>En cuanto a las <strong>imágenes</strong>, la carga de imágenes es sencilla, solo hay que presionar en el ícono de la imagen del editor:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="527" height="121" src="https://dialektico.com/wp-content/uploads/2022/06/image-59.png" alt="image 59" class="wp-image-9091" title="Introducción a Google Colab 186"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto te permitirá subir una imagen directamente desde los archivos de tu computadora. </p>



<p>En este caso no he colocado una celda en la libreta de Colab del tutorial mostrando una imagen cargada de esta forma, ya que esta acción genera un enorme código de Markdown:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="642" height="829" src="https://dialektico.com/wp-content/uploads/2022/06/image-60.png" alt="image 60" class="wp-image-9092" title="Introducción a Google Colab 187"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>(Y eso solo es una pequeña parte).</p>



<p>Existen varias formas de cargar <strong>imágenes</strong>, puedes consultaras de forma detallada en esta <a href="https://colab.research.google.com/github/kmkarakaya/ML_tutorials/blob/master/How_to_upload_an_image_to_Colab_.ipynb" target="_blank" rel="noopener">libreta de Colab</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Matemáticas con LaTeX en Colab</h4>



<p>Algo que te será de mucha utilidad para escribir libretas que impliquen <strong>notación matemática </strong>es la capacidad de Colab de soportar <strong>LaTeX</strong>, el cual es un lenguaje para generación de expresiones matemáticas. Si deseas conocer la <strong>sintaxis </strong>de LaTeX puedes visitar su documentación en <a href="https://www.latex-project.org/help/documentation/#general-documentation" target="_blank" rel="noopener">latex-project.org</a> o visitar <a href="https://en.wikibooks.org/wiki/LaTeX/Mathematics" target="_blank" rel="noopener">wikibooks.org</a>, sin embargo, lo más recomendable es que utilices una herramienta en línea como el de <a href="https://www.tutorialspoint.com/latex_equation_editor.htm" target="_blank" rel="noopener">tutorials.point.com</a>, <a href="https://latexeditor.lagrida.com/#google_vignette" target="_blank" rel="noopener">latexeditor.lagrida.com</a>, o utilizar un servicio como <a href="https://gemini.google.com/app?hl=es" target="_blank" rel="noopener">Gemini</a>, <a href="https://chatgpt.com/" target="_blank" rel="noopener">ChatGPT</a>, o <a href="https://claude.ai/new" target="_blank" rel="noopener">Claude</a>.</p>



<p>Para usar LaTeX en Colab solo deberás colocar la sintaxis entre el signo <strong>«$»</strong>. Si deseas que estén centradas, debes utilizar dos símbolos <strong>$$</strong>, como se muestra en la celda <strong>&#8211;C8&#8211;</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="652" height="728" src="https://dialektico.com/wp-content/uploads/2022/06/image-20.png" alt="image 20" class="wp-image-9025" title="Introducción a Google Colab 188"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Celdas de código</h3>



<p>Ahora pasemos a revisar algunos detalles de las celdas código.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Instalación de librerías/bibliotecas</h4>



<p>Algo fundamental que debes tener en cuenta a la hora de utilizar Colab, es que ya hay algunas <strong>bibliotecas </strong>de <strong><a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong> instaladas, por lo que no es necesario preocuparse por ello al momento de utilizar las más populares. Por ejemplo, si vas a la celda <strong>&#8211;C9&#8211;</strong> y la ejecutas, podrás notar que el código corre sin problemas:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="207" height="94" src="https://dialektico.com/wp-content/uploads/2022/06/image-21.png" alt="image 21" class="wp-image-9028" title="Introducción a Google Colab 189"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Pero si ejecutas la celda <strong>&#8211;C10&#8211;</strong>, obtendrás el siguiente error:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="626" height="400" src="https://dialektico.com/wp-content/uploads/2022/06/image-22.png" alt="image 22" class="wp-image-9029" title="Introducción a Google Colab 190"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto sucede porque la biblioteca <strong><a href="https://dialektico.com/mlektic/docs/index.html">mlektic </a></strong>no está instalada de forma nativa en Colab. Para este caso, la puedes instalar utilizando<strong> !Pip</strong> como se muestra en la celda <strong>&#8211;C11&#8211;</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1266" height="751" src="https://dialektico.com/wp-content/uploads/2022/06/image-23.png" alt="image 23" class="wp-image-9030" title="Introducción a Google Colab 191" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-23.png 1266w, https://dialektico.com/wp-content/uploads/2022/06/image-23-768x456.png 768w" sizes="(max-width: 1266px) 100vw, 1266px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>!Pip es generalmente la manera más común y sencilla de instalar librerías, pero puedes consultar otras formas de hacerlo en este <a href="https://colab.research.google.com/notebooks/snippets/importing_libraries.ipynb" target="_blank" rel="noopener">notebook de Colab</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Autocompletado</h4>



<p>A estas alturas tal vez ya lo hayas notado. Google Colab, al igual que varios entornos de desarrollo integrados, muestra sugerencias de <strong>autocompletado </strong>conforme escribes <strong>código</strong>. Por ejemplo, si creas una celda debajo de la celda<strong> &#8211;C11&#8211;</strong>, y escribes <strong>print</strong>, seguro te aparecerá una sugerencia como esta:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="533" height="112" src="https://dialektico.com/wp-content/uploads/2022/06/image-24.png" alt="image 24" class="wp-image-9031" title="Introducción a Google Colab 192"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si presiones la tecla <strong>tabulador </strong>una o dos veces, verás que esto se autocompleta con el código sugerido:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="230" height="43" src="https://dialektico.com/wp-content/uploads/2022/06/image-25.png" alt="image 25" class="wp-image-9032" title="Introducción a Google Colab 193"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto puede ser de mucha utilidad para agilizar el trabajo de escritura de código.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Asistente Gémini</h4>



<p>Seguro también ya habrás notado que Colab ofrece la ayuda de <strong>Gemini</strong>, la <strong>LLM </strong>de Google, como asistente para la configuración de código.</p>



<p>Probablemente notaste que cada vez que creas una celda de código aparece la siguiente leyenda:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="352" height="55" src="https://dialektico.com/wp-content/uploads/2022/06/image-26.png" alt="image 26" class="wp-image-9035" title="Introducción a Google Colab 194"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para utilizar el asistente de Google solo debes presionar en donde dice <strong>&lt;&lt;generar&gt;&gt;</strong>:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="344" height="48" src="https://dialektico.com/wp-content/uploads/2022/06/image-27.png" alt="image 27" class="wp-image-9036" title="Introducción a Google Colab 195"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y escribir tu consulta:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="372" height="40" src="https://dialektico.com/wp-content/uploads/2022/06/image-28.png" alt="image 28" class="wp-image-9037" title="Introducción a Google Colab 196"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En este caso, he solicitado crear una gráfica de barras utilizando la librería <strong>Matplotlib </strong>y he dado clic en &lt;&lt;<strong>Generar</strong>&gt;&gt;, lo cual creó el siguiente código en la celda <strong>&#8211;C12&#8211;</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="494" height="486" src="https://dialektico.com/wp-content/uploads/2022/06/image-32.png" alt="image 32" class="wp-image-9041" title="Introducción a Google Colab 197"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Al ejecutarlo se obtiene lo siguiente:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="568" height="444" src="https://dialektico.com/wp-content/uploads/2022/06/image-31.png" alt="image 31" class="wp-image-9040" title="Introducción a Google Colab 198"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta herramienta es muy útil, pero también puede ser (muy) imprecisa. Debes tomar precaución y utilizarla a consciencia; si la usas sin saber bien qué hace tu código, podría estar haciendo mal su trabajo y te podrían suceder dos cosas: o no sabes cómo solucionarlo, o no te das cuenta de que está mal.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Tablas interactivas</h4>



<p>Por último, en cuanto a celdas de código, veremos cómo visualizar <strong>tablas </strong>de manera interactiva. Colab permite esto al realizar la impresión de una tabla generada con la librería <strong><a href="https://pandas.pydata.org/" target="_blank" rel="noopener">Pandas</a></strong> como sigue:</p>



<p>Al ejecutar la celda <strong>&#8211;C13&#8211;</strong> podrás notar que se genera una tabla:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="623" height="451" src="https://dialektico.com/wp-content/uploads/2022/06/image-33.png" alt="image 33" class="wp-image-9042" title="Introducción a Google Colab 199"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes utilizar las opciones presentadas del lado derecho para interactuar con la tabla:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="493" height="444" src="https://dialektico.com/wp-content/uploads/2022/06/image-37.png" alt="image 37" class="wp-image-9046" title="Introducción a Google Colab 200"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Da clic en el primer ícono para obtener la siguiente vista:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1496" height="283" src="https://dialektico.com/wp-content/uploads/2022/06/image-36.png" alt="image 36" class="wp-image-9045" title="Introducción a Google Colab 201" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-36.png 1496w, https://dialektico.com/wp-content/uploads/2022/06/image-36-768x145.png 768w" sizes="(max-width: 1496px) 100vw, 1496px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta te permitirá que interactúes con los datos, filtrando, navegando y ordenando estos. </p>



<p>Puedes consultar más características de las <strong>tablas interactivas</strong> en este <a href="https://colab.research.google.com/notebooks/data_table.ipynb" target="_blank" rel="noopener">notebook de Colab</a>.</p>



<p>Ahora da clic en el segundo ícono, esto mostrará algo como lo siguiente:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="798" height="474" src="https://dialektico.com/wp-content/uploads/2022/06/image-38.png" alt="image 38" class="wp-image-9047" title="Introducción a Google Colab 202" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-38.png 798w, https://dialektico.com/wp-content/uploads/2022/06/image-38-768x456.png 768w" sizes="(max-width: 798px) 100vw, 798px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta opción utiliza <strong>IA</strong> para sugerirte <strong>gráficas </strong>de los datos contenidos en las tablas. Si crees que alguna es de utilidad, da clic en ella y se generará el código de manera automática:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="608" height="499" src="https://dialektico.com/wp-content/uploads/2022/06/image-39.png" alt="image 39" class="wp-image-9048" title="Introducción a Google Colab 203"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Finalmente, si das clic en el último ícono, aparecerá lo siguiente:<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1084" height="64" src="https://dialektico.com/wp-content/uploads/2022/06/image-40.png" alt="image 40" class="wp-image-9049" title="Introducción a Google Colab 204" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-40.png 1084w, https://dialektico.com/wp-content/uploads/2022/06/image-40-768x45.png 768w" sizes="(max-width: 1084px) 100vw, 1084px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A pesar de que aparece el mensaje «Suggest a plot» puedes solicitar diferentes acciones a realizar sobre la tabla. Yo he escrito lo siguiente:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="731" height="56" src="https://dialektico.com/wp-content/uploads/2022/06/image-41.png" alt="image 41" class="wp-image-9052" title="Introducción a Google Colab 205"></figure>



<p>Y he obtenido el código de la celda <strong>&#8211;C14&#8211;</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="842" height="514" src="https://dialektico.com/wp-content/uploads/2022/06/image-43.png" alt="image 43" class="wp-image-9054" title="Introducción a Google Colab 206" srcset="https://dialektico.com/wp-content/uploads/2022/06/image-43.png 842w, https://dialektico.com/wp-content/uploads/2022/06/image-43-768x469.png 768w" sizes="(max-width: 842px) 100vw, 842px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nota que estos resultados no te saldrán iguales a como lucen en las imágenes al ejecutar las celdas, ya que los valores de la tabla se generan de forma <strong>aleatoria</strong>.</p>



<p>Te recomiendo hacer tus propios experimentos con la tabla generada en nuevas celdas de código.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Funciones generales</h3>



<p>Con esto que hemos visto hasta ahora es seguro que puedes crear <strong>libretas </strong>de Colab con una organización y atractivo visual considerables. Los siguientes puntos hablarán sobre generalidades que pueden ser desde relativamente básicas, hasta ayudarte a culminar un trabajo más especializado.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto que hemos visto hasta ahora ya tienes más que suficiente para poder utilizar <strong>Colab </strong>eficazmente para el curso. Si deseas saltarte esta parte o volver a consultarla más tarde, ve al final del tutorial dando <a href="https://dialektico.com/google-colab/#final">clic aquí</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Almacenamiento e historial de versiones</h4>



<p>Comenzaremos hablando sobre la barra de herramientas que tienes a disposición en la parte superior de tu espacio de trabajo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="564" height="103" src="https://dialektico.com/wp-content/uploads/2022/06/image-45.png" alt="image 45" class="wp-image-9061" title="Introducción a Google Colab 207"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el primer menú (&lt;&lt;<strong>Archivo</strong>&gt;&gt;), encontrarás las opciones de almacenamiento, historial de versiones y otras funciones más:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="560" height="569" src="https://dialektico.com/wp-content/uploads/2022/06/image-44.png" alt="image 44" class="wp-image-9060" title="Introducción a Google Colab 208"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, se detallan las funciones de cada opción desplegada en el menú <strong>&lt;&lt;Archivo&gt;&gt;</strong> de Google Colab:</p>



<ul class="wp-block-list">
<li><strong>Ubicar en Drive</strong>: Muestra la ubicación del notebook actual dentro de Google Drive (que es donde siempre se almacenan).</li>



<li><strong>Abrir en modo de sitio de pruebas</strong>: Permite abrir el notebook en un entorno aislado para pruebas, útil para evitar afectar el entorno principal.</li>



<li><strong>Nuevo notebook en Drive</strong>: Crea un nuevo notebook en tu Google Drive.</li>



<li><strong>Abrir bloc de notas (Ctrl+O)</strong>: Abre un archivo de notebook existente desde Google Drive o desde tu equipo.</li>



<li><strong>Subir notebook</strong>: Permite subir un archivo de notebook desde tu computadora a Google Colab.</li>



<li><strong>Renombrar</strong>: Cambia el nombre del notebook actual.</li>



<li><strong>Mover</strong>: Mueve el notebook a otra carpeta dentro de Google Drive.</li>



<li><strong>Mover a la papelera</strong>: Envía el notebook a la papelera de reciclaje en Google Drive.</li>



<li><strong>Guardar una copia en Drive</strong>: Guarda una copia del notebook actual en tu Google Drive.</li>



<li><strong>Guardar una copia como Gist en GitHub</strong>: Guarda una copia del notebook como un Gist en GitHub.</li>



<li><strong>Guardar una copia en GitHub</strong>: Guarda una copia del notebook en un repositorio de GitHub.</li>



<li><strong>Guardar (Ctrl+S)</strong>: Guarda los cambios realizados en el notebook actual.</li>



<li><strong>Guardar y fijar revisión (Ctrl+M S)</strong>: Guarda el notebook y marca esta versión como una revisión, creando un punto de restauración.</li>



<li><strong>Historial de revisión</strong>: Muestra el historial de cambios y revisiones realizadas en el notebook.</li>



<li><strong>Descargar</strong>: Ofrece varias opciones para descargar el notebook en diferentes formatos (por ejemplo, <code>.ipynb</code>, <code>.py</code>, <code>.html</code>).</li>



<li><strong>Imprimir (Ctrl+P)</strong>: Imprime el notebook actual o lo guarda como PDF.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Edición e inserción de bloques</h4>



<p>Para abordar estas opciones, describiré los menús «<strong>Editar</strong>» e «<strong>Insertar</strong>» de la barra de herramientas, comenzando por el menú para edición de bloques:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="396" height="446" src="https://dialektico.com/wp-content/uploads/2022/06/image-46.png" alt="image 46" class="wp-image-9062" title="Introducción a Google Colab 209"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Funciones del menú «<strong>Editar» </strong>de Colab:</p>



<ul class="wp-block-list">
<li><strong>Deshacer inserción de la celda (Ctrl+M Z)</strong>: Revierte la última acción de inserción de una celda, restaurando el estado anterior.</li>



<li><strong>Rehacer (Ctrl+Shift+Y)</strong>: Rehace la última acción que fue deshecha.</li>



<li><strong>Seleccionar todas las celdas (Ctrl+Shift+A)</strong>: Selecciona todas las celdas del notebook, facilitando operaciones en masa como cortar o copiar.</li>



<li><strong>Cortar celda o selección (Ctrl+M X)</strong>: Elimina la celda o selección actual y la guarda en el portapapeles para pegarla en otra ubicación.</li>



<li><strong>Copiar celda o selección (Ctrl+M C)</strong>: Copia la celda o selección actual al portapapeles sin eliminarla del documento.</li>



<li><strong>Pegar (Ctrl+M V)</strong>: Pega el contenido del portapapeles en la ubicación actual.</li>



<li><strong>Borrar las celdas seleccionadas (Ctrl+M D)</strong>: Elimina las celdas que están seleccionadas actualmente en el notebook.</li>



<li><strong>Buscar y reemplazar (Ctrl+H)</strong>: Abre una herramienta para buscar texto dentro del notebook y, si se desea, reemplazarlo por otro texto.</li>



<li><strong>Buscar siguiente (Ctrl+G)</strong>: Salta a la siguiente coincidencia de la búsqueda actual dentro del notebook.</li>



<li><strong>Buscar anterior (Ctrl+Shift+G)</strong>: Salta a la coincidencia anterior de la búsqueda actual dentro del notebook.</li>



<li><strong>Configuración del notebook</strong>: Abre un panel de configuración para ajustar varias opciones del notebook, como el tipo de entorno de ejecución, etc.</li>



<li><strong>Borrar todos los resultados</strong>: Limpia todos los resultados de ejecución de celdas en el notebook, dejando solo el código sin los outputs generados.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Proseguimos con el de inserción:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="552" height="260" src="https://dialektico.com/wp-content/uploads/2022/06/image-47.png" alt="image 47" class="wp-image-9063" title="Introducción a Google Colab 210"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las funciones del menú Insertar de Colab son:</p>



<ul class="wp-block-list">
<li><strong>Celda de código (Ctrl+M B)</strong>: Inserta una nueva celda de código en el notebook. Estas celdas se utilizan para escribir y ejecutar código en Python u otros lenguajes soportados.</li>



<li><strong>Celda de texto</strong>: Inserta una nueva celda de texto (Markdown). Estas celdas se utilizan para agregar texto descriptivo, títulos, listas, enlaces, imágenes, y otros elementos de formato dentro del notebook.</li>



<li><strong>Celda de encabezado de la sección</strong>: Inserta una celda de texto con formato de encabezado, útil para dividir el notebook en secciones con títulos destacados.</li>



<li><strong>Celda de código temporal (Ctrl+Alt+N)</strong>: Inserta una celda de código que puede ser utilizada de manera temporal. Es similar a una celda de código normal, pero generalmente se usa para pruebas rápidas o código que no se planea mantener en el documento final.</li>



<li><strong>Fragmentos de código (Ctrl+Alt+P)</strong>: Inserta fragmentos de código predefinidos, facilitando la reutilización de código común sin tener que escribirlo desde cero.</li>



<li><strong>Agregar un campo de formulario</strong>: Inserta un campo de formulario en el notebook, que puede ser utilizado para interactuar con el código de manera dinámica (por ejemplo, seleccionar valores, ingresar texto, etc.).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Entorno de ejecución</h4>



<p>La configuración y administración del entorno de ejecución en Colab es sumamente importante, te permitirá gestionar las ejecuciones de las celdas y los recursos de cómputo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="546" height="443" src="https://dialektico.com/wp-content/uploads/2022/06/image-48.png" alt="image 48" class="wp-image-9067" title="Introducción a Google Colab 211"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las funciones que ofrece el menú de<strong> entorno de ejecución</strong> de Colab son:</p>



<ul class="wp-block-list">
<li><strong>Ejecutar todo (Ctrl+F9)</strong>: Ejecuta todas las celdas del notebook desde el principio hasta el final, en orden.</li>



<li><strong>Ejecutar celdas anteriores a la seleccionada (Ctrl+F8)</strong>: Ejecuta todas las celdas que están antes de la celda actualmente seleccionada, en orden.</li>



<li><strong>Ejecutar la celda enfocada (Ctrl+Enter)</strong>: Ejecuta la celda que está actualmente seleccionada o enfocada sin avanzar a la siguiente celda.</li>



<li><strong>Ejecutar selección (Ctrl+Shift+Enter)</strong>: Ejecuta el código que está seleccionado dentro de una celda. Si no hay nada seleccionado, ejecuta toda la celda.</li>



<li><strong>Ejecutar celda seleccionada y siguientes (Ctrl+F10)</strong>: Ejecuta la celda seleccionada y todas las celdas que vienen después de ella.</li>



<li><strong>Interrumpir la ejecución (Ctrl+M I)</strong>: Detiene la ejecución del código en todas las celdas, útil si un proceso está tomando demasiado tiempo o si quieres detener la ejecución por cualquier motivo.</li>



<li><strong>Reiniciar la sesión (Ctrl+M .)</strong>: Reinicia el entorno de ejecución del notebook, borrando todas las variables, archivos temporales y procesos en memoria, pero sin ejecutar nuevamente las celdas.</li>



<li><strong>Reiniciar la sesión y ejecutar todas las celdas</strong>: Reinicia el entorno de ejecución y luego ejecuta todas las celdas desde el principio, útil para garantizar que el código funcione desde un estado limpio.</li>



<li><strong>Desconectar y borrar el tiempo de ejecución</strong>: Desconecta el entorno de ejecución, liberando los recursos y borrando toda la memoria asociada.</li>



<li><strong>Cambiar tipo de entorno de ejecución</strong>: Permite cambiar el tipo de entorno de ejecución, como usar un entorno con GPU, TPU, o cambiar la versión de Python.</li>



<li><strong>Administrar sesiones</strong>: Muestra las sesiones de ejecución actuales y permite administrarlas, como desconectar sesiones activas.</li>



<li><strong>Ver recursos</strong>: Muestra los recursos disponibles y utilizados por el entorno de ejecución actual, como CPU, RAM, y disco.</li>



<li><strong>Ver registros del entorno de ejecución</strong>: Muestra los registros o logs del entorno de ejecución, útil para depuración y monitoreo.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De estas opciones, me parece importante hacer énfasis en <strong>&lt;&lt;Cambiar tipo de entorno de ejecución&gt;&gt;</strong>, la cual abrirá la siguiente ventana:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="550" height="426" src="https://dialektico.com/wp-content/uploads/2022/06/image-51.png" alt="image 51" class="wp-image-9073" title="Introducción a Google Colab 212"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sobre estas configuraciones puedes seleccionar entre lo siguiente:</p>



<ul class="wp-block-list">
<li><strong>Tipo de entorno de ejecución</strong>:
<ul class="wp-block-list">
<li>Selecciona la versión de Python que deseas usar en tu notebook. En este caso, está seleccionado<strong> Python 3</strong>.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li><strong>Acelerador de hardware</strong>:
<ul class="wp-block-list">
<li><strong>CPU</strong>: Utiliza el procesador central (CPU) de la máquina para ejecutar el código. Esta es la opción predeterminada.</li>



<li><strong>T4 GPU</strong>: Selecciona esta opción para utilizar una GPU (Unidad de Procesamiento Gráfico) NVIDIA T4, lo cual es útil para tareas que requieren procesamiento paralelo, como el entrenamiento de modelos de machine learning.</li>



<li><strong>A100 GPU</strong>: Esta es una opción para utilizar una GPU NVIDIA A100, que es más potente y se considera una opción premium, pero está desactivada aquí.</li>



<li><strong>L4 GPU</strong>: Otra opción de GPU disponible en ciertos planes, pero desactivada en esta configuración.</li>



<li><strong>TPU v2</strong>: Selecciona esta opción para utilizar una TPU (Unidad de Procesamiento Tensor), que está optimizada para tareas de machine learning, especialmente aquellas que utilizan TensorFlow.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li><strong>Acceso a GPU premium</strong>:
<ul class="wp-block-list">
<li>Si necesitas una GPU de mayor rendimiento (como la A100), puedes adquirir unidades de procesamiento adicionales a través de la opción que te lleva a comprar <a href="https://colab.research.google.com/signup?utm_source=notebook_settings&amp;utm_medium=link&amp;utm_campaign=premium_gpu_selector" target="_blank" rel="noopener">GPU premium</a>.</li>
</ul>
</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Herramientas y configuración</h4>



<p>En última instancia, tenemos las opciones de herramientas y configuración del menú <strong>&lt;&lt;Herramientas&gt;&gt;</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="521" height="180" src="https://dialektico.com/wp-content/uploads/2022/06/image-49.png" alt="image 49" class="wp-image-9071" title="Introducción a Google Colab 213"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las funciones ofrecidas en el menú <strong>&lt;&lt;Herramientas&gt;&gt; </strong>son las siguientes:</p>



<ul class="wp-block-list">
<li><strong>Paleta de comandos (Ctrl+Shift+P)</strong>: Abre una paleta de comandos que permite acceder rápidamente a una amplia variedad de acciones y comandos dentro de Google Colab, similar a la funcionalidad de «Command Palette» en editores de texto como Visual Studio Code.</li>



<li><strong>Configuración</strong>: Abre la configuración del notebook donde puedes ajustar preferencias como el tema, el tamaño de fuente, el tipo de entorno de ejecución, y otras opciones relacionadas con la apariencia y el comportamiento del entorno.</li>



<li><strong>Combinaciones de teclas (Ctrl+M H)</strong>: Muestra una lista de las combinaciones de teclas (atajos) disponibles en Google Colab, facilitando la ejecución rápida de comandos mediante el teclado.</li>



<li><strong>Diferencias entre cuadernos</strong>: Compara dos versiones de un notebook para mostrar las diferencias entre ellas. Esta herramienta es útil para ver qué cambios se han realizado en diferentes revisiones o versiones del mismo notebook.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sobre estas últimas, te recomiendo explorar las opciones de configuración existentes en Colab, las cuales podrás explorar al dar clic en «Configuración», que hará aparecer la siguiente ventana:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="694" height="663" src="https://dialektico.com/wp-content/uploads/2022/06/image-50.png" alt="image 50" class="wp-image-9072" title="Introducción a Google Colab 214"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Panel de apoyo</h3>



<p>Pasemos finalmente a hablar sobre el panel que encuentras en la parte superior izquierda de Colab:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="553" height="319" src="https://dialektico.com/wp-content/uploads/2022/06/image-52.png" alt="image 52" class="wp-image-9074" title="Introducción a Google Colab 215"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aquí encontrarás los siguientes elementos:</p>



<h5 class="wp-block-heading">índice</h5>



<p>Esta opción muestra el índice de la libreta que se genera de forma automática conforme las secciones añadidas:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="333" height="624" src="https://dialektico.com/wp-content/uploads/2022/06/image-53.png" alt="image 53" class="wp-image-9077" title="Introducción a Google Colab 216"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Búsqueda</h5>



<p>Permite la <strong>búsqueda </strong>y/o <strong>reemplazo </strong>de cadenas de texto.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="335" height="217" src="https://dialektico.com/wp-content/uploads/2022/06/image-54.png" alt="image 54" class="wp-image-9078" title="Introducción a Google Colab 217"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Variables</h5>



<p>Muestra información de las <strong>variables </strong>creadas por el código ejecutado.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="339" height="263" src="https://dialektico.com/wp-content/uploads/2022/06/image-55.png" alt="image 55" class="wp-image-9079" title="Introducción a Google Colab 218"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Secretos</h5>



<p>Almacena <strong>valores privados</strong> que necesites cargar a tu código de manera <strong>segura</strong>.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="476" height="474" src="https://dialektico.com/wp-content/uploads/2022/06/image-56.png" alt="image 56" class="wp-image-9080" title="Introducción a Google Colab 219"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">Archivos</h5>



<p>Gestiona los <strong>archivos </strong>almacenados durante la sesión. Además, permite realizar una conexión a los archivos almacenados en tu cuenta de Google Drive.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="342" height="242" src="https://dialektico.com/wp-content/uploads/2022/06/image-57.png" alt="image 57" class="wp-image-9081" title="Introducción a Google Colab 220"></figure>



<div style="height:25px" aria-hidden="true" id="final" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Tutorial terminado</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así concluimos este <strong>tutorial </strong>de <strong>Colab</strong>, si deseas obtener más información sobre sus funciones y actualizaciones puedes consultar los siguientes recursos:</p>



<ul class="wp-block-list">
<li><a href="https://colab.research.google.com/notebooks/basic_features_overview.ipynb" target="_blank" rel="noreferrer noopener">Descripción general de Colaboratory</a></li>



<li><a href="https://colab.research.google.com/notebooks/markdown_guide.ipynb" target="_blank" rel="noreferrer noopener">Guía para usar Markdown</a></li>



<li><a href="https://colab.research.google.com/notebooks/snippets/importing_libraries.ipynb" target="_blank" rel="noreferrer noopener">Cómo importar bibliotecas y luego instalar dependencias</a></li>



<li><a href="https://colab.research.google.com/github/googlecolab/colabtools/blob/main/notebooks/colab-github-demo.ipynb" target="_blank" rel="noreferrer noopener">Cómo guardar y cargar notebooks en GitHub</a></li>



<li><a href="https://colab.research.google.com/notebooks/forms.ipynb" target="_blank" rel="noreferrer noopener">Formularios interactivos</a></li>



<li><a href="https://colab.research.google.com/notebooks/widgets.ipynb" target="_blank" rel="noreferrer noopener">Widgets interactivos</a></li>



<li><a href="https://colab.research.google.com/notebooks/io.ipynb" target="_blank" rel="noreferrer noopener">Cómo cargar datos: Drive, Hojas de cálculo y Google Cloud Storage</a></li>



<li><a href="https://colab.research.google.com/notebooks/charts.ipynb" target="_blank" rel="noreferrer noopener">Gráficos: visualización de datos</a></li>



<li><a href="https://colab.research.google.com/notebooks/bigquery.ipynb" target="_blank" rel="noreferrer noopener">Cómo comenzar a usar BigQuery</a></li>



<li><a href="https://medium.com/google-colab" target="_blank" rel="noopener">Blog oficial de Google Colab.</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las <strong>prácticas </strong>embebidas en nuestras travesías para aprender <strong>machine learning</strong> solo consisten en que leas las instrucciones y ejecutes los fragmentos de código, lo que significa que con esta introducción, y un poco de interacción que hayas tenido con la plataforma, es más que suficiente para que puedas comenzar a correr los programas en tu navegador, ya sea los míos, o cualquier otro que encuentres compartido en línea. Además, puedes usarlo para<strong> generar tus propios códigos </strong>y<strong> </strong>enviarlos a otras personas.</p>



<p>Familiarizarte con un servicio como este es sin duda un gran paso hacia adelante en tu formación en <strong>ciencia de datos</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/04/ObtencionCB.jpg" alt="ObtencionCB" class="wp-image-7003" style="width:600px" title="Introducción a Google Colab 221" srcset="https://dialektico.com/wp-content/uploads/2024/04/ObtencionCB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/04/ObtencionCB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Equipaje listo  </h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Teniendo a la mano Google Colab y los ánimos encendidos, podemos comenzar nuestro <strong>primer recorrido</strong> en los dominios del <strong>machine learning</strong>. </p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/D1_CB_2.jpg" alt="D1 CB 2" class="wp-image-7513" style="width:510px;height:auto" title="Introducción a Google Colab 222" srcset="https://dialektico.com/wp-content/uploads/2024/05/D1_CB_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/D1_CB_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/introduccion-machine-learning/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/09/Boton.png" alt="siguiente dialéktico" style="width:202px;height:100px" title="Introducción a Google Colab 223"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/google-colab/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
	</channel>
</rss>
