Analisis Komponen Utama: 4 Langkah
Analisis Komponen Utama: 4 Langkah
Anonim
Analisis Komponen Utama
Analisis Komponen Utama

Analisis Komponen Prinsipal adalah kaedah statistik yang mengubah sekumpulan pemboleh ubah berkorelasi menjadi sekumpulan nilai tidak berkorelasi linear dengan menggunakan transformasi ortogonal. Dengan kata mudah yang diberikan set data dengan pelbagai dimensi, ia membantu mengurangkan bilangan dimensi sehingga menjadikan data lebih mudah dibaca.

Langkah 1: Pelan Asal

Saya masuk ke kelas ini dengan idea yang ingin saya fahami dan mudah-mudahan menulis algoritma yang dapat melakukan pengecaman wajah apabila dibekalkan dengan gambar. Saya tidak mempunyai pengalaman atau pengetahuan mengenai apa-apa kaitan dengan pengecaman wajah dan tidak tahu betapa sukarnya mencapai sesuatu seperti ini. Setelah bercakap dengan profesor Malloch saya menyedari bahawa saya harus belajar banyak perkara sebelum dapat memahami sepenuhnya tugas yang akhirnya saya rancangkan untuk dicapai.

Setelah membuat sedikit kajian, akhirnya saya memutuskan bahawa lebih daripada apa-apa yang saya perlukan untuk mempelajari aljabar linear dan beberapa asas pembelajaran mesin dan menggunakan PCA (analisis komponen utama) untuk menjadi matlamat saya untuk kelas ini.

Langkah 2: Penyelidikan

Penyelidikan
Penyelidikan

Langkah pertama adalah mengunjungi Perpustakaan dan mencari buku yang memperkenalkan saya kepada pembelajaran mesin dan lebih khusus memproses gambar. Ini ternyata jauh lebih sukar daripada yang saya fikirkan dan akhirnya saya tidak mendapat banyak perkara. Saya kemudian memutuskan untuk bertanya kepada rakan yang bekerja di Makmal Penglihatan yang meminta saya melihat aljabar linear dan lebih khusus evevektor dan nilai eigen. Saya mempunyai beberapa pengalaman dengan aljabar linear dari kelas yang saya ambil pada tahun kedua saya tetapi tidak memahami bagaimana eigen vektor atau nilai eigen boleh berguna ketika berurusan dengan gambar. Semasa saya meneliti lebih banyak, saya faham bahawa gambar hanyalah set data yang besar dan oleh itu boleh dianggap sebagai matriks dan menjadi sedikit lebih jelas bagi saya mengapa ejen vektor relevan dengan apa yang saya lakukan. Pada ketika ini, saya memutuskan bahawa saya harus belajar membaca gambar menggunakan python kerana saya akan menggunakan python untuk projek saya. Pada mulanya, saya mula menggunakan CV2.imread untuk membaca gambar tetapi ternyata sangat perlahan dan oleh itu saya memutuskan untuk menggunakan glob dan PIL.image.open untuk melakukannya kerana ini jauh lebih pantas. Proses di atas kertas nampaknya agak tidak memakan masa tetapi sebenarnya memerlukan banyak masa kerana saya harus belajar memasang dan mengimport perpustakaan yang berbeza ke PyCharm (IDE) dan kemudian membaca dokumentasi secara dalam talian untuk setiap perpustakaan. Dalam proses melakukannya, saya juga belajar bagaimana menggunakan pernyataan pemasangan pip di command prompt.

Selepas ini, langkah seterusnya adalah mencari tahu apa sebenarnya yang ingin saya lakukan dan belajar dalam pemprosesan imej dan pada mulanya, saya merancang untuk melakukan pencocokan templat tetapi semasa meneliti, saya belajar mengenai PCA dan mendapati ia lebih menarik sehingga saya memutuskan untuk sebaliknya gunakan PCA. Istilah pertama yang terus muncul ialah algoritma K-NN (K- jiran terdekat). Ini adalah pendedahan pertama saya terhadap algoritma pembelajaran mesin. Saya belajar mengenai data latihan dan ujian dan apa maksud 'latihan' algoritma. Memahami algoritma K-NN juga mencabar tetapi sangat memuaskan akhirnya dapat memahami bagaimana ia berfungsi. Saya sedang berusaha mendapatkan kod untuk K-NN berfungsi dan saya hampir selesai.

Langkah 3: Kesukaran yang Dihadapi dan Pelajaran yang Dipelajari

Kesukaran besar pertama adalah skop projek itu sendiri. Ini lebih berorientasikan penyelidikan daripada yang fizikal. Ketika minggu-minggu berlalu, saya akan melihat kemajuan yang dicapai oleh rakan-rakan saya dan merasakan bahawa saya tidak melakukan cukup atau bahawa saya tidak membuat kemajuan yang cukup pantas dan itu kadang-kadang sangat mendatangkan semangat. Bercakap dengan Profesor Malloch dan meyakinkan diri saya bahawa saya memang belajar perkara yang sangat baru bagi saya membantu saya terus maju. Masalah lain ialah mengetahui perkara teori dan menerapkannya adalah dua perkara yang berbeza. Walaupun saya tahu apa yang harus saya lakukan, sebenarnya pengekodan dalam python adalah cerita yang berbeza. Di sinilah hanya membaca dokumentasi dalam talian dan meminta rakan-rakan yang tahu mengenainya lebih banyak membantu akhirnya merancang rancangan tindakan.

Saya secara peribadi berpendapat bahawa memiliki perpustakaan buku dan dokumen yang lebih besar di M5 dapat membantu orang yang sedang mengerjakan projek. Memiliki rekod digital masa nyata projek yang dilakukan oleh pelajar supaya pelajar dan kakitangan lain dapat melihatnya dan terlibat jika menarik minat mereka adalah idea yang baik untuk M5.

Apabila projek ini berakhir, saya telah belajar banyak dalam jangka masa yang singkat. Saya telah memperoleh pengetahuan yang sangat baik mengenai pembelajaran mesin dan merasa seperti saya telah mengambil langkah pertama untuk lebih terlibat dalam pembelajaran mesin. Saya menyedari bahawa saya suka penglihatan komputer dan mungkin saya mahu meneruskannya walaupun pada masa akan datang. Yang paling penting saya telah mengetahui apa itu PCA, mengapa begitu penting dan bagaimana menggunakannya.

Langkah 4: Langkah Seterusnya

Bagi saya, ini hanya menggaru permukaan sesuatu yang jauh lebih luas dan sesuatu yang sangat penting dalam dunia masa kini, iaitu pembelajaran mesin. Saya merancang untuk mengikuti kursus yang berkaitan dengan pembelajaran mesin dalam masa terdekat. Saya juga merancang untuk membina jalan untuk mengenali wajah kerana di situlah keseluruhan projek ini dimulakan. Saya juga mempunyai idea untuk sistem keselamatan yang menggunakan ciri gabungan (salah satunya adalah wajah orang itu) untuk menjadikannya benar-benar selamat dan ini adalah sesuatu yang saya ingin kerjakan pada masa akan datang apabila saya mempunyai pemahaman yang lebih luas mengenai sesuatu.

Bagi sesiapa sahaja seperti saya yang berminat dalam pembelajaran mesin dan pemprosesan gambar tetapi tidak mempunyai pengalaman sebelumnya, saya sangat menyarankan untuk belajar dan memahami aljabar linear bersama dengan statistik (terutamanya pengedaran). Kedua saya mencadangkan membaca Corak Pengiktirafan dan Pembelajaran Mesin oleh Christopher M. Bishop. Buku ini membantu saya memahami asas-asas apa yang saya alami dan disusun dengan baik.

Disyorkan: