{"id":137803,"date":"2026-01-28T03:50:15","date_gmt":"2026-01-28T02:50:15","guid":{"rendered":"https:\/\/multi.liora.io\/?p=137803"},"modified":"2026-02-26T17:30:15","modified_gmt":"2026-02-26T16:30:15","slug":"comprende-el-algoritmo-t-sne-en-3-pasos","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/comprende-el-algoritmo-t-sne-en-3-pasos","title":{"rendered":"Comprende el algoritmo t-SNE en 3 pasos"},"content":{"rendered":"\n<p><strong>Si alguna vez has estado interesado en los m\u00e9todos de reducci\u00f3n de dimensiones, probablemente ya hayas estudiado el An\u00e1lisis de Componentes Principales o ACP. En este art\u00edculo, abordaremos otro de los m\u00e9todos de reducci\u00f3n de dimensiones que existen: t-SNE o t-distributed Stochastic Neighbor Embedding en ingl\u00e9s. Este algoritmo propone un m\u00e9todo diferente del ACP.<\/strong><\/p>\n\n\n\n<p>T-SNE es una t\u00e9cnica de reducci\u00f3n de dimensiones utilizada para la explotaci\u00f3n de datos de grandes dimensiones que ha sido desarrollada en 2008 por Geoffrey Hinton y Laurens Van Der Maaten. Como en el caso del ACP, el objetivo es determinar un espacio m\u00e1s de menor dimensi\u00f3n conservando siempre la misma distancia entre los puntos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t-sne-y-acp\">t-SNE y ACP<\/h2>\n\n\n\n<p><b>El an\u00e1lisis de componentes<\/b> principales es un m\u00e9todo ampliamente utilizado en la reducci\u00f3n de dimensiones que busca representar datos en un hiperplano cercano para mantener la varianza de la nube de datos tanto como sea posible. Es decir, se trata de representar los datos en un subespacio de menor dimensi\u00f3n maximizando la inercia total de la nube proyectada en este espacio. Si quieres saber m\u00e1s sobre el ACP, mira este video que hicimos sobre este tema:<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Haz clic aqu\u00ed para saber m\u00e1s sobre nuestras formaciones<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-el-principio-del-t-sne\">El principio del t-SNE<\/h2>\n\n\n\n<p>El algoritmo t-SNE consiste en crear una distribuci\u00f3n de probabilidad que represente las similitudes entre vecinos en un espacio de gran dimensi\u00f3n y en un espacio de menor dimensi\u00f3n. Por similitud, intentaremos convertir las distancias en probabilidades. <strong>Se divide en 3 pasos :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>1\u00b0 paso :<\/strong> Calculamos las similitudes de puntos en el espacio inicial de grandes dimensiones. Para cada punto xi centramos una distribuci\u00f3n gaussiana alrededor de este punto. Luego medimos, para cada punto xj (i diferente de j), la densidad bajo esta distribuci\u00f3n gaussiana definida previamente. Finalmente, normalizamos para cada uno de los puntos. De este modo obtenemos una lista de probabilidades condicionales observadas:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/image2.png\" alt=\"liste de probabilit\u00e9s conditionnelles not\u00e9es\" style=\"width:338px;height:auto\" \/><\/figure>\n\n\n\n<p>La desviaci\u00f3n est\u00e1ndar se define por un valor llamado <strong>perplejidad<\/strong> que corresponde al n\u00famero de vecinos alrededor de cada punto. Este valor lo establece el usuario de antemano y permite estimar la desviaci\u00f3n est\u00e1ndar de las distribuciones gaussianas definidas para cada punto xi. Cuanto mayor es la perplejidad, mayor es la variaci\u00f3n.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>2\u00b0 paso :<\/strong> Necesitamos crear un espacio dimensional m\u00e1s peque\u00f1o en el que representaremos nuestros datos. Obviamente, al principio no conocemos las coordenadas ideales en este espacio. Por tanto, vamos a distribuir los puntos de forma aleatoria en este nuevo espacio. El resto es bastante similar al paso 1, calculamos las similitudes de los puntos en el espacio reci\u00e9n creado, pero usando una distribuci\u00f3n t-Student y no una gaussiana. De la misma forma obtenemos una lista de probabilidades :<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/image1.png\" alt=\"les similarit\u00e9s des points dans l\u2019espace nouvellement cr\u00e9\u00e9 mais en utilisant une distribution t-Student\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>3\u00b0 paso :<\/strong> para representar fielmente los puntos en el espacio dimensional m\u00e1s peque\u00f1o, lo ideal ser\u00eda que las medidas de similitud en los dos espacios coincidieran. Entonces, necesitamos comparar las similitudes de los puntos en los dos espacios usando la <strong>medida Kullback_Leibler (KL)<\/strong>. Luego tratamos de minimizarlo mediante la gradiente descendente para obtener el mejor yi posible en un espacio de dimensiones peque\u00f1as. Esto equivale a minimizar la diferencia entre las distribuciones de probabilidad entre el espacio original y el espacio de menor dimensi\u00f3n.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Descubre nuestras formaciones en Data Science<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-comparacion-de-metodos-acp-y-t-sne\">Comparaci\u00f3n de m\u00e9todos ACP y t-SNE<\/h2>\n\n\n\n<p>Para comprender mejor las diferencias entre los dos m\u00e9todos <b>PCA<\/b> y <b>t-SNE, <\/b>consideremos el conjunto de datos <b>MNIST<\/b>. Para cada uno de los dos m\u00e9todos, hemos representado los datos en un<b> espacio bidimensional.<\/b><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/image3.png\" alt=\"le r\u00e9sultat obtenu avec une analyse en composantes principales\" \/><figcaption class=\"wp-element-caption\">Reducci\u00f3n de dimensiones con el m\u00e9todo t-SNE<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/image4.png\" alt=\"r\u00e9sultat obtenu par r\u00e9duction de dimension avec la m\u00e9thode TSNE\" \/><figcaption class=\"wp-element-caption\">Reducci\u00f3n de dimensiones con ACP<\/figcaption><\/figure>\n\n\n\n<p>En la primera figura tenemos el resultado obtenido por reducci\u00f3n de dimensi\u00f3n con el <b>m\u00e9todo t-SNE<\/b>. En el segundo, tenemos el resultado obtenido con un <b>an\u00e1lisis de componentes principales<\/b>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Como podemos ver, t-SNE ha logrado <b>agrupar los datos cercanos<\/b> y separar los datos diferentes. Los puntos se representan en grupos, cada uno de los cuales corresponde a un n\u00famero entre 1 y 6.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>En el caso de los resultados obtenidos con <b>PCA<\/b>, la<b> separaci\u00f3n de datos<\/b> en el espacio en 2 dimensiones es<b> mucho menos clara<\/b>. Podemos ver que para algunos d\u00edgitos como 0 los puntos correspondientes est\u00e1n bien agrupados. Sin embargo, para otros d\u00edgitos como los puntos asociados con el n\u00famero 5, se <b>distribuyen de manera m\u00e1s difusa<\/b>.<\/p>\n\n\n\n<p>Si quieres formarte en temas como las t\u00e9cnicas de reducci\u00f3n de dimensiones, <a href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">\u00a1ven a descubrir nuestras formaciones en formato bootcamp o en continuo!<\/a><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Saber m\u00e1s sobre nuestras formaciones<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"t-SNE y ACP\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"El ACP (An\u00e1lisis de Componentes Principales) es un m\u00e9todo de reducci\u00f3n de dimensiones que busca representar datos en un hiperplano cercano maximizando la varianza de la nube de datos proyectada. t-SNE (t-distributed Stochastic Neighbor Embedding) es otra t\u00e9cnica (desarrollada 2008 por Hinton y Van Der Maaten) que propone un m\u00e9todo diferente, conservando las distancias entre puntos.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"El principio del t-SNE\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"t-SNE crea una distribuci\u00f3n de probabilidad que representa similitudes entre vecinos en espacio de gran dimensi\u00f3n y en espacio de menor dimensi\u00f3n. Se divide en 3 pasos: 1) calcular similitudes en espacio original (gaussiana centrada en cada punto xi, medir densidad para cada xj, normalizar \u2013 perplejidad define desviaci\u00f3n est\u00e1ndar). 2) crear espacio dimensional m\u00e1s peque\u00f1o, distribuir puntos aleatoriamente, calcular similitudes con distribuci\u00f3n t-Student. 3) comparar similitudes con Kullback-Leibler y minimizar mediante gradiente descendente para obtener mejores yi.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Comparaci\u00f3n de m\u00e9todos ACP y t-SNE\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"En dataset MNIST: t-SNE agrupa datos cercanos y separa diferentes (puntos en grupos por n\u00famero entre 1 y 6). ACP tiene separaci\u00f3n menos clara en 2D (algunos n\u00fameros como 0 bien agrupados, otros como 5 difusos).\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p><strong><b>Si alguna vez has estado interesado en los m\u00e9todos de reducci\u00f3n de dimensiones, probablemente ya hayas estudiado el An\u00e1lisis de Componentes Principales o ACP. En este art\u00edculo, abordaremos otro de los m\u00e9todos de reducci\u00f3n de dimensiones que existen: t-SNE o t-distributed Stochastic Neighbor Embedding en ingl\u00e9s. Este algoritmo propone un m\u00e9todo diferente del ACP.<\/b><\/strong><\/p>\n","protected":false},"author":85,"featured_media":71520,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-137803","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/137803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=137803"}],"version-history":[{"count":4,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/137803\/revisions"}],"predecessor-version":[{"id":184595,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/137803\/revisions\/184595"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/71520"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=137803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=137803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}