Mục lục:
- Bước 1: Kế hoạch ban đầu
- Bước 2: Nghiên cứu
- Bước 3: Khó khăn gặp phải và bài học kinh nghiệm
- Bước 4: Các bước tiếp theo
Video: Phân tích thành phần chính: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Phân tích thành phần chính là một phương pháp thống kê chuyển đổi một tập hợp các biến có thể tương quan thành một tập hợp các giá trị không tương quan tuyến tính bằng cách sử dụng các phép biến đổi trực giao. Nói một cách đơn giản, việc cung cấp một tập dữ liệu có nhiều thứ nguyên, nó sẽ giúp giảm số lượng thứ nguyên, do đó làm cho dữ liệu dễ đọc hơn.
Bước 1: Kế hoạch ban đầu
Tôi tham gia lớp học này với ý tưởng rằng tôi muốn hiểu và hy vọng viết một thuật toán có thể thực hiện nhận dạng khuôn mặt khi được cung cấp hình ảnh. Tôi không có kinh nghiệm hoặc kiến thức trước đây về bất cứ điều gì liên quan đến nhận dạng khuôn mặt và không biết làm thế nào khó khăn để đạt được một cái gì đó như thế này. Sau khi nói chuyện với giáo sư Malloch, tôi nhận ra rằng tôi phải học rất nhiều thứ trước khi có thể hiểu đầy đủ về nhiệm vụ mà cuối cùng tôi đã lên kế hoạch để đạt được.
Sau một chút nghiên cứu, cuối cùng tôi quyết định rằng hơn bất cứ điều gì tôi cần phải học đại số tuyến tính và một số kiến thức cơ bản về học máy và chọn PCA (phân tích thành phần chính) là mục tiêu của tôi cho lớp học này.
Bước 2: Nghiên cứu
Bước đầu tiên là truy cập Thư viện và tìm bất kỳ cuốn sách nào giới thiệu cho tôi về học máy và cụ thể hơn là xử lý hình ảnh. Điều này hóa ra khó hơn nhiều so với tôi nghĩ và cuối cùng tôi chẳng thu được gì nhiều từ nó. Sau đó, tôi quyết định hỏi một người bạn làm việc trong Phòng thí nghiệm Vision, người đã yêu cầu tôi xem xét đại số tuyến tính và cụ thể hơn là các eigenvectors và eigenvalues. Tôi đã có một số kinh nghiệm với đại số tuyến tính từ một lớp học mà tôi đã tham gia vào năm thứ hai của mình nhưng không hiểu làm thế nào các eigenvectors hoặc eigenvalues có thể hữu ích khi xử lý hình ảnh. Khi tôi nghiên cứu kỹ hơn, tôi hiểu rằng hình ảnh không là gì ngoài những tập dữ liệu khổng lồ và do đó có thể được coi như ma trận và nó trở nên rõ ràng hơn một chút đối với tôi về lý do tại sao eigenvectors lại có liên quan đến những gì tôi đang làm. Tại thời điểm này, tôi quyết định rằng tôi nên học cách đọc hình ảnh bằng python vì tôi sẽ sử dụng python cho dự án của mình. Ban đầu, tôi bắt đầu bằng cách sử dụng CV2.imread để đọc các hình ảnh nhưng điều đó thực sự chậm và do đó tôi quyết định sử dụng global và PIL.image.open để làm như vậy vì điều này nhanh hơn nhiều. Quá trình này trên giấy có vẻ tương đối không tốn thời gian nhưng thực sự mất rất nhiều thời gian vì tôi phải học cách cài đặt và nhập các thư viện khác nhau vào PyCharm (IDE) và sau đó đọc qua tài liệu trực tuyến cho từng thư viện. Trong quá trình làm như vậy, tôi cũng đã học cách sử dụng câu lệnh pip install trong dấu nhắc lệnh.
Sau đó, bước tiếp theo là tìm ra chính xác những gì tôi muốn làm và học trong xử lý hình ảnh. thay vào đó hãy sử dụng PCA. Thuật ngữ đầu tiên liên tục xuất hiện là thuật toán K-NN (K- hàng xóm gần nhất). Đây là lần đầu tiên tôi tiếp xúc với thuật toán máy học. Tôi đã tìm hiểu về dữ liệu đào tạo và thử nghiệm và 'đào tạo' thuật toán nghĩa là gì. Việc tìm hiểu thuật toán K-NN cũng là một thách thức nhưng tôi rất hài lòng khi cuối cùng đã hiểu được cách thức hoạt động của nó. Tôi hiện đang làm việc để có mã cho K-NN hoạt động và tôi sắp hoàn thành.
Bước 3: Khó khăn gặp phải và bài học kinh nghiệm
Khó khăn lớn đầu tiên là phạm vi của dự án. Đây là một nghiên cứu thiên về định hướng hơn là vật lý. Nhiều tuần trôi qua, đôi khi tôi nhìn vào sự tiến bộ mà các đồng nghiệp của tôi đang đạt được và cảm thấy rằng tôi làm chưa đủ hoặc tôi không đạt được tiến bộ đủ nhanh và điều đó đôi khi rất mất sức. Nói chuyện với Giáo sư Malloch và chỉ tự trấn an bản thân rằng tôi thực sự đang học những thứ rất mới mẻ đối với tôi đã giúp tôi tiếp tục. Một vấn đề khác là biết những thứ lý thuyết và áp dụng nó là hai việc khác nhau. Mặc dù tôi biết mình phải làm gì, nhưng thực sự mã hóa nó bằng python lại là một câu chuyện khác. Đây là nơi chỉ cần đọc các tài liệu trực tuyến và hỏi bạn bè, những người biết về nó nhiều hơn đã giúp rất nhiều để cuối cùng tìm ra một kế hoạch hành động.
Cá nhân tôi nghĩ rằng việc có một thư viện sách và tài liệu lớn hơn tại M5 có thể giúp ích cho những người đang làm việc trong các dự án. Ngoài ra, có một bản ghi kỹ thuật số thời gian thực về các dự án đang được thực hiện bởi sinh viên để các sinh viên và nhân viên khác có thể xem xét và tham gia nếu họ quan tâm là một ý tưởng hay cho M5.
Khi dự án kết thúc, tôi đã học được rất nhiều điều trong một khoảng thời gian ngắn như vậy. Tôi đã có được kiến thức rất hữu ích về học máy và cảm thấy như tôi đã thực hiện những bước đầu tiên để tham gia nhiều hơn vào nó. Tôi nhận ra rằng tôi thích thị giác máy tính và tôi có thể muốn theo đuổi điều này ngay cả trong tương lai. Quan trọng nhất là tôi đã biết PCA là gì, tại sao nó lại quan trọng và cách sử dụng nó.
Bước 4: Các bước tiếp theo
Đối với tôi, điều này chỉ làm trầy xước bề mặt của một thứ rộng lớn hơn nhiều và một thứ rất quan trọng trong thế giới ngày nay, tức là máy học. Tôi dự định tham gia các khóa học liên quan đến máy học trong tương lai gần. Tôi cũng có kế hoạch xây dựng con đường của mình để phát triển tính năng nhận dạng khuôn mặt vì đó là nơi mà toàn bộ dự án này bắt đầu. Tôi cũng có ý tưởng về một hệ thống bảo mật sử dụng kết hợp các tính năng (một trong số chúng là khuôn mặt của con người) để làm cho nó thực sự an toàn và đây là điều mà tôi muốn làm trong tương lai khi tôi hiểu biết rộng hơn về mọi thứ..
Đối với bất kỳ ai quan tâm đến học máy và xử lý hình ảnh như tôi nhưng chưa có kinh nghiệm trước đó, tôi thực sự khuyên bạn nên học và hiểu đại số tuyến tính trước tiên cùng với thống kê (đặc biệt là phân phối). Thứ hai, tôi đề nghị đọc Nhận dạng mẫu và Học máy của Christopher M. Bishop. Cuốn sách này đã giúp tôi hiểu những điều cơ bản về những gì tôi đang tham gia và được cấu trúc rất tốt.
Đề xuất:
Cách tạo máy phân tích phổ âm thanh LED: 7 bước (có hình ảnh)
Cách tạo bộ phân tích phổ âm thanh LED: Máy phân tích phổ âm thanh LED tạo ra kiểu ánh sáng đẹp theo cường độ của âm nhạc. Trình phân tích sử dụng NeoPixe
Máy phân tích phổ âm thanh FFT DIY: 3 bước
Máy phân tích phổ âm thanh DIY FFT: Máy phân tích phổ FFT là thiết bị kiểm tra sử dụng kỹ thuật phân tích Fourier và xử lý tín hiệu kỹ thuật số để cung cấp phân tích phổ. Sử dụng phân tích Fourier, một giá trị trong miền thời gian liên tục có thể được chuyển đổi, chẳng hạn
Tự làm máy phân tích phổ tín hiệu âm thanh Arduino: 3 bước
Tự làm Máy phân tích phổ tín hiệu âm thanh Arduino: Đây là máy phân tích âm thanh rất đơn giản với các chế độ hình ảnh có thể thay đổi
Máy phân tích phổ âm thanh (VU Meter): 6 bước
Máy phân tích phổ âm thanh (VU Meter): Âm nhạc là gì? Từ quan điểm kỹ thuật, âm nhạc về cơ bản là một tín hiệu có điện áp và tần số thay đổi. Máy phân tích phổ âm thanh là một thiết bị hiển thị mức điện áp của một tần số cụ thể. Nó là một nhạc cụ chủ yếu được sử dụng ở những nơi
Máy phân tích thể tích dải LED Neopixel: 4 bước
LED Neopixel Strip Volume Analyzer: Tôi có một dải Neopixel dự phòng nằm xung quanh và tôi nghĩ sẽ rất tuyệt khi tạo một máy phân tích phổ cho hệ thống âm thanh của mình. ở đó. Lưu ý: Cái này