Hace un tiempo me propuse aprender algo sobre Machine Learning y implementar alguno de sus modelos sobre los conjuntos de datos que manejo en el ámbito laboral, y porqué no? también en el personal. Por ello he empezado varios cursos online y lecturas sobre el tema. De estos he ido sacando algunas notas en bloc de Logseq y he decidido que sería interesante compartirlo con vosotros. Ahí va mi chorro de texto sin imagenes. Que decir que sirve como esquema y se ha de acudir a lecturas más profundas para indagar sobre cada uno de los puntos.

      Fundamentos #ML

        Big Data:

          Análisis de gran cantidad de datos.

        Inteligencia Artificial #IA

          Aprende de los Inputs generados por los humanos que la crean para así, ser capaz de resolver casos basándose en el aprendizaje que se le ha programado anteriormente.

        Machine Learning #ML

          Es un tipo de #IA avanzada. No solo ejecuta modelos que le explicamos si no que es capaz de ir más alla y generar un aprendizaje propio.

        Un ejemplo práctico para entender la diferencia entre estas tres sería el análisis de opiniones en redes sociales. Los datos recogidos, es decir, todos los comentarios publicados en diferentes plataformas, formarían lo que llamamos el big data. Una vez recogidos, la inteligencia artificial se encargaría de clasificarlos según nuestros parámetros. Por ejemplo, todos aquellos mensajes en los que aparece la palabra 'mal' o 'malo' se clasificarían como negativos. El uso de machine learning haría que la máquina interpretara también que los mensajes en los que aparecen la palabra 'maldad' o 'maldades' sean elementos negativos. Al entender que si los términos 'mal' y 'malo' lo son, sus variaciones también deberían serlo.

        Variable dependiente es el resultado a buscar.

          Ejemplo: Algoritmo predice tiempo de viaje en funcion del día y el clima. El dia de la semana y la climatología son los inputs o variables independientes. El resultado, tiempo de viaje, es la variable dependiente

      Tipos #ML

        Supervisado

          Datos etiquetados

          Capaz de clasificar los datos

          Tipos:

            Binario ¿si o no?

              Árboles de decisión

                Se establecen predictores y se conecta con resultado

                Se puede crear árbol gráfico.

                Cada vez que se descompone el árbol hay que buscar un camino claro de Si o No.

            Multiclase (categorías predifinidas)

              K-NN (vecino más cercano)

                Clasificar datos

                Compara algo que desconoces con algo que ya tienes.

                Aprendizaje vago. Obtienes las repuestas de una vez.

                Desventaja:

                  Requiere mucha potencia computacional

                  A veces es complicado de usar con conjuntos de datos muy grandes.

                  Parámetro K es el conjunto de vecinos con el que se va a comparar.

              Algoritmo Bayesiano

                Basado en teoria Naive Bayes (Naive = ingenuo)

                Algoritmo para clasificación. Se basa en la probabilidad condicional

                Parte de que los predictores son independientes unos de otros

                Clasificación Binaria o Multiclase.

                Multiplicador Ponderado

                  Da un peso a cada predictor

              Máquinas de Vectores de Soporte (SVM):

                Encuentra un hiperplano que mejor separa las clases en un espacio multidimensional.

                Ejemplo de uso: Clasificación de tumores como benignos o malignos según características médicas

              Los bosques aleatorios (o random forests)

                Aquí están algunas características clave de los bosques aleatorios:

                  Construcción del Bosque:

                    Se crea un conjunto de árboles no correlacionados.

                    Cada árbol se entrena en un subconjunto aleatorio de datos de entrenamiento (bootstrap).

                    La variabilidad entre los árboles ayuda a reducir el sobreajuste.

                  Selección Aleatoria de Atributos:

                    En cada nodo de un árbol, se eligen aleatoriamente un subconjunto de atributos para tomar decisiones.

                    Esto evita que un solo atributo dominante influya demasiado en la predicción.

                  Predicción:

                    Para predecir una nueva instancia, se empuja hacia abajo por todos los árboles en el bosque.

                    La etiqueta más frecuente entre los nodos terminales se informa como la predicción final.

                  Ventajas de los Bosques Aleatorios:

                    Precisión: Son uno de los algoritmos de aprendizaje más precisos disponibles.

                    Eficiencia: Funcionan bien en bases de datos grandes.

                    Manejo de Variables: Pueden manejar cientos de variables de entrada sin excluir ninguna

            Regresión (resultados continuos)

              El análisis de regresión observa la relación entre los predictores (también llamados variables de entrada, variables independientes o regresores) y el resultado obtenido

              Para buscar tendencias

              Regresión lineal

                Traza una línea recta entre los predictores y el resultado.

                No es un modelo de aprendizaje automático como tal, es más un modelo estadistico.

                Clave encontrar predictores correctos con relación lineal del resultado

              Regresión Logística:

                La regresión logística se utiliza para predecir respuestas binarias (por ejemplo, sí/no, éxito/fracaso) basadas en variables predictoras.

                Ejemplo de Uso:

                Predicción de Riesgo de Enfermedad: En medicina, se puede aplicar la regresión logística para predecir si un paciente tiene un alto riesgo de desarrollar una enfermedad en función de características como la edad, la presión arterial, etc.

              Regresión Polinómica:

                La regresión polinómica añade flexibilidad al modelo lineal al introducir nuevos predictores obtenidos al elevar a distintas potencias el predictor original.

                Ejemplo de Uso:

                Predicción de Ingresos por Publicidad: En marketing, se puede aplicar la regresión polinómica para entender cómo el gasto en publicidad se relaciona con los ingresos. El modelo incluiría términos como x, x², x³, etc..

              Regresión de Vectores de Soporte (SVR):

                SVR es una variante de la regresión lineal que utiliza vectores de soporte para encontrar una función que se ajuste a los datos.

                Ejemplo de Uso:

                Predicción de Precios de Bienes Raíces: SVR se puede aplicar para predecir los precios de las propiedades inmobiliarias en función de características como ubicación, tamaño y antigüedad.

              Regresión de Lazo (Lasso):

                Lasso es una técnica de regresión que agrega una penalización a los coeficientes de las variables predictoras.

                Ejemplo de Uso:

                Selección de Características: Lasso se utiliza para seleccionar características relevantes en un conjunto de datos, eliminando aquellas con coeficientes cercanos a cero.

          Sin supervisar

            Necesidad de cantidad masiva de datos para un buen entrenamiento.

            Capaz de agrupar los datos

            Algoritmo K-Media (K-means)

              No es lo mismo que el KNN

              Aprendizaje vago. Obtienes las repuestas de una vez.

              Se utiliza para crear clústeres a partir de lo que se detecta en los datos

              Parámetro K es el numero de clústeres/grupos a crear

              Si hay mucho movimientos de miembros entre grupos se dice que hay un solapamiento de datos elevado (no se crean grupos reales, más difuso)

              Muy sensible a los datos atípicos. Si un dato no pertenece a un grupo le asignará uno

              Por ejemplo, en marketing, se podría aplicar para segmentar clientes en función de su comportamiento de compra.

            Análisis de Componentes Principales (PCA)

              Reduce la dimensionalidad de los datos al transformar variables correlacionadas en nuevas variables no correlacionadas (componentes principales).

              Se utiliza en campos como la visión por computadora y la bioinformática para reducir la complejidad de los datos.

            Algoritmo Apriori:

              Se emplea en minería de datos para descubrir patrones de asociación en conjuntos de transacciones.

              Por ejemplo, en un supermercado, se podría usar para identificar combinaciones frecuentes de productos comprados juntos.

            Algoritmo de Clustering Espectral:

              Agrupa datos en función de similitudes en su estructura.

              Se aplica en análisis de redes sociales, detección de anomalías y procesamiento de imágenes.

            Algoritmo de Detección de Anomalías:

              Identifica observaciones inusuales o atípicas en un conjunto de datos.

              Por ejemplo, en ciberseguridad, se utiliza para detectar actividades sospechosas o ataques maliciosos.

            Algoritmo de Reducción de Dimensionalidad t-SNE:

              Visualiza datos de alta dimensionalidad en un espacio de menor dimensión.

              Se usa en visualización de datos y exploración de patrones en datos complejos.

            Algoritmo DBSCAN:

              Detecta grupos densos de puntos en datos espaciales.

              Es útil para encontrar áreas de alta densidad en mapas de calor o para identificar regiones de interés en imágenes médicas.

          Semisupervisado

            Mezcla de supervisado y no supervisado

          Por refuerzo

            Se crea modelo y la máquina va iterando para optimizar el modelo.

            Q-learning

              Estados = entornos definidos

              Acciones = respuestas

              Calidad = Q. Valor empieza en cero y va subiendo conforme los refuerzos van mejorando el modelo

              Ejemplo la máquina de AlphaGo-Zero.

      Datos

        Sesgo es la distancia entre el valor predicho y el resultado real

        Varianza valores predichos dispersos

        Sesgo alto / varianza baja = predicciones contantemente erróneas

        Sesgo alto / varianza alta = predicción errónea de forma inconstante.

        Ejemplo: Tiro con arco en un campamento

          Instructor 5 tiros casi en la diana. Sesgo bajo / Varianza baja

          Persona nueva con "don" que da todas en el objetivo pero no agrupadas en la diana. Sesgo bajo y varianza alta

          Otra persona. 5 tiros muy agrupados pero lejos del centro. Sesgo alto y varianza baja

          Otra persona muy mala da dos flechas en el mismo sitio de la diana y otras fuera. Sesgo alto y varianza alta

        Sesgo y varianza son formas de medir la diferencia entre la predicción y el resultado.

        Conjunto de entrenamiento: Subconjunto de todos los datos que se usan para afinar los algoritmos.

          Conjunto de datos pequeños. Modelo simple pero inflexible cuando se trata de muchos datos. Se llama subajuste o underfitting.

          Modelo de datos muy flexible pero muy complejo y difícil de entender. Se llama sobreajuste u overfitting.

        Señal ayuda a hacer predicciones precisas

        Ruido son variaciones naturales en los datos, que no aportan nada a la compresión.

      Escoger el mejor algoritmo #ML

        Si los datos están etiquetado -> Aprendizaje supervisado

        Múltiples datos etiquetados

          Árboles decision

          K-NN

        Datos sin etiquetar -> Aprendizaje no supervisado

          Una vez creado los grupos se puede intentar dar un significado.

          Múltiples datos no etiquetados

          Clústeres K-medias

        Se puede hacer pruebas de varios algorimos. Analizar los resultados en busca del mayor nivel de precisión.

      Modelado de Conjunto

        Bagging

          Crea varias versiones del mismo algoritmo de aprendizaje automático.

          Ejemplo: Árboles de decisión.

          Se crean diferentes árboles de decision con diferentes nodos raíz. A raíz de esto se puede escoger el mejor o hacer un promedio entre ellos si el resultado no es claramente superior uno que el otro.

        Boosting

          Utiliza varios algorimos de aprendizaje para aumentar la precisión de los resultados.

          Ejemplo: Clusterización por K-medias combinado con árbol de decisión. (Ejemplo de semisupervisado)

          La máquina analiza las hojas del árbol y decide si existe algún agrupamiento interesante.

        Stacking

          Utiliza varios algoritmos de aprendizaje automático y los acumula para mejorar la precisión

          FWLS: Stacking lineal de características ponderadas.

          Creación de varios modelos que se apilan uno encima del otro

      Desafíos para #ML

        Preguntas interesantes

          Empezar con pequeñas preguntas concretas para intentar juntar y añadir valor

        Datos de entrenamiento separados de los datos de prueba

          No mostrar presentaciones con los datos de entrenamiento. Usar datos desconocidos para evaluar que tu modelo se comporta correctamente y evitar sobreestimar la precisión del modelo.

        Inversión de tiempo en el tipo de algoritmo.

          Muchas veces es mejor usar una herramienta que comprendes que estar invirtiendo tiempo en una que mejora un poquito los resultados.

Powered by Seed Hypermedia