Herramientas de usuario

Herramientas del sitio


ia:start

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ia:start [2018/07/31 08:36]
Joaquín Herrero Pintado [Algoritmos Evolutivos]
ia:start [2018/08/21 10:44] (actual)
Joaquín Herrero Pintado
Línea 3: Línea 3:
 {{indexmenu>:​ia#​1|tsort}} {{indexmenu>:​ia#​1|tsort}}
  
-====== Teorías ======+ 
 La IA es una ciencia que se ocupa del diseño de sistemas de computación capaces de mostrar características que asociamos a la inteligencia en el comportamiento humano: comprensión del lenguaje, razonamiento,​ aprendizaje y resolución de problemas, entre otros. La IA es una ciencia que se ocupa del diseño de sistemas de computación capaces de mostrar características que asociamos a la inteligencia en el comportamiento humano: comprensión del lenguaje, razonamiento,​ aprendizaje y resolución de problemas, entre otros.
  
-Existen varios paradigmas teóricos sobre la Inteligencia Artificial+En 1956, John McCarthy acuñó ​la expresión «inteligencia artificial»,​ y la definió como «la ciencia e ingenio de hacer máquinas inteligentes,​ especialmente programas de cómputo inteligentes».5 
 + 
 +Para Nils John Nilsson son cuatro los pilares básicos en los que se apoya la inteligencia artificial:​ 
 + 
 +  * Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles. 
 +  * Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN). 
 +  * Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos). 
 +  * Razonamiento mediante una lógica formal análogo al pensamiento abstracto humano. 
 + 
 +También existen distintos tipos de percepciones y acciones, que pueden ser obtenidas y producidas, respectivamente,​ por sensores físicos y sensores mecánicos en máquinas, pulsos eléctricos u ópticos en computadoras,​ tanto como por entradas y salidas de bits de un software y su entorno software. 
 + 
 +Varios ejemplos se encuentran en el área de control de sistemas, planificación automática,​ la habilidad de responder a diagnósticos y a consultas de los consumidores,​ reconocimiento de escritura, reconocimiento del habla y reconocimiento de patrones. Los sistemas de IA actualmente son parte de la rutina en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia, como ajedrez de computador, y otros videojuegos.  
 +===== Aprendizaje automático (Machine Learning) ===== 
 + 
 +El aprendizaje automático o aprendizaje automatizado o aprendizaje de máquinas (del inglés, "​Machine Learning"​) es el subcampo de las ciencias de la computación y una rama de la inteligencia artificial, cuyo objetivo es desarrollar técnicas que permitan que las computadoras aprendan. De forma más concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una información suministrada en forma de ejemplos. 
 + 
 +Es, por lo tanto, un proceso de inducción del conocimiento. En muchas ocasiones el campo de actuación del aprendizaje automático se solapa con el de la estadística computacional,​ ya que las dos disciplinas se basan en el análisis de datos. Sin embargo, el aprendizaje automático también se centra en el estudio de la complejidad computacional de los problemas. Muchos problemas son de clase NP-hard, por lo que gran parte de la investigación realizada en aprendizaje automático está enfocada al diseño de soluciones factibles a esos problemas. El aprendizaje automático puede ser visto como un intento de automatizar algunas partes del método científico mediante métodos matemáticos. 
 + 
 +El aprendizaje automático tiene una amplia gama de aplicaciones,​ incluyendo motores de búsqueda, diagnósticos médicos, detección de fraude en el uso de tarjetas de crédito, análisis del mercado de valores, clasificación de secuencias de ADN, reconocimiento del habla y del lenguaje escrito, juegos y robótica.  
 + 
 +--- Fuente: [[https://​es.wikipedia.org/​wiki/​Aprendizaje_autom%C3%A1tico|Wikipedia:​ aprendizaje automático]] 
 + 
 +Referencias:​ 
 + 
 + * [[https://​stanford.edu/​~shervine/​teaching/​cs-229/​cheatsheet-machine-learning-tips-and-tricks.html|Machine Learning tips and tricks cheatsheet]]
  
-===== Redes Neuronales ​Produndas ​=====+===== Redes Neuronales ​Profundas ​=====
  
 LLamadas Deep Neural Networks, DNNs, o Deep Learning LLamadas Deep Neural Networks, DNNs, o Deep Learning
Línea 37: Línea 62:
 {{nnviz.png?​400|}} {{nnviz.png?​400|}}
  
-====== Topologías =====+===== Topologías =====
  
 {{:​ia:​neuralnetworks.png?​400|}} {{:​ia:​neuralnetworks.png?​400|}}
  
-====== Función de activación ​======+===== Función de activación =====
  
 En redes computacionales,​ la Función de Activación de un nodo define la salida de un nodo dada una entrada o un conjunto de entradas. Se podría decir que un circuito estándar de computador se comporta como una red digital de funciones de activación al activarse como "​ON"​ (1) u "​OFF"​ (0), dependiendo de la entrada. Esto es similar al funcionamiento de un [[https://​es.wikipedia.org/​wiki/​Perceptr%C3%B3n|Perceptrón]] en una [[https://​es.wikipedia.org/​wiki/​Red_neuronal_artificial|Red neuronal artificial]]. En redes computacionales,​ la Función de Activación de un nodo define la salida de un nodo dada una entrada o un conjunto de entradas. Se podría decir que un circuito estándar de computador se comporta como una red digital de funciones de activación al activarse como "​ON"​ (1) u "​OFF"​ (0), dependiendo de la entrada. Esto es similar al funcionamiento de un [[https://​es.wikipedia.org/​wiki/​Perceptr%C3%B3n|Perceptrón]] en una [[https://​es.wikipedia.org/​wiki/​Red_neuronal_artificial|Red neuronal artificial]].
Línea 47: Línea 72:
 --- https://​es.wikipedia.org/​wiki/​Funci%C3%B3n_de_activaci%C3%B3n --- https://​es.wikipedia.org/​wiki/​Funci%C3%B3n_de_activaci%C3%B3n
  
-===== Neurona sigmoidal ​======+===== Neurona sigmoidal =====
  
 [[https://​www.google.es/​search?​client=firefox-b&​dcr=0&​ei=8nouWsuqDYyxUYDelNgO&​q=1%2F%281%2Be**-z%29&​oq=1%2F%281%2Be**-z%29&​gs_l=psy-ab.3..0i30k1l4j0i5i30k1l2j0i8i30k1l4.5875.7137.0.7442.3.3.0.0.0.0.78.225.3.3.0....0...1c.1.64.psy-ab..0.3.223...0i8i7i30k1.0.JNslg0aRqmI|Gráfico de 1/​​(1+​e^​‑z)]] [[https://​www.google.es/​search?​client=firefox-b&​dcr=0&​ei=8nouWsuqDYyxUYDelNgO&​q=1%2F%281%2Be**-z%29&​oq=1%2F%281%2Be**-z%29&​gs_l=psy-ab.3..0i30k1l4j0i5i30k1l2j0i8i30k1l4.5875.7137.0.7442.3.3.0.0.0.0.78.225.3.3.0....0...1c.1.64.psy-ab..0.3.223...0i8i7i30k1.0.JNslg0aRqmI|Gráfico de 1/​​(1+​e^​‑z)]]
Línea 67: Línea 92:
 Ejemplo en [[https://​play.golang.org/​p/​vooYHLrwJS|Go Playground]] Ejemplo en [[https://​play.golang.org/​p/​vooYHLrwJS|Go Playground]]
  
-====== Entrenamiento de una red neuronal ​======+===== Entrenamiento de una red neuronal =====
  
  
  
-===== Supervisado ​=====+==== Supervisado ====
  
 Con vistas al **entrenamiento supervisado** de la red neural que desarrollamos hay que elaborar un conjunto de datos de entrenamiento procedentes de datos reales. Con vistas al **entrenamiento supervisado** de la red neural que desarrollamos hay que elaborar un conjunto de datos de entrenamiento procedentes de datos reales.
  
-===== No supervisado ​=====+[[https://​stanford.edu/​~shervine/​teaching/​cs-229/​cheatsheet-supervised-learning.html|Supervised Learning cheatsheet]] 
 + 
 +==== No supervisado ====
  
 Al ser un software conversacional hay que identificar qué interacciones suponen un refuerzo positivo y un refuerzo negativo a las respuestas proporcionadas por la NN. Al ser un software conversacional hay que identificar qué interacciones suponen un refuerzo positivo y un refuerzo negativo a las respuestas proporcionadas por la NN.
 +
 +[[https://​stanford.edu/​~shervine/​teaching/​cs-229/​cheatsheet-unsupervised-learning.html|Unsupervised Learning cheatsheet]]
  
 ===== Ejemplos ===== ===== Ejemplos =====
Línea 85: Línea 114:
 ConvNetJS is a Javascript library for training Deep Learning models (Neural Networks) entirely in your browser. Open a tab and you're training. No software requirements,​ no compilers, no installations,​ no GPUs, no sweat. ​ ConvNetJS is a Javascript library for training Deep Learning models (Neural Networks) entirely in your browser. Open a tab and you're training. No software requirements,​ no compilers, no installations,​ no GPUs, no sweat. ​
  
-====== Algoritmo de back-propagation ​======+===== Algoritmo de back-propagation =====
  
   * https://​www.youtube.com/​watch?​v=q555kfIFUCM   * https://​www.youtube.com/​watch?​v=q555kfIFUCM
ia/start.1533026206.txt.gz · Última modificación: 2018/07/31 08:36 por Joaquín Herrero Pintado