Aprendizaje No Supervisado: Una Aplicación A La Compresión de Imágenes Usando K-Means

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

Aprendizaje No Supervisado

Una Aplicación a la Compresión


de Imágenes usando K-means
Agenda
1. Objetivos
2. Aprendizaje Supervisado vs No Supervisado
3. K-means
4. Aplicación de k-means para la compresión de imágenes
5. Implementación de k-means
6. Conclusiones
Objetivos
1. Describir los conceptos del aprendizaje no supervisado. RdA1
2. Diferenciar el aprendizaje no supervisado del supervisado. RdA1
3. Conocer el algoritmo de aprendizaje no supervisado k-means y su
aplicación a un problema de telecomunicaciones. RdA2
4. Utilizar k-means para comprimir imágenes. RdA3
Aprendizaje Supervisado
Aprendizaje No Supervisado
Aplicaciones de Aprendizaje No Supervisado
Algoritmo k-means
Cuántas tallas (# de clusters k) de camisetas es
adecuado para el siguiente dataset?
3 clusters (tallas) : Small, Medium, Large ?

5 clusters (tallas): Extra Small, Small, Medium, Large, Extra Large ?

4 clusters: Extra Small, Small, Medium, Large?

El número de clusters con menor distorsión?


Compresión de Datos
Sin pérdida

● Codificación de Huffman
● Codificación Aritmética
● Compresión RLE
(Run-length encoding)

Con pérdida

● Compresión por fractales


● Codificación por transformación (e.g., Transformada discreta del coseno,
k-means)
K-means para comprimir imágenes
Almacenamiento de una imagen de 750x1000 píx.
Sin comprimir:

● Cada pixel tiene 3 canales: R, G, y B.


● Cada canal requiere 8 bits (valores de 0 - 255)
● Cada píxel requiere 3*8 bits de almacenamiento
● Almacenamiento Requerido = 750*1000*3*8 bits = 2.25 MegaBytes

Combinaciones de posibles colores = 256*256*256 = 16 777 216


Percepción visual
Colores cercanos son muy parecidos al ojo humano

Pixel x

Pixel y

● K-means reemplaza colores parecidos por uno de los k


centroides (el más cercano)
● Las características son los valores R, G, B.
Compresión de imágenes con k-means
● E.g., si k=64=26, se requiere:
○ 750*1000*6+64*3*8 bits = 0.56 MegaBytes vs 2.25 sin compresión
○ 75% menos espacio de almacenamiento
● E.g., si k=256=28, se requiere:
○ 750*1000*8+256*3*8 bits = 0.75 MegaBytes vs 2.25 sin compresión
○ 66 % menos espacio de almacenamiento
Implementación de k-means en Python
Python ofrece una implementación de k-means en la librería sklearn.

sklearn.cluster.KMeans

Usaremos la plataforma Google Colab para implementar k-means

https://colab.research.google.com/drive/1xO7VJEaPWs-RTZ20TsgyRMUzmv_p
OnBB#scrollTo=-7uKBLjULeHK
Resumen y Conclusiones
● A.N.S no requiere etiquetas
● A.N.S infiere las etiquetas
● K-means usa centroides para construir clusters
● Hay agrupaciones mejores que otras (inicialización aleatoria)
● Criterios para escoger: matemática (distorsión) ó no matemática
● K-means: algoritmo de compresión con pérdidas de imágenes basado en
percepción visual.
● Python ofrece librerías listas para implementar k-means y otros
algoritmos de A.N.S
Existe vida más allá de k-means?
● K-means++ (una manera inteligente de inicializar centroides)
● Clustering no lineal
● Clustering jerárquico
● Clustering espectral
● ...
Referencias
1. W3schools, “RGB Calculator”. https://www.w3schools.com/colors/colors_rgb.asp
2. Satyam Kumar, “Image Compression using K-Means”
https://towardsdatascience.com/image-compression-using-k-means-clustering-aa0c91bb0eeb
3. Andrew Ng, “Machine Learning”. Stanford University on Coursera.
4. Emily Fox & Carlos Guestrin. “Machine Learning Specialization”. University of Washington on
Coursera.
5. SKlearn, K-Means, https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html
6. Christopher Bishop, “Pattern Recognition and Machine Learning”, Springer, 2006.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy