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

 

Cómo implementar Regresión Logística desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/03%20Logistic%20Regression



Cómo implementar Regresión Logística desde cero con Python

El video explica cómo implementar la regresión logística desde cero con Python, utilizando la función sigmoide para crear probabilidades y entropía cruzada como función de error. El instructor comparte instrucciones paso a paso para calcular predicciones, gradientes y actualizar sesgos a través de iteraciones. También demuestran cómo cargar un conjunto de datos de cáncer de mama y entrenar el clasificador de regresión logística para predecir si un tumor es maligno o benigno. El video concluye evaluando la precisión del modelo usando una función personalizada. En general, la implementación es exitosa y demuestra que el algoritmo de regresión logística funciona bien.

  • 00:00:00 En esta sección, el video analiza la regresión logística y cómo implica crear probabilidades en lugar de valores específicos usando la función sigmoidea. En lugar de usar el error cuadrático medio, la regresión logística usa entropía cruzada para su función de error. Para usar el descenso de gradiente, se debe calcular el gradiente de la función de error en términos de peso y sesgo. La tasa de aprendizaje se utiliza para determinar qué tan rápido acercarse a la dirección dada por el gradiente. Durante la prueba, se calcula la probabilidad y la etiqueta se elige en función de la probabilidad más alta. La implementación de la regresión logística es similar a la regresión lineal, pero con la inicialización de pesos y sesgos como cero.

  • 00:05:00 En esta sección del video, el instructor explica cómo implementar la regresión logística con Python usando una función sigmoidea para predecir los resultados. El proceso implica calcular las predicciones a partir del producto de los pesos y los valores de x más el sesgo, colocarlos en una función sigmoidea para obtener los resultados y calcular los gradientes. El instructor demuestra cómo calcular el gradiente para el sesgo y las actualizaciones a través de iteraciones. La sección también incluye cómo realizar inferencias con regresión logística al obtener la probabilidad y elegir la etiqueta en función de los valores de las predicciones.

  • 00:10:00 En esta sección, el instructor demuestra cómo implementar la regresión logística desde cero usando Python. Explican el proceso paso a paso, mostrando cómo calcular probabilidades y etiquetas de clase utilizando la función sigmoidea, y cómo ajustar la tasa de aprendizaje para obtener mejores resultados. El instructor también carga un conjunto de datos de cáncer de mama de Scikit-learn y entrena el clasificador de regresión logística para predecir si un tumor es maligno o benigno según las características del conjunto de datos. Por último, evalúan la precisión del algoritmo y demuestran cómo calcularlo mediante una función personalizada. En general, la implementación es exitosa y muestra que el algoritmo casero funciona bastante bien.
Machine-Learning-From-Scratch/03 Logistic Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/03 Logistic Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/03 Logistic Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar árboles de decisión desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/04%20Decision%20Trees



Cómo implementar árboles de decisión desde cero con Python

El video proporciona una guía paso a paso sobre cómo construir un árbol de decisiones desde cero usando Python. El orador explica el concepto de árboles de decisión, cómo funcionan y cómo se construyen. Analizan los criterios de detención, la función de crecimiento del árbol, las funciones auxiliares "etiqueta más común", "ganancia de información", "entropía" y "división", así como la función de predicción. El orador también demuestra cómo calcular la ganancia de información, la entropía ponderada y la precisión. Además, prueban el modelo de árbol de decisiones y proporcionan a los espectadores un enlace a su repositorio de GitHub donde está disponible el código.

  • 00:00:00 En esta sección, aprendemos sobre los árboles de decisión, cómo funcionan y cómo se construyen. Los árboles de decisión se crean para representar un conjunto de datos, y cada punto de datos se divide en nodos hoja que representan "sí" o "no". Los nodos entre los nodos hoja se denominan ramas y se dividen en función de características como las características que muestran si el punto de datos está ubicado en el vecindario este u oeste. La ganancia de información se calcula como la entropía del padre y el promedio ponderado de la entropía de los hijos, y el modelo de árbol de decisiones se entrena en función de las ganancias de información más significativas. Por último, analizamos los criterios de detención, que se utilizan para decidir cuándo detener la construcción del árbol de decisión.

  • 00:05:00 En esta sección, el orador analiza formas de detener un árbol de decisión antes de analizar todos los nodos de hoja posibles, incluido el establecimiento de una profundidad máxima o una cantidad mínima de muestras para un nodo. Luego, el orador presenta dos clases que se utilizarán para la implementación del árbol de decisión: una clase Node y una clase DecisionTree. La clase Nodo incluye información sobre la característica con la que se dividió el nodo y el valor del nodo. La clase DecisionTree incluye métodos para ajustar el árbol con valores x e y, predecir nuevos datos y establecer criterios de parada como el número mínimo de muestras y la profundidad máxima. En general, el orador adopta un enfoque paso a paso para delinear la implementación de un árbol de decisiones desde cero en Python.

  • 00:10:00 En esta sección, el orador analiza la implementación de la función de crecimiento del árbol, que es la función principal que construye el árbol de decisiones de forma recursiva. La función toma los valores de x e y, y verifica que la cantidad de características no exceda la cantidad de características reales. La función primero verifica los criterios de detención y luego procede a encontrar la mejor división, crea nodos secundarios y vuelve a llamar a la función de crecimiento del árbol. Si se cumplen los criterios de parada, la función crea un nuevo nodo de hoja y lo devuelve con el parámetro de valor. El orador también analiza una función auxiliar denominada "etiqueta más común", que utiliza la estructura de datos del contador y devuelve la etiqueta más común en el conjunto de datos.

  • 00:15:00 En esta sección, el video analiza cómo implementar árboles de decisión desde cero con Python. El instructor demuestra cómo crear una función de ayuda para encontrar el mejor umbral y función para crear una nueva división. Esta función usa numpy para seleccionar aleatoriamente un grupo de características para considerar la creación de una nueva división. Una vez que la función auxiliar encuentra el umbral entre todas las divisiones posibles, calcula la ganancia de información para determinar si es mejor que la mejor ganancia calculada hasta el momento. Finalmente, se devuelven el mejor índice de división y el umbral.

  • 00:20:00 En esta sección del video, el orador crea una función de ayuda llamada "ganancia de información" para calcular la ganancia de información y define otra función de ayuda llamada "entropía" para calcular la entropía del padre en función de los valores pasados en Explican que la entropía del padre se calcula como la suma de px por log 2 de px, y usan un truco numérico para contar las ocurrencias de cada valor y dividirlo por el número total de valores para obtener la p de x . A continuación, el orador crea otra función de ayuda llamada "dividir" para ayudar a encontrar qué índices van a la izquierda y cuáles a la derecha y demuestra cómo funciona numpy argwhere.

  • 00:25:00 En esta sección del video, el presentador explica cómo calcular la entropía ponderada de los hijos de un árbol de decisión usando Python. Después de obtener la longitud de los valores y y los índices izquierdo y derecho, se puede calcular la entropía de los niños utilizando la fórmula del promedio ponderado. Esto implica encontrar el número de muestras en cada nodo hijo dividido por el número total de muestras, multiplicarlo por la entropía de cada nodo y luego sumar los resultados para obtener la entropía de los hijos. Con esta información, la ganancia de información se puede calcular tomando la entropía principal menos la entropía secundaria, que luego se pasa de vuelta a todo el árbol de decisión.

  • 00:30:00 En esta sección del video, el presentador explica cómo implementar la función de predicción para el clasificador del árbol de decisión. La función auxiliar traverse_tree se utiliza aquí para recorrer recursivamente el árbol y devolver el valor del nodo hoja si se alcanza. Si el valor de la característica es menor o igual al umbral, se pasa el lado izquierdo del árbol para que se atraviese y, de lo contrario, se pasa el lado derecho del árbol para que se atraviese. Los valores se devuelven y luego se convierten en una matriz numpy antes de generarse. Luego, el clasificador del árbol de decisiones se prueba con el conjunto de datos de cáncer de mama y la función de predicción se usa para generar predicciones que se pasan a una métrica de precisión.

  • 00:35:00 En esta sección, el presentador está probando el modelo de árbol de decisión que construyeron desde cero usando Python. Primero calculan la precisión del modelo utilizando las predicciones y los datos de prueba. También encuentran dos errores en el código: uno en la inicialización del nodo y el otro en la función del árbol poligonal. Después de corregir los errores, vuelven a ejecutar los datos de prueba y obtienen una precisión de 0,91. Luego pasan al modelo diferentes argumentos y obtienen una precisión un poco mejor. Finalmente, el presentador invita a los espectadores a hacer preguntas y proporciona un enlace a su repositorio de GitHub donde está disponible el código.
Machine-Learning-From-Scratch/04 Decision Trees at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/04 Decision Trees at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/04 Decision Trees at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar Random Forest desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/05%20Random%20Forests



Cómo implementar Random Forest desde cero con Python

