Está en la página 1de 13

FASE 1

Fabián Alexander Acevedo Benavides


Grupo: 37

Tutor: FERLEY MEDINA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD.


ESCUELA DE CIENCIAS, BASICAS TECNOLOGIA E INGENIERIA, ECBTI.
CURSO INTELIGENCIA ARTIFICIAL
Sogamoso, 14 de Septiembre de 2019
1. Investigar sobre las técnicas y herramientas que utiliza la inteligencia
artificial
Técnicas:
1. Heurística
Supongamos que tenemos monedas con las siguientes denominaciones:
5 centavos, 4 centavos, 3 centavos y 1 centavo, y que necesitamos
determinar el número mínimo de monedas para crear la cantidad de 7
centavos. Para resolver este problema, podemos utilizar una técnica
llamada "Heurística".
Webster define el término heurístico como "involucrar o servir como
ayuda para el aprendizaje, el descubrimiento o la resolución de
problemas mediante métodos experimentales y especialmente de
prueba y error". En la práctica, esto significa que siempre que los
problemas se vuelven demasiado complejos para encontrar la mejor
solución garantizada utilizando métodos exactos, Heuristics sirve para
emplear un método práctico para encontrar una solución que no se
garantice que sea óptima, pero que sea suficiente para los objetivos
inmediatos. .
Para algunos problemas, se pueden diseñar heurísticas personalizadas
que exploten la estructura dentro del problema. Un ejemplo de una
heurística tan personalizada sería una heurística codiciosa para el
problema de cambio de monedas mencionado anteriormente. Hablamos
de una heurística codiciosa cuando siempre elegimos la denominación
más grande posible y repetimos esto hasta llegar al valor deseado de 7.
En nuestro ejemplo, eso significa que comenzaríamos con la selección
de una moneda de 5 centavos. Para los 2 centavos restantes, la
denominación más grande que podemos elegir es 1 centavo, dejándonos
con la situación en la que todavía tenemos que cubrir 1 centavo para el
que nuevamente usamos 1 centavo.
Entonces, nuestra codiciosa heurística nos da una solución de 3
monedas (5, 1, 1) para llegar al valor de 7 centavos. Por supuesto,
existe otra solución mejor de solo 2 monedas, utilizando las monedas de
3 y 4 centavos. Si bien la heurística codiciosa para el problema del
cambio de monedas no proporciona la mejor solución para este caso
particular, en la mayoría de los casos dará como resultado una solución
que sea aceptable.
Además de tales heurísticas personalizadas para problemas específicos,
también existen ciertas heurísticas genéricas. Al igual que las redes
neuronales, algunas de estas heurísticas genéricas se basan en procesos
de la naturaleza. Dos ejemplos de tales heurísticas genéricas son Ant
Colony Optimization 2 y algoritmos genéticos 3 . El primero se basa en
cómo las hormigas simples pueden trabajar juntas para resolver
problemas complejos; este último se basa en el principio de
supervivencia del más apto.
Un problema típico en el que se aplican las heurísticas para encontrar
soluciones aceptables rápidamente es la ruta de los vehículos, donde el
objetivo es encontrar rutas para uno o más vehículos que visitan varios
lugares.
2. Máquinas de vectores de soporte
La pregunta de si un correo electrónico es spam o no es un ejemplo de
un problema de clasificación. En este tipo de problemas, el objetivo es
determinar si un determinado punto de datos pertenece o no a una
determinada clase. Después de entrenar primero un modelo clasificador
en puntos de datos para los que se conoce la clase (por ejemplo, un
conjunto de correos electrónicos que están etiquetados como spam o no
spam), puede usar el modelo para determinar la clase de puntos de
datos nuevos e invisibles. Una técnica poderosa para este tipo de
problemas es Support Vector Machines 4 (SVM).
La idea principal detrás de SVM es que intentas encontrar la línea de
límite que separa las dos clases, pero de tal manera que la línea de
límite crea una separación máxima entre las clases. Para demostrar
esto, utilizaremos los siguientes datos simples para nuestro problema de
clasificación:

En este ejemplo, los círculos verdes y los cuadrados rojos podrían


representar dos segmentos diferentes en un conjunto total de clientes
(por ejemplo, potenciales altos y bajos potenciales), basados en todo
tipo de propiedades para cada uno de los clientes. Cualquier línea que
mantenga los círculos verdes a la izquierda y los cuadrados rojos a la
derecha se considera una línea límite válida para el problema de
clasificación. Hay un número infinito de tales líneas que se pueden
dibujar. A continuación se presentan cuatro ejemplos diferentes:

Como se indicó anteriormente, SVM lo ayuda a encontrar la línea límite


que maximiza la separación entre las dos clases. En el ejemplo
proporcionado, esto se puede dibujar de la siguiente manera:

Las dos líneas punteadas son las dos líneas de separación paralelas con
el espacio más grande entre ellas. El límite de clasificación real que se
utilizará será la línea continua exactamente en el medio de las dos
líneas punteadas.

El nombre Support Vector Machine proviene de los puntos de datos que


están directamente en cualquiera de estas líneas. Estos son los vectores
de soporte. En nuestro ejemplo, había tres vectores de soporte.
Si alguno de los otros puntos de datos (es decir, no es un vector de
soporte) se mueve un poco, las líneas límite punteadas no se ven
afectadas. Sin embargo, si la posición de cualquiera de los vectores de
soporte cambia ligeramente (por ejemplo, el punto de datos 1 se mueve
ligeramente hacia la izquierda), la posición de las líneas de límite
punteadas cambiará y, por lo tanto, la posición de la línea de
clasificación continua también cambia.
3. Redes neuronales artificiales
Los animales pueden procesar información (visual u otra) de su entorno
y adaptarse al cambio. Usan su sistema nervioso para realizar tal
comportamiento. Su sistema nervioso puede ser modelado y simulado y
debería ser posible (re) producir un comportamiento similar en sistemas
artificiales. Las redes neuronales artificiales (ANN) se pueden describir
como dispositivos de procesamiento que se modelan libremente según
la estructura neuronal de un cerebro. La mayor diferencia entre los dos
es que el ANN podría tener cientos o miles de neuronas, mientras que la
estructura neural de un cerebro animal o humano tiene miles de
millones.
Figura 1: Representación gráfica de una neurona biológica (izquierda) y
una neurona artificial (derecha)
El principio básico de una estructura neural es que cada neurona está
conectada con cierta fuerza a otras neuronas. Basado en las entradas
tomadas de la salida de otras neuronas (también considerando la fuerza
de conexión) se genera una salida que puede ser utilizada nuevamente
como entrada por otras neuronas, ver Figura 1 (izquierda). Esta idea
básica se ha traducido en una red neuronal artificial mediante el uso de
pesas para indicar la fuerza de la conexión entre las neuronas. Además,
cada neurona tomará la salida de las neuronas conectadas como entrada
y usará una función matemática para determinar su salida. Esta salida
es utilizada por otras neuronas nuevamente.
Mientras que el aprendizaje consiste en fortalecer o debilitar los lazos
entre las diferentes neuronas del cerebro biológico, en el ANN el
aprendizaje consiste en cambiar los pesos entre las neuronas. Al
proporcionar a la red neuronal un gran conjunto de datos de
entrenamiento con características conocidas, se pueden calcular los
mejores pesos entre las neuronas artificiales (es decir, la fuerza del
enlace) para asegurarse de que la red neuronal reconozca mejor las
características.
Las neuronas del ANN pueden estructurarse en varias capas 5. La figura
2 muestra un esquema ilustrativo de tales capas. Esta red consta de una
capa de entrada, donde todas las entradas se reciben, procesan y
convierten en salidas en las siguientes capas. Las capas ocultas
consisten en una o más capas de neuronas, cada una de las cuales pasa
a través de entradas y salidas. Finalmente, la capa de salida recibe
entradas de la última capa oculta y la convierte en la salida para el
usuario.
Figura 2: Esquema de un ANN conectado
La Figura 2 muestra un ejemplo de una red en la que todas las neuronas
de una capa están conectadas a todas las neuronas de la siguiente capa.
Dicha red se llama totalmente conectada. Dependiendo del tipo de
problema que desee resolver, hay diferentes patrones de conexión
disponibles. Para fines de reconocimiento de imágenes, generalmente se
utilizan redes convolucionales, en las que solo grupos de neuronas de
una capa están conectados a grupos de neuronas en la capa siguiente.
Para fines de reconocimiento de voz, generalmente se utilizan redes
recurrentes, que permiten bucles desde las neuronas en una capa
posterior hasta una capa anterior.
4. Proceso de decisión de Markov
Un proceso de decisión de Markov (MDP) es un marco para el modelado
de toma de decisiones donde, en algunas situaciones, el resultado es en
parte aleatorio y en parte basado en la aportación del tomador de
decisiones. Otra aplicación donde se usa MDP es la planificación
optimizada. El objetivo básico de MDP es encontrar una política para el
tomador de decisiones, indicando qué acción particular se debe tomar
en qué estado.
Un modelo MDP consta de las siguientes partes 6:
 Un conjunto de estados posibles: por ejemplo, esto puede
referirse a un mundo de cuadrícula de un robot o los estados de
una puerta (abierta o cerrada).
 Un conjunto de acciones posibles: un conjunto fijo de acciones
que, por ejemplo, un robot puede realizar, como ir hacia el norte,
izquierda, sur u oeste. O con respecto a una puerta, cerrarla o
abrirla.
 Probabilidades de transición: esta es la probabilidad de pasar de
un estado a otro. Por ejemplo, ¿cuál es la probabilidad de que la
puerta esté cerrada después de que se haya realizado la acción de
cerrar la puerta?
 Recompensas: se utilizan para dirigir la planificación. Por ejemplo,
un robot puede querer moverse hacia el norte para llegar a su
destino. En realidad, ir hacia el norte dará como resultado una
recompensa más alta.
Una vez que se ha definido el MDP, se puede entrenar una política
utilizando "Iteración de valor" o "Iteración de política". Estos métodos se
utilizan para calcular las recompensas esperadas para cada uno de los
estados. La política presenta la mejor acción que se puede tomar de
cada estado.
5. Procesamiento de lenguaje natural
El procesamiento del lenguaje natural (PNL) se utiliza para referirse a
todo, desde el reconocimiento del habla hasta la generación del
lenguaje, y cada uno requiere técnicas diferentes. Algunas de las
técnicas importantes se explicarán a continuación, es decir, etiquetado
de parte del discurso, reconocimiento de entidades con nombre y
análisis.
Examinemos la oración "John golpeó la lata". Uno de los primeros pasos
de la PNL es el análisis léxico, utilizando una técnica llamada etiquetado
de parte del discurso (POS). Con esta técnica, cada palabra se etiqueta
para corresponder a una categoría de palabras con propiedades
gramaticales similares, en función de su relación con palabras
adyacentes y relacionadas. No solo se etiquetan palabras, sino también
párrafos y oraciones. El etiquetado de parte del discurso se realiza
principalmente con modelos estadísticos, que conducen a resultados
probabilísticos en lugar de reglas estrictas de si-entonces, y por lo tanto
se utiliza para procesar texto desconocido. Además, pueden hacer frente
a la posibilidad de múltiples respuestas posibles, en lugar de solo una.
Una técnica que se usa a menudo para etiquetar es un modelo oculto de
Markov (HMM). Un HMM es similar al proceso de decisión de Markov,
donde cada estado es parte del discurso y el resultado del proceso son
las palabras de la oración. Los HMM 'recuerdan' secuencias de palabras
que vinieron antes. En base a esto, pueden hacer mejores estimaciones
de qué parte del discurso es una palabra. Por ejemplo: 'can' en 'the can'
es más probable que sea un sustantivo que un verbo. El resultado final
es que las palabras se etiquetan de la siguiente manera: 'John' como
sustantivo (N), 'hit' como verbo (V), 'the' como determinante (D) y 'can'
como sustantivo (N ) también.

El reconocimiento de entidad con nombre o NER es similar al etiquetado


POS. En lugar de etiquetar palabras con la función de la palabra en la
oración (POS), las palabras se etiquetan con el tipo de entidad que
representa la palabra. Estas entidades pueden ser, por ejemplo,
personas, empresas, hora o ubicación. Pero también entidades más
especializadas como el gen o la proteína. Aunque un HMM también se
puede utilizar para NER, la técnica de elección es una red neuronal
recurrente (RNN). Un RNN es un tipo diferente de red neuronal como se
discutió anteriormente, pero toma secuencias como entrada (varias
palabras en una oración u oraciones completas), y recuerda la salida de
la oración anterior 8. En la oración que estamos viendo, reconocerá a
John como la entidad 'persona'.
Herramientas
1. SERVICIOS WEB DE AMAZON
Amazon Web Services (AWS) viene con varios kits de herramientas de
IA para desarrolladores. Por ejemplo, AWS Rekognition utiliza
inteligencia artificial para construir interpretación de imágenes y
reconocimiento facial en aplicaciones con características de seguridad
biométrica comunes.

Además, AWS Lex es la herramienta de código abierto detrás de Alexa,


la asistente personal de Amazon. Esta tecnología permite a los
desarrolladores integrar chatbots en aplicaciones móviles y web. AWS
Polly , por otro lado, utiliza inteligencia artificial para automatizar la voz
a texto escrito en 24 idiomas y 47 voces.
2. AI-ONE
Esta es una herramienta que permite a los desarrolladores crear
asistentes inteligentes en casi todas las aplicaciones de software. A
menudo denominada inteligencia biológicamente inspirada, ai-one
Analyst Toolbox está equipada con lo siguiente:
 APIs
 agentes de construcción
 biblioteca de documentos
El beneficio principal de esta herramienta es la capacidad de convertir
los datos en conjuntos de reglas generalizadas que permiten estructuras
ML y AI en profundidad.
3. DEEPLEARNING4J
Deeplearning4j o Deep Learning for Java es una biblioteca líder de
aprendizaje profundo de código abierto (DL) escrita para Java y Java
Virtual Machine (JVM). Está específicamente diseñado para ejecutarse
en aplicaciones empresariales como Apache Spark y Hadoop.

También incluye lo siguiente:


 Máquina Boltzmann
 Codificador automático profundo
 Red de creencias profundas
 Doc2vec
 Red tensora neuronal recursiva
 Autoencoder de eliminación de ruido apilado
 Word2vec
4. APACHE MAHOUT

Esta es una biblioteca de algoritmos de ML escalables que se pueden


implementar sobre Apache Hadoop utilizando
el paradigma MapReduce . Como resultado, una vez que todos los datos
grandes se almacenan en el Sistema de archivos distribuidos de Hadoop
(HDFS) , puede usar las herramientas de ciencia de datos
proporcionadas por Apache Mahout para identificar patrones valiosos en
esos conjuntos de datos grandes.
La principal ventaja del proyecto Apache Mahout es que hace que sea
mucho más fácil y rápido obtener valor real de Big Data.
5. BIBLIOTECA DE REDES NEURONALES ABIERTAS (OPENNN)
Esta es otra herramienta de código abierto que es esencialmente una
biblioteca de clases escrita en el lenguaje de programación C ++ para
SL que se utiliza para estimular las redes neuronales.

Con esta herramienta OpenNN , puede implementar redes neuronales


que se caracterizan por un alto rendimiento y una arquitectura
profunda.

Algunas otras herramientas de AI y ML de código abierto a considerar


son las siguientes:

 Kit distribuido de herramientas de aprendizaje automático (Microsoft)


 NuPIC
 Oryx 2

2. Investigar que es un agente inteligente y como funciona.

La tecnología de agentes inteligentes es una tecnología de


personalización que crea una representación virtual de cada entidad y
aprende / construye un perfil a partir de las acciones y actividades de
la entidad. En la industria de pagos, por ejemplo, un Smart Agent está
asociado con cada titular de tarjeta individual, comerciante o
terminal. Los Agentes inteligentes asociados a una entidad (como una
tarjeta o un comerciante) aprenden en tiempo real de cada transacción
realizada y construyen sus comportamientos específicos y únicos en
horas extras.

Hay tantos agentes inteligentes como entidades activas en el


sistema. Por ejemplo, si hay 20 millones de transacciones de tarjetas,
habrá 20 millones de agentes inteligentes instanciados para analizar y
conocer el comportamiento de cada uno. La toma de decisiones es
específica para cada titular de tarjeta y ya no depende de la lógica que
se aplica universalmente a todos los titulares de tarjetas,
independientemente de sus características individuales. Los agentes
inteligentes son autoaprendices y adaptables, ya que actualizan
continuamente sus perfiles individuales de cada actividad y acción
realizada por la entidad.

Usemos algunos ejemplos para resaltar cómo la tecnología Smart


Agents difiere de las tecnologías de aprendizaje automático heredadas.

En un sistema de filtrado de correo electrónico, los agentes


inteligentes aprenden a priorizar, eliminar, reenviar y enviar mensajes
de correo electrónico en nombre de un usuario. Trabajan analizando
las acciones tomadas por el usuario y aprendiendo de cada uno. Los
agentes inteligentes constantemente hacen predicciones internas
sobre las acciones que un usuario realizará en un correo electrónico. Si
estas predicciones resultan incorrectas, los agentes inteligentes
actualizan su comportamiento en consecuencia.

En una gestión de cartera financiera, un sistema consta de agentes


inteligentes que monitorean y hacen un seguimiento cooperativo de
cotizaciones de acciones, noticias financieras e informes de ganancias
de la compañía para monitorear continuamente y hacer sugerencias al
administrador de la cartera.
Los agentes inteligentes no se basan en reglas preprogramadas y no
intentan anticipar todos los escenarios posibles. En cambio, los
Agentes Inteligentes crean perfiles específicos para cada entidad y se
comportan de acuerdo con sus objetivos, observaciones y el
conocimiento que adquieren continuamente a través de sus
interacciones con otros Agentes Inteligentes. Cada agente inteligente
extrae todos los datos relevantes a través de múltiples canales,
independientemente del tipo o formato y fuente de los datos, para
producir perfiles virtuales robustos. Cada perfil se actualiza
automáticamente en tiempo real y la inteligencia resultante se
comparte entre los agentes inteligentes. Este perfil de comportamiento
uno a uno proporciona una visibilidad omnicanal sin precedentes del
comportamiento de una entidad.

Los agentes inteligentes pueden representar a cualquier entidad y


permitir el mejor rendimiento en su clase con requisitos mínimos de
recursos operativos y de capital. Los agentes inteligentes validan
automáticamente la coherencia de los datos, realizan el aprendizaje de
características, el enriquecimiento de datos y la creación de perfiles
uno a uno. Dado que se centran en actualizar el perfil en función de
las acciones y actividades de la entidad, almacenan solo la información
y la inteligencia relevantes en lugar de almacenar los datos entrantes
sin procesar que están analizando, lo que logra una enorme
compresión en el almacenamiento.

Referencias bibliográficas

Diepen, G. Everlo, T & Bouazzaoui, H. (2017). Part 2: Artificial


Intelligence Techniques Explained. Recuperado de
https://www2.deloitte.com/nl/nl/pages/data-analytics/articles/part-2-
artificial-intelligence-techniques-explained.html
Zola, A. (2017) TOP 5 TOOLS FOR ARTIFICIAL INTELLIGENCE (AI) AND
MACHINE LEARNING (ML) DEVELOPMENT https://digi117.com/blog/top-
5-tools-for-artificial-intelligence-ai-and-machine-learning-ml-
development.html
n/a. (2016). Smart Agents technology. Recuperado de
https://brighterion.com/smart-agents-technology/

También podría gustarte