Redes Neurais em IA e Deep Learning - página 60

 

Una introducción amigable al aprendizaje profundo y las redes neuronales



Una introducción amigable al aprendizaje profundo y las redes neuronales

¡Bienvenido a una introducción al aprendizaje profundo! Soy Luis Serrano y trabajo en Udacity. Comencemos respondiendo a la pregunta: ¿Qué es el aprendizaje automático?

Para explicarlo, consideremos un ejemplo simple. Imagina que tenemos un humano y un pastel, y nuestro objetivo es decirle al humano que consiga el pastel. Podemos hacer esto fácilmente dando una instrucción: "Ve a buscar el pastel". El humano entiende y se lleva el pastel. Ahora, intentemos resolver el mismo problema con un robot. No es tan sencillo porque necesitamos darle al robot un conjunto de instrucciones. Por ejemplo, "Gira a la derecha, da diez pasos, gira a la izquierda, da cuatro pasos y luego toma el pastel". Esta solución es específica para este escenario particular y no generalizable. Si el robot está en una posición diferente, necesitaríamos un conjunto de instrucciones completamente diferente.

Para resolver este problema de una manera más general, podemos utilizar el aprendizaje automático. En lugar de proporcionar instrucciones explícitas, podemos enseñarle a la computadora a descubrir la mejor manera de encontrar el pastel. Hacemos esto pidiéndole a la computadora que calcule la distancia al pastel y luego se mueva en la dirección que minimice la distancia. La computadora sigue iterando hasta que encuentra el pastel. Este concepto de minimizar un error o distancia es el núcleo de la mayoría de los problemas de aprendizaje automático. Definimos una métrica de error, como la distancia al pastel o la altura de una montaña, y luego minimizamos ese error usando el descenso de gradiente. Calculando repetidamente el gradiente y moviéndonos en la dirección que más disminuya el error, podemos encontrar soluciones a varios problemas.

El aprendizaje automático tiene muchas aplicaciones, como enseñar a una computadora a jugar juegos como Go o Jeopardy, habilitar autos sin conductor, detectar correos electrónicos no deseados, reconocer rostros y más. En el corazón de estas aplicaciones se encuentra el concepto de redes neuronales, que forman la base del aprendizaje profundo. Cuando pensamos en redes neuronales, podemos imaginar estructuras complejas con nodos, bordes y capas. Sin embargo, una forma más sencilla de pensar en ellos es como una herramienta para dividir datos. Al igual que un niño que juega en la arena y dibuja una línea para separar las conchas rojas y azules, las redes neuronales pueden aprender a separar diferentes tipos de puntos de datos.

Para entrenar una red neuronal, necesitamos una función de error que sea continua. Minimizar el número de errores no es adecuado porque es una función discreta. En su lugar, usamos una función de error que asigna penalizaciones a los puntos mal clasificados. Al ajustar los parámetros de la red neuronal, como la posición de la línea en nuestro ejemplo, podemos minimizar el error y encontrar la mejor solución. Este enfoque, conocido como regresión logística, nos permite construir una función de probabilidad que asigna probabilidades a diferentes puntos de datos. Los puntos más cercanos a la línea 50/50 tienen una mayor probabilidad de ser clasificados como rojo o azul, mientras que los puntos más alejados se clasifican con mayor confianza.

El aprendizaje automático se trata de minimizar errores o distancias para encontrar las mejores soluciones a varios problemas. Las redes neuronales proporcionan una forma de dividir datos y hacer clasificaciones. Mediante el uso de funciones de error continuo y descenso de gradiente, podemos entrenar redes neuronales y aplicarlas a una amplia gama de aplicaciones.

 

Una introducción amigable a las redes neuronales recurrentes



Una introducción amigable a las redes neuronales recurrentes

¡Bienvenido a una introducción amigable a las redes neuronales recurrentes! Soy Luis Serrano, instructor de aprendizaje automático en Udacity. Gracias por todos los comentarios sobre mis videos anteriores. Recibí muchas sugerencias, y una de ellas era sobre redes neuronales recurrentes, por eso decidí hacer este video.

Comencemos con un ejemplo simple. Imagina que tienes un compañero de cuarto perfecto que cocina tres tipos de comida: pastel de manzana, hamburguesa y pollo. Su decisión de cocinar se basa en el clima. Si hace sol, cocina pastel de manzana, y si llueve, cocina una hamburguesa. Podemos modelar este escenario usando una red neuronal simple, donde la entrada es el clima (soleado o lluvioso) y la salida es la comida correspondiente (tarta de manzana o hamburguesa).

Para representar la comida y el clima, usamos vectores. Los vectores de alimentos son [1 0 0] para pastel de manzana, [0 1 0] para hamburguesa y [0 0 1] para pollo. Los vectores meteorológicos son [1 0] para soleado y [0 1] para lluvioso. Podemos mapear estos vectores usando una multiplicación de matrices, donde el vector de entrada se multiplica por una matriz para obtener el vector de salida.

Ahora consideremos un problema más complicado. Nuestro compañero de cuarto perfecto todavía cocina en secuencia (tarta de manzana, hamburguesa, pollo), pero ahora su decisión depende de lo que cocinó el día anterior. Esto se llama una red neuronal recurrente. La salida de cada día se convierte en la entrada del día siguiente. Podemos representar esta red usando matrices y operaciones vectoriales.

Por ejemplo, si la comida del día anterior fue pastel de manzana y el clima de hoy es lluvioso, usamos la matriz de alimentos y la matriz del clima para calcular la salida. La matriz alimentaria toma el vector alimentario anterior y devuelve los vectores alimentarios actual y siguiente concatenados. La matriz meteorológica toma el vector meteorológico e indica si debemos cocinar la comida del día actual o del día siguiente. Al sumar los resultados de estas dos matrices, podemos determinar qué cocinará el compañero de cuarto al día siguiente.

Este enfoque combina los dos ejemplos anteriores, donde la decisión de cocinar del compañero de cuarto se basa tanto en el clima como en la comida del día anterior. Las operaciones con matrices y vectores nos ayudan a calcular la salida de la red neuronal recurrente.

Las redes neuronales recurrentes son modelos poderosos que pueden manejar datos secuenciales al considerar entradas anteriores. Son útiles en diversas aplicaciones, como el procesamiento del lenguaje natural y el análisis de series temporales. Espero que esta introducción le haya dado una buena comprensión de las redes neuronales recurrentes.

 

Una introducción amistosa a las redes antagónicas generativas (GAN)



Una introducción amistosa a las redes antagónicas generativas (GAN)

Hola, soy Luis Serrano y este video trata sobre las Redes Generativas Adversarias (GAN). Las GAN, desarrolladas por Ian Goodfellow, son un avance significativo en el aprendizaje automático con numerosas aplicaciones. Una de las aplicaciones más fascinantes de las GAN es la generación de rostros. Puede ver esto en acción en el sitio web "thispersondoesnotexist.com", donde todas las imágenes de personas son generadas por una red neuronal.

En este vídeo aprenderemos a generar caras usando GANs de forma sencilla. Incluso si prefiere no escribir código, este video le proporcionará intuición y ecuaciones. Estaremos codificando un par de redes neuronales de una capa que generan imágenes simples, y puede encontrar el código en GitHub.

Déjame explicarte qué son las GAN. Las GAN constan de dos redes neuronales, un generador y un discriminador, que compiten entre sí. El generador intenta crear imágenes falsas, mientras que el discriminador intenta distinguir entre imágenes reales y falsas. A medida que el discriminador atrapa al generador, el generador mejora sus imágenes hasta que puede generar una imagen perfecta que engaña al discriminador. Para entrenar las GAN, utilizamos un conjunto de imágenes reales y un conjunto de imágenes falsas generadas por el generador. El discriminador aprende a identificar las imágenes reales de las falsas, mientras que el generador aprende a engañar al discriminador para que clasifique sus imágenes como reales.

En este video, construiremos un par simple de GAN usando Python sin ningún paquete de aprendizaje profundo. Nuestra tarea es generar caras en un mundo llamado "Slanted Land", donde todos aparecen alargados y caminan en un ángulo de 45 grados. El mundo de Slanted Land tiene tecnología limitada, incluidas pantallas de 2x2 píxeles que muestran imágenes en blanco y negro. Crearemos redes neuronales con una capa para generar caras de las personas en Slanted Land.

La red discriminadora analiza los valores de píxel de las imágenes para distinguir entre caras y no caras. Podemos determinar si una imagen es una cara comparando los valores de las esquinas superior izquierda e inferior derecha con las otras dos esquinas. Las caras tendrán una diferencia de valor más alta, mientras que las que no son caras o las imágenes ruidosas tendrán una diferencia más baja. Al aplicar un umbral, podemos clasificar las imágenes como rostros o no rostros. La red generadora crea caras asignando valores más altos a las esquinas superior izquierda e inferior derecha y valores más bajos a las esquinas superior derecha e inferior izquierda. Al aplicar la función sigmoidea, podemos obtener probabilidades y generar valores de píxel para la imagen. La red del generador está diseñada para generar siempre una cara, independientemente de los valores de entrada. Para entrenar las redes neuronales, necesitamos definir una función de error. Usamos la pérdida logarítmica, que es el logaritmo natural negativo, para medir el error entre la salida predicha y la salida deseada. La función de error ayuda a las redes a mejorar sus pesos y reducir el error a través de un proceso llamado retropropagación.

La retropropagación implica calcular la derivada del error con respecto a los pesos y ajustar los pesos en consecuencia para minimizar el error. Este proceso se repite iterativamente para entrenar las redes del generador y del discriminador. Al entrenar las redes generadoras y discriminadoras usando funciones de error apropiadas y retropropagación, podemos generar caras realistas en Slanted Land. El generador aprende a crear imágenes que se asemejan a rostros, mientras que el discriminador aprende a diferenciar entre rostros reales y generados.

Esta descripción general proporciona una idea general de las GAN y cómo pueden generar caras. En el video, profundizaremos en los conceptos y demostraremos el proceso de codificación paso a paso. Ya sea que desee escribir código o ganar intuición y comprensión, este video será valioso para usted. Entonces, el error del discriminador en este caso sería el logaritmo negativo de 1 menos la predicción. Calculamos el gradiente de este error con respecto a los pesos del discriminador usando retropropagación y luego actualizamos los pesos del discriminador para minimizar este error. A continuación, consideremos el generador. El objetivo del generador es producir imágenes que el discriminador clasifica como reales o rostros. En otras palabras, el generador quiere engañar al discriminador para que emita una alta probabilidad de sus imágenes generadas. Por lo tanto, el error del generador es el logaritmo negativo de la predicción del discriminador para la imagen generada.

Nuevamente, calculamos el gradiente de este error con respecto a los pesos del generador usando retropropagación y actualizamos los pesos del generador para minimizar este error. El generador aprende a ajustar sus pesos de tal manera que produce imágenes que se asemejan a caras reales y aumenta la probabilidad de que el discriminador las clasifique como una cara. Repetimos este proceso varias veces, alternando entre entrenar el discriminador y el generador. Cada iteración ayuda a ambas redes a mejorar su rendimiento. El discriminador se vuelve mejor para distinguir entre imágenes reales y falsas, mientras que el generador se vuelve mejor para generar imágenes realistas que pueden engañar al discriminador.

Este proceso iterativo de entrenamiento del generador y el discriminador es lo que hace que las GAN sean poderosas. Aprenden a generar muestras muy realistas y coherentes compitiendo entre sí. El generador aprende a crear imágenes más convincentes, mientras que el discriminador se vuelve más experto en detectar imágenes falsas. Con suficiente capacitación, las GAN pueden generar imágenes, textos, música e incluso videos que se asemejan a datos reales.

Las GAN consisten en un generador y un discriminador que compiten entre sí de forma similar a un juego. El generador genera muestras falsas y el discriminador trata de distinguir entre muestras reales y falsas. A través de este proceso contradictorio y el entrenamiento con funciones de error apropiadas, las GAN aprenden a generar datos realistas y de alta calidad.

 

Máquinas de Boltzmann restringidas (RBM): una introducción amigable



Máquinas de Boltzmann restringidas (RBM): una introducción amigable

Hola, soy Luis Serrano, y este video es sobre Máquinas de Boltzmann Restringidas (RBMs). Los RBM son algoritmos potentes que se utilizan en el aprendizaje supervisado, la reducción de la dimensionalidad y el aprendizaje automático generativo.

Comencemos con un misterio. Hay una casa al otro lado de la calle donde la gente a veces viene de visita. Observamos que tres individuos, Ayesha, Beto y Cameron, vienen a menudo, pero no siempre juntos. A veces solo aparece Ayesha, otras veces es Beto o Cameron, ya veces viene más de uno, incluso días que no aparece ninguno. Investigamos este patrón y descubrimos que no se conocen, por lo que necesitamos encontrar otra razón para sus apariciones.

Descubrimos que hay mascotas en la casa, un perro llamado Descartes y un gato llamado Euler. Ayesha y Cameron aman a los perros, así que aparecen cuando Descartes está presente. Por otro lado, Beto es alérgico a los perros pero adora a los gatos, por lo que solo aparece cuando Ayesha está presente. Asignamos puntajes para representar sus preferencias, con puntajes positivos que indican gustos y puntajes negativos que indican disgustos. Ahora queremos averiguar la probabilidad de que ocurran diferentes escenarios. Asignamos puntajes a cada escenario y los convertimos en probabilidades. Un enfoque es utilizar la función softmax para transformar puntuaciones en probabilidades, asegurando que las puntuaciones más altas correspondan a probabilidades más altas.

Construimos una Máquina de Boltzmann Restringida (RBM) con capas visibles y ocultas. La capa visible representa los datos observados (personas), mientras que la capa oculta representa los datos no observados (mascotas). El RBM consta de nodos conectados por pesos, con puntajes asignados a cada conexión. Para entrenar el RBM, necesitamos encontrar los pesos que se alinean con las probabilidades que obtuvimos de los datos. Queremos que el RBM asigne altas probabilidades a los escenarios donde Ayesha y Cameron o solo Beto aparecen, y bajas probabilidades a otros escenarios. Al ajustar los pesos, podemos influir en las probabilidades asignadas por el RBM. El objetivo es hacer que la RBM se alinee con los datos observados e imite las probabilidades deseadas.

Para lograr nuestras probabilidades deseadas, necesitamos ajustar los pesos en nuestro RBM. Los pesos determinan la influencia de cada conexión entre las capas visibles y ocultas. Al actualizar los pesos, podemos aumentar la probabilidad de ciertos escenarios y disminuir la probabilidad de otros. Para actualizar los pesos, usamos una técnica llamada divergencia contrastiva. Implica comparar las probabilidades de los estados de la capa visible antes y después de algunas iteraciones del RBM. La actualización del peso se basa en la diferencia entre estos dos conjuntos de probabilidades. Durante el entrenamiento, presentamos repetidamente los datos de entrenamiento al RBM y ajustamos los pesos para maximizar la probabilidad de los datos observados. Este proceso se conoce como aprendizaje no supervisado porque no tenemos etiquetas explícitas para los datos de entrenamiento.

Después del entrenamiento, la RBM se puede utilizar para generar nuevos datos mediante el muestreo de la distribución de probabilidad aprendida. Podemos generar escenarios similares a los observados en los datos de entrenamiento. Para entrenar nuestro modelo, usamos una RBM (Restricted Boltzmann Machine) y seguimos un proceso de probabilidades crecientes y decrecientes. En lugar de considerar todos los escenarios posibles, seleccionamos aleatoriamente un escenario y aumentamos su probabilidad, mientras disminuimos la probabilidad de un escenario elegido al azar. Repetimos este proceso varias veces, ajustando gradualmente las probabilidades para que se ajusten al resultado deseado. Para cada punto de datos, seleccionamos un escenario que lo amplía y aumenta su probabilidad, mientras seleccionamos aleatoriamente otro escenario y disminuimos su probabilidad. Continuamos este proceso para todo el conjunto de datos, recorriéndolo varias veces. Las probabilidades resultantes se alinean bien con nuestros datos, haciendo coincidir las ocurrencias de diferentes escenarios.

Para modificar las probabilidades, ajustamos los pesos de la RBM. Nos enfocamos en vértices y aristas específicas que corresponden a los escenarios deseados. Al aumentar o disminuir los pesos, influimos en las probabilidades de estos escenarios. El muestreo plantea un desafío ya que queremos elegir escenarios en función de sus respectivas probabilidades. Introducimos el muestreo independiente, donde solo consideramos los vértices y aristas relevantes conectados a los escenarios deseados. Al calcular las probabilidades usando la función sigmoidea, podemos seleccionar aleatoriamente escenarios con probabilidades proporcionales a sus pesos. Para elegir un escenario que concuerde con un punto de datos dado, nos enfocamos en los participantes relevantes y sus conexiones, ignorando los irrelevantes. Calculamos las probabilidades basándonos en los pesos y usamos la función sigmoidea para convertirlas en probabilidades. Esto nos permite seleccionar aleatoriamente un escenario con probabilidades que reflejen sus pesos.

Para elegir un escenario completamente aleatorio, lo aproximamos tomando pasos aleatorios en la distribución, como si estuviéramos explorando diferentes posibilidades. Aunque puede que no sea una representación perfecta de un escenario completamente aleatorio, sirve como una aproximación cercana. Este proceso nos permite entrenar el RBM y ajustar las probabilidades para que coincidan con los resultados deseados, modelando de manera efectiva nuestros datos.

Las máquinas de Boltzmann restringidas se han aplicado con éxito a diversas tareas, como el filtrado colaborativo, la reducción de la dimensionalidad y el aprendizaje de funciones. También se utilizan como bloques de construcción para modelos de aprendizaje profundo más complejos, como las redes de creencias profundas.

Las máquinas de Boltzmann restringidas son potentes algoritmos que se utilizan en el aprendizaje automático. Implican una capa visible y una capa oculta conectadas por pesos. Al ajustar los pesos a través del entrenamiento, los RBM pueden aprender la distribución de probabilidad de los datos de entrenamiento y generar nuevas muestras de datos. Los RBM tienen aplicaciones en varios dominios y son un componente importante de los modelos de aprendizaje profundo.

 

Una introducción amigable al aprendizaje de refuerzo profundo, Q-networks y gradientes de políticas



Una introducción amigable al aprendizaje de refuerzo profundo, Q-networks y gradientes de políticas

Hola, soy Luis Serrano y esta es una introducción amigable al aprendizaje por refuerzo profundo y los gradientes de políticas. El aprendizaje por refuerzo tiene aplicaciones en automóviles autónomos, robótica y juegos complejos como Go, ajedrez y juegos de Atari. La principal diferencia entre el aprendizaje por refuerzo y el aprendizaje automático predictivo es que en el aprendizaje por refuerzo, tenemos un agente que interactúa con un entorno, recolectando recompensas y castigos para crear datos, mientras que el aprendizaje automático predictivo se basa en datos existentes para entrenar un modelo. En este video, cubriremos conceptos importantes como los procesos de decisión de Markov (MDP), la ecuación de Bellman y cómo las redes neuronales pueden ayudar a reforzar el aprendizaje con redes Q y gradientes de políticas.

Comencemos con un ejemplo de aprendizaje por refuerzo usando un MDP llamado Grid World. En Grid World, tenemos una cuadrícula que representa el universo y nuestro agente, representado como un círculo. La cuadrícula contiene cuadrados especiales, incluidos los que tienen dinero y un cuadrado con un dragón que da como resultado el fin del juego. El objetivo del agente es maximizar los puntos moviéndose por la cuadrícula, recogiendo recompensas o castigos. Podemos determinar la mejor estrategia para el agente utilizando la ecuación de Bellman, que calcula el valor de cada estado en función de los valores máximos de sus estados vecinos. Luego podemos derivar una política, que proporciona instrucciones al agente sobre el mejor camino a seguir para maximizar los puntos.

Para mejorar la eficiencia de la póliza, introducimos recompensas y un factor de descuento. Las recompensas representan los puntos ganados o perdidos al dar un paso, y el factor de descuento representa el valor de las recompensas futuras en comparación con las recompensas inmediatas. Al considerar las recompensas y el factor de descuento, podemos ajustar los valores de los estados y actualizar la ecuación de Bellman en consecuencia. Al iterar y actualizar los valores, podemos converger en los valores óptimos para cada estado y determinar la política que guía al agente a los puntos más altos.

Al comprender la ecuación de Bellman y usar recompensas y factores de descuento, podemos resolver los MDP y encontrar la mejor política para el aprendizaje por refuerzo. El lado izquierdo indica que el agente debe moverse hacia la derecha para encontrar el mejor valor. La política instruye al agente para que se mueva hacia la derecha con una probabilidad de 1 y hacia otras direcciones con una probabilidad de 0. Por el contrario, una política estocástica favorecería fuertemente el movimiento hacia la derecha pero aún así daría una oportunidad a otras direcciones en función de las recompensas obtenidas. . Por ejemplo, la política estocástica de la derecha prioriza el estado de la derecha porque tiene el valor más alto, mientras que el estado de la izquierda tiene la prioridad más baja debido a su puntuación baja. Sin embargo, las probabilidades siguen siendo distintas de cero, lo que permite al agente explorar el espacio aunque no siempre reciba la mejor recompensa.

Ahora, analicemos el papel de las redes neuronales en este proceso. En lugar de que el agente visite todos los estados repetidamente, lo cual es costoso, podemos usar una red neuronal para recopilar información de algunos estados. La red neuronal puede aprender que los estados con coordenadas similares deberían tener valores similares. Usamos una red de valor, donde la entrada son las coordenadas de un punto y la salida es la puntuación en ese punto. De manera similar, podemos usar una red de políticas para aproximar la política en cada estado. La red de políticas toma las coordenadas como entrada y genera cuatro números que representan las probabilidades de moverse hacia arriba, hacia la derecha, hacia abajo y hacia la izquierda. Para entrenar la red de valor, la obligamos a satisfacer la ecuación de Bellman, que relaciona el valor de un estado con sus estados vecinos. Usamos los valores de la red neuronal en los estados vecinos y ajustamos el valor en el medio para satisfacer la ecuación. Al actualizar repetidamente la red neuronal según la ecuación de Bellman, podemos aproximar los valores de todos los estados.

Para la red de políticas, la entrenamos tomando rutas basadas en la política actual y etiquetando cada acción con la ganancia correspondiente. Creamos un conjunto de datos con la ganancia, las coordenadas y las acciones, y lo alimentamos a la red de políticas. Luego alentamos o desanimamos a la red a tomar ciertas acciones en función de la ganancia. Al repetir este proceso con diferentes caminos, podemos mejorar la red de políticas con el tiempo. Usamos redes neuronales para aproximar los valores y la política de los estados. La red de valor nos ayuda a estimar el valor de cada estado, mientras que la red de políticas guía las acciones del agente. El entrenamiento implica actualizar repetidamente las redes según la ecuación de Bellman y el etiquetado basado en rutas.

Ahora que tenemos los valores para cada estado y la política correspondiente, podemos usarlos para tomar decisiones en el juego. La política nos dice la mejor acción a tomar de cada estado, según los valores que calculamos. Por ejemplo, si el agente se encuentra en un estado determinado y quiere saber qué acción tomar, simplemente mira la política y sigue la flecha que apunta al estado vecino con el valor más alto. Esto asegura que el agente tome el camino óptimo para maximizar sus recompensas. En el caso de nuestro juego Grid World, la política puede guiar al agente para evitar obstáculos y llegar a los estados terminales con las recompensas más altas lo más rápido posible. Al seguir la política, el agente puede navegar por el mundo de la cuadrícula y acumular puntos mientras evita recompensas negativas.

Los algoritmos de aprendizaje por refuerzo, como Q-learning o gradientes de políticas, se pueden usar para encontrar la política y los valores óptimos para entornos más complejos. Estos algoritmos aprovechan los conceptos de los procesos de decisión de Markov y la ecuación de Bellman para actualizar iterativamente los valores y mejorar la política con el tiempo. Las redes neuronales también se pueden emplear para manejar espacios de estado grandes y complejos. Las redes Q y los métodos de gradiente de políticas utilizan redes neuronales para aproximar los valores o la función de la política, lo que permite un aprendizaje más eficiente y eficaz en las tareas de aprendizaje por refuerzo.

Al combinar algoritmos de aprendizaje por refuerzo y redes neuronales, podemos abordar problemas desafiantes como automóviles autónomos, robótica y juegos complejos. Estas técnicas tienen una amplia gama de aplicaciones y continúan avanzando en el campo de la inteligencia artificial.

El aprendizaje por refuerzo implica entrenar a un agente para que tome decisiones en un entorno al interactuar con él y recolectar recompensas. El agente utiliza los valores y la política obtenidos de la ecuación de Bellman para navegar por el entorno y maximizar sus recompensas. Las redes neuronales se pueden emplear para manejar problemas más complejos en el aprendizaje por refuerzo.

 

Una introducción amigable al aprendizaje automático



Una introducción amigable al aprendizaje automático

Hola y bienvenido al mundo del aprendizaje automático. Hoy exploraremos de qué se trata el aprendizaje automático. En este mundo, tenemos humanos y computadoras, y una distinción clave entre ellos es cómo aprenden. Los humanos aprenden de experiencias pasadas, mientras que las computadoras necesitan ser programadas y seguir instrucciones. Sin embargo, ¿podemos enseñar a las computadoras a aprender de la experiencia también? La respuesta es sí, y ahí es donde entra en juego el aprendizaje automático. En el ámbito de las computadoras, las experiencias pasadas se denominan datos.

En los siguientes minutos, les presentaré algunos ejemplos que demuestran cómo podemos enseñar a las computadoras a aprender de datos previos. La parte emocionante es que estos algoritmos son bastante sencillos y el aprendizaje automático no es nada que temer. Profundicemos en nuestro primer ejemplo. Imagina que estamos estudiando el mercado inmobiliario y nuestra tarea es predecir el precio de una casa en función de su tamaño. Hemos recopilado datos sobre varias casas, incluidos sus tamaños y precios. Al trazar estos datos en un gráfico, con el eje x representando el tamaño de la casa en pies cuadrados y el eje y representando el precio en dólares, podemos visualizar la relación entre los dos. Notamos que los puntos de datos forman aproximadamente una línea.

Usando un método llamado regresión lineal, podemos dibujar una línea que mejor se ajuste a los puntos de datos. Esta línea representa nuestra mejor suposición para predecir el precio de una casa dado su tamaño. Al examinar el gráfico, podemos estimar el precio de una casa de tamaño mediano al identificar el punto correspondiente en la línea. La regresión lineal nos permite encontrar la línea que mejor se ajusta al minimizar los errores entre la línea y los puntos de datos. La regresión lineal es solo un ejemplo de un algoritmo de aprendizaje automático. Es relativamente simple y efectivo cuando los datos forman una relación lineal. Sin embargo, podemos emplear métodos similares para ajustar otros tipos de datos, como curvas, círculos o polinomios de mayor grado, según la naturaleza del problema.

Ahora, pasemos a otro ejemplo. Supongamos que queremos construir un sistema de detección de correo no deseado. Hemos recopilado datos sobre correos electrónicos anteriores, incluso si se marcaron como correo no deseado o no. Al analizar estos datos, podemos identificar características que probablemente indiquen si un correo electrónico es spam o no. Por ejemplo, podemos encontrar que los correos electrónicos que contienen la palabra "barato" a menudo se marcan como correo no deseado. Usando el algoritmo ingenuo de Bayes, podemos asociar probabilidades con estas características. En este caso, si un correo electrónico contiene la palabra "barato", encontramos que el 80% de dichos correos electrónicos están marcados como spam. Al combinar varias características y sus probabilidades asociadas, podemos crear un clasificador que prediga si un correo electrónico es spam o no en función de sus características.

Pasando a nuestro próximo ejemplo, digamos que estamos trabajando en App Store o Google Play, y nuestro objetivo es recomendar aplicaciones a los usuarios. Podemos recopilar datos sobre los usuarios, sus características y las aplicaciones que han descargado. Al analizar estos datos, podemos construir un árbol de decisiones que guíe nuestras recomendaciones. El árbol de decisiones consta de preguntas basadas en las características del usuario, que conducen a la recomendación de aplicaciones específicas. Por ejemplo, podemos preguntar si el usuario es menor de 20 años. Según la respuesta, podemos recomendar una aplicación específica. Si el usuario es mayor, podemos hacer una pregunta diferente, como su género, para refinar aún más nuestra recomendación. El árbol de decisiones nos ayuda a hacer recomendaciones de aplicaciones personalizadas en función de los atributos del usuario.

Por último, consideremos la oficina de admisiones de una universidad. Están tratando de determinar qué estudiantes admitir en función de dos datos: la puntuación del examen de ingreso y las calificaciones de los estudiantes. Al analizar los datos de estudiantes previamente admitidos y rechazados, podemos crear un modelo de regresión logística.

Usando la regresión logística, podemos dibujar una línea que separe los puntos de datos de los estudiantes aceptados y rechazados. Esta línea representa el límite de decisión para determinar si un estudiante será admitido o rechazado. El modelo de regresión logística calcula la probabilidad de admisión en función de la puntuación y las calificaciones del examen de ingreso. Una vez que se establece el límite de decisión, los nuevos estudiantes pueden ser evaluados trazando su puntaje y calificaciones en el examen de ingreso en un gráfico. Si el punto cae por encima del límite de decisión, el modelo predice la admisión; si cae por debajo, el modelo predice el rechazo. Estos son solo algunos ejemplos de algoritmos de aprendizaje automático y cómo se pueden aplicar a varios dominios. El aprendizaje automático permite que las computadoras aprendan de los datos y hagan predicciones o decisiones sin estar programadas explícitamente para cada escenario. Permite la automatización, el reconocimiento de patrones y la capacidad de manejar datos complejos y a gran escala.

Es importante tener en cuenta que el aprendizaje automático requiere datos de los que aprender. La calidad y la relevancia de los datos juegan un papel importante en la precisión y eficacia de los modelos. Además, los modelos de aprendizaje automático deben entrenarse en un conjunto de datos representativo y validarse para garantizar su generalización.

El aprendizaje automático es un campo en rápida evolución con numerosos algoritmos, técnicas y aplicaciones. Los investigadores y profesionales exploran continuamente nuevos métodos y amplían los límites de lo que es posible. A medida que avanza la tecnología y hay más datos disponibles, se espera que el aprendizaje automático tenga un impacto cada vez más significativo en varias industrias y aspectos de nuestras vidas.

 

Machine Learning: Testing and Error Metrics



Machine Learning: Testing and Error Metrics

Hi and welcome to this tutorial on machine learning testing and error metrics. My name is Luis Serrano, and I work at Udacity, where I teach machine learning. That's a picture of me. Today, we will focus on two questions: first, how well is my model doing? Once we figure that out, how do we improve it based on these metrics? Let's dive right in and look at some data. We have blue points and red points, and we want to train a model to separate them. Our simplest model is a linear model, which is a line that cuts the data into blue and red. It makes some mistakes but is generally good. Let's also consider a more complex model using a higher degree polynomial. This model does better at separating the points, but which model is better between the two?

To answer this question, we need to use testing. Instead of using all the points for training, we split them into training and testing sets. The training points are used to train the model, while the testing points are used to evaluate how well the model performs. In our example, the linear model makes one mistake on the testing set, while the polynomial model makes two mistakes. Therefore, the linear model performs better on the testing set because it generalizes better.

When it comes to testing, there are some important rules to follow. The first golden rule is to never use your testing data for training. Keep your testing data separate and only use it for evaluation. The second rule is to ensure that your friends also don't use their testing data for training. Finally, the third rule emphasizes never using your testing data for training. It's crucial to avoid any accidental misuse of the testing data.

Although it might seem like we are wasting data by separating it into training and testing sets, there is a way to address this concern. We can split the data into k equal sets, typically using a technique called k-fold cross-validation. Each portion of the data is used for both training and testing, and the results are averaged at the end. This approach allows us to make better use of the data while still evaluating the model's performance.

Now let's discuss the metrics that help us assess how well our models are doing. One common metric is accuracy, which measures how many instances the model classifies correctly compared to the total number of instances. However, accuracy alone may not always be the best metric, as shown in the examples of credit card fraud detection, medical diagnostics, and spam classification. In these cases, false negatives and false positives have different implications.

To evaluate the models more effectively, we use a confusion matrix. This matrix presents four possibilities: true positives, true negatives, false positives, and false negatives. Each of these represents different outcomes based on the model's predictions compared to the actual data. For example, in medical diagnostics, a false negative means a sick person is classified as healthy, which is worse than a false positive. Similarly, in spam classification, a false positive means a non-spam email is marked as spam, which is worse than a false negative.

By considering the specific context and consequences of false positives and false negatives, we can choose appropriate metrics for evaluating our models. Accuracy alone may not capture the whole picture, and other metrics like precision, recall, and F1 score can provide more insights into the model's performance.

Can we combine these two scores into one? One simple way to combine precision and recall scores is by taking their average. Let's calculate the average for the precision and recall scores provided. On the left, the precision is 69.5, and on the right, it is 66.95. Taking the average of these two scores, we get 68.225. However, this average may not provide sufficient information and may not be significantly different from accuracy. To understand the implications of this average score, let's consider an extreme example involving credit card fraud detection.

In the example, we have two models: one that classifies all transactions as good and another that classifies all transactions as fraudulent. Let's calculate the precision and recall for both models.

For the model that classifies all transactions as good, the precision is 100% (as all classified as bad are actually good), and the recall is 0% (as none of the fraudulent ones are caught). If we take the average of precision and recall, we would get 50%. However, giving such a high score to a model that performs poorly doesn't seem appropriate. Similarly, for the model that classifies all transactions as fraudulent, the precision is 0.16% (correctly classified 472 out of all transactions) and the recall is 100% (as all fraudulent transactions are caught). Again, the average between precision and recall would be around 50%, which doesn't reflect the poor performance of the model accurately.

To overcome this limitation, we can use another type of average called the harmonic mean, which is also known as the F1 score. The harmonic mean is calculated using the formula 2 * (precision * recall) / (precision + recall). The F1 score provides a more balanced representation, especially when one metric (precision or recall) is significantly different from the other.

For the medical model, the precision is 55.7, and the recall is 83.3. Calculating the F1 score using the harmonic mean formula, we get 66.76%. For the spam detection model, the precision is 76.9, and the recall is 37. The F1 score is 49.96%. And for the linear model, the precision is 75, and the recall is 85.7. The F1 score is 80%.

In the case of the credit card fraud models, if we prefer to catch all fraudulent transactions, we would prioritize recall. So, a good metric in this case would be closer to recall rather than precision.

Testing and error metrics are crucial for evaluating and improving machine learning models. Following the golden rules of testing, selecting appropriate metrics, and considering the consequences of false positives and false negatives help us make informed decisions about our models.

Combining precision and recall into a single score can be done using the F1 score, which takes the harmonic mean of the two metrics. This provides a more balanced evaluation and is especially useful when one metric is significantly different from the other.

 

¡Curva ROC (característica operativa del receptor) en 10 minutos!



¡Curva ROC (característica operativa del receptor) en 10 minutos!

¡Saludos! Soy Luis Serrano, y en este video, discutiremos la curva característica operativa del receptor (ROC). La curva ROC se usa ampliamente para evaluar modelos de aprendizaje automático y tomar decisiones importantes.

Comencemos con un conjunto de datos que contiene puntos azules y rojos, donde los puntos azules se etiquetan como positivos y los rojos como negativos. Construiremos un modelo de aprendizaje automático que se ajuste a este conjunto de datos. Por ejemplo, considere esta línea. Tenga en cuenta que el lado azul de la línea clasifica todos los puntos de ese lado como azules o positivos, mientras que el lado rojo clasifica los puntos de ese lado como rojos o negativos. Sin embargo, el modelo comete algunos errores. Un ejemplo es el punto rojo ubicado en el área azul, que es un falso positivo. Otro ejemplo es el punto azul debajo de la línea en el área roja, que es un falso negativo. Para comprender mejor los falsos positivos y los falsos negativos, consulte mi otro video sobre pruebas de aprendizaje automático y métricas de error.

Ahora, consideremos dos ejemplos diferentes para el mismo tipo de modelo. El modelo de la izquierda es un modelo médico, donde los puntos positivos representan pacientes enfermos y los puntos negativos representan a los sanos. Por otro lado, el modelo de la derecha es un modelo de detección de spam, donde los puntos positivos son mensajes de spam y los puntos negativos son mensajes que no son spam o "ham".

En el modelo médico, un falso positivo ocurre cuando una persona sana es diagnosticada como enferma, lo que genera pruebas innecesarias. Un falso negativo ocurre cuando a una persona enferma se le diagnostica como saludable, lo que resulta en que no recibe tratamiento. En este caso, los falsos negativos se consideran peores porque es mejor enviar a una persona sana a hacerse pruebas adicionales que enviar a una persona enferma a casa sin tratamiento. Por lo tanto, nuestro objetivo es modificar el modelo para reducir los falsos negativos.

En el modelo de detección de spam, los falsos positivos son buenos correos electrónicos "aficionados" clasificados como spam y enviados a la carpeta de spam. Los falsos negativos son correos electrónicos no deseados clasificados incorrectamente como "jamón" y enviados a la bandeja de entrada. Aquí, los falsos positivos se consideran peores porque se prefiere recibir correos electrónicos no deseados ocasionales en la bandeja de entrada en lugar de correos electrónicos importantes que se marcan como correo no deseado. Por lo tanto, nos enfocamos en reducir los falsos positivos en este modelo.

Estos dos modelos representan extremos, y la mayoría de los modelos se encuentran en algún punto intermedio, tolerando algunos falsos positivos o falsos negativos. Sin embargo, la importancia asignada a cada tipo de error puede variar. Así, para cada tipo de modelo, necesitamos determinar el punto óptimo para establecer el umbral de clasificación.

En este video, te mostraré un método útil para ayudarte a tomar tales decisiones. Consideraremos un conjunto de datos hipotético representado por esta línea. Nuestros modelos serán traducciones paralelas de esta línea. Para cada modelo, registraremos el número de puntos rojos y azules clasificados correctamente.

Empezamos con la línea de abajo, donde todos los puntos azules están correctamente clasificados y ninguno de los puntos rojos está correctamente clasificado. Esto nos da 0 puntos rojos correctos y 5 puntos azules correctos. Graficamos estos valores y movemos la línea para cubrir un punto a la vez, registrando las clasificaciones correctas. Este proceso continúa hasta el final. Al final, siempre tenemos 5 puntos azules correctos y 0 puntos rojos correctos. Graficamos estos puntos y calculamos el área bajo la curva. En este caso, el área es 21 de 25 cuadrados, lo que da como resultado un área bajo la curva de 0,84. El área oscila entre 0 y 1; los valores más altos indican un mejor rendimiento del modelo. Podemos usar esta curva ROC para tomar decisiones sobre nuestro modelo. Un buen modelo estaría representado por un punto en la curva con pocos falsos positivos y falsos negativos. Dependiendo de nuestros requisitos específicos, como minimizar los falsos negativos en el modelo médico o los falsos positivos en el modelo de detección de spam, podemos seleccionar los puntos correspondientes en la curva.

Alternativamente, podemos ver los puntos de datos con puntajes entre 0 y 1 asignados por el modelo. Al aplicar un umbral, podemos convertir estos puntajes en predicciones discretas. Ajustamos el umbral y observamos cómo se comporta el modelo en diferentes niveles. Este proceso crea la curva ROC. Elegir un punto en la curva nos ayuda a seleccionar un umbral apropiado para nuestras predicciones. Además, cabe señalar que un área bajo la curva inferior a 0,5 no indica un modelo peor. De hecho, todavía puede ser un buen modelo. Por ejemplo, un modelo con un área de 0 corresponde a un modelo que comete todos los errores, pero si cambiamos las predicciones, se vuelve casi tan bueno como un modelo que no comete errores. Por lo tanto, los modelos con áreas por debajo de 0,5 aún pueden ser efectivos.

¡Gracias por su atención! Si disfrutaste este video, suscríbete para más contenido. Siéntase libre de dar me gusta, compartir y comentar, especialmente si tiene sugerencias para futuros videos. También puede comunicarse conmigo en Twitter @LuisLikesMath. Consulte la Academia Luis Serrano para obtener más información sobre videos, libros y cursos. ¡Nos vemos en el próximo vídeo!

 

Regresión lineal: una introducción amigable



Regresión lineal: una introducción amigable

Hola, soy Louis Serrano y esta es una introducción amigable a la regresión lineal. Este video es la primera parte de una serie de tres partes donde cubriré la regresión lineal, la regresión logística y las máquinas de vectores de soporte. Sin embargo, centrémonos en la regresión lineal por ahora.

Por lo general, las explicaciones de la regresión lineal involucran conceptos complejos como álgebra lineal, matrices, derivadas, cálculo y funciones de error. Pero para mí, esto puede ser abrumador. Tengo una mente visual y prefiero entender la regresión lineal con un enfoque más intuitivo utilizando puntos y líneas.

Permítanme demostrar lo que quiero decir con eso. Primero, definamos la regresión lineal usando un ejemplo de precios de vivienda. Imagina que tenemos cinco casas con diferentes números de habitaciones. Somos dueños de la casa tres y queremos estimar su precio de venta. Para hacer esto, miramos los precios de casas similares y tratamos de hacer una conjetura. Después de observar que la casa uno cuesta $150 000, la casa dos cuesta $200 000, la casa cuatro cuesta $300 000 y la casa cinco cuesta $350 000, podemos estimar que la casa tres podría costar alrededor de $250 000.

Esencialmente, lo que hicimos aquí es realizar una regresión lineal. Trazamos las casas en un gráfico, con el número de cuartos en el eje horizontal y el precio en el eje vertical. Observamos que los precios parecían seguir una línea recta, por lo que colocamos la casa tres en la línea para hacer la mejor estimación. Este enfoque simple de ajustar una línea a través de un conjunto de puntos y usarlo para predicciones es la esencia de la regresión lineal.

En realidad, el cálculo de precios implica factores adicionales, lo que hace que los datos sean más complejos. Sin embargo, aún podemos ajustar una línea que se aproxime mucho a los precios de la vivienda. La regresión lineal se puede aplicar a varios escenarios, como calcular los precios de las acciones en finanzas o determinar la vida útil de los pacientes en medicina. Las aplicaciones son numerosas.

Ahora, analicemos cómo realizamos realmente la regresión lineal. Necesitamos un algoritmo o un procedimiento para encontrar la línea que mejor se ajuste a los puntos. Para simplificar, nos centraremos en un algoritmo básico que consiste en realizar pequeños ajustes en la línea hasta que encaje bien en los puntos.

He aquí un resumen del algoritmo:

  1. Comience con una línea aleatoria.
  2. Definir la tasa de aprendizaje, que determina el tamaño de los ajustes que hacemos.
  3. Repita los siguientes pasos un número específico de veces (épocas):
    • Seleccione un punto al azar.
    • Mueva la línea hacia el punto en función de su posición relativa a la línea.
  4. ¡Disfruta de tu línea ajustada!

Para mover la línea hacia un punto, realizamos rotaciones y traslaciones. Girar la línea en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj ajusta la pendiente, mientras que trasladar la línea hacia arriba o hacia abajo ajusta la intersección y. Los ajustes se realizan sumando o restando pequeñas cantidades, que están determinadas por la tasa de aprendizaje.

Al repetir este proceso varias veces, la línea se acerca gradualmente a los puntos, lo que resulta en un buen ajuste. El número de épocas determina cuántas veces repetimos el proceso, y se puede ajustar en función de la precisión deseada y los recursos computacionales disponibles.

Esa es la idea básica detrás de la regresión lineal. Es una poderosa herramienta para ajustar líneas a puntos de datos y hacer predicciones. Espero que esta explicación intuitiva te ayude a comprender mejor la regresión lineal.

Tenemos algo que está más cerca del punto principal, y hay cuatro casos que verificar para garantizar que el truco del cuadrado funcione de manera efectiva. Examinemos otro caso donde el punto está debajo de la línea ya la derecha del eje y. La ecuación se presenta de nuevo. En el paso uno, seleccionamos una pequeña tasa de aprendizaje de 0,01. En el paso dos, aplicamos esta tasa a la pendiente y al intercepto en y. Ahora, la distancia vertical es negativa porque el punto está debajo de la línea (-4), mientras que la distancia horizontal sigue siendo positiva porque el punto está a la derecha del eje y (+5). Para modificar la pendiente, sumamos 0,01 veces (-4) veces 5, lo que da como resultado -0,2. Al restar -0.2, disminuimos la pendiente, haciendo que la línea se mueva en el sentido de las manecillas del reloj. Para la intersección y, sumamos la tasa de aprendizaje por la distancia vertical, que es 0,01 veces (-4), lo que da como resultado -0,04. La nueva ecuación de línea se convierte en y = 1,8 - 0,2x + 2,96 - 0,04. Observe que la pendiente es más pequeña, lo que indica una rotación en el sentido de las agujas del reloj, y la intersección con el eje y es más pequeña, lo que indica una traslación hacia abajo. Este ajuste nos acerca al punto. Aunque solo hemos revisado dos de los cuatro casos, lo animo a probarlos todos para ver que el paso dos funciona de manera consistente. Finalmente, exploremos el algoritmo de regresión lineal. El algoritmo procede como sigue:

  1. Comience con una línea aleatoria.
  2. Establezca el número de repeticiones (épocas) en 8.000.
  3. Elija una longitud de paso pequeña (tasa de aprendizaje) de 0,01.
  4. Repita el siguiente ciclo para el número especificado de épocas:
    • Seleccione aleatoriamente un punto.
    • Ajuste la línea para moverse hacia el punto utilizando la tasa de aprendizaje, la distancia vertical y la distancia horizontal.
  5. Disfruta de tu línea ajustada. Este es el algoritmo de regresión lineal. Le animo a que lo codifique utilizando el pseudocódigo proporcionado y lo pruebe en diferentes conjuntos de datos para observar su rendimiento. Implementé este algoritmo y descubrí que funciona excepcionalmente bien.

Ahora, surge la pregunta: ¿Este algoritmo es mejor o igual a los existentes? Esta situación me recuerda a un matemático brillante llamado John Borwein, con quien trabajé una vez. Buscó fórmulas para calcular los dígitos de pi y descubrió que cuando una fórmula se aproximaba mucho a pi, era una situación en la que todos ganaban porque o bien descubrió una nueva fórmula o encontró algo muy parecido a pi. De manera similar, con este algoritmo, tenemos una situación de ganar-ganar. O bien supera a los algoritmos existentes o demuestra ser igual de efectivo y más simple.

Sorprendentemente, este algoritmo es exactamente igual al que se usa en la regresión lineal tradicional, como el descenso del gradiente de error cuadrático. El enfoque tradicional implica minimizar el error cuadrático calculando la distancia entre los puntos y la línea y luego usando derivadas, cálculo y descenso de gradiente o resolviendo sistemas lineales de ecuaciones. El desafío que les presento es verificar que el truco del cuadrado es equivalente al método tradicional del error al cuadrado calculando el error al cuadrado, tomando derivadas y realizando pequeños pasos opuestos a la dirección de la derivada, al igual que el descenso de gradiente. Descubrirás que la derivada de la diferencia al cuadrado está estrechamente relacionada con las distancias vertical y horizontal. Esto demuestra que el truco del cuadrado es equivalente al enfoque tradicional.

El segundo desafío se relaciona con medir la bondad o maldad de una línea. Anteriormente discutimos el error cuadrático, que implica elevar al cuadrado las distancias. Otro método más simple es el error absoluto, donde sumamos los valores absolutos de las distancias sin considerar sus signos. La línea mala tiene distancias naranjas más grandes, mientras que la línea buena tiene distancias naranjas más pequeñas debido a su mayor proximidad a los puntos. Con el cálculo, puede minimizar el error absoluto y realizar pasos de descenso de gradiente. Puede desarrollar un truco absoluto, que solo trata con la distancia horizontal e incluye una declaración if para manejar la posición de la línea en relación con el punto. Al explorar este desafío, descubrirás el truco absoluto. Siéntase libre de codificarlo y observar su efectividad.

