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
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.
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)
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.