0% encontró este documento útil (0 votos)
35 vistas11 páginas

Machine Learning Parte 1

Este documento trata sobre el machine learning y sus diferentes tipos de algoritmos. Explica el aprendizaje supervisado y no supervisado, dando ejemplos de cada uno y cómo funcionan los principales algoritmos como la regresión, clasificación y agrupamiento.

Cargado por

Efren molina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas11 páginas

Machine Learning Parte 1

Este documento trata sobre el machine learning y sus diferentes tipos de algoritmos. Explica el aprendizaje supervisado y no supervisado, dando ejemplos de cada uno y cómo funcionan los principales algoritmos como la regresión, clasificación y agrupamiento.

Cargado por

Efren molina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Machine Learning

Stanford University & Instituto Politécnico Nacional

ESIME Unidad Zacatenco

Ingeniería en comunicaciones y electrónica

Jorge Peña
INTRODUCCIÓN

El machine learning o aprendizaje automático, como su nombre lo dice, es cuando


un software aprende derivado de lo que observa de ti o tu entorno, tal como tus
acciones, comportamiento, búsquedas en internet, etc., hay muchos ejemplos y uno
de ellos es el filtro que se tiene de los correos de spam, el ordenador aprende a
identificar dicho correo y lo mueve a la carpeta de correos spam.

En si es la ciencia que posibilita que un ordenador o PC pueda aprender sin ser


expresamente programado.

Ipso facto ¿Qué es el machine learning?

Sabemos que el machine learning son algoritmos los cuales hacen que la PC o
computador pueda ir actualizando su toma de decisiones para un mejoramiento o
aprendizaje continuo. En 1950 Arthur Samuel creo un programa de damas chinas
en el cual el propio Arthur jugaba y cada vez que jugaba el programa por el
algoritmo con el cual estaba programado aprendía las jugadas y movimientos, para
que la siguiente partida dicho programa fuera mejorando a tal grado de ser mejor
jugador que el mismo Arthur, por lo tanto, Arthur Samuel definió el aprendizaje
automático como el campo de estudio que da a las computadoras la capacidad de
aprender sin enseñarles explícitamente, pero este es un concepto muy antiguo, por
lo que Tom Mitchell en la década de los 2010’s definió que a raíz de n tareas T y
n probabilidades P se puede mejorar una experiencia tipo E, en si por cada tarea
echa por el usuario que registra el algoritmo hay una probabilidad que se suma
para crear una experiencia en conjunto.

Pero cuando hablamos de machine learning como hemos dicho también hablamos
de algoritmos, hay varios tipos de algoritmos de aprendizaje, pero los dos tipos
principales de algoritmos son:

1. Algoritmos de aprendizaje supervisado.

Dichos algoritmos consisten en enseñar a la PC o computador como hacer algo.


2. Algoritmos de aprendizaje no supervisado.

Dichos algoritmos consisten en hacer que la PC o computador aprendan por si


solos.

APRENDIZAJE SUPERVISADO

Uno de los problemas más comunes en el machine learning es el aprendizaje


supervisado, no por su dificultad, sino por su manera en la cual se aplica.

Antes de entrar en definiciones utilicemos un ejemplo muy simple del aprendizaje


supervisado: Tenemos los datos de diferentes precios en función de los metros
cuadrados del terreno, y un amigo quiere vender su casa, pero no sabe que precio
dar, su casa tiene 70𝑚2 por lo tanto necesita obtener un precio adecuado para la
venta de su casa o terreno, podemos utilizar una recta con origen en el primer
precio, o podemos utilizar una función cuadrática con origen en el primer precio,
por lo tanto la gráfica se ve de la siguiente manera y tendrá diferentes precios:

𝑃(𝑚2 )
600

500

400

Precio en 1000’s USD 300

200

100

0
0 50 70 1 0 0 150 200 250 300

Tamaño en 𝑚2
El precio que tenemos respecto a la recta es ≈ 150k USD mientras el precio que
tenemos en la función cuadrática es ≈ 250k USD, por lo tanto, podemos ver que en
la función cuadrática es la que conviene utilizar más. Este es un ejemplo del
algoritmo de aprendizaje supervisado, por lo tanto, el término aprendizaje
supervisado se refiere a que dimos al algoritmo un conjunto de datos, los cuales
son llamados “respuestas correctas”. Es decir, dimos un conjunto de datos de casas
en los cuales para cada ejemplo indicamos cuál es el precio correcto. Se indicó el
precio real por el cual se vendió la casa y la tarea del algoritmo fue solo generar
más cantidad de estas respuestas correctas, así como se hizo para la casa nueva
que su amigo quiere vender.

A esto también se le llama un problema de regresión, Un problema de regresión


es aquel donde intentamos predecir la salida de un valor continuo, por lo tanto,
podemos decir que la regresión intenta predecir el valor de un atributo de valor
continuo.

Otro ejemplo de aprendizaje supervisado es el siguiente: Se intenta predecir cual


es la probabilidad de que un tumor sea benigno o maligno en el cáncer de mama,
donde tenemos el resultado en función del tamaño del tumor, con 10 resultados
diferentes.

𝑅(𝑡)
1.2

Si 1

0.8

0.6
¿Maligno?
0.4

0.2

No 0
0 2 4 6 8 10 12

Tamaño del tumor


Este problema se le denomina problema de clasificación. Se refiere al hecho, de
que intentamos predecir un valor discreto, una salida cero o uno (maligno o
benigno). En la mayoría de los problemas de clasificación tenemos múltiples
opciones o variables con diferentes significados cada una, si tomamos como
ejemplo la predicción de cáncer podemos tener hasta 3 opciones de tipo de
cáncer.

0, 1, 2, 3
Benigno Tipo de cáncer

Como hemos visto en el machine learning podemos utilizar un numero finito de


valores o características, pero la mayoría de las veces necesitamos un numero
infinito de valores ya que no sabemos cuántos valores o características utilizaremos
dentro de un problema, entonces si nuestro algoritmo de aprendizaje tiene muchos
atributos, valores o características con las cuales hacer predicciones ¿Cómo lidiar
con un número infinito de características? ¿Cómo se almacena un número infinito
de valores en una PC u ordenador si este mismo tiene un límite de memoria?
Resulta que tenemos un algoritmo llamado Maquina de Vector Soporte este
conlleva un truco matemático limpio que nos permite que un ordenador se enfrente
a un número infinito de características, nos adentraremos más en un futuro con
este tipo de algoritmo

Para poder enfatizar correctamente en este capítulo decimos que en el lenguaje


supervisado nosotros tenemos y damos conjuntos o datos que sabemos que son
correctos, teniendo una idea que hay una relación entre dichos datos y
características que damos, ósea entre el input y el output.

Dentro de los problemas del aprendizaje supervisado hay dos categorías principales
los problemas de regresión (regression) y problemas de clasificación (clasification).
En los problemas de regresión tenemos variables en un mapa o grafico los cuales
son valores continuos, y en los problemas de clasificación como su nombre lo dice,
los valores se clasifican a través de finitas o infinitas variables, datos y/o
características.

APRENDIZAJE NO SUPERVISADO

El aprendizaje no supervisado es el segundo problema más común que se tiene en


el machine learning.

Las gráficas o datos que se dan en el aprendizaje no supervisado son diferentes al


aprendizaje supervisado, por ejemplo, en el aprendizaje supervisado teníamos
datos los cuales podíamos distinguir, mientras que en el aprendizaje no supervisado
tenemos datos homogéneos o que se ven de la misma manera.

Grafica de aprendizaje supervisado

1.2

0.8

𝑋
0.6
2

0.4

0.2

0
0 0.2 0.4 𝑋01. 6 0.8 1 1.2

Como podemos ver en la grafica de aprendizaje supervisado diferenciamos dos


tipos de datos los cuales pueden representar cualquier cosa, pero para facilidad
practica podemos decir que los puntos rojos representan tumores cancerígenos
malignos, y los puntos azules con blanco presentan tumores cancerígenos benignos.
Grafica de aprendizaje no supervisado

1.2

0.8

𝑋
0.6
2

0.4

0.2

0
0 0.2 0.4 𝑋01. 6 0.8 1 1.2

Como podemos ver en la grafica de aprendizaje no supervisado nos dan datos


que son diferentes a el aprendizaje supervisado, en esta grafica tenemos datos
que tienen una misma etiqueta, ninguna o que todos tienen el mismo aspecto.
Nos dan el conjunto de datos, pero no nos dicen que hacer con ellos y no nos
dicen que es cada dato puntualmente.

El algoritmo de aprendizaje no supervisado lo que hace con estos datos es dividirlos


y agruparlos de tal manera que nos queden dos grupos o divisiones.

A este tipo de trabajo se le denomina algoritmo de agrupamiento.


Un ejemplo de este tipo de algoritmo se puede representar con Google news,
Spotify, YouTube music, Amazon, etc., ya que, al momento de entrar a alguna
sección de noticias, música o compras, los artículos o canciones se relacionarán o
agruparán de tal manera que el tema principal siempre sea la cabecera o el nodo
principal.

Aplicación

Subgéneros Genero

Grupo de artistas

Como podemos ver en el diagrama anterior lo que hace el algoritmo de


agrupamiento es agrupar una colección de artistas en un género principal definido
(música electrónica).

Pero el aprendizaje no supervisado y los algoritmos de agrupamiento tienen un


mundo entero de aplicaciones tales como servidores, analíticas de redes sociales,
segmentación de marketing, analíticas de datos para la astronomía, etc.

Aparte del algoritmo de agrupamiento tenemos otro tipo de algoritmo llamado


fiesta de cóctel, pero ¿Por qué fiesta de cóctel?

Alguna vez hemos estado en un cóctel, donde al haber múltiples personas las cuales
hablan al mismo tiempo es una tarea difícil poder escuchar a la persona que tienes
enfrente de ti o con la que estas hablando, por lo cual, digamos que es un cóctel
de dos personas en una habitación, tenemos dos micrófonos los cuales registran
las voces de las personas pero de diferentes ángulos, posiciones, secciones, etc., a
lo mejor la persona 1 hablara más fuerte en el micrófono 1 que en el 2, y la persona
2 hablara más fuerte en el micrófono 2 que en el 1, por lo tanto podemos decir
que las personas y los micrófonos quedan de la siguiente manera.

𝑃1

𝑃2

La persona 1 cuenta del 1 a 10 en inglés, mientras que la persona 2 cuenta del 1 a


10 en español por lo que la pista de sonido de la persona 1 queda de la siguiente
manera:

𝑃1

Mientras que la pista de sonido de la persona 2 queda de la siguiente manera:

𝑃2

Entonces si aplicamos el algoritmo fiesta de coctel tenemos que los audios


superpuestos se modificaran y combinaran de tal manera que el audio de la persona
1 y la persona dos quedaran de la siguiente manera:

𝑃1
𝑃2

Los resultados de los audios nos dan que la persona 1 dice la numeración sin
ninguna intromisión del audio de la persona 2, y de la misma manera pasa con la
persona 2, es algo muy impresionante y de seguro te estarás preguntando que dicho
algoritmo ha de tener demasiadas líneas de código y se tiene que vincular a muchas
librerías de Java, Python, C#, etc., pero si te digo que gracias al trabajo de
científicos e ingenieros dichos resultados se pueden hacer en una sola línea de
código.

[W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).x*)*x’);

Como podemos ver, si tenemos un entorno de programación adecuado tenemos la


posibilidad de implementar algoritmos de aprendizaje relativamente cortos cuando
se programan, para estos casos utilizaremos GNU Octave un programa y lenguaje
de programación programado en C++, pero de igual manera podemos utilizar
MATLAB.

Descomponiendo la línea de código podemos visualizar diferentes funciones como,


por ejemplo.

svd = Descomposición del valor singular

Si implementamos Octane con nuestro entrono de desarrollo tenemos un


desarrollo en la practica más estable, ya que si lo hacemos con el puro entorno de
desarrollo tendremos que utilizar varias líneas de código y librerías.

Dicho todo lo anterior, podemos englobar el aprendizaje no supervisado como


problemas los cuales no sabemos cómo se verán los resultados. Podemos crear o
derivar estructuras para los datos dados que no necesariamente deben de estar
clasificados en un entorno finito o infinito.

Podemos derivar dichas estructuras en grupos los cuales tengan un relación o


correlación entre las variables que tienen los datos. También sabemos que el
aprendizaje no supervisado no esta basado en los resultados predichos.

(Fin parte 1).

También podría gustarte