Está en la página 1de 5

Guı́a de estudio

Dr. Aldo Hernández Suárez


Agosto, 2023

1. Introducción
Inteligencia artificial: Es una rama de la informática que estudia la creación de agentes computacionales
que reciben estı́mulos externos y, en base a ellos y a un conocimiento almacenado en dicho agente,
producen resultados o acciones que maximizan una medida de rendimiento.
Minerı́a de Datos: Es un proceso que utiliza técnicas de inteligencia artificial sobre grandes cantidades
de datos, con el objetivo de descubrir y describir patrones en los datos, a partir de los cuales se pueda
obtener un beneficio.
Ejemplos donde se aplica Inteligencia Artificial:
• Diagnosis: inferir funcionamientos incorrectos de un objeto a partir de su comportamiento y reco-
mendar soluciones.
• Selección: recomendar la mejor opción de una lista de alternativas posibles.
• Predicción: predecir el comportamiento futuro de un objeto a partir de su comportamiento en el
pasado.
• Clasificación: asignar un objeto a una clase definida.
• Agrupamientos (clustering): agrupar objetos de acuerdo con sus caracterı́sticas.
• Optimización: mejorar la calidad de las soluciones hasta encontrar una óptima.
• Control: gestionar el comportamiento de un objeto en tiempo real para satisfacer ciertos requisitos
especificados.
El aprendizaje automático, una rama de la IA, se refiere a la construcción de programas computacionales
que automáticamente mejoran su rendimiento en una tarea determinada con la experiencia.
La siguiente frase define el aprendizaje por parte de un ordenador: Un programa de ordenador aprende de
la experiencia E con respecto a una clase de tareas T y una medida de rendimiento P, si su rendimiento
en las tareas T, medido en base a la medida P, mejora con la experiencia E.
El aprendizaje supervisado pretende caracterizar o describir un concepto a partir de instancias del mismo.
La clasificación es un ejemplo de Aprendizaje Supervisado donde se podrá identificar la clase de un
sı́mbolo especı́fico, objeto o evento; también identificar sı́mbolos, objetos o eventos que no son miembros
de una clase.
• Si queremos detectar usos fraudulentos a partir de describir las transacciones legales, los ejemplos
serán aquellas transacciones legales mientras que los no-ejemplos serán las transacciones no legales.
Generalización: identificar la clase de una instancia desconocida examinando atributos comunes de esa
instancia con ejemplos encontrados previamente de esa clase.
Discriminación: el hecho contrario a generalizar, esto es, dada una instancia desconocida, identificarla
como no-miembro de la clase dado que no se encuentran atributos comunes con ejemplos previos de la
clase.
El Aprendizaje No-Supervisado pretende caracterizar un concepto desconocido a partir de instancias del
mismo. En este caso no existen clases definidas y por tanto se trata de describir un nuevo concepto o
clase.
Las técnicas de agrupamiento o clustering son muy utilizadas en problemas de Aprendizaje no-Supervisado.
Mediante clustering las instancias se agrupan de acuerdo con un esquema de similitud.

1
Pre-procesamiento de los datos: los datos ruidosos y datos inconsistentes son tratados. Por ejemplo, una
base de datos puede contener datos duplicados, valores ncorrectos o desconocidos. Se pueden utilizar
métodos automáticos estadı́sticos como la aplicación de outliers (por ejemplo, eliminar el 5 % de los
valores más lejanos a la predicción).
Los ordenadores pueden ser muy eficaces en el aprendizaje de conceptos que pueden ser representados
mediante distintos tipos de estructuras como árboles, reglas o funciones matemática.
KDD: procedimiento completo necesario para extraer conocimiento potencialmente útil y previamente
desconocido a partir de los datos en una base de datos.
Etapas de KDD:
a) Integración de los datos
b) Selección de los datos
c) Pre-procesamiento de los datos
d) Transformación de los datos
e) Minerı́a de datos
f) Interpretación y evaluación de los resultados
2. Python para la implementación de técnicas de inteligencia artificial

Python es el lenguaje más empleado en el ámbito de la inteligencia artificial y el machine learning,


además de ser utilizado también para el desarrollo de aplicaciones web del lado del servidor, el desarrollo
de software en general, aplicaciones matemáticas o scripting en la gestión de sistemas operativos.
En Python el sangrado (indentación) se utiliza a la hora de definir los distintos bloques de ejecución.
Tipos de datos comunes: texto, numéricos, secuencia, mapas, conjuntos, boolenos y binarios.
En Python existe la división entera y se obtiene como x//y.
La lista (list) es una secuencia ordenada de objetos. Un ejemplo es [1, .a", 3, 4].
En Python existen conjuntos (set). Un ejemplo es {1, 2, 3}.
La palabra reservada pass se utiliza en los casos en que necesitemos que no se realice ninguna operación,
pero no romper la lógica del programa.
NumPy es una librerı́a muy popular para el procesamiento de grandes matrices y matrices multidimen-
sionales.
SciPy es una biblioteca muy popular entre los ingenieros de machine learning, ya que contiene diferentes
módulos para la optimización, el álgebra lineal, la integración y la estadı́stica.
Skikit-learn es una de las librerı́as de machine learning más populares para los algoritmos de machine
learning clásico. Está construida sobre dos bibliotecas básicas de Python, NumPy y SciPy. Scikit-learn
soporta la mayorı́a de los algoritmos de aprendizaje supervisado y no supervisado.
Matpoltlib es una biblioteca de Python muy popular para la visualización de datos.
3. Árboles de decisión

El aprendizaje de árboles de decisión es una de las técnicas más utilizadas para el aprendizaje inductivo,
en concreto como técnica de aprendizaje supervisado, el cual es bastante robusto frente a datos ruidosos.
La definición de inducción nos indica que dicha tarea consiste en extraer el conocimiento general implı́cito
a partir de observaciones y experiencias particulares.
En el aprendizaje de árboles de decisión, el espacio de hipótesis es el conjunto de todos los árboles de
decisión posibles.
El sobreajuste es un problema práctico en la construcción de árboles de decisión y generalmente se ha
de aplicar alguna estrategia para mitigar el problema. Dos tipos de estrategias para evitar el sobreajuste
son: Pospoda y Prepoda.
La validación cruzada permite estimar el ajuste del modelo a un hipotético conjunto de datos de prueba
cuando no se dispone de este conjunto de datos de prueba de manera explı́cita.

2
Principales algoritmos de AD: CART, C4.5 e ID3. Mientras que el algoritmo ID3 se aplica a atributos
con valores discretos, el algoritmo C4.5 se puede aplicar tanto a atributos con valores discretos como a
atributos con valores continuos.
4. Reglas

Los sistemas de reglas son uno de los métodos más extendidos para representar conocimiento. Algunas
ventanas de los sistemas de reglas: modularidad, el conocimiento puede ser ampliado y modificado, fáciles
de entender, separación entre control y conocimiento, permiten explicar las decisiones . . .
Un antecedente que incluye las condiciones de aplicación del conocimiento.
Un consecuente en el que se indica la conclusión, respuesta o acción que ha de llevarse a cabo cuando se
cumple el antecedente.
La representación del conocimiento mediante reglas de clasificación es una alternativa a los árboles de
decisión. De hecho, la representación mediante árboles de decisión se puede mapear a la representación
mediante reglas de clasificación y viceversa.
Mientras que las reglas de clasificación predicen la clase, las reglas de asociación predicen valores de
atributos, combinaciones de valores de atributos, o la propia clase.
La confianza es la probabilidad condicional de que dado un evento A se produzca un evento B.
El soporte se refiere al cociente del número de ejemplos que cumplen el antecedente y el consecuente de
la regla entre el número total de ejemplos.
La cobertura es otra medida utilizada para evaluar el interés de las reglas y se define como el número
de ejemplos que cumplen la regla (antecedente y consecuente).
El algoritmo apriori pretende generar ı́tem-sets que cumplan una cobertura mı́nima de manera eficiente.
Un ı́tem es un par atributo-valor mientras que un ı́tem-set es un conjunto de pares atributo-valor.
5. Redes neuronales artificiales

Las redes neuronales basan su funcionamiento en la forma de aprender del cerebro. Son capaces de
realizar tareas de aprendizaje de manera eficaz, incluso llevando a cabo tareas de reconocimiento que un
humano es incapaz de realizar.
Los elementos principales de una red neuronal artificial son: la arquitectura de la red, función de acti-
vación y algoritmo de aprendizaje.
Redes neuronales recurrentes. Redes Hopfield: Las redes neuronales recurrentes tratan de emular las
caracterı́sticas asociativas de la memoria humana. Es una red autoasociativa que puede almacenar varias
informaciones durante la etapa de aprendizaje como si se tratara de una memoria.
6. Deep Learning
Se puede definir el aprendizaje profundo o deep learning como una clase de algoritmos de aprendizaje
automático que utiliza múltiples capas para extraer progresivamente caracterı́sticas de nivel superior de
la entrada bruta.
Mediante las redes neuronales artificiales es posible aplicar técnicas de aprendizaje supervisado, apren-
dizaje no supervisado, aprendizaje semisupervisado e incluso técnicas de aprendizaje por refuerzo.
Redes prealimentadas (Feedforward networks) y redes prealimentadas profundas (Deep Feedforward
Networks): todas las neuronas de una capa están conectadas con todas las neuronas de la capa siguiente,
no existe conexiones entre neuronas de la misma capa y no existe retroalimentación.
Redes Neuronales Recurrentes (RNN – Recurrent Neural Networks) y Redes Recurrentes Profundas
(Deep Recurrent Networks): tienen neuronas especı́ficas que incluyen una memoria en la que almacenan
las entradas correspondientes a ciclos anteriores.
Autoencoders (AE): son redes neuronales simétricas en forma de reloj de arena en las que las capas
ocultas son más pequeñas que las capas de entrada y de salida (que son células de entrada y de salida
que coinciden). Entre las aplicaciones de los autocodificadores variacionales tenemos el aprendizaje de
representaciones latentes, la generación de imágenes y textos, lograr resultados de última generación en
el aprendizaje semisupervisado, ası́ como interpolar textos perdidos entre frases.

3
Redes Neuronales Convolucionales (CNN – Convolutional Neural Networks): utilizadas para el recono-
cimiento de imágenes, reconocimiento de patrones o el análisis del sentimiento en los textos, entre otras
aplicaciones.
Redes Generativas Antagónicas (GAN – Generative Adversarial Networks): están formadas por dos redes
neuronales que trabajan juntas, normalmente una combinación de una FFNN y una CNN. Una de ellas
se encarga de generar contenido (es decir, red generativa), mientras que la otra se encarga de juzgar o
discriminar el contenido (es decir, red discriminativa) generado por la primera.
En un algoritmo genético en cada iteración o fase se evalúa la aptitud de los individuos, se seleccionan
los mejores individuos (selección), se cruzan los individuos entre sı́ (cruce) y se producen las diferentes
mutaciones posibles (mutación).
7. Clustering: Agrupamiento o clasificación no supervisada
Clustering: es un método de aprendizaje no supervisado que permite agrupar objetos en clústeres o
agrupamientos, cuyos miembros son similares entre sı́ en cierto modo.
Clúster: es una colección de objetos similares entre sı́ y diferentes a los objetos que pertenecen a otros
clústeres.
Agrupamientos exclusivos. En este tipo de agrupamiento cada uno de los clústeres tiene al menos un
objeto y los objetos se agrupan de modo exclusivo, pudiendo pertenecer únicamente a un clúster.
Agrupamientos jerárquicos. Otro tipo de algoritmos son aquellos que dan lugar a una estructura jerárqui-
ca de clústeres.
Agrupamientos solapados. En este tipo de clústeres los objetos se agrupan a través de conjuntos difusos,
pudiendo cada objeto pertenecer a uno o más clústeres con diferentes grados de pertenencia.
Agrupamientos probabilistas. Los clústeres se generan mediante un método probabilı́stico.
• Esperanza (expectation): calcula las probabilidades de pertenencia de las instancias a los clústeres
de acuerdo con los parámetros de los clústeres probabilı́sticos.
• Maximización (maximization): determina los nuevos parámetros que maximizan la verosimilitud
esperada en el anterior paso (expected likelihood).
8. Sistemas de recomendación
Sistemas de recomendación: técnicas se basan, por ejemplo, en modelar contenidos, ası́ como preferen-
cias y comportamientos de usuarios, creando estereotipos, y filtrando la información en función de los
estereotipos.
Filtrado colaborativo (recomendación colaborativa o basado en usuarios): realiza recomendaciones usual-
mente en base a la retroalimentación o el feedback que los conjuntos de usuarios dan explı́citamente sobre
un ı́tem.
Filtrado basado en contenidos (recomendación basada en contenido): utiliza metainformación de los
contenidos de los ı́tems para aprender la relación entre un usuario y esa metainformación.
Los sistemas de recomendación hı́bridos combinan dos o más estrategias de recomendación para, ası́,
beneficiarse de sus ventajas complementarias. El objetivo principal de los sistemas de recomendación
hı́bridos es reforzar las ventajas de cada uno de ellos y reducir o eliminar desventajas y limitaciones
independientes. Motor de inferencia: en un sistema experto este elemento realiza el razonamiento, extra-
yendo información a partir de la base de conocimiento y la base de hechos, siendo el enlace entre ambas
bases.
9. Resolución de problemas mediante búsqueda
En la resolución de problemas mediante búsqueda se ha de aplicar una estrategia de control que permita
encontrar un camino desde el estado inicial al objetivo, lo que implica examinar posibles secuencias
de acciones y los estados que provocan, seleccionando aquella secuencia que sea la mejor según un
determinado criterio.
En los métodos de búsqueda heurı́stica se aplica información del problemavpara encontrar la solución.
El heurı́stico es una regla de estrategia y simplificación, que limita drásticamente la búsqueda de solu-
ciones en grandes espacios de problemas.

4
Una medida huerı́stica es la escalada simple que consiste en considerar el proceso como la escalada a
una montaña: el objetivo es alcanzar la cima y el estado de búsqueda es el punto donde se encuentra el
escalador. La regla de la que se dispone es seguir escalando hasta que se llegue a un punto a partir del
cual no se pueda ascender más.
Búsqueda exhaustiva o a ciegas: no se tiene en cuenta la posible localización del objetivo. Estos algoritmos
no utilizan ninguna información del problema e ignoran hacia dónde se dirigen hasta que encuentran el
objetivo.
Búsqueda en profundidad acotada: En vez de coger un camino hasta el final, se aplica búsqueda en
profundidad hasta un nivel y, si con esa profundidad no se consigue el objetivo, se realiza búsqueda en
profundidad a partir de un nivel superior.
Búsqueda en juegos: consiste en determinar el conjunto de jugadas que permiten ganar al oponente.
10. Gestión de la incertidumbre e imprecisión en sistemas expertos
Las incertidumbres sobre ciertos hechos y llegar a conclusiones válidas que solucionan un problema. De
la misma manera, un sistema experto puede trabajar con hechos inciertos, imprecisos o incompletos.
Información incompleta o desconocida (por ejemplo, falta de análisis en medicina, falta de variables de
campo en sistemas de control).
Información Poco confiable (por ejemplo, medidores poco confiables, instrumentos imprecisos, análisis
poco confiables).
Información con Ruido, distorsión: por ejemplo, ruido o distorsión en sistemas de visión, de reconoci-
miento de voz, de comunicaciones.
Conocimiento impreciso: el experto de dominio a menudo no puede más que aportar asociaciones vagas
de hechos.
Conocimiento contradictorio: Se puede dar el caso de que se den proposiciones opuestas proporcionadas
por dos expertos de dominio distintos.
En muchos sistemas de resolución de problemas un objetivo importante consiste en reunir evidencias
sobre la evolución del sistema y modificar su comportamiento sobre la base de las mismas. Para modelar
este comportamiento se puede utilizar el razonamiento bayesiano.
Lógica difusa: es una familia de teorı́as y técnicas basadas en el concepto de conjuntos difusos, también
denominados conjuntos borrosos. La lógica difusa ha sido aplicada en áreas tan diversas como control,
medicina, biologı́a, ecologı́a, economı́a o polı́tica.
Codificación (fuzzification): En esta etapa se toman las variables de entrada al sistema de tipo abrupto
o preciso y se les asigna un valor de pertenencia a los distintos conjuntos difusos definidos en el universo
de cada variable de entrada.

También podría gustarte