Saltar navegación

Aprendizaxe supervisada

Proxecto de ML con aprendizaxe supervisada: Distinguir texto

Obxectivo: Imos entrenar un modelo de ML para que distinga entre 2 tipos de texto: Definición de círculo e definición de cadrado

Presentación da plataforma que imos usar: LearningML.(Créditos)

  • Imos empregar unha plataforma de libre uso e sen rexistro de Juan David Rodríguez García , LearningML
  • Nela, imos poder realizar os 3 pasos da técnica de aprendizaxe supervisada: Adestramento, Aprendizaxe e Avaliación
  • O acceso ao editor de modelos realízase a través da url https://v2.learningml.org/?locale=gl
  • Podes acceder ó manual de uso na propia plataforma.
  • A primeira pantalla  de LearningML presenta 3 tarxetas para seleccionar o tipo de datos que queres recoñecer no teu modelo: textos, imaxes ou conxuntos numéricos. Ao facer clic en calquera delas preséntase a pantalla para construír o modelo do tipo seleccionado.
    Plataforma LearningML

Desenrolo do modelo: Recoñecemento de texto

Rexistra no teu portafolio o proceso

Que é un modelo de IA?

As técnicas de Machine Learning teñen como obxectivo construír moldes ou estruturas denominados modelos, capaces de realizar tarefas para as que se require algún tipo de "intelixencia" como clasificar, recoñecer ou xerar obxectos (textos, imaxes, vídeo, música, etcétera).

A característica máis importante de calquera destas técnicas é a súa natureza inductiva, pois o modelo obtense como resultado dunha análise estatística de grandes cantidades de datos de exemplo.

A análise e a consecuente construción do modelo, realízao algún dos moitos algoritmos de Machine Learnig existentes.

Pódese concluír que calquera técnica de Machine Learning consiste en:

a construción dun modelo de intelixencia artificial a partir da análise estatística dun conxunto de datos de exemplo.

A aprendizaxe supervisada é o máis habitual en Machine Learning (ML) e Deep Learning (DL) .

A aprendizaxe supervisada prodúcese en tres fases:

  1. Adestramento. O usuario recompila un conxunto de datos de exemplo do tipo que se desexa recoñecer ou clasificar e etiquetaos coa clase á que pertence. Trátase dun proceso manual: é o humano quen realiza e organiza estes datos.
    • O primeiro paso é sempre recompilar os datos e verificar que sexan válidos, útiles e completos. A estes datos etiquetados chamarémolos conxunto de datos (dataset).
    • Dividimos o dataset, obtendo o conxunto de adestramento (trainset, tipicamente o 80%) e o de proba (testset, habitualmente o 20% restante).
      Distribución típica de dataset
      Creación propia. Distribución típica de dataset (CC BY-SA)
  2. Aprendizaxe. Os datos de exemplo debidamente organizados, que é o mesmo que dicir etiquetados, introdúcense como entrada dun algoritmo de Machine Learning elixido polo usuario entre os moitos existentes. Durante esta fase o algoritmo realiza a análise dos datos para atopar patróns e xerar o modelo de Machine Learning.
    • Utilizando o trainset adestramos un modelo.
    • Utilizando o testset o modelo próbase a sí mismo obtendo a matriz de confusión.
  3. Avaliación. O usuario proba o modelo construído sobre un conxunto de datos similares pero distintos aos usados na fase de adestramento. O obxectivo é comprobar a súa capacidade de xeneralización. É dicir, como de bo é para recoñecer ou clasificar exemplos que non se utilizaron durante a aprendizaxe.
    • Empregando novos datos avaliamos canto aprendeu o modelo.
    • Proba e seguimento do seu desempeño

Por exemplo, se partimos dun conxunto de datos etiquetados, como fotografías clasificadas segundo se conteñen imaxes de paxaros ou peixes. O propósito é desenvolver un modelo que sexa capaz de predicir, para unha imaxe nova que aínda non analizamos, se esta contén un paxaro, un peixe ou ningún dos dous.

  • Imaxina que estás a clasificar froita en 2 clases ou categorías: mazás e laranxas.
  • Tes un modelo de intelixencia artificial que "mira" as froitas e decide se cada unha é unha mazá ou unha laranxa.
  • Ás veces acerta, pero outras veces equivócase.
  • Aquí entra a matriz de confusión. É unha maneira de organizar e ver como de ben ou mal fíxoo o teu modelo.
  • Ten catro partes:
    • Verdadeiros positivos (VP): Son as froitas que o modelo dixo que eran mazás, e en realidade si eran mazás. Ben feito!
    • Verdadeiros negativos (VN): Son as froitas que o modelo dixo que eran laranxas, e en realidade si eran laranxas. Outro acerto!
    • Falsos positivos (FP): Aquí o modelo confundiuse. Dixo que eran mazás, pero en realidade eran laranxas.
    • Falsos negativos (FN): Outro erro. Dixo que eran laranxas, pero en realidade eran mazás.
  • Se facemos isto para moitas froitas, podemos organizalo nunha táboa:
Predixo Mazá Predixo Laranxa
Era realmente Mazá Verdadeiros positivos (VP)-4 Falsos negativos (FN)-2
Era realmente Laranxa Falsos positivos (FP)-1 Verdadeiros negativos (VN)-3
  • Exemplo:
    • Tes 10 froitas: 6 mazás e 4 laranxas.
    • O modelo predixo que 5 eran mazás e acertou con 4 (VP), pero equivocouse con 1 (FP).
    • Predixo que 5 eran laranxas e acertou con 3 (VN), pero equivocouse con 2 (FN).

Se chegaches ata aquí, xa usaches varios "modelos":

Todos parten duns datos iniciais, entrénanse e aprenden con eles, e logo poden usar esta aprendizaxe para clasificar ou predicir datos novos.

En concreto,

chámaselle modelo, á estrutura do sistema entrenado 

...é coma se fixeran un molde ou estrutura cos datos e logo probanse ese "molde" cos datos novos, para comprobar "se lle serve" ou "non lle serve"

Código Python: Gráfica dataset

import matplotlib.pyplot as plt

# Datos
sizes = [80, 20]
labels = ['Trainset (80%) ', 'Testset (20%)']
colors = ['skyblue', 'orange']

# Crear gráfico circular
plt.figure(figsize=(6, 6))
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
plt.title('Distribución do Dataset dun modelo')
plt.show()
    

Proxecto Avanzado de ML con aprendizaxe supervisada: Distinguir texto

Duración
60 min
Agrupamento:Pequeno grupo
2-3
Modo avanzado LearningML
Creación propia. Modo avanzado LearningML (CC BY-SA)
  1. Utilizando o modo avanzado de LearningML repite o proceso de crear un modelo que distinga entre dous tipos de texto: definicións textuais de círculo ou de cadrado cos mesmos datos
  2. Elixe o algoritmo de ML Redes neuronais e  os parámetros por  5 Épocas (epoch), 10 Tamaño de lote0.001 Taxa de aprendizaxe
  3. Escolle en Validación , Porcentaxe de mostras para validación:25
  4. Adestra o modelo con eses parámetros
  5. Explica a matriz de confusión obtida
  6. Comproba o modelo con definicións textuais de círculo e cadrado. Explica os resultados obtidos. Funciona o modelo?
    • É unha rexión plana limitada por unha circunferencia, a cal é unha curva pechada cuxos puntos están a unha distancia constante do seu centro.
    • É unha figura perfectamente simétrica, caracterizada por ter un radio constante desde un punto central cara a todos os puntos do seu bordo.
    • Unha superficie plana cuxos límites están determinados por unha curva uniforme equidistante do centro.
    • É un polígono regular con catro lados iguais e catro ángulos de 90 graos cada un.
    • É un paralelogramo no que todos os lados teñen a mesma lonxitude e os ángulos interiores son rectos.
    • É un rectángulo especial cuxas diagonais son de igual lonxitude e crúzanse en ángulo recto
  7. Colle unha definición de proba na que os resultados non foran bos. Cámbia os epoch a 10. Comproba os cambios coa definición de proba anterior.
  8. Volve epoch a 5 e cambia tamaño de lote a 5. Comproba os cambios coa definición de proba anterior.
  9. Volve a tamaño de lote 10 e indica tasa de aprendizaxe 1,001. Comproba os cambios coa definición de proba anterior.
  10. Que significan os parámetros époch e tamaño de lote?Como afectan ó modelo?
  11. Que significa Porcentaxe de mostras para validación 25? Pista: Dataset =Trainset+Testset
  12. Investiga o que é o algoritmo de ML KNN e proba o seu funcionamento.
  13. Rexistra no teu portafolio as respostas e conclusións

Ampliación: Proba agora a distinguir imaxes

Gato
kaggle. Gato (Dominio público)

Usando o arquivo de datos DatosCansGatos proba a realizar o mesmo proceso, pero neste caso recoñecendo 2 tipos de animais coas súas imaxes: can e gato. 

No mesmo repositorio, tes exemplos de imaxes de cans e gatos para probar o modelo

Reflexión

Lista de Cotexo

Aprendizaxe supervisada

Esta lista axúdache a organizar e verificar o progreso no teu portafolio.