Resumen de puntos clave del curso "Introducción a la Inteligencia Artificial"

Tabla de contenido

Problemas de parámetros relacionados con el algoritmo genético

La influencia del tamaño de la población, el número de iteraciones, la tasa de cruce y la tasa de mutación en el algoritmo

El papel de la tabla abierta y la tabla cerrada en el algoritmo A*

¿Por qué crece la lista abierta en el algoritmo A*?

La influencia del valor de la función heurística h(n)

Las condiciones bajo las cuales el algoritmo A* puede encontrar la solución óptima

Componentes de un sistema de reconocimiento de patrones

Diferencia entre aprendizaje supervisado y no supervisado

Tres principios de la evaluación de modelos

Precisión y recuperación

Influencia de la selección del valor K en KNN

La diferencia entre problemas de regresión y clasificación.

Pasos en el aprendizaje automático para problemas de regresión lineal

El significado de lote y época en el entrenamiento de modelos

La diferencia entre la función sigmoidea y la función ReLU

modelo de neurona

Propagación hacia adelante y hacia atrás del algoritmo de aprendizaje de BP

El flujo del algoritmo BP

El papel de las capas convolucionales y de agrupación en CNN

Técnicas clave en CNN

Donde CNN es superior a la red neuronal totalmente conectada

Flujo de trabajo GAN

Problemas de parámetros relacionados con el algoritmo genético

Codificación

  • Codificación binaria: Representa la solución del problema como una cadena de bits que consta de 0 y 1, cada bit correspondiente a un gen. La codificación binaria es simple y fácil de usar, pero puede haber un problema de precipicio de Hamming, es decir, hay una gran distancia de Hamming entre los códigos binarios de enteros adyacentes, lo que dificulta el cruce y la mutación.
  • Codificación Gray: la solución del problema se expresa como una cadena de bits que consta de 0 y 1, pero cada dos números adyacentes están representados por código Gray, y solo uno de los bits de código correspondientes es diferente, lo que puede mejorar la capacidad de búsqueda local de el algoritmo La codificación Gray puede evitar el problema de Hamming Cliff, pero requiere procesos de codificación y decodificación adicionales.
  • Codificación de números reales: la solución del problema se expresa como un número real o un número de coma flotante, que puede corresponder directamente al espacio de parámetros del problema, sin necesidad de procesos de codificación y decodificación. Los códigos reales son adecuados para tratar problemas de optimización continua, pero es necesario diseñar operadores específicos de cruce y mutación.
  • Codificación de permutación: representa la solución a un problema como una permutación o secuencia, con cada posición correspondiente a un gen. La codificación de permutación es adecuada para tratar problemas de optimización combinatoria, como el problema del viajante de comercio, pero también necesita diseñar operadores de cruce y mutación específicos.

Método de elección

  • Método de selección de ruleta: Este es el método de selección más simple y más utilizado, que asigna la probabilidad de selección de acuerdo con la relación entre el valor de aptitud del individuo y el valor de aptitud total, es decir, la probabilidad de que el individuo con mayor valor de aptitud se selecciona más grande. Los pasos específicos son los siguientes:
    • El valor de aptitud de los individuos de la población se superpone para obtener el valor de aptitud total
    • El valor de aptitud de cada individuo se divide por el valor de aptitud total para obtener la probabilidad de que el individuo sea seleccionado
    • Calcular la probabilidad acumulada de individuos para construir una rueda de ruleta
    • Genere un número aleatorio entre [0,1] y determine el individuo seleccionado de acuerdo con la ruleta
  • Método de selección de torneos: este es un método para determinar individuos seleccionados a través de múltiples rondas de comparación, lo que puede controlar efectivamente la presión de selección y mantener la diversidad. Los pasos específicos son los siguientes:
    • Seleccione aleatoriamente k individuos de la población, donde k es un parámetro preestablecido, generalmente 2 o 3
    • Compare los valores de aptitud de estos k individuos y elija el más alto como ganador
    • Copie el ganador a la nueva población y repita los pasos anteriores hasta que la nueva población esté llena

estrategia cruzada

  • Cruce de un solo punto: seleccione aleatoriamente un punto de cruce en los cromosomas de dos individuos y luego intercambie algunos genes detrás de este punto.
  • Cruce de dos puntos: seleccione aleatoriamente dos puntos de cruce en los cromosomas de dos individuos y luego intercambie algunos genes entre estos dos puntos.

estrategia de mutación

  • Mutación de inversión de bits: seleccione aleatoriamente uno o más bits de genes en el cromosoma de un individuo y luego inviértalos, es decir, 0 se convierte en 1 y 1 se convierte en 0.
  • Mutación cruzada: se seleccionan aleatoriamente dos bits de genes en el cromosoma de un individuo y se intercambian sus valores.
  • Mutación de inserción: se selecciona aleatoriamente un trozo de gen en el cromosoma de un individuo y luego se inserta en otra posición aleatoria, y el trozo de gen detrás de la posición original se mueve hacia adelante uno por uno.
  • Mutación inversa: seleccione aleatoriamente una subcadena en el cromosoma de un individuo y luego colóquela en orden inverso.
  • Mutación uniforme: compare los genes poco a poco en el cromosoma de un individuo y cambie diferentes genes con una cierta probabilidad.

La influencia del tamaño de la población, el número de iteraciones, la tasa de cruce y la tasa de mutación en el algoritmo

  • Tamaño de la población: El tamaño de la población es el número total fijo de individuos en cada generación, es decir, el número de soluciones iniciales. Si el tamaño de la población es demasiado pequeño, dará lugar a un espacio de búsqueda insuficiente y caerá en una solución óptima local; si el tamaño de la población es demasiado grande, la cantidad de cálculo aumentará y la velocidad de convergencia se ralentizará. En términos generales, el tamaño de la población debe determinarse de acuerdo con la complejidad del problema y el tamaño del espacio de búsqueda, y generalmente toma un valor entre 10 y 100.
  • Número de iteraciones: el número de iteraciones se refiere a cuántas generaciones de evolución realiza el algoritmo genético. Si el número de iteraciones es demasiado pequeño, la búsqueda será insuficiente y no se podrá encontrar una solución mejor; si el número de iteraciones es demasiado grande, el tiempo de cálculo aumentará y la velocidad de convergencia se ralentizará. En términos generales, el número de iteraciones debe determinarse de acuerdo con la dificultad y convergencia del problema, y ​​generalmente toma un valor entre 50 y 500.
  • Tasa de cruce: La tasa de cruce se refiere a la proporción de individuos que realizan la operación de cruce en cada generación. La operación de cruce es la operación más importante en el algoritmo genético, puede generar nuevos individuos, aumentar la diversidad de la población y, por lo tanto, mejorar la capacidad de búsqueda. Si la tasa de cruce es demasiado baja, la capacidad de búsqueda será insuficiente y caerá en una solución óptima local; si la tasa de cruce es demasiado alta, la capacidad de búsqueda será demasiado fuerte, lo que destruirá a los individuos excelentes y reducirá la convergencia. velocidad. En términos generales, la tasa de cruce debe determinarse de acuerdo con las características del problema y el tamaño del espacio de búsqueda, y generalmente toma un valor entre 0,6 y 0,9.
  • Tasa de mutación: la tasa de mutación se refiere a la proporción de genes que experimentan operaciones de mutación en cada generación. La operación de mutación es una operación de cruce auxiliar en el algoritmo genético, que puede introducir nuevos genes, aumentar la diversidad de la población y, por lo tanto, saltar fuera de la solución óptima local. Si la tasa de mutación es demasiado baja, conducirá a una capacidad de búsqueda insuficiente y caerá en la solución óptima local; si la tasa de mutación es demasiado alta, conducirá a una capacidad de búsqueda fuerte, destruirá individuos excelentes y reducirá la velocidad de convergencia. En términos generales, la tasa de mutación debe determinarse de acuerdo con las características del problema y el tamaño del espacio de búsqueda, y generalmente toma un valor entre 0,01 y 0,1.

El papel de la tabla abierta y la tabla cerrada en el algoritmo A*

El algoritmo A* es un algoritmo de búsqueda heurística que encuentra el camino más corto desde un punto inicial hasta un punto final en un gráfico. El algoritmo A* utiliza dos listas, la lista abierta y la lista cerrada

La tabla abierta es una cola de prioridad que almacena todos los nodos que han sido evaluados para valores heurísticos pero que aún no se han expandido a nodos sucesores . El valor de la función heurística es un valor estimado que representa el costo desde el nodo actual hasta el nodo objetivo. El algoritmo A* selecciona un nodo con el valor de función heurística más pequeño de la lista abierta cada vez, lo llama el nodo actual y luego lo elimina de la lista abierta y lo agrega a la lista cerrada.

La tabla de cierre es una colección que almacena todos los nodos que se han visitado. Esto puede evitar visitas repetidas al mismo nodo y mejorar la eficiencia de la búsqueda . El algoritmo A* expande cada vez todos los nodos sucesores del nodo actual, calcula sus valores de funciones heurísticas y verifica si ya existen en la tabla abierta o en la tabla cerrada. Si no existen, agréguelos a la tabla abierta; si existen, compare sus valores de función heurística, si el nuevo valor es menor, actualice sus valores y modifique su nodo principal para que sea el nodo actual. ¹²

Este proceso se repite hasta que se encuentra el nodo de destino o la lista abierta está vacía. Si se encuentra el nodo de destino, retroceda a lo largo del puntero del nodo principal para obtener la ruta más corta; si la lista abierta está vacía, significa que no hay una ruta factible. ¹²

El papel de la tabla abierta y la tabla cerrada es ayudar al algoritmo A* a buscar los nodos en el gráfico de acuerdo con el orden de los valores de la función heurística y registrar los nodos que han sido visitados para encontrar el camino más corto.

¿Por qué crece la lista abierta en el algoritmo A*?

La lista Abierta crece porque cada vez que se expande un nodo, sus nodos accesibles adyacentes se agregan a la lista Abierta (a menos que ya estén en la lista Cerrada o sean obstáculos). De esta forma, el número de nodos en la tabla Open irá aumentando con el proceso de búsqueda hasta que se encuentre el final o no haya nodos expandibles.

La influencia del valor de la función heurística h(n)

h(n) es relativamente grande: reduce la carga de trabajo de búsqueda, pero es posible que no encuentre la solución óptima;

La proporción de h(n) es pequeña: generalmente conduce a un aumento de la carga de trabajo y, en casos extremos, se convierte en una búsqueda a ciegas, pero se puede encontrar la solución óptima.

Las condiciones bajo las cuales el algoritmo A* puede encontrar la solución óptima

La función heurística debe ser admisible: la función heurística no puede sobrestimar la distancia desde el nodo actual hasta el nodo de destino. Es decir, la distancia estimada por la función no puede ser mayor que la distancia real. Si la heurística es consistente, se garantiza que el algoritmo de búsqueda A* encontrará la ruta más corta.

La estructura del gráfico no debe incluir acíclico: El algoritmo A* solo es adecuado para problemas donde la estructura del gráfico no incluye ciclos. Porque para una estructura de gráfico que contiene un ciclo, la función heurística puede hacer que el algoritmo realice un ciclo infinito en el ciclo.

Componentes de un sistema de reconocimiento de patrones

Ejemplo: reconocimiento de huellas palmares

Diferencia entre aprendizaje supervisado y no supervisado

El aprendizaje supervisado y el aprendizaje no supervisado son dos conceptos importantes en el aprendizaje automático.

El aprendizaje supervisado requiere datos etiquetados como datos de entrenamiento, mientras que el aprendizaje no supervisado no.

El objetivo del aprendizaje supervisado es predecir la etiqueta de datos desconocidos a partir de datos etiquetados conocidos , mientras que el objetivo del aprendizaje no supervisado es descubrir patrones y estructuras en los datos.

Tres principios de la evaluación de modelos

La navaja de Occam: cuanto más simple sea el modelo, mejor

El principio del muestreo de muestras al dividir el conjunto de datos: la distribución del conjunto de entrenamiento, el conjunto de prueba y el conjunto de verificación debe ser lo más consistente posible

El principio de usar el conjunto de prueba: No mire el conjunto de prueba por ningún motivo durante la fase de entrenamiento; la evaluación repetida del conjunto de prueba también es un adelanto

Precisión y recuperación

  • La tasa de precisión se refiere a la proporción de las muestras que se predicen como ejemplos positivos que en realidad son ejemplos positivos. Refleja la precisión de los resultados de la predicción, es decir, para evitar juzgar erróneamente los ejemplos negativos como ejemplos positivos. La forma de mejorar la tasa de precisión es aumentar el umbral para predecir un ejemplo positivo, y solo cuando la probabilidad positiva de la muestra sea alta, se juzgará como un ejemplo positivo, lo que puede reducir el número de falsos positivos (falsos positivos). ), pero al mismo tiempo aumenta el número de falsos negativos, es decir, los ejemplos positivos se juzgan erróneamente como ejemplos negativos.
  • La tasa de recuperación se refiere a la proporción de muestras positivas pronosticadas entre las muestras que son realmente positivas. Refleja la integridad de los resultados de la predicción, es decir, cubre todos los ejemplos positivos tanto como sea posible. La forma de mejorar la tasa de recuperación es reducir el umbral para predecir un ejemplo positivo. Siempre que la muestra tenga una cierta probabilidad positiva, se juzgará como un ejemplo positivo. Esto puede reducir el número de falsos negativos (falsos negativos) , pero también aumentará los falsos positivos. El número de falsos positivos, es decir, los falsos positivos se juzgan erróneamente como positivos.

Por lo tanto, la precisión y la recuperación son una relación de compensación, y al aumentar una tiende a disminuir la otra, y viceversa. Diferentes tareas o escenarios pueden tener diferentes preferencias o requisitos para la tasa de precisión y la tasa de recuperación. Por ejemplo, en el filtrado de spam, estamos más inclinados a mejorar la tasa de precisión para evitar juzgar erróneamente los correos electrónicos normales como spam; En el diagnóstico de enfermedades, estamos más inclinados a mejorar la tasa de precisión para mejorar la tasa de recuperación y evitar que se juzgue erróneamente a las personas enfermas como personas sanas.

Influencia de la selección del valor K en KNN

La diferencia entre problemas de regresión y clasificación.

La diferencia entre un problema de regresión y un problema de clasificación es el tipo de variable de salida. El resultado cuantitativo se denomina regresión o predicción de variable continua; el resultado cualitativo se denomina clasificación o predicción de variable discreta.

Los problemas de clasificación suelen ser adecuados para predecir una clase (o la probabilidad de una clase) en lugar de valores continuos.

Los problemas de regresión generalmente se usan para predecir un valor, como predecir precios de viviendas, condiciones climáticas futuras, etc.

Pasos en el aprendizaje automático para problemas de regresión lineal

1 Definir una función (modelo) con parámetros desconocidos

2 Definir la función de pérdida

3 Obtener los parámetros óptimos basados ​​en el método de optimización

El significado de lote y época en el entrenamiento de modelos

En el aprendizaje profundo, lote se refiere a una forma de ingresar simultáneamente varias muestras para el entrenamiento cada vez que se entrena el modelo. El tamaño del lote se refiere al número de muestras contenidas en cada lote. Cuanto mayor sea el tamaño del lote, mayor será la velocidad de entrenamiento, pero mayor será el consumo de memoria; cuanto menor sea el tamaño del lote, menor será la velocidad de entrenamiento, pero menor será el consumo de memoria.

Época se refiere al proceso de entrenamiento que pasa por todos los datos de entrenamiento. En cada época, el modelo realiza un pase hacia adelante y hacia atrás en todos los datos de entrenamiento y actualiza los parámetros del modelo. El número de épocas se refiere al número de veces necesarias para pasar por todos los datos de entrenamiento.

La diferencia entre la función sigmoidea y la función ReLU

La principal diferencia entre la función sigmoidea y la función ReLU es su forma y propiedades. Cuando el valor de entrada de la función sigmoide es grande o pequeño, el valor de salida está cerca de 0 o 1, y cuando el valor de entrada está cerca de 0, el valor de salida está cerca de 0,5. Esto significa que cuando el valor de entrada de la función sigmoidea es grande o pequeño, el gradiente se vuelve muy pequeño, causando el problema de la desaparición del gradiente. La función ReLU no tiene este problema porque tiene un gradiente de 0 cuando el valor de entrada es negativo y un gradiente de 1 cuando el valor de entrada es positivo. Esto hace que la función ReLU sea más fácil de entrenar y puede acelerar la convergencia.

Además, la función ReLU también tiene características escasas y no lineales. La escasez significa que la función ReLU puede hacer que la salida de algunas neuronas sea 0, lo que hace que la red neuronal sea más escasa; la no linealidad significa que la función ReLU puede introducir factores no lineales, lo que hace que la red neuronal sea más flexible. Estas propiedades hacen que la función ReLU se utilice ampliamente en el aprendizaje profundo y se ha demostrado que es más eficaz que la función sigmoidea.

modelo de neurona

Propagación hacia adelante y hacia atrás del algoritmo de aprendizaje de BP

Propagación directa: la información de entrada se pasa de la capa de entrada a la capa oculta y, finalmente, se envía a la capa de salida.

Backpropagation: modifique los pesos de las neuronas en cada capa para minimizar la señal de error

El flujo del algoritmo BP

El papel de las capas convolucionales y de agrupación en CNN

En una red neuronal convolucional (CNN), tanto las capas convolucionales como las de agrupación se utilizan para extraer características de la imagen. La capa de convolución extrae las características locales de la imagen utilizando el kernel de convolución , y la capa de agrupación reduce el tamaño del mapa de características reduciendo la resolución de la salida del mapa de características por la capa de convolución . La capa de agrupación puede ayudar a reducir el sobreajuste y mejorar la capacidad de generalización del modelo.

Técnicas clave en CNN

enlace parcial

Peso compartido: todas las plantillas de convolución son iguales

Múltiples núcleos de convolución

Donde CNN es superior a la red neuronal totalmente conectada

Las capas convolucionales tienen las siguientes ventajas sobre las capas totalmente conectadas:

  1. Uso compartido de parámetros: el uso compartido de parámetros de la capa convolucional puede reducir en gran medida la cantidad de parámetros que deben aprenderse y mejorar la capacidad de generalización del modelo. En comparación con las capas totalmente conectadas, las capas convolucionales necesitan aprender menos parámetros, por lo que son más fáciles de entrenar y menos propensas al sobreajuste.
  2. Localidad espacial: las capas convolucionales pueden capturar información de localidad espacial en los datos de entrada. En las tareas de reconocimiento de imágenes, la relación entre píxeles adyacentes es muy importante y la capa convolucional puede usar esta relación para extraer características de la imagen, mientras que la capa completamente conectada no puede capturar esta información.
  3. Complejidad computacional: las capas convolucionales tienen una complejidad computacional más baja que las capas completamente conectadas debido al uso compartido de parámetros y la localidad espacial. Las capas convolucionales son más eficientes cuando se trata de datos a gran escala.
  4. Capacidad de generalización del modelo: la capa convolucional puede aprender las características locales de los datos de entrada, por lo que tiene una mejor capacidad de generalización del modelo. Las capas convolucionales son más fáciles de manejar el ruido y la distorsión en los datos de entrada que las capas totalmente conectadas.
  5. Interpretabilidad: la salida de la capa convolucional se puede ver como un mapa de características de los datos de entrada, por lo que es más fácil explicar los resultados de predicción del modelo. Las capas convolucionales son más fáciles de entender e interpretar que las capas completamente conectadas.

En resumen, la capa convolucional tiene una mejor capacidad de generalización de modelos, una mayor eficiencia computacional y una mejor interpretabilidad que la capa completamente conectada , y es adecuada para procesar datos bidimensionales o tridimensionales, como imágenes y audio.

Flujo de trabajo GAN

Una red adversa generativa (GAN) es un modelo de aprendizaje profundo que consta de dos redes neuronales: un generador y un discriminador. El rol del generador es generar nuevos datos similares a los datos de entrenamiento, mientras que el rol del discriminador es distinguir los datos reales de los datos generados por el generador. El proceso de entrenamiento de GAN consiste en entrenar alternativamente las dos redes hasta que los datos generados por el generador puedan confundirse con los reales y alcanzar un cierto equilibrio con la capacidad del discriminador. El flujo de trabajo de GAN es el siguiente:

  1. Inicializar los parámetros del generador y discriminador.
  2. Extraiga n muestras del conjunto de entrenamiento y muestree n muestras de ruido de la distribución de ruido.
  3. Arregle el generador y entrene al discriminador para distinguir lo real de lo falso tanto como sea posible.
  4. Arregle el discriminador y entrene al generador para engañar al discriminador tanto como sea posible.
  5. Después de varias iteraciones de actualización, el discriminador final no puede distinguir si la imagen proviene del conjunto de muestra de entrenamiento real o de la muestra generada por el generador G. En este momento, la probabilidad de discriminación es 0,5 y el entrenamiento se completa.

Supongo que te gusta

Origin blog.csdn.net/qq_51235856/article/details/130441496
Recomendado
Clasificación