Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN ĐOẠN ẢNH

20 604 2
Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG  BÀI TOÁN PHÂN ĐOẠN ẢNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ĐỀ TÀI THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN ĐOẠN ẢNH GVHD: GS TSKH. Hoàng Văn Kiếm HVTH: Võ Tấn Lực MSHV: CH1301098 TP. Hồ Chí Minh, ngày 10 tháng 10 năm 2014 TÓM LƯỢC o Trong thập kỷ qua, việc ứng dụng công nghệ tri thức - máy học vào khoa học kỹ thuật đã giúp cho chúng ta có thể tạo ra được những chiếc xe tự hành, nhận dạng giọng nói thực tế, tìm kiếm web có hiệu quả, và sự hiểu ngày càng sâu sắc hơn về bộ gen của con người,v.v Ngày nay máy học phổ biến đến nỗi chúng ta có thể sử dụng nó hàng chục lần một ngày mà không hề hay biết biết. Trong giới hạn của đồ án này chúng ta sẽ khảo sát qua các khái niệm cơ bản về máy học, thuật toán K-means và ứng dụng của thuật toán K-means trong phân đoạn ảnh. Tôi xin cảm ơn GS TSKH. Hoàng Văn Kiếm, người đã tận tình truyền đạt kiến thức và có những định hướng giúp tôi hoàn thành môn học “Công Nghệ Tri Thức & Ứng Dụng”. Mặc dù đã rất cố gắng nhưng bài thu hoạch của tôi khó tránh khỏi thiếu sót, mong Thầy góp ý nhận xét để bài thu hoạch được hoàn thiện hơn. HVTH: CH1301098 – Võ Tấn Lực MỤC LỤC HVTH: CH1301098 – Võ Tấn Lực Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm Chương I. CƠ SỞ LÝ THUYẾT 1.1. Máy học là gì Rất khó để có thể định nghĩa một cách chính xác về máy học. Một trong những định nghĩa rộng nhất về thuật ngữ máy học là: “một cụm từ dùng để chỉ khả năng một chương trình máy tính để tăng tính thực thi dựa trên những kinh nghiêm đã trải qua” hoặc “là để chỉ khả năng một chương trình có thể phát sinh ra một cấu trúc dữ liệu mới khác với các cấu trúc dữ liệu cũ”. Lợi điểm của các phương pháp máy học là nó phát sinh ra các luật tường minh, có thể được sửa đổi, hoặc được huấn luyện trong một giới hạn nhất định.Các phương pháp này học trên các dữ liệu có đặc tả thông tin. Cấu trúc thông tin gồm 4 mức được gọi là tri thức kim tự tháp. Hình .1. Mô hình tri thức kim tự tháp Máy học là sự tự động của quy trình học và việc học thì tương đương với việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và những sự chuyển hoá của chúng. Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cảnhững kết quả của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những sự tổng quát hóa cho những trường hợp mới. HVTH: CH1301098 – Võ Tấn Lực Trang 4/17 Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn luyện. Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách nào đó để máy có thể đọc và hiểu được. Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn do đó không phải toàn bộ dữ liệu sẽ được học một cách chính xác. Lợi ích của máy học Các thông tin ngày càng nhiều, hàng ngày ta phải xử lý rất nhiều thông tin đến từ nhiều nguồn khác nhau. Máy học có thể giúp xứ lý và dự báo các thông tin đó bằng cách tạo ra các luất sản xuất từdữ liệu thu thập.Ở những nơi không có chuyên gia, máy học có thể giúp tạo ra được các quyết định từ các dữ liệu có được.Các thuật toán sử dụng trong máy học máy học có thể giúp xử lý khi dữ liệu không đầy đử, không chính xác. Máy học giúp thiết kế hệ thống huấn luyện tự động (mạng nơrôn nhân tạo) và giải mã mối liên hệ giữa các tri thức được lưu trữtrong mạng từ dữ liệu.Công nghệ Máy học là một trong những phương pháp chính trong khai phá dữ liệu. Nó được sử dụng trong tiến trình khám phá tri thức. 1.2. Tiến trình máy học và phân loại các thuật toán 1.2.1. Tiến trình máy học Một tiến trình máy học bao gồm 2 giai đoạn: • Giai đoạn học: hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ (có thể là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu. Kết quả của việc học có thể là: nhóm các đối tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho các đối tượng mới. • Giai đoạn thử nghiệm: Mối quan hệ (các luật, lớp ) được tạo ra phải được kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn. 1.2.2. Phân loại các thuật toán HVTH: CH1301098 – Võ Tấn Lực Trang 5/17 Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm Các thuật toán máy học được chia làm 3 loại: học giám sát, học không giám sát và học nửa giám sát. • Học có giám sát (Supervised Learning). Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệ thống xây dựng cách xác định những lớp dữ liệu. Hệ thống phải tìm một sự mô tả cho từng lớp (đặc tính của mẫu dữ liệu).Người ta có thể sử dụng các luật phân loại hình thành trong quá trình học và phân lớp để có thể sử dụng dự báo các lớp dữ liệu sau này. Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp: S = {(xi, cj)| i=1,…,M; j=1,…,C} Các cặp huấn luyện này được gọi là mẫu, vớixi là vector n-chiều còn gọi là vector đặc trưng,cj là lớp thứ j đã biết trước. Thuật toán máy học giám sát tìm kiếm không gian của những giả thuyết có thể, gọi là H. Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x  c.Đối với công việc phân lớp có thể xem giả thuyết như một tiêu chí phân lớp. Thuật toán máy học tìm ra những giả thuyết bằng cách khám phá ra những đặc trưng chung của những ví dụ mẫu thể hiện cho mỗi lớp.Kết quả nhận được thường ở dạng luật (Nếu thì). Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên những giả thuyết đã có để dự báo những phân lớp tương ứng của chúng. Nếu như không gian giả thuyết lớn, thì cần một tập dữ liệu huấn luyện đủ lớn nhằm tìm kiếm một hàm xấp xỉ tốt nhất f.Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những mô hình học giám sát như sau: - Học vẹt (rote): hệ thống luôn luôn được “dạy” những luật đúng, rồi có học hội tụ. HVTH: CH1301098 – Võ Tấn Lực Trang 6/17 Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm - Học bằng phép loại suy (analogy): hệ thống được dạy phản hồi đúng cho một công việc tương tự, nhưng không xác định. Vì thế hệ thống phải hiệu chỉnh phản hồi trước đó bằng cách tạo ra một luật mới có thể áp dụng cho trường hợp mới. - Học dựa trên trường hợp (case-based learning): trong trường hợp này hệ thống học lưu trữ tất cả các trường hợp, cùng với kết quả đầu ra của chúng. Khi bắt gặp một trường hợp mới, nó sẽ cố gắng hiệu chỉnh đến trường hợp mới này cách xử lý trước đó của nó đã được lưu trữ. - Học dựa trên sự giải thích (explanation-based learning), hệ thống sẽ phân tích tập hợp những giải pháp nhằm chỉ ra tại sao mỗi phương pháp là thành công hay không thành công. Sau khi những giải thích này được tạo ra, chúng sẽ được dùng để giải quyết những vấn đề mới. Một số thuật toán học có giám sát. - Support Vector Machine – SVM. - K Nearest Neighbours – KNN. - Naïve Bayes – NB. - Decision Tree – DT. - Neural Network – Nnet. - Centroid–base vector. - Linear Least Square Fit – LLSF. • Học Không giám sát (Unsupervised Learning). Đây là việc học từ quan sát và khám phá. Hệ thống khai thác dữ liệu được ứng dụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà để nó phải tự hệ thống quan sát những mẫu và nhận ra mẫu. Hệ thống này dẫn đến HVTH: CH1301098 – Võ Tấn Lực Trang 7/17 Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm một tập lớp, mỗi lớp có một tập mẫu được khám phá trong tập dữ liệu.Học không giám sát còn gọi là học từ quan sát và khám phá. Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những phân lớp của dữ liệu, bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hình thành nên tập dữ liệu.Một thuật toán máy học giám sát luôn có thể biến đổi thành một thuật toán máy học không giám sát (Langley 1996).Đối với một bài toán mà những mẫu dữ liệu được mô tả bởi n đặc trưng, người ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với một đặc trưng khác nhau đóng vai trò thuộc tính lớp, mà chúng ta đang tiên đoán.Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy vọng là ít nhất một trong n bộ phân lớp đó là đúng. Một số thuật toán học không giám sát: - Thuật toán K-means - Mô hình mạng Neural - Hệ thống ART(adaptive resonance theory) • Học nửa giám sát. Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học không giám sát. Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và học không giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này. Một số thuật toán học nửa giám sát. - EM - Expectation Maximization. - TSVM - Transductive Support Vector Machine. - Self-training. - Co-training. HVTH: CH1301098 – Võ Tấn Lực Trang 8/17 Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm - Các phương pháp dựa trên đồ thị (graph-based). Chương II: THUẬT TOÁN K-MEANS 2.1. Giới thiệu thuật toán và các định nghĩa cơ sở Thuật toán K-means thuộc vào loại thuật toán không giám sát rất đơn giản và được áp dụng rộng rãi vào các mẫu bài toán phân cụmdo MacQueen giới thiệu trong tài liệu “J. Some Methods for Classification and Analysis of Multivariate Observations” năm 1967. Bài toán phân cụm là quá trình nhóm một nhóm các điềm dữ liệu vào trong một số lượng nhỏ các cụm. Tổng quát về mặt biểu diễn toán học, chúng ta có n điểm dữ liệu xi,i=1 n cần phải được phân vào trong k cụm. Mục tiêu của bài toán là một điểm dữ liệu cho một cụm. Thuật toán K-means cung cấp cho chúng ta một phương pháp để tìm ra được vị trí các điểm μi,i=1 k của các cụm sao cho hàm khoảng cách từ các điểm đến các cụm là nhỏ nhất. Trong đó ci là một tập các điểm bên trong cụm i. Thuật toán K-means sử dụng khoảng cách Euclidean 2.2. Thuật toán K-means Thuật toán K-means được dùng để giải bài toán về phân cụm hoạt động qua từng bước như sau: Đầu tiên chúng ta cần xác định số cụm k 1. Khởi tạo điểm trung tâm của cụm μi,i=1, ,k 2. Gán các điểm dữ liệu vào các cụm gần nhất HVTH: CH1301098 – Võ Tấn Lực Trang 9/17 Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm 3. Thiết lập lại điểm trung tâm của mỗi cụm 4. Lập lại các bước 2-3 cho đến khi hội tụ Ghi chú |c|= số phần tử trong c Thuật toán k-means trên được chứng minh là hội tụ và có độ phức tạp tính toán là: Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, τ là số vòng lặp, T flop là thời gian để thực hiện một phép tính cơ sở như phép tính nhân, chia, Như vậy, do K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.Tuy nhiên, nhược điểm của K-means là chỉ áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu. Hơn nữa, chất lượng phân cụm dữ liêuk của thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu. Trong trường hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k- means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế. Trên thực tế chưa có một giải pháp tối ưu nào để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất. HVTH: CH1301098 – Võ Tấn Lực Trang 10/17 [...]... đề cập trong phần này chỉ áp dụng cho hai loại vật chất là kim loại và điện môi không đồng nhất Một thuật toán tổng quát và phức tạp hơn cũng được Maxwell và Shafer đề xuất 3.2 Phát biểu ứng dụng Thuật toán K-means phân cụm thường được sử dụng trong thị giác máy tính là một hình thức phân đoạn ảnh thuộc nhóm phương pháp dựa trên không gian đặc trưng Các kết quả của các phân đoạn thường được sử dụng để... pixel trong ảnh Trong các báo cáo khoa học về phân vùng ảnh mức xám, có khá nhiều kỹ thuật cố thực hiện việc thoả mãn cùng lúc cả hai tiêu chí về tính đồng nhất trong không gian đặc trưng của ảnh và tính cô đọng về nội dung ảnh Tuỳ theo các kỹ thuật mà các thuật giải này áp dụng, chúng được phân thành các nhóm sau: • Các thuật giải áp dụng kỹ thuật chia và trộn vùng • Các thuật giải áp dụng kỹ thuật. .. để đáp ứng các nhu cầu mới Các thuật giải, kỹ thuật này thường được phát tri n dựa trên nền tảng các thuật giải phân vùng ảnh mức xám đã có sẵn Các hướng tiếp cận phân đoạn ảnh Phân đoạn ảnh là chia ảnh thành các vùng không trùng lắp Mỗi vùng gồm một nhóm pixel liên thông và đồng nhất theo một tiêu chí nào đó Tiêu chí này phụ HVTH: CH1301098 – Võ Tấn Lực Trang 13/17 Công nghệ Tri thức & Ứng dụng GS... dụng • GS TSKH Hoàng Văn Kiếm Phân oạn ảnh được thực hiện bằng việc sử dụng thuật toánK-means trong không gian màuRGB hoạt động rất tốt với tất cả các hình ảnh • Sự rõ nét trong hình ảnh đã phân đoạn bằng K-meanslà rấttốt • Sự rõ nét của hình ảnh cũng phụ thuộc vào số lượng các cụm (số k) được sử dụng • Một bất lợi của thuật toán này là số lượng cụm là phải được xác định trong mỗi lần lặp HVTH: CH1301098... 2.5 Gán các điểm dữ liệu vào trong các cụm GS TSKH Hoàng Văn Kiếm Hình 2.6 Thuật toán dừng lại vì không có điểm thay đổi Thuật toán kết thúc vì không có sự thay đổi của các đối tượng trong từng cụm 2.4 Ưu và khuyết điềm của thuật toán Ưu điểm: • Với số lượng biến lớn thì thuật toán K-means có thể tính toán nhanh hơn so với các thuật toán phân nhóm phân cấp khác (nếu K là nhỏ) • K-means có thể gom các... PHÂN ĐOẠN ẢNH 3.1 Giới thiệu về phân đoạn ảnh Phân đoạn ảnh là một thao tác ở mức thấp trong toàn bộ quá trình xử lý ảnh Quá trình này thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với nhau hay nói cách khác là xác định các biên của các vùng ảnh đó Các vùng ảnh đồng nhất này thông thường sẽ tương ứng với tòan bộ hay từng phần của các đối tượng thật sự bên trong ảnh Vì thế, trong. .. xử lý ảnh, mạng neural, các thuật toán di truyền, máy học, robotics,.v.v… Thuật toán K-means được thực hiện trong thư Accord.MachineLearning HVTH: CH1301098 – Võ Tấn Lực Trang 16/17 viện Công nghệ Tri thức & Ứng dụng GS TSKH Hoàng Văn Kiếm Hình 3.1.Giao diện chính của chương trình Dữ liệu cần đưa vào là một tập tin hình ảnh và chọn số cụm cần được phân chia Kết quả sau khi xử lý sẽ được hiển thị trong. . .Công nghệ Tri thức & Ứng dụng GS TSKH Hoàng Văn Kiếm 2.3 Ví dụ minh họa Trong phần này chúng ta sẽ xem qua các bước thực hiện của thuật toán Kmeans bằng đồ họa Hình 2.1.Giá trị gốc ban đầu Hình 2.2 Khởi tạo các cụm ban đầu Hình 2.3 Gán các điểm dữ liệu vào các cụm Hình 2.4 Tính toán lại vị trí các điểm trung tâm của cụm HVTH: CH1301098 – Võ Tấn Lực Trang 11/17 Công nghệ Tri thức & Ứng dụng Hình... đưa vào cụm này hoặc cụm khác khi dung lượng dữ liệu thay đổi HVTH: CH1301098 – Võ Tấn Lực Trang 12/17 Công nghệ Tri thức & Ứng dụng • GS TSKH Hoàng Văn Kiếm Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả Điều kiện khởi tạo khác nhau có thể cho ra kết quả phân cụm khác nhau • Không xác định được mức độ ảnh hưởng của thuộc tính đến quá trình tạo các cụm Chương III: ỨNG DỤNG THUẬT TOÁN K-MEANS TRONG PHÂN... các ảnh mức xám do các hạn chế về phương tiện thu thập và lưu trữ Ngày nay, cùng với sự phát tri n về các phương tiện thu nhận và biểu diễn ảnh , các ảnh màu đã hầu như thay thế hoàn toàn các ảnh mức xám trong việc biểu diễn và lưu trữ thông tin do các ưu thế vượt trội hơn hẳn so với ảnh mức xám Do đó, các kỹ thuật, thuật giải mới thực hiện việc phân vùng ảnh trên các loại ảnh màu liên tục được phát tri n . QUỐC GIA TP HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ĐỀ TÀI THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN ĐOẠN ẢNH GVHD: GS TSKH. Hoàng Văn. bản về máy học, thuật toán K-means và ứng dụng của thuật toán K-means trong phân đoạn ảnh. Tôi xin cảm ơn GS TSKH. Hoàng Văn Kiếm, người đã tận tình truyền đạt kiến thức và có những định hướng. nhỏ nhất. Trong đó ci là một tập các điểm bên trong cụm i. Thuật toán K-means sử dụng khoảng cách Euclidean 2.2. Thuật toán K-means Thuật toán K-means được dùng để giải bài toán về phân cụm hoạt

Ngày đăng: 20/05/2015, 10:28

Từ khóa liên quan

Mục lục

  • Chương II: THUẬT TOÁN K-MEANS

    • 2.1. Giới thiệu thuật toán và các định nghĩa cơ sở

    • 2.2. Thuật toán K-means

    • 2.3. Ví dụ minh họa

    • 2.4. Ưu và khuyết điềm của thuật toán

    • Chương III: ỨNG DỤNG THUẬT TOÁN K-MEANS TRONG PHÂN ĐOẠN ẢNH

    • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan