Arthur Samuel coniò il termine “Machine Learning” nel 1959 e lo definì come un “Campo di studio che dà ai computer la capacità di imparare senza essere esplicitamente programmati”.
E quello fu l’inizio del Machine Learning! Nei tempi moderni, il Machine Learning è una delle scelte di carriera più popolari (se non la più!). Secondo Indeed, Machine Learning Engineer Is The Best Job of 2019 con una crescita del 344% e uno stipendio base medio di $146.085 all’anno.
Ma ci sono ancora molti dubbi su cosa sia esattamente il Machine Learning e come iniziare ad impararlo? Quindi questo articolo si occupa delle basi del Machine Learning e anche del percorso che puoi seguire per diventare alla fine un ingegnere di Machine Learning a tutti gli effetti. Ora cominciamo!!!
- Che cos’è il Machine Learning?
- Come iniziare a imparare il ML?
- Step 1 – Capire i prerequisiti
- (a) Impara l’algebra lineare e il calcolo multivariato
- (b) Impara la Statistica
- (c) Impara Python
- Step 2 – Imparare vari concetti di ML
- (a) Terminologie del Machine Learning
- (b) Tipi di Apprendimento Automatico
- (c) Come fare pratica con il Machine Learning?
- (d) Risorse per imparare il Machine Learning:
- Step 3 – Partecipa alle competizioni
Che cos’è il Machine Learning?
Il Machine Learning implica l’uso dell’Intelligenza Artificiale per permettere alle macchine di imparare un compito dall’esperienza senza programmarle specificamente su quel compito. (In breve, le macchine imparano automaticamente senza l’aiuto umano!!!) Questo processo inizia con l’alimentazione di dati di buona qualità e poi l’addestramento delle macchine costruendo vari modelli di apprendimento automatico utilizzando i dati e diversi algoritmi. La scelta degli algoritmi dipende dal tipo di dati che abbiamo e dal tipo di compito che stiamo cercando di automatizzare.
Come iniziare a imparare il ML?
Questa è una tabella di marcia approssimativa che puoi seguire sulla tua strada per diventare un ingegnere di apprendimento automatico di grande talento. Naturalmente, puoi sempre modificare i passi in base alle tue esigenze per raggiungere l’obiettivo finale desiderato!
Step 1 – Capire i prerequisiti
Nel caso tu sia un genio, potresti iniziare direttamente il ML ma normalmente, ci sono alcuni prerequisiti che devi conoscere che includono Algebra Lineare, Calcolo Multivariato, Statistica e Python. E se non li conosci, non temere! Non hai bisogno di un dottorato di ricerca in questi argomenti per iniziare, ma hai bisogno di una comprensione di base.
(a) Impara l’algebra lineare e il calcolo multivariato
Sia l’algebra lineare che il calcolo multivariato sono importanti nel Machine Learning. Tuttavia, la misura in cui ne hai bisogno dipende dal tuo ruolo di scienziato dei dati. Se siete più concentrati sull’apprendimento automatico pesante per le applicazioni, allora non sarete così pesantemente concentrati sulla matematica poiché ci sono molte librerie comuni disponibili. Ma se vuoi concentrarti su R&D nel Machine Learning, allora la padronanza dell’Algebra Lineare e del Calcolo Multivariato è molto importante in quanto dovrai implementare molti algoritmi di ML da zero.
(b) Impara la Statistica
I dati hanno un ruolo enorme nel Machine Learning. Infatti, circa l’80% del tuo tempo come esperto di ML sarà speso a raccogliere e pulire i dati. E la statistica è un campo che gestisce la raccolta, l’analisi e la presentazione dei dati. Quindi non è una sorpresa che tu abbia bisogno di impararla!!!
Alcuni dei concetti chiave della statistica che sono importanti sono la significatività statistica, le distribuzioni di probabilità, i test di ipotesi, la regressione, ecc. Inoltre, il Pensiero Bayesiano è anche una parte molto importante del ML che si occupa di vari concetti come la Probabilità Condizionale, Priori e Posteriori, Massima Probabilità, ecc.
(c) Impara Python
Alcune persone preferiscono saltare l’Algebra Lineare, il Calcolo Multivariato e la Statistica e impararli man mano che vanno avanti con prove ed errori. Ma l’unica cosa che non si può assolutamente saltare è Python! Mentre ci sono altri linguaggi che puoi usare per il Machine Learning come R, Scala, ecc. Python è attualmente il linguaggio più popolare per il ML. Infatti, ci sono molte librerie Python che sono specificamente utili per l’intelligenza artificiale e l’apprendimento automatico come Keras, TensorFlow, Scikit-learn, ecc.
Quindi, se vuoi imparare il ML, è meglio se impari Python! Puoi farlo usando varie risorse online e corsi come Fork Python disponibile gratuitamente su GeeksforGeeks.
Step 2 – Imparare vari concetti di ML
Ora che hai finito con i prerequisiti, puoi passare ad imparare effettivamente il ML (che è la parte divertente!!!) È meglio iniziare con le basi e poi passare alle cose più complicate. Alcuni dei concetti di base del ML sono:
(a) Terminologie del Machine Learning
- Modello – Un modello è una rappresentazione specifica appresa dai dati applicando qualche algoritmo di apprendimento automatico. Un modello è anche chiamato ipotesi.
- Caratteristica – Una caratteristica è una proprietà individuale misurabile dei dati. Un insieme di caratteristiche numeriche può essere convenientemente descritto da un vettore di caratteristiche. I vettori di caratteristiche sono forniti come input al modello. Per esempio, per predire un frutto, ci possono essere caratteristiche come il colore, l’odore, il sapore, ecc.
- Target (Etichetta) – Una variabile target o etichetta è il valore che deve essere predetto dal nostro modello. Per l’esempio della frutta discusso nella sezione delle caratteristiche, l’etichetta con ogni set di input sarebbe il nome del frutto come mela, arancia, banana, ecc.
- Addestramento – L’idea è quella di dare un set di input (caratteristiche) e i suoi output previsti (etichette), così dopo l’addestramento, avremo un modello (ipotesi) che poi mapperà i nuovi dati ad una delle categorie addestrate.
- Predizione – Una volta che il nostro modello è pronto, può essere alimentato con un set di input a cui fornirà un output previsto (etichetta).
(b) Tipi di Apprendimento Automatico
- Apprendimento Supervisionato – Questo comporta l’apprendimento da un set di dati di allenamento con dati etichettati usando modelli di classificazione e regressione. Questo processo di apprendimento continua fino a quando il livello richiesto di performance è raggiunto.
- Apprendimento non supervisionato – Questo implica l’uso di dati non etichettati e poi trovare la struttura sottostante nei dati per imparare sempre di più sui dati stessi usando modelli di analisi dei fattori e dei cluster.
- Apprendimento semi-supervisionato – Questo implica l’uso di dati non etichettati come l’apprendimento non supervisionato con una piccola quantità di dati etichettati. L’uso di dati etichettati aumenta enormemente la precisione dell’apprendimento ed è anche più conveniente rispetto all’apprendimento supervisionato.
- Apprendimento per rinforzo – Questo comporta l’apprendimento di azioni ottimali attraverso prove ed errori. Quindi l’azione successiva è decisa dall’apprendimento di comportamenti che si basano sullo stato attuale e che massimizzeranno la ricompensa in futuro.
(c) Come fare pratica con il Machine Learning?
- La parte che richiede più tempo nel ML è effettivamente la raccolta dei dati, l’integrazione, la pulizia e la pre-elaborazione. Quindi assicuratevi di fare pratica con questo perché avete bisogno di dati di alta qualità ma grandi quantità di dati sono spesso sporchi. Quindi è qui che passerà la maggior parte del vostro tempo!!!
- Imparate vari modelli e fate pratica su set di dati reali. Questo vi aiuterà a creare la vostra intuizione su quali tipi di modelli sono appropriati in diverse situazioni.
- Insieme a questi passi, è altrettanto importante capire come interpretare i risultati ottenuti utilizzando diversi modelli. Questo è più facile da fare se si capiscono i vari parametri di sintonizzazione e i metodi di regolarizzazione applicati ai diversi modelli.
(d) Risorse per imparare il Machine Learning:
Ci sono varie risorse online e offline (sia gratuite che a pagamento!) che possono essere utilizzate per imparare il Machine Learning. Alcune di queste sono fornite qui:
- Per un’ampia introduzione al Machine Learning, il Corso di Machine Learning di Stanford di Andrew Ng è abbastanza popolare. Si concentra sull’apprendimento automatico, il data mining e il riconoscimento statistico dei modelli con video esplicativi che sono molto utili per chiarire la teoria e i concetti fondamentali dietro il ML.
- Se volete una guida di auto-apprendimento al Machine Learning, allora Machine Learning Crash Course di Google è buono per voi in quanto vi fornirà un’introduzione all’apprendimento automatico con lezioni video, casi di studio del mondo reale ed esercizi pratici.
- Nel caso preferiate un corso offline, il corso Geeksforgeeks Machine Learning Foundation sarà ideale per voi. Questo corso ti insegnerà i vari concetti di Machine Learning e anche l’esperienza pratica nell’implementazione in un ambiente di classe.
Step 3 – Partecipa alle competizioni
Dopo aver compreso le basi del Machine Learning, puoi passare alla parte più pazza!!! Le competizioni! Queste fondamentalmente ti renderanno ancora più abile nel ML combinando la tua conoscenza principalmente teorica con l’implementazione pratica. Alcune delle competizioni di base con cui puoi iniziare su Kaggle che ti aiuteranno a costruire fiducia sono date qui:
- Titanic: Apprendimento automatico dal disastro: Il Titanic: Machine Learning from Disaster challenge è un progetto per principianti molto popolare per il ML in quanto ha diversi tutorial disponibili. Quindi è una grande introduzione ai concetti di ML come l’esplorazione dei dati, l’ingegneria delle caratteristiche e la messa a punto del modello.
- Digit Recognizer: Il Digit Recognizer è un progetto dopo che avete qualche conoscenza di Python e le basi del ML. E’ una grande introduzione all’eccitante mondo delle reti neurali utilizzando un classico set di dati che include caratteristiche pre-estratte.
Dopo aver completato queste competizioni e altre sfide così semplici …Complimenti!!! Sei sulla buona strada per diventare un ingegnere di Machine Learning a tutti gli effetti e puoi continuare a migliorare le tue abilità lavorando su sempre più sfide ed eventualmente creando progetti di Machine Learning sempre più creativi e difficili.