Este video se centró en la regresión lineal. Recuerde que esto es parte de una serie de tres partes que incluye trucos para regresión logística y máquinas de vectores de soporte. Estén atentos a los próximos videos. Si disfrutaste este contenido, considera suscribirte, dar me gusta y compartir. Agradezco sus comentarios, preguntas y sugerencias. Déjame saber cómo te fue con los desafíos y siéntete libre de sugerir temas para futuros videos. También puede comunicarse conmigo en Twitter (@LouisLikesMath). Gracias, y nos vemos en el próximo video.

 

Regresión logística y el algoritmo de perceptrón: una introducción amigable



Regresión logística y el algoritmo de perceptrón: una introducción amigable

Hay un algoritmo mejor que puede manejar los tres casos simultáneamente. Ahora explicaré el truco del perceptrón, que se ocupa de estos casos juntos. Consideremos una línea con la misma ecuación y un punto azul que se encuentra en la línea roja. Necesitamos ajustar la posición de la línea para acomodar este punto. Para hacerlo, disminuiremos el valor de -6 en una pequeña cantidad, digamos 0.1, lo que moverá la línea hacia arriba. A continuación, ajustaremos la pendiente de la línea para rotarla. Por ejemplo, si queremos rotar la línea para que sea más inclinada, podemos reducir el valor de 2 a 1,8.

De manera similar, si el punto está más lejos en esa dirección, necesitamos rotar más la línea para acercarla. En este caso, podríamos reducir el valor de 2 a 1,4. Sin embargo, si el punto está del otro lado, debemos rotar la línea en la dirección opuesta. Entonces, es posible que necesitemos aumentar el valor de 2, digamos a 2.2. Repasemos este proceso de nuevo con más precisión. Cuando el punto no está lejos del eje y, disminuimos el valor de -6 en una pequeña cantidad, como 0,01, lo que mueve la línea ligeramente hacia arriba.

Ahora, consideremos el valor de 2. Si el punto tiene coordenadas (4, 5), la distancia horizontal es 4. Para ajustar la pendiente, podemos multiplicar 4 por una tasa de aprendizaje, digamos 0.04, para reducir el valor de 2 Esto rotará la línea alrededor de un pivote. De manera similar, podemos aplicar el mismo principio al valor de 3. Por ejemplo, si el punto tiene coordenadas (4, 5), la distancia vertical es 5. Al multiplicar 5 con una tasa de aprendizaje, como 0.05, podemos disminuir el valor de 3. Esto rotará aún más la línea. Finalmente, después de reducir 2 en 0,04, 3 en 0,05 y -6 en 0,01, la ecuación se convierte en 1,96x + 2,95y - 6,01. Esta técnica, conocida como el truco del perceptrón, aborda tanto la dirección como la magnitud de los ajustes. Para resumir, con una tasa de aprendizaje de 0.01, podemos actualizar la ecuación en la forma de ax + by + c = 0 reduciendo a por una tasa de aprendizaje multiplicada por b, reduciendo b por una tasa de aprendizaje multiplicada por q y reduciendo c por a tasa de aprendizaje.

Sin embargo, hay una consideración más: el caso donde el área azul está arriba y el área roja está abajo, con puntos mal clasificados. En este escenario, sumaríamos los valores en lugar de restarlos. Por ejemplo, si tenemos -2x - 3y + 6 = 0 en lugar de 2x + 3y - 6 = 0, agregaríamos pequeñas cantidades a a, b y c. Teniendo en cuenta la ubicación de los puntos en relación con el eje y, podemos determinar si aumentar o disminuir los valores. Ahora, pasemos al algoritmo de regresión logística, que es un enfoque aún mejor.

No profundizaré en los detalles, pero les proporcionaré un resumen y dos desafíos. El primer desafío se llama descenso de gradiente, que implica el uso de una función de error para medir el rendimiento del clasificador. El objetivo es minimizar el error y mejorar el algoritmo usando cálculo. El proceso de descenso de gradiente es similar al algoritmo de perceptrón que discutimos anteriormente.

El segundo desafío es elegir una función de activación apropiada para la regresión logística. La función de activación se encarga de transformar la suma ponderada de entradas en un valor de probabilidad entre 0 y 1.

Una función de activación comúnmente utilizada es la función sigmoidea, que tiene una curva en forma de S. Asigna cualquier número real a un valor entre 0 y 1. La función sigmoidea se define como:

σ(z) = 1 / (1 + e^(-z))

Aquí, z representa la suma ponderada de las entradas y se calcula como:

z = un x + segundo y + c

En la regresión logística, el objetivo es encontrar los valores óptimos para a, b y c que maximicen la probabilidad de los datos observados. Esto se logra minimizando una función de costo, a menudo denominada función de pérdida de entropía cruzada.

La función de costo mide la discrepancia entre las probabilidades previstas y las etiquetas de clase reales. Una forma común de la función de costo es:

J(a, b, c) = -1/m * Σ(y * log(σ(z)) + (1-y) * log(1-σ(z)))

En esta ecuación, m representa el número de ejemplos de entrenamiento, y es la etiqueta de clase verdadera (0 o 1) y σ(z) es la probabilidad predicha de la clase positiva.

Para minimizar la función de costo, se puede aplicar el descenso de gradiente. La idea detrás del descenso de gradiente es actualizar iterativamente los valores de los parámetros (a, b y c) en la dirección opuesta del gradiente de la función de costo con respecto a estos parámetros. Este proceso continúa hasta la convergencia, donde se minimiza la función de costo.

Las ecuaciones de actualización para el descenso del gradiente en la regresión logística son similares a las del algoritmo del perceptrón. Usando la tasa de aprendizaje (α), las actualizaciones de parámetros son las siguientes:

una := una - α * ∂J/∂ab := segundo - α * ∂J/∂bc := c - α * ∂J/∂c

Las derivadas parciales (∂J/∂a, ∂J/∂b, ∂J/∂c) representan los gradientes de la función de costo con respecto a cada parámetro. Se pueden calcular usando cálculo.

Al actualizar iterativamente los valores de los parámetros mediante el descenso de gradiente, la regresión logística puede aprender a clasificar los datos con más flexibilidad en comparación con el algoritmo del perceptrón. Es un algoritmo ampliamente utilizado y efectivo para problemas de clasificación binaria.

En conclusión, la regresión logística se basa en los principios del algoritmo perceptrón pero introduce un marco probabilístico y una función de costo diferente. Al aplicar el descenso de gradiente, optimiza los parámetros para maximizar la probabilidad de los datos observados. La elección de la función de activación sigmoidea permite que la regresión logística produzca estimaciones de probabilidad para la pertenencia a una clase.

Razón de la queja: