Ir al contenido principal

#08 Inteligencia Artificial

En el tema de hoy quiero hablar un poco sobre que es la inteligencia artificial y como esto está relacionado con las estructuras de datos.
La inteligencia no deja de ser un conjunto de programas y algoritmos creados por los humanos para simular el proceso de aprendizaje de una persona o algún otro ser vivo.
Uno de estos que son muy interesantes son las redes neuronales. Estos básicamente son unos algoritmos matemáticos que lo que simulan es el comportamiento de las neuronas para aprender.
El funcionamiento de esta misma es muy simple, la neurona tiene un canal de impulso eléctricos conformada por las dendritas. Dependiendo de la intensidad a que lleguen esos impulsos la manda a través de su axón hacia las terminaciones axónicas, si la intensidad de la señal es menor al soportado por la neurona entonces no realiza nada.
Entonces estas terminaciones estarán conectadas a otras dendritas de otras neuronas, y así repetirá el proceso.
Esto nos dice que el cerebro está constituido por millones de neuronas y que gracias a esto somos seres sumamente inteligentes, pero, ¿cómo es esto posible?
Estos es gracias a la capacidad que tienen las neuronas para modificar la forma de ponderar los impulsos recibidos mediante el aprendizaje.
Como ya sabemos cómo funciona las neuronas humanas ahora hablaremos de cómo funciona el aprendizaje artificial, indicado en este algoritmo:

 
Donde Xi son los impulsos de entrada (en este caso son números). Las Xi se ponderan con los pesos wij de tal manera que obtenemos la señal ponderada que llega al núcleo de la neurona como Yj=∑wij*Xi. El núcleo tiene una función de activación ϕ(Yj) de manera que proporciona los valores salida Vij si se pasa de cierto umbral . Las funciones de activación suelen ser de tipo escalón o a veces de tipo sigmoidea: 
 
 Las salidas Vij puede ser la entrada de datos (las Xi) de otras neuronas pudiendo generar una red de neuronas con capas de neuronas y con varias neuronas en cada capa. Como por ejemplo:
 
En este ejemplo tenemos un conjunto de datos (X1, X2, X3, X4) que entran en una capa de entrada con cuatro neuronas, después tenemos una capa oculta de tres neuronas que cogen los impulsos generados por las neuronas de la capa de entrada y generan sus propios impulsos que las llevan a una última capa de salida. Esta capa de salida, con dos neuronas, generan los datos de salida (Y1, Y2). Siempre habrá una capa de neuronas de entrada con tantas neuronas como datos de entrada y siempre habrá una capa de salida con el número de neuronas igual a los datos de salida. El número de capas ocultas y neuronas en cada capa oculta de una red neuronal es totalmente variable y a gusto del que diseña la red.

Comentarios

Entradas más populares de este blog

11# Algoritmo de Prim

El algoritmo fue diseñado en 1930 por el matemático Vojtech Jarnik y luego de manera independiente por el científico computacional Robert C. Prim en 1957 y redescubierto por Dijkstra en 1959. Por esta razón, el algoritmo es también conocido como  algoritmo DJP  o  algoritmo de Jarnik . Descripción El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas. Este incrementa continuamente el tama ño de un ár bol, comenzando por un vertice inicial al que se le van agregando sucesivamente vértices cuya distancia a los anteriores es mínima. Esto significa que en cada paso, las aristas a considerar son aquellas que inciden en vértices que ya pertenecen al árbol El árbol recubridor mínimo está completamente construido cuando no q...

04# Algoritmos de Búsqueda

Un algoritmo es como un conjunto de instrucciones que se deben seguir para realizar una tarea concreta. Este se rige por una serie de pasos o ciclos con sus condiciones definidas para el proceso del trabajo que se quiere hacer. Hoy nos basaremos mayormente en los algoritmos de búsqueda, estos se encargan de encontrar un elemento en una estructura de datos. Existen diversos algoritmos para este propósito. Unos de los vistos en las clases anteriores son el secuencial, binario y el de interpolación. Secuencial: Uno de los algoritmos más sencillos y fáciles de implementar, ya que su única función es la de comparar cada elemento de la estructura de datos con el elemento que se quiere encontrar: L: Largo de la estructura T: temporal contador ELE: Elemento a buscar A: Estructura donde se desea buscar Mientras L > T:                 Si ELE es igual a A posición [T]:     ...

05# GNU/Linux Kernel

Esto es el corazón de las distribuciones Linux que conocemos hoy en día, gracias a Linus Torvalds principal creador de este núcleo (kernel). Pero primeramente vamos a hablar de que significa ser el corazón del sistema operativo. Es un software que se encarga de comunicar el resto del SO (Sistema Operativo) con el hardware, además que se encarga de definir todos los bloques de información que manejara y soportara el sistema completo. “ Linux  es un núcleo de libre distribución y mayormente libre semejante al núcleo de Unix. 4 ​ Linux es uno de los principales ejemplos de software libre y de código abierto. 5 ​ Linux está licenciado bajo la GPL v2 y a mayor parte del software incluido en el paquete que se distribuye en su  sitio web  es software libre. Está desarrollado por colaboradores de todo el mundo. El desarrollo del día a día tiene lugar en la  Linux Kernel Mailing List Archive . El núcleo Linux fue concebido por el...