{"id":415,"date":"2026-09-05T21:40:50","date_gmt":"2026-09-06T00:40:50","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/machine-learning-ponta-a-ponta\/"},"modified":"2026-09-08T05:23:38","modified_gmt":"2026-09-08T08:23:38","slug":"machine-learning-ponta-a-ponta","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/machine-learning-ponta-a-ponta\/","title":{"rendered":"Machine Learning de punta a punta"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro alimentando dados na pipeline ML\" src=\"\/wp-content\/uploads\/2026\/09\/machine-learning-v3.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<p class=\"translation-block\">Programar es: datos + reglas \u2192 respuesta. Tasar una casa, reconocer una cara, entender portugu\u00e9s \u2014 las reglas manuales no dan abasto. El <strong>Machine Learning<\/strong> invierte la cuenta: datos + respuestas de ejemplo \u2192 el modelo (las reglas). Este texto sigue el curso <a href=\"https:\/\/www.youtube.com\/watch?v=du1B6633-hU\">How Machine Learning Works, End to End<\/a> de <strong>KodeKloud<\/strong>: de la hoja de c\u00e1lculo a ChatGPT, el ciclo es el mismo.<\/p>\n<p><!-- more --><\/p>\n<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5em 0\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/du1B6633-hU\" title=\"C\u00f3mo funciona el machine learning, de principio a fin \u2014 KodeKloud\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0\"><\/iframe>\n<\/div>\n<p>La neurona est\u00e1 en el <a href=\"\/es\/2026\/09\/o-que-e-uma-rede-neural\/\">post de 3Blue1Brown<\/a>; el mapa de DL en el <a href=\"\/es\/2026\/09\/deep-learning-para-iniciantes\/\">crash course de freeCodeCamp<\/a>. Aqu\u00ed el hilo es el pipeline completo.<\/p>\n<h2>Reglas vs ejemplos<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">cl\u00e1ssico:     Dados + Regras     \u2192  Respostas\nML:           Dados + Respostas  \u2192  Regras (o modelo)\n<\/code><\/pre>\n<p>CRUD y factura caben en <code data-no-translation=\"\">if<\/code>. Inmueble con 40 variables subjetivas, no. T\u00fa alimentas el algoritmo con el hist\u00f3rico; \u00e9l encuentra la relaci\u00f3n y predice lo que a\u00fan no ha visto.<\/p>\n<h2>Hoja de c\u00e1lculo: feature, label, ruido<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">\u00e1rea m\u00b2 | quartos | bairro   | pre\u00e7o (y)\n120     | 3       | Centro   | 650.000\n 85     | 2       | Jardins  | 720.000\n 45     | 1       | Sub\u00farbio | 280.000\n<\/code><\/pre>\n<ul>\n<li><strong>X (features):<\/strong> lo que entra \u2014 \u00e1rea, habitaci\u00f3n, barrio, antig\u00fcedad.<\/li>\n<li><strong>y (label):<\/strong> lo que se quiere predecir \u2014 el precio.<\/li>\n<li><strong>Muestra:<\/strong> cada fila.<\/li>\n<\/ul>\n<p>Antes de entrenar: nulo (media\/mediana o drop), outlier, texto \u2192 n\u00famero (one-hot en el barrio), escala (m\u00b2 no puede aplastar \u201cn\u00ba de habitaciones\u201d solo porque el n\u00famero es mayor).<\/p>\n<h2>Entrenamiento vs inferencia<\/h2>\n<p><strong>Entrenamiento:<\/strong> el modelo observa miles de ejemplos y ajusta pesos\/sesgos hasta que el error baja. Empieza con GPU, tarda una hora, luego un cl\u00faster. <strong>Inferencia:<\/strong> pesos congelados; entran datos nuevos y la respuesta sale en milisegundos.<\/p>\n<p>El caso m\u00e1s tonto \u2014 una variable:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">\u0177 = w \u00b7 x + b\n<\/code><\/pre>\n<p><code data-no-translation=\"\">w<\/code> es cu\u00e1nto sube el precio por m\u00b2; <code data-no-translation=\"\">b<\/code> es el suelo (terreno \u201cde \u00e1rea cero\u201d). Una red profunda es esa recta apilada, con no linealidad en medio \u2014 la GPU del <a href=\"\/es\/2026\/09\/gpu-vs-tpu-como-funcionam-chips-ia\/\">post GPU vs TPU<\/a> no hace otra cosa.<\/p>\n<h2>Loss y el valle<\/h2>\n<p>Error de una casa: <code data-no-translation=\"\">y \u2212 \u0177<\/code>. El MSE calcula la media de los cuadrados:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">MSE = (1\/N) \u00b7 \u03a3 (y \u2212 \u0177)\u00b2\n<\/code><\/pre>\n<p>Elevar al cuadrado lo deja todo positivo ( +100 y \u2212100 no se anulan) y castiga las desviaciones: equivocarse en R$ 50 mil duele cuatro veces m\u00e1s que equivocarse en 25 mil.<\/p>\n<p class=\"translation-block\"><strong>Gradient descent:<\/strong> empieza con un peso aleatorio, calcula la inclinaci\u00f3n de la curva de error, da un paso en la direcci\u00f3n <em>opuesta<\/em>. El tama\u00f1o del paso es el learning rate <code>\u03b1<\/code>:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">w_novo = w \u2212 \u03b1 \u00b7 \u2202Loss\/\u2202w\n<\/code><\/pre>\n<p>\u03b1 alto: el modelo se salta la cazuela y no aterriza. \u03b1 bajo: hormiga, y a\u00fan puede quedarse en un agujero local.<\/p>\n<h2>Generalizar \u2014 y no filtrar el test<\/h2>\n<p>Nota 10 en el entrenamiento no cuenta. Lo que importa son datos <em>nuevos<\/em>.<\/p>\n<ul>\n<li>Entrenamiento ~80% \u2014 ajusta pesos.<\/li>\n<li>Validaci\u00f3n ~10% \u2014 elige algoritmo e hiperpar\u00e1metros.<\/li>\n<li>Test ~10% \u2014 la selectividad, intacto.<\/li>\n<\/ul>\n<p><strong>Underfit:<\/strong> recta en un seno. Falla en entrenamiento y test. <strong>Overfit:<\/strong> \u00e1rbol profundo que memoriza el ruido. 99% en entrenamiento, 50% en cliente real.<\/p>\n<p><strong>Data leakage:<\/strong> informaci\u00f3n del test entra en el entrenamiento. Cl\u00e1sico: normalizar con la media <em>global<\/em> antes del split. En la propiedad: columna \u201ccomisi\u00f3n del corredor\u201d, que solo existe porque la casa ya se vendi\u00f3 a ese precio. El laboratorio queda precioso; la producci\u00f3n se rompe.<\/p>\n<h2>El mapa de los problemas<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-text\" data-no-translation=\"\">Machine Learning\n \u251c\u2500 supervisionado (tem y)\n \u2502    \u251c\u2500 regress\u00e3o      (pre\u00e7o, temperatura)\n \u2502    \u2514\u2500 classifica\u00e7\u00e3o  (spam, churn, benigno\/maligno)\n \u2514\u2500 n\u00e3o-supervisionado (sem y)\n      \u251c\u2500 clustering     (K-Means, perfil de cliente)\n      \u2514\u2500 dimensionalidade (PCA)\n<\/code><\/pre>\n<h2>De \u0177 = wx+b a ChatGPT<\/h2>\n<p>El ciclo no cambia: forward \u2192 loss \u2192 backprop \u2192 descent. En el LLM solo se apilan miles de millones de par\u00e1metros encima de texto.<\/p>\n<ol>\n<li><strong>Token + embedding:<\/strong> el texto se vuelve trozo, el trozo se vuelve vector. \u201cLinux\u201d y \u201cUnix\u201d quedan cerca.<\/li>\n<li><strong>Pre-entrenamiento:<\/strong> predecir el siguiente token en billones de palabras. Se convierte en el autocompletar del universo \u2014 todav\u00eda no es asistente, solo contin\u00faa el texto al estilo de la web.<\/li>\n<li><strong>SFT:<\/strong> miles de pares pregunta\/respuesta. Aprende a obedecer instrucciones.<\/li>\n<li><strong>RLHF \/ DPO:<\/strong> humanos clasifican respuestas; un reward model + refuerzo empuja hacia lo \u00fatil, honesto, rechazar lo da\u00f1ino.<\/li>\n<\/ol>\n<p>En 2026 el extra es atenci\u00f3n (Transformer), multimodal (texto+imagen+audio) y agente (tool calling, script en el terminal, loop ReAct). En el Linux de bolsillo, el mismo ciclo cabe en <a href=\"\/es\/2026\/09\/rodando-ia-local-no-linux-com-ollama\/\">Ollama<\/a>.<\/p>\n<h2>Referencias<\/h2>\n<ul>\n<li>Curso: <a href=\"https:\/\/www.youtube.com\/watch?v=du1B6633-hU\">KodeKloud \u2014 C\u00f3mo funciona el machine learning, de principio a fin<\/a><\/li>\n<li><a href=\"\/es\/2026\/09\/o-que-e-uma-rede-neural\/\">\u00bfQu\u00e9 es una red neuronal?<\/a><\/li>\n<li><a href=\"\/es\/2026\/09\/deep-learning-para-iniciantes\/\">Deep Learning para principiantes<\/a><\/li>\n<li><a href=\"\/es\/2026\/09\/gpu-vs-tpu-como-funcionam-chips-ia\/\">GPU vs TPU<\/a><\/li>\n<\/ul>\n<p>Hoja de c\u00e1lculo, loss, gradiente, split. ChatGPT es eso con m\u00e1s ceros en la cuenta. Sin magia \u2014 y con leakage, el laboratorio miente.<\/p>","protected":false},"excerpt":{"rendered":"<p>Programar \u00e9: dados + regras \u2192 resposta. Precificar casa, reconhecer cara, entender portugu\u00eas \u2014 regras manuais n\u00e3o d\u00e3o conta. O Machine Learning inverte a conta: dados + respostas de exemplo \u2192 o modelo (as regras). Este texto segue o curso How Machine Learning Works, End to End do KodeKloud: da planilha ao ChatGPT, o ciclo &#8230; <a title=\"Machine Learning de punta a punta\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/machine-learning-ponta-a-ponta\/\" aria-label=\"Leer m\u00e1s sobre Machine Learning de ponta a ponta\">Leer m\u00e1s<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,115,2],"tags":[116,168,128,167],"class_list":["post-415","post","type-post","status-publish","format-standard","hentry","category-cursos","category-ia","category-linux","tag-ia","tag-kodekloud","tag-llm","tag-machine-learning"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":2,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":1135,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/415\/revisions\/1135"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}