Mục lục:

Phân tích thành phần chính: 4 bước
Phân tích thành phần chính: 4 bước

Video: Phân tích thành phần chính: 4 bước

Video: Phân tích thành phần chính: 4 bước
Video: [Tiếng Việt lớp 4 5 ] Xác định thành phần câu (Dễ nhầm) - Thầy Khải- SĐT: 0943734664 2024, Tháng mười một
Anonim
Phân tích thành phần chính
Phân tích thành phần chính

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

Nghiên cứu
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: