Revista Informática

Aprendizaje Máquina - Conceptos básicos

Publicado el 04 febrero 2017 por Miguel Miguel Gómez Cuesta @mgomezcuesta

Aprendizaje Máquina - Conceptos básicos

    Inteligencia Artificial: Es el concepto más amplio de los tres y se define como la inteligencia exhibida por máquinas. Una máquina inteligente es la que percibe su entorno y lleva a cabo acciones que maximicen sus posibilidades de éxito para conseguir un objetivo o tarea. En general, este término se aplica cuando una máquina imita las funciones de los humanos , como por ejemplo: aprender, resolver problemas, hacer predicciones...
    Google emplea Deep Learning en sus algoritmos de reconocimiento de voz y reconocimiento de imagen basados en el software libre TensorFlow
    En esta competición el ganador , el equipo Netflix ya empezó a promover estas técnicas en 2009 cuando puso en marcha la competición NetflixPrize . El objetivo era mejorar la predicción sobre que películas van a gustar más a sus usuarios basándose en sus preferencias anteriores. BellKor's Pragmatic Chaos, obtuvo un premio de 1 Millón de dolares
    En Amazon son pioneros aplicando estás técnicas en tareas como motores de recomendación, búsqueda de productos y detección de fraudes de comercio electrónico. Además están buscando científicos especializados en machine learning para expandirse a muchas otras áreas. lo utilizan para adelantarse a tus gustos y los investigadores del MIT (Instituto Tecnológico de Massachusetts) para predecir el futuro.
    Los es un área en la que muchas empresas están ya aplicando técnicas de aprendizaje automático y aprendizaje profundo y se están realizando coches inteligentesgrandes inversiones. Tenemos muchos ejemplos de los que poder hablar, hemos seleccionado alguno de los proyectos más interesantes:

La mayoría son vehículos autónomos que están dando mucho que hablar y funcionan con Deep Learning, lo que les permite saber por dónde circulan, reconocer los obstáculos que tienen a su alrededor, aprender de los gustos de sus propietarios y muchas cosas más

    FF91 Faraday Future: Aprende sobre los gustos y forma de conducir de su dueño, como medida de seguridad reconoce los rasgos faciales, y esta provisto de más de 30 elementos de reconocimiento (cámaras y sensores)
    Ninssan IDS Concept: Es el primer vehículo de Nissan con Intelligent Driving, un nuevo concepto de tecnología de conducción autónoma en la que conductor y vehículo entran en comunicación directa para mejorar la seguridad de la conducción
    Toyota Concept-i: Sistema integrado de inteligencia artificial denominado Yui. Realidad aumentada, control por voz e inteligencia artificial son los 3 pilares de este modelo.
    MobileEye: Empresa israelí del sector automovilístico que en colaboración con BMW trabaja en varios modelos autónomos para segundo semestre del 2017
    Google y otros: El coche de google no tiene ni volante ni pedales y fue una de las empresas pioneras en invertir en este sector.

Otras aplicaciones:

Colorear imágenes en blanco y negro: por la enseñanza de las computadoras para reconocer objetos y aprender lo que deben parecerse a los seres humanos, el color puede ser devuelto a imágenes en blanco y negro y vídeo.

    Marketing: Selección de los clientes con mayor potencial para contratar un producto bancario. Centrar las campañas de publicidad en un público mucho menor ayuda a reducir los coste de inversión y maximiza el ratio de acierto. Logrando en definitiva mayor beneficio a las empresas que utilicen aprendizaje automático como estrategia de marketing.
    Análisis y generación de informes: los sistemas con Aprendizaje Automático pueden analizar los datos e informar sobre ellos con un lenguaje natural, similar al humano, acompañándolos de infografías y otros elementos gráficos que los hagan más comprensibles.
    Predicción procedimientos judiciales: recientemente un grupo de investigadores británicos y estadounidenses han desarrollado un sistema capaz de predecir correctamente la decisión de un tribunal, basándose en los hechos y pruebas presentados.
    Sanidad: Mejorando la atención sanitaria preventiva.
    Recomendaciones de productos (bancarios, tecnológicos, de salud y belleza, ...)

Toptal blog es una web de referencia para ingenieros de software, desarrolladores, diseñadores, gestores de proyectos y empresarios dónde encontrarán un montón de recursos,análisis, estudios de mercado, tutoriales y conocimientos que les ayudarán a estar en la vanguardia de la tecnología.

A continuación vamos a presentar los conceptos claves y algoritmos detrás del aprendizaje máquina, empezando por la unidad más simple, el perceptrón hasta llegar a los conceptos de aprendizaje profundo.

Aprendizaje supervisado: Un programa que se entrena con un conjunto predefinido "ejemplos de entrenamiento". Estos ejemplos de entrenamiento facilitan la habilidad de alcanzar una conclusión acertada cuando se le pasa nuevos datos, diferentes de los datos de entrenamiento.

Aprendizaje no supervisado: Un programa que recibe un gran cantidad de datos y debe encontrar relaciones y patrones dentro de esos datos.

Es un bloque de construcción básico de redes neuronales.

Supongamos que tenemos puntos n en el plano, con la etiqueta '0' y '1'. Nos dan un nuevo punto y queremos adivinar su etiqueta. Un buen acercamiento podría ser mirar al vecino más cercano y devolver la etiqueta desde ese punto. Pero una manera un poco más inteligente de hacer las cosas, sería elegir una línea que separe mejor los datos etiquetados y usar eso como clasificador.

El entrenamiento del perceptrón consiste en alimentarlo con múltiples muestras de entrenamiento y el cálculo de la salida para cada uno de ellos.

Inconvenientes del Perceptrón Simple

El enfoque del perceptrón simple para el aprendizaje profundo, tiene un gran inconveniente: sólo puede aprender funciones linealmente separables

Una red neuronal es en realidad una composición de perceptrones conectados de diferentes maneras, y que operan con diferentes funciones de activación.

Aprendizaje Máquina - Conceptos básicos

La red neuronal tiene las siguientes características:

    Una entrada, salida, y una o más capas ocultas. La figura anterior muestra una red con una capa de entrada de 3 unidades, 4-unidades de capa oculta y una capa de salida con 2 unidades (los términos unidades y neuronas son intercambiables).
    Cada unidad es un perceptrón simple, como el descrito anteriormente.
    Las unidades de la capa de entrada sirven como entradas para las unidades de la capa oculta, mientras que las unidades de la capa oculta son entradas para la capa de salida.
    Cada conexión entre dos neuronas tiene un peso w (similar a los pesos perceptron).
    Cada unidad de la capa t suele estar conectada a cada unidad de la capa t anterior - 1 (aunque se podrían desconectar mediante el establecimiento de su peso a 0).

Autoencoders: Es una red neuronal que tiene como objetivo aprender una representación (codificación) comprimida y distribuida de un conjunto de datos

Máquinas de Boltzmann restringuidas o MBR: Es una red neuronal generativa que puede aprender una distribución de probabilidad sobre su propio conjunto de entradas

Autoencoders apilados: Como su nombre lo indica, esta red consiste en múltiples autoencoders apilados.

Redes de creencias profundas o DBN: Al igual que con autoencoders, también podemos apilar máquinas de Boltzmann, para crear una clase conocida como redes de creencias profundas.

Redes convolucionales: una clase particularmente interesante y especial de las redes neuronales de tipo feedforward, orientadas al reconocimiento de imágenes.

    Limpiar datos: El 70% del tiempo se gasta en. Gran cantidad de datos tienen campos vacíos que nos dificultan ver la información relevante.
    Convertir datos: Los datos deben ser convertidos a formato numérico para que los algoritmo de aprendizaje puedan trabajar.
    Información heterogénea: Cuando se trabaja con grandes volúmenes de datos o varias fuentes de datos, la información es muy heterogénea.
    Normalizar los datos. Se debe asignar un peso a cada característica identificada

En los próximos artículos

    Hablaremos sobre las tecnologías Java que nos van a permitir poner en practica lo que hemos aprendido hasta ahora. Esperamos que haya sido de vuestro interés.


Si te ha gustado, recuerda en redes sociales.

Aprendizaje Máquina - Conceptos básicos

Aprendizaje Máquina - Conceptos básicos


Volver a la Portada de Logo Paperblog

Revista