Apprendimento automatico - Competenze
L'apprendimento automatico ha una larghezza molto ampia e richiede competenze in diversi domini. Le competenze che devi acquisire per diventare un esperto in Machine Learning sono elencate di seguito:
- Statistics
- Teorie della probabilità
- Calculus
- Tecniche di ottimizzazione
- Visualization
Necessità di varie abilità di machine learning
Per darti una breve idea di quali abilità devi acquisire, discutiamo alcuni esempi:
Notazione matematica
La maggior parte degli algoritmi di apprendimento automatico sono fortemente basati sulla matematica. Il livello di matematica che devi conoscere è probabilmente solo un livello principiante. Ciò che è importante è che dovresti essere in grado di leggere la notazione che i matematici usano nelle loro equazioni. Ad esempio, se sei in grado di leggere la notazione e capire cosa significa, sei pronto per l'apprendimento automatico. In caso contrario, potresti dover rispolverare le tue conoscenze di matematica.
$$ f_ {AN} (net- \ theta) = \ begin {case} \ gamma & if \: net- \ theta \ geq \ epsilon \\ net- \ theta & if - \ epsilon <net- \ theta <\ epsilon \\ - \ gamma & if \: net- \ theta \ leq- \ epsilon \ end {case} $$
$$ \ displaystyle \\\ max \ limits _ {\ alpha} \ begin {bmatrix} \ displaystyle \ sum \ limits_ {i = 1} ^ m \ alpha- \ frac {1} {2} \ displaystyle \ sum \ limits_ { i, j = 1} ^ m label ^ \ left (\ begin {array} {c} i \\ \ end {array} \ right) \ cdot \: label ^ \ left (\ begin {array} {c} j \\ \ end {array} \ right) \ cdot \: a_ {i} \ cdot \: a_ {j} \ langle x ^ \ left (\ begin {array} {c} i \\ \ end {array} \ destra), x ^ \ sinistra (\ begin {array} {c} j \\ \ end {array} \ right) \ rangle \ end {bmatrix} $$
$$ f_ {AN} (net- \ theta) = \ left (\ frac {e ^ {\ lambda (net- \ theta)} - e ^ {- \ lambda (net- \ theta)}} {e ^ { \ lambda (net- \ theta)} + e ^ {- \ lambda (net- \ theta)}} \ right) \; $$
Teoria della probabilità
Ecco un esempio per verificare la tua attuale conoscenza della teoria della probabilità: Classificazione con probabilità condizionate.
$$ p (c_ {i} | x, y) \; = \ frac {p (x, y | c_ {i}) \; p (c_ {i}) \;} {p (x, y) \ ;} $$
Con queste definizioni, possiamo definire la regola di classificazione bayesiana:
- Se P (c1 | x, y)> P (c2 | x, y), la classe è c1.
- Se P (c1 | x, y) <P (c2 | x, y), la classe è c2.
Problema di ottimizzazione
Ecco una funzione di ottimizzazione
$$ \ displaystyle \\\ max \ limits _ {\ alpha} \ begin {bmatrix} \ displaystyle \ sum \ limits_ {i = 1} ^ m \ alpha- \ frac {1} {2} \ displaystyle \ sum \ limits_ { i, j = 1} ^ m label ^ \ left (\ begin {array} {c} i \\ \ end {array} \ right) \ cdot \: label ^ \ left (\ begin {array} {c} j \\ \ end {array} \ right) \ cdot \: a_ {i} \ cdot \: a_ {j} \ langle x ^ \ left (\ begin {array} {c} i \\ \ end {array} \ destra), x ^ \ sinistra (\ begin {array} {c} j \\ \ end {array} \ right) \ rangle \ end {bmatrix} $$
Soggetto ai seguenti vincoli:
$$ \ alpha \ geq0 e \: \ displaystyle \ sum \ limits_ {i-1} ^ m \ alpha_ {i} \ cdot \: label ^ \ left (\ begin {array} {c} i \\ \ end {array} \ right) = 0 $$
Se riesci a leggere e capire quanto sopra, sei pronto.
Visualizzazione
In molti casi, sarà necessario comprendere i vari tipi di grafici di visualizzazione per comprendere la distribuzione dei dati e interpretare i risultati dell'output dell'algoritmo.
Oltre agli aspetti teorici di cui sopra dell'apprendimento automatico, sono necessarie buone capacità di programmazione per codificare quegli algoritmi.
Quindi cosa serve per implementare il ML? Esaminiamo questo aspetto nel prossimo capitolo.