Mostrando entradas con la etiqueta Support vector machine. Mostrar todas las entradas
Mostrando entradas con la etiqueta Support vector machine. Mostrar todas las entradas

lunes, 2 de abril de 2018

10 algoritmos de Aprendizaje Automático que debemos conocer

El término "Big Data" prevaleció en 2017 y seguirá prevaleciendo en los próximos años. En entradas anteriores hemos presentado algunos conceptos sobre Big Data, Aprendizaje Automático y Minería de Datos. Ahora profundicemos en Machine Learning o Aprendizaje Automático (ML por sus siglas en inglés) con una breve descripción de algunos de los algoritmos de ML más utilizados, sin códigos, sin teorías abstractas, solo con imágenes y algunos ejemplos de cómo se usan.

La lista de algoritmos cubiertos en esta entrada incluyen:

  • Decision tree
  • Random forest
  • Logistic regression
  • Support vector machine
  • Naive Bayes
  • k-NearestNeighbor
  • k-means
  • Adaboost
  • Neural network
  • Markov

1. Árbol de decisión (Decision tree)

Clasifique un conjunto de datos en diferentes grupos usando ciertos atributos, ejecute una prueba en cada nodo, a través del juicio de "cacería de brujas", luego divida los datos en dos grupos distintos, y así sucesivamente. Las pruebas se realizan en base a los datos existentes y cuando se agregan nuevos datos, se pueden clasificar en el grupo correspondiente

Clasifique los datos de acuerdo con algunas características, cada vez que el proceso pasa al siguiente paso, hay una rama de evaluación, dividiéndose el juicio de los datos en dos y el proceso continúa. Cuando las pruebas se realizan con datos existentes, se pueden obtener nuevos datos. Estas preguntas se aprenden con los datos existentes, cuando ingresan nuevos datos, la computadora puede categorizar los datos en las hojas correctas.




2. Bosque Aleatorio (Random Forest)

Seleccione aleatoriamente de los datos originales y formelos en diferentes subconjuntos.


Matrix o Arreglo S, es la información original, y contiene filas de datos 1-N, mientras que A, B, C son las características, y la última C representa categorías.


Cree subconjuntos aleatorios a partir de S, digamos que obtuvimos M conjuntos de subconjuntos.


Y obtenemos M conjuntos de árboles de decisión de estos subconjuntos:

Lancemos nuevos datos a estos árboles, así podemos obtener M conjuntos de resultados y contando para ver qué resultados son los más comunes en todos los conjuntos M, y así podemos considerarlo como el resultado final.


3. Regresión Logística (Logistic regression)

Cuando la probabilidad del objetivo de predicción es mayor que 0 y menor que o igual a 1, no puede cumplirse mediante un modelo lineal simple. Porque cuando el dominio de definición no está dentro de cierto nivel, el rango excedería el intervalo especificado.

Modelo de gráfica lineal

Es mejor decidirnos ir con un modelo de este tipo.


Entonces, ¿cómo podemos obtener este modelo?

Este modelo debe cumplir dos condiciones, "Mayor o igual a 0", "Menor o igual a 1"

Dos pasos: Siempre debe de ser positivo y debe ser menor a uno.

Transformando la fórmula, podemos obtener el modelo de Regresiones Logísticas:

El pensamiento lineal no se ha ido por completo

Al calcular los datos originales, podemos obtener los coeficientes correspondientes, obteniendo el diagrama del modelo lógico.

Diagrama de modelo logístico


4. Support Vector Machine

Para separar las dos clases del hiperplano, la mejor opción será el hiperplano que deja el margen máximo de ambas clases. Porque Z2> Z1, entonces el vector verde es el mejor.

La mejor elección será el hiperplano que deja
el margen máximo de ambas clases

Usando una ecuación lineal para expresar el hiperplano, la clase sobre la línea es mayor o igual que 1, mientras que la otra clase es menor o igual a -1.


Calculemos la distancia entre el punto y la superficie usando la ecuación en el gráfico:


Entonces obtenemos la expresión de margen total como se muestra a continuación. El objetivo es maximizar el margen, por lo tanto lo que tenemos que hacer es minimizar el denominador.

Minimizando el denominador,
maximizaremos la separabilidad.

Por ejemplo, usamos 3 puntos para encontrar el hiperplano óptimo, definir el vector de peso = (2, 3) - (1, 1)

Perpendiculares NO paralelas

Ahora obtengamos el vector de peso (a, 2a), sustituya estos dos puntos en la ecuación


Cuando se confirma a, el resultado que usa (a, 2a) es vector de soporte, la sustitución de ecuación en a y w0 es el vector de soporte para el cálculo por parte de la máquina.


5.Nive Bayes

Aquí hay un ejemplo de Programación Neuro Lingüística:

Repartir fragmentos de texto, examinar la actitud del texto es positiva o negativa.


Para resolver el problema, solo veamos algunas de las palabras:


Y estas palabras representarán solo algunas palabras y sus conteos.


La pregunta original es: dada una oración, ¿a qué categoría pertenece? Al usar las Reglas de Bayes, esto se convierte en una pregunta fácil.

Asignando a cada palabra: P(palabra|c)
Asignando a cada enunciado: P(s|c)=II P(palabra|c)

La pregunta es ahora, ¿cuál es la probabilidad de que ocurra esta oración? Y recuerda no olvidar las otras dos probabilidades en la ecuación.

Ejemplo: la probabilidad de ocurrencia de la palabra "amor" es 0.1 en la clase positiva, y 0.001 en la clase negativa.

¿Qué clase asigna la mayor probabilidad a "s"?

6. Vecino más cercano (k-NearestNeighbor)

Cuando viene un nuevo dato, ¿qué categoría tiene la mayor cantidad de puntos cercanos a él?, ¿a qué categoría pertenece?

Por ejemplo: para distinguir "perro" y "gato", juzgamos a partir de dos características, "garras" y "sonido". Círculos y triángulos son las categorías conocidas, ¿qué pasa con "estrella"?

Garras contra Sonido

Cuando K = 3, estas tres líneas conectan los 3 puntos más cercanos y los círculos son más, por lo que "estrella" pertenece a "gato".


7.k-means

Separe los datos en 3 clases, la parte rosa es la más grande, mientras que la amarilla es la más pequeña.

Elija 3, 2, 1 como predeterminado y calcule la distancia entre los datos de reposo y los valores predeterminados. Luego clasifíquelos en la clase que tenga la distancia más corta.

Asigne las cartas. Encuentre la más cercana a 3, 2 y 1

Después de la clasificación, calcule los promedios de cada clase y configúrelo como el nuevo centro.


Después de algunas rondas, podemos parar cuando la clase ya no cambie.



8.Adaboost

Adaboost es una medida de impulso. Impulsar es reunir los clasificadores que no tuvieron resultados satisfactorios y generar un clasificador que pueda tener un mejor efecto.

Como se muestra a continuación, el árbol 1 y el árbol 2 no tienen buenos efectos individualmente, pero si ingresamos los mismos datos y resumimos los resultados, el resultado final será más convincente.



Un ejemplo para adaboost, en el reconocimiento de escritura a mano, el panel puede extraer muchas características, como la dirección inicial, la distancia entre el punto inicial, el punto final, etc.

Calcule las Características


Al entrenar la máquina, obtendrá el peso de cada característica, como cuando se escribe "2" y "3", los comienzos de escribirlos son muy similares, por lo que esta función hace poco para la clasificación, por lo que su peso es pequeño.


Pero este "ángulo alfa" tiene una gran capacidad de reconocimiento, por lo que el peso de esta característica será excelente. El resultado final será el resultado de considerar todas estas características.



9. Red Neuronal (Neural Network)

En Redes Neuronales, una entrada puede terminar en al menos dos clases. La red neuronal está formada por redes y conexiones de neuronas. La primera capa es la capa de entrada, y la última capa es la capa de salida. En capas ocultas y capa de salida, ambos tienen sus propios clasificadores.


Cuando una entrada ingresa a la red y se activa, la puntuación calculada se pasará a la siguiente capa.

Los puntajes que se muestran en la capa de salida son los puntajes de cada clase. El siguiente ejemplo obtiene el resultado de la Clase 1; la misma entrada que se pasa a diferentes nudos genera puntuaciones diferentes, lo que se debe a que en cada nudo, tiene diferentes pesos y sesgo. A esto se le llama propagación.



10.Markov 

La cadena de Markov consiste en estados y transiciones. Por ejemplo, obtenga una Cadena de Markov basada en "el zorro marrón rápido salta sobre el perro flojo".

Primero, necesitamos establecer cada palabra bajo un estado, y necesitamos calcular la probabilidad de transiciones de estado.


Estas son las probabilidades calculadas por una sola oración. Cuando utiliza datos masivos de textos para entrenar a la computadora, obtendrá una matriz de transición de estado más grande, como palabras que pueden seguir "el", y sus probabilidades correspondientes.


Estos son los diez más importantes Algoritmos de Aprendizaje Automático más importantes al día de hoy. Como podemos observar, cubren prácticamente todas las necesidades y requerimientos actuales, que los seres humanos estamos esperando de las Máquinas.

Huelga decir que, conforme pase el tiempo y los requerimientos sean más complejos, habrá variantes de los existentes y nuevos algoritmos. ¿El objetivo? Convertir a nuestras máquinas en herramientas para potenciar nuestra inteligencia.