Вы находитесь на странице: 1из 4

Python orientado a la IA

Por varios factores:

1. Mayor comunidad, para que un lenguaje sea preferible sobre otro


debe tener una gran comunidad que lo respalde en dicha área. En esto
python en superior a Java.
2. Mayor cantidad de bibliotecas, por (1) es claro que hay una mayor
cantidad de recursos open-source disponibles en Python que en java
para trabajar con IA.
3. Los prototipos se pueden programar más rápido, al ser python
un lenguaje dinámico y con un tipado débil, esto permite desarrollar
más rápidamente que con Java, donde se debe explicitar mucho más los
tipos de datos. Esto puede provocar que sea más simple de aprender a
programar en Python que con Java.
4. Mayores recursos para aprender IA, dado (1, 2, 3) hay muchas
plataformas de educación online, cursos, libros, artículos de blog, etc
que aparecen cada día para aprender IA con Python.

https://es.quora.com/Por-qu%C3%A9-es-Python-m%C3%A1s-preferible-para-la-
inteligencia-artificial-que-Java

Dentro de la Inteligencia Artificial podemos encontrar distintas ramas, entre las que se
destacan:
Machine Learning
El Machine Learning es el diseño y estudio de las herramientas informáticas que utilizan
la experiencia pasada para tomar decisiones futuras; es el estudio de programas que
pueden aprenden de los datos. El objetivo fundamental del Machine
Learning es generalizar, o inducir una regla desconocida a partir de ejemplos donde
esa regla es aplicada. El ejemplo más típico donde podemos ver el uso del Machine
Learning es en el filtrado de los correo basura o spam. Mediante la observación de miles
de correos electrónicos que han sido marcados previamente como basura, los filtros de
spam aprenden a clasificar los mensajes nuevos.
El Machine Learning 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. Pero para poder abordar cada uno de estos
temas es crucial en primer lugar distingir los distintos tipos de problemas de Machine
Learning con los que nos podemos encontrar.

Aprendizaje supervisado
En los problemas de aprendizaje supervisado se enseña o entrena al algoritmo a partir
de datos que ya vienen etiquetados con la respuesta correcta. Cuanto mayor es el conjunto
de datos, el algoritmo podrá generalizar en una forma más precisa. Una vez concluido el
entrenamiento, se le brindan nuevos datos, ya sin las etiquetas de las respuestas correctas,
y el algoritmo de aprendizaje utiliza la experiencia pasada que adquirió durante la etapa
de entrenamiento para predecir un resultado.
Aprendizaje no supervisado
En los problemas de aprendizaje no supervisado, el algoritmo es entrenado usando un
conjunto de datos que no tiene ninguna etiqueta; en este caso, nunca se le dice al algoritmo
lo que representan los datos. La idea es que el algoritmo pueda encontrar por si solo
patrones que ayuden a entender el conjunto de datos.
Aprendizaje por refuerzo
En los problemas de aprendizaje por refuerzo, el algoritmo aprende observando el
mundo que le rodea. Su información de entrada es el feedback o retroalimentación que
obtiene del mundo exterior como respuesta a sus acciones. Por lo tanto, el sistema aprende
a base de ensayo-error. Un buen ejemplo de este tipo de aprendizaje lo podemos encontrar
en los juegos, donde vamos probando nuevas estrategias y vamos seleccionando y
perfeccionando aquellas que nos ayudan a ganar el juego. A medida que vamos
adquiriendo más practica, el efecto acumulativo del refuerzo a nuestras acciones
victoriosas terminará creando una estrategia ganadora.
Deep Learning
El Deep Learning constituye un conjunto particular de algoritmos de Machine
Learning que utilizan estructuras profundas de redes neuronales para encontrar
patrones en los datos. Estos tipos de algoritmos cuentan actualmente con un gran interés,
ya que han demostrado ser sumamente exitosos para resolver determinados tipos de
problemas; como por ejemplo, el reconocimiento de imágenes. Muchos consideran que
este tipo de modelos son los que en el futuro nos llevaran a resolver definitivamente el
problema de la Inteligencia Artificial.
Razonamiento probabilístico
El razonamiento probabilístico se encarga de lidiar con la incertidumbre inherente de
todo proceso de aprendizaje. El problema para crear una Inteligencia Artificial entonces
se convierte en encontrar la forma de trabajar con información ruidosa, incompleta e
incluso muchas veces contradictoria. Estos algoritmos están sumamente ligados a
la estadística bayesiana; y la principal herramienta en la que se apoyan es en el teorema
de Bayes.
Algortimos genéticos
Los algoritmos genéticos se basan en la idea de que la madre de todo aprendizaje es
la selección natural. Si la Naturaleza pudo crearnos, puede crear cualquier cosa; por tal
motivo lo único que deberíamos hacer para alcanzar una Inteligencia Artificial es
simular sus mecanismos en una computadora. La idea de estos algoritmos es imitar a la
Evolución; funcionan seleccionando individuos de una población de soluciones
candidatas, y luego intentando producir nuevas generaciones de soluciones mejores que
las anteriores una y otra vez hasta aproximarse a una solución perfecta.

https://relopezbriega.github.io/blog/2017/06/05/introduccion-a-la-inteligencia-
artificial/

Las redes neuronales artificiales

El estudio del cerebro humano y su posterior simplificación para crear un modelo


artificial fue la pieza clave para dar el salto que revolucionaría las tecnologías
modernas. Su implantación no se puso en práctica hasta una década después,
en torno al año 2008, ya que se requiere una gran capacidad de procesamiento
para poner en marcha una red neuronal.

La idea básica que hay detrás de las redes neuronales es muy sencilla a la
par que intuitiva: obtener datos reales, pasarlos a las celdas neuronales
programas y que el conjunto de ellas actúe en consecuencia sin que nadie le
tenga que decir lo que hacer. Esto es posible debido a una etapa previa de
aprendizaje, en la que se centra exclusivamente en aprender del entorno para
cometer en el futuro el menor número de errores posible. Por ejemplo, le
enseñamos la imagen de un perro y le decimos a la propia red que es un perro.
De esta forma ya almacena ciertos parámetros que utilizará para reconocer a
estos animales.

Las redes neuronales más utilizadas y que mejores resultados ofrecen son
las redes multicapa o perceptrón multicapa. Se basan en la programación de
varias capas de redes neuronales (cada capa es un conjunto de redes
neuronales) cuyas salidas son entradas para la siguiente capa. Es decir, los
datos de salida de la capa neuronal “i” son las entradas para las neuronas
artificiales de la capa “i+1”. En base a los resultados que vayan sacando las
distintas capas, se va decidiendo sobre el dato de salida final.

Esquema de perceptrón multicapa.


Puede que, al hablaros de programación de células neuronales, el termino se
complique y todo parezca muy abstracto. Para afianzar ideas: una célula
neuronal no es más que una función programada que, para ciertos datos de
entrada, obtiene una salida basándose en un aprendizaje previo y sirviéndose
de datos de salida de otras células neuronales.

Habitualmente, podemos distinguir los siguientes tipos de capas:

 Capa de entrada: Constituida por aquellas neuronas que introducen los


patrones de entrada en la red. En estas neuronas no se produce
procesamiento.
 Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen
de capas anteriores y cuyas salidas pasan a neuronas de capas
posteriores.
 Capa de salida: Neuronas cuyos valores de salida se corresponden con
las salidas de toda la red.

Aunque parezca algo básico, las redes neuronales necesitan una gran
capacidad de procesamiento. Habitualmente, el mejor dispositivo electrónico
para hacer funcionar una red neuronal son las tarjetas gráficas gracias a
su potencia de cálculo.

https://billionbytes.es/redes-neuronales-e-inteligencia-artificial-cuales-son-sus-
diferencias-19531

Вам также может понравиться