Este video tutorial enseña cómo implementar Random Forests desde cero con Python. Durante el entrenamiento, se selecciona un subconjunto aleatorio del conjunto de datos y se crea un árbol de decisión con este subconjunto. Este proceso se repite para el número de árboles determinados antes de comenzar el algoritmo. Durante la inferencia, la predicción se obtiene de cada árbol y, si es una clasificación, se toma el voto mayoritario de la etiqueta de clase. El orador demuestra cómo implementarlo mediante la creación de una lista que distribuye los árboles de decisión y la agrega a una matriz Numpy. La precisión se puede calcular utilizando el número de valores verdaderos pronosticados correctamente dividido por el número total de valores verdaderos. El orador también habla sobre la cantidad de árboles, la profundidad máxima y la división mínima de la muestra que se puede modificar para lograr una mayor precisión.

  • 00:00:00 En esta sección, aprendemos sobre bosques aleatorios, que consisten en muchos árboles de decisión diferentes. El proceso implica introducir algo de aleatoriedad en la ecuación al crear estos árboles. Durante el entrenamiento, se selecciona un subconjunto aleatorio del conjunto de datos y se crea un árbol de decisión con este subconjunto. Este proceso se repite para el número de árboles determinados antes de comenzar el algoritmo. Durante la inferencia, la predicción se obtiene de cada árbol y, si se trata de una clasificación, se toma el voto mayoritario de la etiqueta de clase. Si es una regresión, se calcula la media de todas las predicciones. La implementación utiliza la clase de árboles de decisión creada en la lección anterior y se inicializa especificando la cantidad de árboles, la profundidad máxima, las muestras mínimas para una división, la cantidad de características y una matriz vacía para contener todos los árboles. La clase tiene una función de ajuste y predicción, y lo que se necesita es pasar los parámetros requeridos como se mencionó anteriormente.

  • 00:05:00 En esta sección, el instructor explica cómo ajustar un árbol de decisión basado en un subconjunto de las muestras y agregarlo a la lista de árboles en un modelo de bosque aleatorio. Se crea una función auxiliar "bootstrap_samples" para elegir aleatoriamente un número específico de muestras con reemplazo del conjunto de datos dado. Luego, el instructor procede a explicar cómo predecir usando el bosque aleatorio para una entrada X, lo que implica iterar sobre todos los árboles en el bosque aleatorio y devolver una lista de predicciones, donde cada lista interna contiene predicciones para la misma muestra de diferentes árboles. Finalmente, el instructor presenta la función de "eje de intercambio" de numpy para reorganizar las listas y una función de ayuda "most_common" que usa la estructura de datos de contador de la biblioteca de colecciones para devolver la etiqueta de clasificación más común.

  • 00:10:00 En esta sección, el orador explica el proceso de implementación de un bosque aleatorio desde cero usando Python. Mencionan una función auxiliar que se usará para la predicción y crean una lista, distribuyen los árboles de decisión en ella y luego la agregan a una matriz NumPy que se devolverá para las predicciones. La precisión se calcula utilizando el número de valores verdaderos pronosticados correctamente dividido por el número total de valores verdaderos. El orador también menciona que la cantidad de árboles, la profundidad máxima y la división mínima de la muestra se pueden manipular para lograr una mayor precisión. El orador dirige a los espectadores al código en su repositorio de GitHub y agradece las preguntas en la sección de comentarios. Finalmente, el orador cede el turno a Patrick para la parte restante del tutorial.
Machine-Learning-From-Scratch/05 Random Forests at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/05 Random Forests at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/05 Random Forests at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar Naive Bayes desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/06%20NaiveBayes



Cómo implementar Naive Bayes desde cero con Python

Este video tutorial se enfoca en implementar Naive Bayes desde cero usando Python. El instructor proporciona una descripción general del teorema de Bayes y la suposición de independencia. Explican cómo calcular la probabilidad a priori y la probabilidad condicional de clase, necesarias para entrenar el algoritmo. El orador también presenta la distribución gaussiana como una forma de modelar las probabilidades. El video demuestra los pasos de entrenamiento y predicción para el algoritmo con código. El instructor prueba el algoritmo en un conjunto de datos de juguete con dos clases, logrando una precisión del 96,5 %. En general, este tutorial es un recurso útil para aquellos interesados en aprender Naive Bayes e implementarlo en Python.

  • 00:00:00 En esta sección, el orador discute la teoría detrás de Naive Bayes, un clasificador probabilístico que asume la independencia entre las características para predecir las etiquetas de clase. Explican el teorema de Bayes y la suposición de independencia, y cómo se utiliza para calcular la probabilidad posterior de cada clase. El orador continúa explicando cómo calcular la probabilidad previa y la probabilidad condicional de clase, las cuales son necesarias para entrenar el algoritmo. También introducen la distribución gaussiana como una forma de modelar probabilidades. Se resumen los pasos de entrenamiento y predicción, y se demuestra el código para implementar Naive Bayes. El orador brinda una definición para los métodos de ajuste y predicción, y describe los pasos necesarios para el entrenamiento y la predicción en cada uno.

  • 00:05:00 En esta sección del video, el instructor explica cómo implementar Naive Bayes desde cero usando Python. El código asume que x e y ya están en formato de matriz numpy y d. El instructor muestra cómo extraer x usando x.shape y cómo obtener el número de clases únicas usando numpy.unique(). El siguiente paso es calcular la media, la varianza y el anterior para cada clase. Esto se puede lograr inicializando estos valores con ceros y luego calculándolos usando funciones numéricas. Luego, el instructor explica cómo calcular la probabilidad posterior para cada clase usando una función de ayuda y una lista de comprensión. Finalmente, el instructor muestra cómo devolver la predicción como una matriz numpy.

  • 00:10:00 En esta sección, el disertante analiza la implementación del algoritmo Naive Bayes en Python. Pasan por los pasos de calcular anteriores, luego calculan posteriores utilizando una distribución gaussiana y crean una función de ayuda para la densidad de probabilidad, seguido de la predicción de la clase con el posterior más alto. Finalmente, prueban el algoritmo en un conjunto de datos de juguete de 1000 muestras y 10 características con dos clases, logrando una precisión del 96,5 %. El orador anima a seguir explorando el código y espera con ansias la siguiente lección.
Machine-Learning-From-Scratch/06 NaiveBayes at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/06 NaiveBayes at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/06 NaiveBayes at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar PCA (Análisis de componentes principales) desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/07%20PCA



Cómo implementar PCA (Análisis de componentes principales) desde cero con Python

El video explica el proceso de implementación del Análisis de Componentes Principales (PCA) desde cero usando Python y Numpy. PCA es una técnica que reduce la dimensionalidad de un conjunto de datos mientras conserva la mayor parte de la información. El instructor recorre los pasos para crear una clase de Python con métodos de ajuste y transformación para realizar PCA en un conjunto de datos. El método de ajuste primero calcula la media y la covarianza de los datos y extrae los vectores propios y los valores propios. El método de transformación luego proyecta los datos en los componentes principales. El orador destaca la importancia de restar medias y clasificar los vectores propios en el proceso. Finalmente, la implementación se prueba en el conjunto de datos de Iris, lo que resulta en una reducción exitosa de la dimensionalidad de cuatro a dos dimensiones.

  • 00:00:00 En esta sección, el instructor analiza el análisis de componentes principales (PCA), un método de aprendizaje no supervisado que reduce la dimensionalidad de un conjunto de datos al transformarlo en un conjunto de menor dimensión que aún contiene la mayor parte de la información del conjunto más grande. El instructor explica cómo PCA encuentra una transformación tal que las características transformadas son linealmente independientes, con la dimensionalidad reducida al tomar solo las dimensiones con la mayor importancia. Las dimensiones recién encontradas deben minimizar el error de proyección y los puntos proyectados deben tener la máxima dispersión, lo que significa la máxima variación. El instructor recorre los pasos para implementar PCA desde cero usando Python y Numpy. Estos pasos incluyen restar la media de x, calcular la covarianza de x y x, y ordenar los vectores propios según sus valores propios en orden decreciente.

  • 00:05:00 En esta sección, el ponente explica la implementación del análisis de componentes principales (PCA) usando Python. Esto implica crear una función 'init' que toma el número de componentes como entrada, un método de 'ajuste' que resta la media, calcula la covarianza, ordena los vectores propios y almacena los componentes principales. El método de 'transformación' luego aplica esta transformación a nuevos datos. El orador recorre cada paso del código, destacando la importancia de restar las medias y clasificar los vectores propios y, en última instancia, generar los componentes principales para la reducción de la dimensionalidad.

  • 00:10:00 En esta sección, el orador demuestra cómo implementar PCA (Análisis de componentes principales) desde cero en Python. Comienzan creando una clase con un método de ajuste y transformación. El método de ajuste primero calcula la media de los datos y la centra alrededor de la media. Luego, calcula las covarianzas de los datos y extrae los vectores y valores propios. El método de transformación luego proyecta los datos en los componentes principales con un producto escalar. Finalmente, el ponente prueba la implementación con el conjunto de datos Iris y reduce con éxito la dimensionalidad de los datos de cuatro a dos dimensiones.
Machine-Learning-From-Scratch/07 PCA at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/07 PCA at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/07 PCA at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar Perceptron desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/08%20Perceptron



Cómo implementar Perceptron desde cero con Python

El video tutorial explica la teoría detrás del algoritmo Perceptron, que puede aprender solo patrones linealmente separables para la clasificación binaria usando una función de activación, pesos y entrada. Luego, el presentador describe los pasos necesarios para implementar el modelo Perceptron desde cero en Python seleccionando la tasa de aprendizaje y el número de iteraciones para el algoritmo de optimización y definiendo la función de activación como la función de paso unitario. Después de inicializar los pesos y sesgos, el modelo aprende de los datos de entrenamiento actualizando los pesos y sesgos de acuerdo con la regla de actualización de Perceptron. Finalmente, el presentador evalúa la precisión del modelo mediante la predicción de las etiquetas de clase para los datos de prueba, y la precisión resulta ser del 100 %, lo que indica un aprendizaje exitoso del límite de decisión.

  • 00:00:00 En esta sección, el presentador explica la teoría básica detrás del algoritmo Perceptron y cómo es un algoritmo para el aprendizaje supervisado de clasificadores binarios. El Perceptron es un modelo simplificado de una neurona biológica y también se conoce como el prototipo de las redes neuronales. El algoritmo Perceptron puede aprender solo patrones linealmente separables y puede verse como una sola unidad de una red neuronal artificial. Luego, el presentador explica la representación matemática del Perceptrón, que incluye los pesos, la entrada y la función de activación, y las etiquetas de clase del clasificador binario. Luego, el video explica la regla de actualización de Perceptron, que permite que el algoritmo actualice los pesos y sesgos para empujarlos hacia la clase objetivo positiva o negativa en caso de una clasificación errónea.

  • 00:05:00 En esta sección, el orador describe los pasos para implementar un modelo de perceptrón desde cero en Python. Comienzan seleccionando la tasa de aprendizaje y el número de iteraciones para el algoritmo de optimización. A continuación, la función de activación se almacena como función escalón unitario. Los pesos y sesgos se inicializan a ninguno al principio y el código avanza para ajustar y predecir funciones. Para la función de ajuste, el número de muestras y el número de características se obtienen de los datos de entrenamiento y luego se inicializan los pesos y sesgos. Las etiquetas de clase se ajustan para que sean 1 o 0. A continuación, se realiza la optimización donde se calcula la salida lineal para cada entrada. Finalmente, la función de predicción se implementa donde el modelo lineal y la función de activación se utilizan para calcular la salida prevista para los datos de prueba.

  • 00:10:00 En esta sección, el presentador explica la implementación del perceptrón desde cero con Python. La regla de actualización para el perceptrón es delta w = alfa por y menos y sombrero por x y el sesgo delta es alfa por y menos y sombrero. Luego, el presentador usa esta regla para actualizar los pesos y el sesgo en función de las partes de actualización. Después de explicar el método de ajuste, el presentador pasa al método de predicción, donde se calcula la salida lineal y luego se pasa a través de la función de activación para obtener la predicción de y. Finalmente, el presentador prueba esta implementación utilizando una función de ayuda para la precisión y los conjuntos de datos crean blobs con 150 muestras y dos funciones, creando un perceptrón con tasa de aprendizaje y número de iteraciones, ajustándolo con datos de entrenamiento y prediciendo con datos de prueba. La precisión resulta ser del 100%, lo que indica un aprendizaje exitoso del límite de decisión.
 

Cómo implementar SVM (Support Vector Machine) desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/09%20SVM



Cómo implementar SVM (Support Vector Machine) desde cero con Python

Las máquinas de vectores de soporte (SVM) tienen como objetivo encontrar un límite de decisión lineal que maximice la separación entre clases, con el aprendizaje del peso durante el entrenamiento. La función de costo implica una pérdida de bisagra que determina qué tan lejos estamos del lado correcto del límite de decisión, con un término de regularización agregado a la compensación que minimiza la pérdida y maximiza la distancia. Se calculan los gradientes, se derivan las reglas de actualización y se inicializan los pesos, mientras que la función de predicción es el resultado de la función lineal. Se proporciona el código para implementar SVM desde cero en Python utilizando las bibliotecas NumPy y Scikit-learn, incluida la prueba de tren de importación y división, conjuntos de datos y el trazado del límite de decisión y los dos hiperplanos que confirman la implementación precisa.

  • 00:00:00 En esta sección, el video analiza las máquinas de vectores de soporte (SVM), cuyo objetivo es encontrar un límite de decisión lineal o hiperplano que proporcione la máxima separación entre clases. El hiperplano debe tener el mayor margen desde los puntos más cercanos o vectores de soporte, siendo el peso (w) lo que debe aprenderse durante el entrenamiento. Se define una función de pérdida, que implica una pérdida de bisagra que determina qué tan lejos estamos del lado correcto del límite de decisión. Se agrega un término de regularización a la función de costo para compensar entre minimizar la pérdida y maximizar la distancia a ambos lados, con un parámetro Lambda controlando la importancia de dichas partes en la función de costo.

  • 00:05:00 En esta sección, se analiza el proceso de búsqueda de pesos y sesgos para SVM. Se explica el cálculo de gradientes y las reglas de actualización se derivan del gradiente. También se demuestra la inicialización de pesos. Las etiquetas de clase se actualizan para tener valores de -1 o 1, y las reglas de actualización se aplican para el número especificado de iteraciones. La función de predicción es simplemente el resultado de la función lineal que obtenemos de los pesos aprendidos. Al comparar la salida con cero, podemos decidir la clase de la muestra de prueba dada. El código para SVM está escrito en Python utilizando las bibliotecas NumPy y Scikit-learn.

  • 00:10:00 En esta sección, el presentador explica cómo escribir un código Python para implementar SVM desde cero. El método consta de dos partes, los métodos de ajuste y predicción. El método de ajuste es nuestro entrenamiento, que calcula los pesos a partir de los datos dados, mientras que el método de predicción usa los pesos para predecir el resultado aproximando los datos dados. El presentador explica además las actualizaciones de código según diferentes gradientes, que dependen de la condición. La condición y por W por x menos B debe ser mayor o igual que uno, lo cual usamos con el punto numérico para verificar. El código sigue con la prueba de tren de importación, la división y los conjuntos de datos de sklearn y matplotlib, y crea un conjunto de datos de ejemplo con dos blobs de conjuntos de datos con dos características, luego asegura que las clases sean -1 y más uno, divididas en conjuntos de entrenamiento y prueba, y ejecute svm para predecir la precisión. El presentador también describe el código para trazar el límite de decisión y los dos hiperplanos en más uno y menos uno, lo que confirma una implementación precisa.
Machine-Learning-From-Scratch/09 SVM at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/09 SVM at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/09 SVM at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Cómo implementar K-Means desde cero con Python

Código: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/10%20KMeans



Cómo implementar K-Means desde cero con Python

Este video muestra cómo implementar el algoritmo de agrupación en clústeres K-Means desde cero con Python. K-Means es un algoritmo de aprendizaje no supervisado para agrupar datos no etiquetados en k grupos diferentes al actualizar los medios o centroides de forma iterativa hasta que no haya más cambios. El video cubre la inicialización de clústeres vacíos y la configuración de parámetros para la cantidad de clústeres e iteraciones, la actualización de etiquetas y centroides de clústeres y la detención del ciclo de optimización una vez que no hay cambios. El orador también explica la importancia de medir la distancia euclidiana para calcular los centroides más cercanos y proporciona una función de trazado preescrita de Matplotlib para visualizar el proceso de agrupación.

  • 00:00:00 En esta sección, el orador explica el método de aprendizaje no supervisado de k-medias, que consiste en agrupar un conjunto de datos en k agrupaciones diferentes y actualizar las medias o centroides durante un proceso de optimización iterativo hasta que no haya más cambios. Se repite el proceso de actualización de las etiquetas y los centros de los conglomerados, y se utiliza la fórmula de los centroides más cercanos para calcular la distancia euclidiana entre dos vectores de características. Luego, el orador demuestra un ejemplo de cómo encontrar tres grupos en datos sin etiquetar y muestra cómo implementar k-means desde cero en Python, incluida la inicialización de grupos vacíos y la configuración de parámetros para la cantidad de grupos e iteraciones. El video concluye con un resumen del algoritmo k-means y su implementación en Python.

  • 00:05:00 En esta sección, el orador analiza la implementación de K-Means desde cero usando Python. Comienzan inicializando las variables necesarias, como listas vacías para cada grupo y centroide, y luego definiendo una función de predicción en lugar de un método de ajuste. Explican que K-Means es una técnica de aprendizaje no supervisada para datos no etiquetados. El bucle de optimización implica la asignación de muestras a los centroides antes de calcular los nuevos centroides de los grupos. El orador señala que las funciones auxiliares son necesarias para crear y obtener centroides y conglomerados. Terminan mencionando que es posible detener el ciclo antes de las iteraciones máximas si no hay más cambios.

  • 00:10:00 En esta sección, el orador explica la implementación de funciones auxiliares para actualizar las etiquetas de los conglomerados y asignar muestras a los centroides más cercanos. La función para actualizar las etiquetas de conglomerados itera a través de cada conglomerado y asigna el índice de conglomerado a la etiqueta de cada índice de muestra. El orador también muestra la inicialización de listas vacías para cada grupo para asignar los índices y luego iterar a través de cada muestra para asignarla al centroide más cercano. Finalmente, el discurso describe los pasos para trazar los centroides y los grupos y verifica si el código necesita proporcionar los pasos para trazar.

  • 00:15:00 En esta sección, el orador explica cómo implementar el algoritmo de agrupamiento K-Means desde cero con Python. El algoritmo toma un conjunto de datos y un número específico de grupos como entrada y luego asigna cada punto a su centroide más cercano. El orador presenta funciones auxiliares para encontrar el centroide más cercano y calcular la distancia euclidiana entre dos puntos. Se utiliza otra función auxiliar para calcular la media de cada grupo, que luego se asigna al centroide. Finalmente, el algoritmo verifica si la distancia entre los centroides antiguo y nuevo para cada grupo es cero para determinar si el algoritmo ha convergido.

  • 00:20:00 En esta sección, el orador explica cómo implementar el agrupamiento de K-Means desde cero usando Python y numpy. Discuten la importancia de medir la distancia euclidiana y cómo calcular los nuevos centroides y etiquetas de conglomerados. También proporcionan una función de trazado preescrita que utiliza la biblioteca matplotlib para visualizar el proceso de agrupación en clústeres paso a paso. Finalmente, demuestran la implementación en un conjunto de datos de muestra utilizando la función make_blobs de sklearn para crear tres grupos, mostrando cómo el algoritmo K-Means agrupa correctamente los puntos de datos en grupos separados. El orador alienta a los espectadores a consultar el código completo en Github y ver el resto del curso para obtener explicaciones más detalladas de los conceptos de aprendizaje automático.
Machine-Learning-From-Scratch/10 KMeans at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/10 KMeans at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/10 KMeans at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Introducción a la API de OpenAI ChatGPT (GPT-3.5) en Python | Tutorial para principiantes



Introducción a la API de OpenAI ChatGPT (GPT-3.5) en Python | Tutorial para principiantes

El video tutorial explica cómo usar la API de OpenAI ChatGPT (GPT-3.5) en Python para principiantes. El presentador presenta el modelo GPT 3.5 Turbo como una alternativa más económica a DaVinci, que es un modelo de composición que puede generar tanto lenguaje natural como código y no tiene token ni límite total. Luego, el tutorial demuestra cómo registrarse para obtener una cuenta de OpenAI, obtener una clave API y usar la función chat_gpt-completion para mantener un registro de conversación con las entradas del usuario y del sistema. El video también cubre cómo recuperar respuestas, agregar preguntas de seguimiento y modificar el código para mantener la conversación sin interrupciones.

  • 00:00:00 En esta sección del video, el orador presenta el modelo GPT 3.5 Turbo de OpenAI, que es una alternativa más económica al modelo DaVinci. El modelo GPT 3.5 Turbo es un modelo de composición que puede comprender y generar tanto lenguaje natural como código, y cuesta 0,002 centavos por cada mil tokens. A diferencia de los modelos GPT 3.0, no hay límite de fichas para el modelo GPT 3.5 Turbo y no tiene un límite total. Luego, el video continúa demostrando cómo comenzar a usar la API GPT de OpenAI en Python, incluido cómo registrarse para obtener una cuenta de OpenAI y obtener una clave de API.

  • 00:05:00 En esta sección, el creador del tutorial analiza cómo usar la API de OpenAI ChatGPT (GPT-3.5) en Python. Esta API funciona de manera diferente a los modelos regulares de GPT 3.0 porque es más conversacional. La API usa una función llamada chat_gpt-completion que hace referencia a la biblioteca de OpenAI y al modelo de finalización de chat. El registro de conversación se pasa a esta función para seguir agregando registros de conversación. Los roles de usuario y sistema se utilizan para determinar si la entrada proviene de un usuario o del propio sistema. Se imprime la opción de respuesta y la parte más importante de la respuesta es la tecla Elección.

  • 00:10:00 En esta sección, el tutorial explica cómo usar la API de OpenAI ChatGPT (GPT-3.5) en Python. El tutorial explica que, a diferencia de los modelos GPT 3.0 normales, el modelo ChatGPT solo puede devolver un mensaje o una respuesta a la vez. Luego, el tutorial continúa para demostrar cómo recuperar la fila y el contenido de una respuesta, cómo redactar una conversación con la API de ChatGPT y cómo recuperar y mostrar el historial de redacción. El tutorial también cubre cómo agregar preguntas de seguimiento a la composición y recuperar información adicional de la API en función de la pregunta de seguimiento.

  • 00:15:00 En esta sección, el orador analiza una modificación del código que se puede realizar para mantener la composición de ChatGPT funcionando sin parar. Las modificaciones implican iniciar una sesión con la fila del sistema, participar en la composición configurando el contenido en "cómo puedo ayudarlo" e insertar un ciclo while para mantener la conversación en curso. El usuario ingresa preguntas o indicaciones en la declaración de entrada, lo que guarda la cadena en la variable del problema. La clave de contenido se configura como el mensaje y el usuario ejecuta la función de compensación de ChatGPT para enviar solicitudes y agregar el mensaje a la lista de composición. Luego, la conversación puede continuar con preguntas de seguimiento, y todas las conversaciones se guardan en una lista a la que la API de ChatGPT puede hacer referencia.
 

Introducción a la API OpenAI GPT-4 (API oficial de ChatGPT) en Python



Introducción a la API OpenAI GPT-4 (API oficial de ChatGPT) en Python

El video cubre cómo usar la API OpenAI GPT-4 en Python usando la API oficial de ChatGPT. Después de generar una clave API e instalar el paquete python de OpenAI, el usuario puede usar el modelo GPT-4 creando una función y llamando al extremo de OpenAI con el ID del modelo y los registros de conversación. El orador demuestra cómo agregar registros de conversación al argumento del registro de composición, crear una herramienta de línea de comando y usar la API de ChatGPT para generar respuestas. Se alienta a los espectadores a probar la API y suscribirse al canal para videos futuros.

  • 00:00:00 En esta sección, el video explica cómo usar la API oficial de ChatGPT en Python. La API se basa en el modelo GPT-4 y hay cuatro versiones diferentes disponibles. El modelo GPT-4 regular puede aceptar hasta 8192 tokens, mientras que el modelo GPT-4 32k puede aceptar hasta 32768 tokens. Para usar la API, primero debe generar una clave de API registrándose para obtener una cuenta en plataforma.openai.com. Luego, debe instalar el paquete python OpenAI y adjuntar la clave API al módulo OpenAI. Finalmente, puede usar el modelo GPT-4 en Python creando una función y haciendo una llamada API al punto final de OpenAI, pasando la ID del modelo y una lista de registros de conversación al método.

  • 00:05:00 En esta sección, el orador demuestra cómo usar la API OpenAI GPT-4 en Python. Comienzan creando una lista de conversaciones y explican cómo la API puede acceder a la lista para proporcionar respuestas. Para enviar una solicitud a la API, el usuario debe proporcionar una ID de fila para identificar si la conversación pertenece a la IA o al usuario, y el contenido de la conversación. El orador comparte un bloque de código de ejemplo que agrega una conversación a la lista y muestra cómo llamar a la API usando la función de conversación de chat GPT. También explican el formato de respuesta, incluida la marca de tiempo y el costo de la llamada API, así como también cómo acceder a la respuesta GPT-4 dentro de la clave de opciones.

  • 00:10:00 En esta sección, el orador explica cómo agregar un registro de conversación al argumento del registro de composición usando Python en una API OpenAI GPT-4. Se refieren al bloqueo de composición que contiene los registros más recientes y agregan el registro de respuesta de la clave de opciones al argumento del registro de composición. Luego, la salida se prueba ejecutando el bloque de código e imprimiendo la lista de composición. El orador también demuestra cómo crear una herramienta de línea de comandos para permitir que los usuarios proporcionen entradas, que luego se pueden agregar al registro de composición según el propósito del usuario. En general, esta sección proporciona una guía útil para los desarrolladores que buscan usar la API OpenAI GPT-4 en Python.

  • 00:15:00 En esta sección, el presentador muestra cómo usar la API de ChatGPT para generar respuestas usando Python. Codifica una función para tomar la entrada del usuario y enviarla a la API, luego imprime la respuesta. Lo demuestra pidiéndole a la API que le cuente un chiste y muestra el resultado, que incluye tanto la entrada del usuario como la respuesta de la API. El presentador concluye alentando a los espectadores a probar la API de ChatGPT y a que les guste y se suscriban a su canal.
Razón de la queja: