Esta sección tiene como objetivo que tengas una visión general acerca del tema central de este libro: la extracción de conocimiento a partir de grandes cantidades de datos. Como tal vez te imagines esto no es una tarea sencilla ya que involucra distintas áreas del conocimiento científico y un buen número de tecnologías. No te preocupes, vamos a empezar por revisar los conceptos básicos procurando que tengas una buena idea de donde y cuando aplicar estas técnicas. Algunas de las preguntas que podrás responder al final del capítulo son:
- ¿Qué buscamos en los datos?
- ¿Cuál es proceso para el descubrimiento de conocimiento en bases de datos?
- ¿Qué tecnologías intervienen en este proceso?
- ¿Qué técnicas de minería de datos aprenderás a utilizar?
- ¿Dónde podemos aplicar la minería de datos?
- ¿Que retos y limitaciones existen actualmente en el área?
Cuando visitamos al médico, confiamos en que él haya adquirido un
amplio conocimiento sobre medicina, a base de interactuar con su entorno y de su
capacidad de procesar la información que lo rodea. Utilizando este
conocimiento él podrá ser capaz de darnos un diagnóstico acertado.
De la misma manera, si visitamos a un robot-médico, éste deberá contar
con amplio conocimiento sobre medicina, aunque en su caso
sea una inteligencia artificial.
Según Rusell y Norvig [-@russell2016artificial] el término inteligencia
artificial se aplica cuando una máquina imita las funciones cognitivas que
nosotros los humanos asociamos con otras mentes humanas, como por ejemplo:
aprender y resolver problemas. Precisamente, una de las primeras
aplicaciones de la inteligencia artificial han sido los Sistemas Expertos,
los cuales pueden emular la toma de decisiones de un humano experto, tal como
un médico. Un exponente importante de este tipo de sistemas fue Mycin el
cual se basaba en un
motor de inferencia
sencillo, que manejaba una base de
conocimiento de aproximadamente unas 500 reglas. Estas reglas representaban el
conocimiento de los médicos. Una desventaja de este tipo de sistemas era
que se requería de mucho esfuerzo y recursos para extraer el conocimiento de
los expertos. Se debía entrevistarlos utilizando técnicas de elicitación del
conocimiento para después representar dicho
conocimiento
de alguna manera y almacenarlo en una base de conocimiento.
Digamos que se realizaba una extracción manual del conocimiento a partir de la
experiencia de los expertos. Cualquier desarrollador que ha tenido que "extraer"
de un usuario los requerimientos de un sistema, te dirá que esa es una tarea cercana a lo imposible.
No es descabellado preguntarnos entonces: ¿el conocimiento "humano" podrá ser
extraído de otras fuentes?, ¿y si contamos con una base de datos de miles de
diagnósticos realizados anteriormente?, ¿podremos extraer de esta base de datos
un nuevo conocimiento?. Este es el tipo de preguntas son las que se trata de
contestar el área de investigación en inteligencia artificial, pero como
veremos más adelante, en la búsqueda de respuestas se involucran muchas otras
áreas de investigación.
(KDD) Al proceso de extraer conocimiento útil a partir de datos se le denomina Descubrimiento de Conocimiento en Bases de Datos o KDD ya que es muy común utilizar las siglas en inglés de "Knowledge Discovery from Databases". Este proceso puede hacerse manualmente, expertos en algún dominio pueden consultar y analizar bases de datos para descubrir patrones que les ayuden a tomar decisiones. Por ejemplo, en la película The Big Short podemos ver al inversionista Michael Burry analizando grandes cantidades de datos, para después predecir el eminente desplome de la burbuja inmobiliaria. Como podemos imaginar, este proceso no es trivial, no es simplemente hacer una consulta en una base de datos o en un motor de búsqueda. Es necesario encontrar patrones que involucran diferentes variables y relaciones no lineales entre ellas. La extracción de conocimiento en bases de datos, en general se realiza de manera semi-automática, es un proceso en el cual se aplican distintas técnicas como aprendizaje automático, reconocimiento de patrones, computación inteligente, estadística, procesamiento de lenguaje natural, visualización, ingeniería de software entre otras. La Minería de Datos de hecho es solo uno de los componentes del proceso de KDD. Veamos en que consiste el proceso, según el esquema de Brachman y Anand:
