Sommario:
- Passaggio 1: piani originali
- Fase 2: ricerca
- Passaggio 3: difficoltà affrontate e lezioni apprese
- Passaggio 4: passaggi successivi
Video: Analisi dei componenti principali: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
L'analisi delle componenti principali è un metodo statistico che converte un insieme di variabili possibilmente correlate in un insieme di valori linearmente non correlati utilizzando trasformazioni ortogonali. In parole semplici, dato un set di dati con più dimensioni, aiuta a ridurre il numero di dimensioni, rendendo così i dati più facili da leggere.
Passaggio 1: piani originali
Sono entrato in questa classe con l'idea che volevo capire e, si spera, scrivere un algoritmo che sarebbe in grado di eseguire il riconoscimento facciale quando fornito con le immagini. Non avevo alcuna esperienza precedente o conoscenza di nulla a che fare con il riconoscimento facciale e non avevo idea di quanto fosse difficile ottenere qualcosa del genere. Dopo aver parlato con il professor Malloch mi sono reso conto che devo imparare molte cose prima di poter comprendere appieno il compito che alla fine avevo pianificato di realizzare.
Dopo un po' di ricerche, alla fine ho deciso che più di ogni altra cosa avevo bisogno di imparare l'algebra lineare e alcune nozioni di base sull'apprendimento automatico e ho deciso che la PCA (analisi dei componenti principali) fosse il mio obiettivo per questa classe.
Fase 2: ricerca
Il primo passo è stato visitare la Biblioteca e trovare qualsiasi libro che mi avesse introdotto all'apprendimento automatico e più specificamente all'elaborazione delle immagini. Questo si è rivelato molto più difficile di quanto pensassi e alla fine non ho ottenuto molto da esso. Ho quindi deciso di chiedere a un amico che lavorava nel Vision Lab che mi ha chiesto di esaminare l'algebra lineare e più specificamente autovettori e autovalori. Ho avuto una certa esperienza con l'algebra lineare da una classe che avevo seguito nel mio secondo anno, ma non capivo come gli autovettori o gli autovalori potessero essere utili quando si trattava di immagini. Mentre facevo più ricerche, capivo che le immagini non erano altro che enormi set di dati e potevano quindi essere trattate come matrici e mi è diventato un po' più chiaro il motivo per cui gli autovettori erano rilevanti per quello che stavo facendo. A questo punto, ho deciso che avrei dovuto imparare a leggere le immagini usando Python poiché stavo per usare Python per il mio progetto. Inizialmente, ho iniziato utilizzando CV2.imread per leggere le immagini, ma si è rivelato molto lento e quindi ho deciso di utilizzare glob e PIL.image.open per farlo poiché è molto più veloce. Questo processo su carta sembra relativamente non dispendioso in termini di tempo, ma in realtà ha richiesto una buona quantità di tempo poiché ho dovuto imparare come installare e importare diverse librerie su PyCharm (IDE) e quindi leggere la documentazione online per ciascuna libreria. Nel farlo, ho anche imparato a usare le istruzioni di installazione di pip nel prompt dei comandi.
Dopo questo, il passo successivo è stato capire cosa esattamente volevo fare e imparare nell'elaborazione delle immagini e inizialmente stavo pianificando di eseguire la corrispondenza dei modelli, ma durante la ricerca ho appreso della PCA e l'ho trovata più interessante, quindi ho deciso di vai con PCA invece. Il primo termine che continuava a spuntare era l'algoritmo K-NN (K-più vicino). Questa è stata la mia prima esperienza con un algoritmo di apprendimento automatico. Ho imparato a conoscere i dati di training e test e cosa significa "training" di un algoritmo. Anche comprendere l'algoritmo K-NN è stato impegnativo, ma è stato molto soddisfacente capire finalmente come funziona. Attualmente sto lavorando per far funzionare il codice per K-NN e sono molto vicino al completamento.
Passaggio 3: difficoltà affrontate e lezioni apprese
La prima grande difficoltà è stata la portata del progetto stesso. Questo era più orientato alla ricerca che fisico. Con il passare delle settimane, a volte guardavo i progressi che stavano facendo i miei colleghi e sentivo che non stavo facendo abbastanza o che non stavo facendo progressi abbastanza velocemente e questo a volte era molto demotivante. Parlare con il professor Malloch e rassicurarmi sul fatto che stavo davvero imparando cose che erano molto nuove per me mi ha aiutato ad andare avanti. Un altro problema era che conoscere le cose teoriche e applicarle sono due cose diverse. Sebbene sapessi cosa dovevo, in realtà codificarlo in Python era una storia diversa. È qui che leggere la documentazione online e chiedere agli amici che ne sapevano di più ha aiutato molto a capire finalmente un piano d'azione.
Personalmente penso che avere una biblioteca più ampia di libri e documenti all'M5 potrebbe aiutare le persone che stanno lavorando a progetti. Anche avere una registrazione digitale in tempo reale dei progetti svolti dagli studenti in modo che altri studenti e personale possano guardarlo e essere coinvolti se interessa loro è una buona idea per M5.
Al termine del progetto, ho imparato così tanto in così poco tempo. Ho acquisito una conoscenza molto pratica del machine learning e sento di aver fatto i primi passi per essere più coinvolto in esso. Mi sono reso conto che mi piace la visione artificiale e che potrei volerlo perseguire anche in futuro. La cosa più importante è che ho imparato cos'è la PCA, perché è così importante e come utilizzarla.
Passaggio 4: passaggi successivi
Per me, questo è stato solo scalfire la superficie di qualcosa di molto più vasto e molto importante nel mondo di oggi, ovvero l'apprendimento automatico. Ho intenzione di seguire corsi relativi all'apprendimento automatico nel prossimo futuro. Ho anche intenzione di costruire la mia strada verso il riconoscimento facciale poiché è lì che è iniziato l'intero progetto. Ho anche idee per un sistema di sicurezza che utilizzi una combinazione di funzioni (una delle quali è il volto della persona) per renderlo davvero sicuro e questo è qualcosa su cui voglio lavorare in futuro quando avrò una comprensione più ampia delle cose.
Per chiunque come me sia interessato all'apprendimento automatico e all'elaborazione delle immagini ma non ha esperienza precedente, suggerirei caldamente di prima imparare e comprendere l'algebra lineare insieme alle statistiche (in particolare le distribuzioni). Secondo, suggerirei di leggere Pattern Recognition and Machine Learning di Christopher M. Bishop. Questo libro mi ha aiutato a capire le basi di ciò che stavo entrando ed è strutturato molto bene.
Consigliato:
Il sistema di archiviazione dei componenti: 10 passaggi (con immagini)
The Component Storage System: The Ultimate Component Storage System è una soluzione unica per organizzare e conservare i componenti elettronici. Il software personalizzato consente la catalogazione dei componenti con una funzione di ricerca integrata per ottenere un rapido accesso a componenti specifici. LED su
Impedenza dei componenti utilizzando calcoli matematici complessi: 6 passaggi
Impedenza dei componenti utilizzando matematica complessa: ecco un'applicazione pratica di equazioni matematiche complesse. Questa è in effetti una tecnica molto utile che puoi usare per caratterizzare i componenti, o anche un'antenna, a frequenze predeterminate. Se hai armeggiato con l'elettronica potrebbe essere fam
Saldatura a mano Divertente cattivo dei componenti elettronici del circuito di scarto: 7 passaggi
Saldatura a mano Funny Villain of Scrap Circuit Board Componenti elettronici: rottami di circuiti elettronici (vecchi computer o elettrodomestici di scarto) saldatore, pinzette per saldatura, pinze, forbici
Analisi dei dati di temperatura/umidità utilizzando Ubidots e Fogli Google: 6 passaggi
Analisi dei dati di temperatura/umidità utilizzando Ubidots e Google-Sheets: in questo tutorial, misureremo diversi dati di temperatura e umidità utilizzando il sensore di temperatura e umidità. Imparerai anche come inviare questi dati a Ubidots. In modo che tu possa analizzarlo da qualsiasi luogo per diverse applicazioni. Anche inviando
Registratore ECG: un monitor cardiaco indossabile per l'acquisizione e l'analisi dei dati a lungo termine: 3 passaggi
ECG Logger - un monitor cardiaco indossabile per l'acquisizione e l'analisi dei dati a lungo termine: Prima versione: ottobre 2017Ultima versione: 1.6.0Stato: stabileDifficoltà: altaPrerequisito: Arduino, programmazione, costruzione hardwareRepository unico: SF (vedi collegamenti sotto)Supporto: solo forum, no PMECG Logger è un monitor cardiaco indossabile per lunghe