# Introduzione

#### Tipologie di ML

Esistono diversi tipi di algoritmi di ML, i principali sono:

1. Supervised learning
2. Unsupervised learning
3. Reinforcement learning

Attualmente il più utilizzato è il primo.

[![image.png](https://cms.marcocucchi.it/uploads/images/gallery/2024-01/scaled-1680-/XTSxHgNUm0L6bYQm-image.png)](https://cms.marcocucchi.it/uploads/images/gallery/2024-01/XTSxHgNUm0L6bYQm-image.png)

Differenze tra supervised e unsupervided learning

##### Supervised learning (SL)

Nel SL vegono forniti all'algoritmo gli input e gli output e sulla base di questi viene creato un modello che generi un “match” tra i due. In generale all'algorirmo vengono fornite (nella fase di trainign) gli output relativi ai corrispondenti input.

##### Unsupervised learning (UL)

In questa modalità invece andremo a dire all'algorimo solo informazioni a reltivo al problema e NON alla soluzione. (diversamente da quanto accade con SL)

Un esempio potrebbe dare in pasto all'algoritmo i prezzi degli immobili e lasciare che l'algoritmo trovi le caratteristiche migliori che aiutino a prevedere il prezzo in futuro. L'algorimo andrà a ricercare dei pattern nei dati che abbiano delle connessioni con il prezzo.

##### Reinforcement learning (RL)

E' una modalità di allenamento della AI in modo che impari SOLO sulla base dell'esperienza fatta nelle varie simulaizoni.

**Tipologie di classificazione del SL**

Ci sono 2 tipologie, *regressione lineare* e classificazione

ANNOTAZIONE:

- tutti i valori da dare in pasto all'algoritmo sono detti “trainig set”
- gli input vengono spesso indicati come “feature” o X
- gli output vengono indicati come “labels” o “target” o y
- (x,y) invece per indicare il singolo valore di training
- per indicare lo iesimo elemento del training set utilizzare (x (elavato alla i), y (elevato alla i)) dove la i è la iesima riga del training set