1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áp dụng máy học để tìm ra các đặc trưng tối ưu trong các bài toán xử lý số liệu lớn

62 1K 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,8 MB

Nội dung

Các thuộc tính không liên quan hoặc thừa có thể có những ảnh hưởng tiêu cực đối với các giải thuật phân lớp: Có nhiều thuộc tính thông thường có nghĩa là cần nhiều thực thể, vì vậy chúng

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

- -

NGÔ THÙY LINH

ÁP DỤNG MÁY HỌC ĐỂ TÌM RA CÁC ĐẶC TRƯNG TỐI ƯU TRONG CÁC BÀI TOÁN XỬ LÝ SỐ LIỆU LỚN

LUẬN VĂN THẠC SĨ

Hà nội – 2011

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

- -

NGÔ THÙY LINH

ÁP DỤNG MÁY HỌC ĐỂ TÌM RA CÁC ĐẶC TRƯNG TỐI ƯU TRONG CÁC BÀI TOÁN XỬ LÝ SỐ LIỆU LỚN

Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Hà Nam

Trang 3

Mục lục

LỜI CAM ĐOAN 1

Lời cảm ơn 2

Mục lục 3

Danh mục các hình vẽ 5

Danh mục các bảng biểu 6

Chương 1: Tổng quan về bài toán cần giải quyết 7

1.1 Giới thiệu 7

1.2 Khai phá dữ liệu và trích chọn thuộc tính 7

1.3 Lựa chọn thuộc tính và bài toán phân lớp 9

1.4 Phương pháp dự kiến thực hiện 11

Chương 2: Một số kỹ thuật lựa chọn thuộc tính 12

2.1 Phương pháp lựa chọn thuộc tính là gì? 12

2.1.1 Chiến lược tìm kiếm 13

2.1.2 Tiêu chuẩn lựa chọn 14

2.2 Một số thuật toán lựa chọn thuộc tính 18

2.2.1 Tìm kiếm toàn bộ 18

2.2.2 Tìm kiếm theo kinh nghiệm 19

2.2.3 Tìm kiếm xác suất 20

Chương 3: Cơ sở lý thuyết thuật giải di truyền và mạng nơron nhân tạo 22

3.1 Thuật toán di truyền 22

3.1.1 Chọn lọc 24

3.1.2 Lai ghép 25

3.1.3 Đột biến 26

3.2 Mạng nơron nhân tạo 28

3.2.1 Giới thiệu 28

3.2.2 Mô hình phân lớp tổng quát 28

3.2.3 Mạng Back propagation 30

Chương 4: Kết hợp giải thuật di truyền và mạng nơron để giảm chiều số liệu 35

4.1 Giới thiệu 35

4.2 Kiến trúc hệ thống 36

4.3 Hoạt động của hệ thống 37

Trang 4

4.4 Sơ đồ khối phương pháp học máy 41

4.5 Phương pháp đề xuất tìm bộ thuộc tính tối ưu nhất 42

Chương 5: Kết quả thực nghiệm 45

5.1 Môi trường thực nghiệm 45

5.2 Bộ dữ liệu Stomach Cancer 45

5.2.1 Mô tả bộ dữ liệu 45

5.2.2 Kết quả thực nghiệm 46

5.2.3 Nhận xét 49

5.3 Bộ dữ liệu Lung Cancer 50

5.3.1 Mô tả bộ dữ liệu Lung Cancer 50

5.3.2 Kết quả thực nghiệm 51

5.3.3 Nhận xét 54

Kết luận 56

Tài liệu tham khảo 57

Phụ lục 58

Trang 5

Danh mục các hình vẽ

Hình 2.1: Các thành phần chính của lựa chọn thuộc tính 13

Hình 2.2: Mô Hình Wrapper 16

Hình 2.3: Mô hình Filter 17

Hình 3.1: Kỹ thuật bánh xe quay 25

Hình 3.2: Hệ thống phân lớp tổng quát 29

Hình 3.3: Cấu trúc mạng Back propagation 3 lớp 30

Hình 3.4: Sơ đồ khối cho thuật toán Back - propagation 34

Hình 4.1: Mô hình GA wrapper 35

Hình 4.2: Kiến trúc cơ bản của hệ thống 36

Hình 4.3: Mô tả kiểm chứng chéo 38

Hình 4.4: Hàm Sigmoid đơn cực 39

Hình 4.5: Hoạt động hệ thống 41

Hình 5.1: Biểu đồ tổng hợp 10 lần kiểm tra 47

Hình 5.2: So sánh kết quả thực nghiệm các bộ cột tìm được 49

Hình 5.3: Kết quả thực nghiệm của hai phương pháp trên bộ dữ liệu Stomach Cancer 50

Hình 5.4: Biểu đồ 20 lần kiểm tra 52

Hình 5.5: Kết quả thực nghiệm của các tỷ lệ chọn khác nhau trên bộ dữ liệu Lung Cancer 53

Hình 5.6: Kết quả thực nghiệm của hai phương pháp trên bộ dữ liệu Lung Cancer 54

Trang 6

Danh mục các bảng biểu

Bảng 4.1: Bảng kết quả sau quá trình chọn lọc 40

Bảng 5.1: Mô tả bộ dữ liệu Stomach Cancer 45

Bảng 5.2: Giá trị của 10 lần kiểm tra với bộ thuộc tính vừa tìm được ở trên 47

Bảng 5.3: Giá trị trung bình và độ lệch chuẩn của bộ vừa tìm được 47

Bảng 5.4: Kết quả 11 lần thử nghiệm với bộ các cột khác nhau 48

Bảng 5.5: Bảng giá trị trung bình và độ lệch chuẩn của bộ các cột 49

Bảng 5.6: So sánh kết quả phân lớp trên bộ dữ liệu Stomach Cancer 50

Bảng 5.7: Mô tả bộ dữ liệu Lung Cancer 51

Bảng 5.8: Kết quả kiểm tra 20 lần của bộ thuộc tính tìm được ở phần 1 51

Bảng 5.9: Kết quả thu được của 20 lần kiểm tra 52

Bảng 5.10: Bảng tổng hợp các lần kiểm thử với tỷ lệ chọn khác nhau 53

Bảng 5.11: Bảng so sánh kết quả của các tỷ lệ chọn khác nhau 54

Bảng 5.12: So sánh kết quả thu được của 2 phương pháp trên bộ dữ liệu Lung Cancer 55

Trang 7

Chương 1: Tổng quan về bài toán cần giải quyết

1.1 Giới thiệu

Ngày nay nhờ sự phát triển mạnh mẽ của khoa học kỹ thuật mà chúng ta phải tiếp nhận và giải quyết với khối dữ liệu ngày càng lớn, có thể lên tới hàng nghìn tỷ các đối tượng và hàng nghìn các thuộc tính Câu hỏi đặt ra ở đây là liệu có phải “càng nhiều có nghĩa là càng tốt?” Câu trả lời cũng có thể là “Đúng” và cũng có thể là “Sai” Trả lời là “Đúng” là vì ít nhất thì chúng ta cũng có thể nhận được những gì mà chúng

ta mong muốn Còn câu trả lời là “Sai” vì khi có sự hiện diện của quá nhiều dữ liệu thì cũng tương đương với việc là “không có dữ liệu” nếu việc truy nhập dữ liệu không hiệu quả Như vậy thì “nhiều” cũng có thể là “ít” Dữ liệu trong mọi lĩnh vực như kinh

tế, xã hội sẽ trở thành vô nghĩa nếu không có phương pháp xử lý đồng nghĩa với không khai thác được các thông tin quan trọng của nó Bởi vì sự tích lũy dữ liệu đã trở thành thói quen nên phải có kỹ thuật lựa chọn dữ liệu phù hợp với tốc độ thu thập dữ liệu Hơn thế nữa, với khối lượng lớn dữ liệu được sinh ra từ các máy tính hoặc từ các thiết bị khác tương đương, phải được xử lý một cách tự động để chúng ta có thể kiểm soát và chế ngự được chúng

Số lượng bản ghi cũng như kích thước của từng bản ghi được lưu trữ rất nhanh

và lớn gây khó khăn trong việc lưu trữ và xử lý,… nên người ta đã đưa ra một số giải pháp như: xử lý song song, tìm ra các mẫu đặc trưng, tìm ra các thuộc tính đặc trưng Hướng nghiên cứu của luận văn là tìm ra các thuộc tính đặc trưng hay còn gọi là lựa chọn thuộc tính (feature selection) Phương pháp này được giới thiệu từ những năm

1970 trong các tài liệu về xác suất thống kê, học máy và khai phá dữ liệu, trong cả bài toán nhận dạng mẫu

Những năm trở lại đây, do nhu cầu giảm chiều số liệu ngày càng cao nên có rất nhiều các nghiên cứu về lựa chọn thuộc tính, lĩnh vực này phát triển mạnh mẽ cả về chiều rộng lẫn chiều sâu Bằng chứng là chúng ta có thể tìm thấy trong rất nhiều bài báo, tạp chí hoặc trong các hội thảo gần đây Các nghiên cứu bắt đầu từ lựa chọn thuộc tính giám sát cổ điển mở rộng đến lựa chọn thuộc tính không giám sát và bán giám sát,

cả đến việc lựa chọn các kiểu thuộc tính khác như thuộc tính “nguyên nhân” và “cấu trúc” Một số nghiên cứu xét đến các loại dữ liệu khác như high-throughput, văn bản hoặc ảnh và có cả ước lượng lựa chọn thuộc tính… [1]

1.2 Khai phá dữ liệu và trích chọn thuộc tính

Khai phá dữ liệu là một khái niệm ra đời từ những cuối những năm 80 của thế kỷ trước Nó bao hàm một loạt các kỹ thuật nhằm phát hiện các thông tin có giá trị tiềm

ẩn trong tập các dữ liệu lớn Về bản chất, khai phá dữ liệu liên quan đến việc phân tích

Trang 8

các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập

dữ liệu Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiện tri thức trong cơ sở dữ liệu (Kownledge Discovery in Database – KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, khai phá dữ liệu

là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình từ dữ liệu

Trong khai phá dữ liệu thì phương pháp trích chọn thuộc tính đóng một vai trò quan trọng trong tiền xử lý số liệu Phương pháp trích chọn sẽ giúp giảm kích cỡ của không gian dữ liệu đặc trưng, loại bỏ những thuộc tính không liên quan và những thuộc tính nhiễu Phưong pháp này có ảnh hưởng ngay lập tức đến các ứng dụng như thuật toán tăng tốc độ khai phá dữ liệu, cải thiện chất lượng dữ liệu và vì vậy tăng hiệu suất khai phá dữ liệu, kiểm soát được kết quả của thuật toán

Khai phá dữ liệu chủ yếu tập trung vào 3 nhiệm vụ chính sau:

Giảm chiều dữ liệu: Giảm chiều dữ liệu là việc làm giảm chiều của không gian tìm

kiếm dữ liệu, giảm chi phí thu thập và lưu trữ dữ liệu, nâng cao hiệu quả của việc khai phá dữ liệu và làm đơn giản hóa các kết quả khai phá dữ liệu Trong nhiệm vụ làm giảm chiều dữ liệu chúng ta cần phân biệt hai khái nhiệm sau:

Trích chọn thuộc tính (Feature Extraction): Trích chọn thuộc tính là việc tìm ra

một tập thuộc tính mới từ tập thuộc tính ban đầu nhằm nâng cao hiệu suất tính toán và độ chính xác phân lớp Các kỹ thuật trích chọn thuộc tính thường liên quan đến các phép biến đổi phi tuyến (non-linear) Linear discriminant analysis (LDA) và principal components analysis (PCA) là hai kỹ thuật phổ biến dùng trong trích chọn thuộc tính

Chọn lựa thuộc tính (Feature Selection): Chọn lựa thuộc tính là việc chọn ra

một tập thuộc tính con từ tập thuộc tính ban đầu sao cho các tập thuộc tính con này thể thể hiện tốt nhất chức năng của một hệ thống quy nạp, chẳng hạn như một hệ thống phân lớp Việc tìm kiếm một tập con thuộc tính tối ưu thường là rất khó và rất nhiều các vấn đề của chọn lựa thuộc tính là thuộc về lớp các bài toán NP-hard Tuy nhiên, chọn lựa thuộc tính lại được sử dụng rộng rãi trong giảm chiều dữ liệu vì các kết quả dựa trên các thuộc tính được chọn lựa từ tập thuộc tính ban đầu thường dễ dàng lý giải hơn so với một tập các thuộc tính được biến đổi từ tập thuộc tính ban đầu

Phân cụm và phân lớp: Phân lớp và phân cụm là hai nhiệm vụ có mối quan hệ

tương đối gần nhau trong khai phá dữ liệu Một lớp là một tập các đối tượng có cùng

Trang 9

phân vào trong cùng một lớp tên nhằm mục đích là để phân biệt với các lớp khác Một cụm là một tập các đối tượng tương tự nhau về mặt vị trí Các cụm thường được tạo ra nhằm mục đích để sau đó tiến hành phân lớp các đối tượng

Trích chọn luật: Trích chọn luật tìm kiếm và đưa ra dữ liệu bằng cách tất cả

các dữ liệu được đưa ra dựa trên các suy diễn/các quyết định mà các suy diễn/quyết định này được xây dựng từ các tri thức thu thập được từ dữ liệu đó Đối với người sử dụng các kết quả của khai phá dữ liệu họ chỉ mong muốn có một cách giải thích đơn giản là tại sao có các kết quả phân lớp đó, thuộc tính nào ảnh hưởng đến kết quả khai phá dữ liệu…Tuy nhiên, bằng các tham số phân lớp rất khó để có thể diễn giải các tri thức đó theo cách mà người sử dụng có thể dễ dàng hiểu được Do đó, trích chọn ra các luật IF-THEN để đưa ra các thông tin có giá trị là một cách diễn giải đơn giản và

dễ hiểu nhất đối với người sử dụng

1.3 Lựa chọn thuộc tính và bài toán phân lớp

Nhiệm vụ cơ bản của việc phân lớp là phân chia một tập các đối tượng thành n-hữu hạn lớp đã biết trước Tập đối tượng cần phân lớp được đặc trưng bởi một tập các thuộc tính chứa các thông tin cần thiết liên quan đến các lớp, trong đó mỗi tập các thuộc tính được đại diện bởi một tập các thuộc tính – giá trị Với một tập dữ liệu bao gồm một tập các đối tượng đã được phân lớp (thường gọi là tập tập huấn) nhiệm vụ đặt

ra là từ tập huấn luyện cho trước xây dựng một bộ phân lớp cho các dữ liệu tương tự Vấn đề đặt ra đối với bài toán phân lớp là số lượng các thuộc tính có thể rất lớn do những lý do sau:

Dữ liệu được thu thập không đơn giản chỉ phục vụ cho một tác nghiệp cụ thể chẳng hạn như khai phá dữ liệu Do đó, đối với một ứng dụng cụ thể bộ dữ liệu

có thể có rất nhiều các thuộc tính thừa hoặc không phù hợp

Đôi khi thậm chí nếu chúng ta biết các thuộc tính được thiết kế cho một tác nghiệp cụ thể thì thuộc tính nào là thuộc tính có liên quan thường không được biết Điều này là do bản chất của nghiên cứu Chúng ta tiến hành thực nghiệm và thu thập số liệu vì chúng ta muốn biết nhiều hơn lĩnh vực mà chúng ta muốn tìm hiểu và chúng ta thông thường không có một ý niệm chính xác về các thuộc tính cần thiết Do đó, chúng ta phải tìm các thuộc tính cần thiết nhiều nhất mà chúng

ta có thể nghĩ đến thậm chí chúng có thể là các thuộc tính dư thừa hoặc không liên quan Chúng ta chỉ có thể biết được thuộc tính nào là liên quan sau khi chúng

ta nghiên cứu bộ số liệu đã được thu thập

Một tác nghiệp có thể yêu cầu dữ liệu từ nhiều nguồn khác nhau Nếu dữ liệu từ mỗi nguồn là lớn thì sau khi nối các nguồn dữ liệu trên chúng ta sẽ có một bộ dữ

Trang 10

liệu khổng lồ Nếu chúng ta biết được các thuộc tính liên quan thì chúng ta có thể giải quyết được vấn đề trên nhưng trên thực tế chúng ta thường không biết trước các thuộc tính nào là thuộc tính liên quan

Các thuộc tính không liên quan hoặc thừa có thể có những ảnh hưởng tiêu cực đối với các giải thuật phân lớp: Có nhiều thuộc tính thông thường có nghĩa là cần nhiều thực thể, vì vậy chúng ta cần đảm bảo các ràng buộc thống kê giữa các thực thể trong các lớp khác nhau, Các thuộc tính/dữ liệu thừa hoặc không liên quan có thể là nguyên nhân dẫn đến việc học của giải thuật không được chính xác hoặc dẫn đến hiện tượng overfitting trong mô hình, Thêm vào đó với sự có mặt của dữ liệu thừa hoặc dữ liệu không liên quan có thể làm cho bộ phân lớp trở lên phức tạp hơn Điều này là gây ra những khó khăn không cần thiết cho chúng ta trong việc diễn giải các kết quả học được từ tập huấn luyện

Do chúng ta không biết được thuộc tính nào là liên quan trước khi chúng ta tiến hành thu thập dữ liệu và các thuộc tính thừa hoặc không liên quan thường gây ra những ảnh hưởng tiêu cực đối với các giải thuật phân lớp, do đó chúng ta cần giải quyết vấn này đối với các bài toán phân lớp Về cơ bản, chúng ta chỉ muốn lựa chọn các thuộc tính liên quan đến ứng dụng của chúng ta nhằm mục đích sao cho ứng dụng của chúng có được hiệu quả tốt nhất với các đo lường, tính toán là ít nhất, nói một cách đơn giản chúng ta mong muốn có một đầu vào cho mô hình là đơn giản nhất có thể nhưng lại cho kết quả ở đầu ra là tốt nhất có thể Sử dụng trích chọn thuộc tính trong phân lớp cho ta những lợi thế sau:

Dữ liệu ít hơn do đó giải thuật phân lớp có thể học nhanh hơn;

Độ chính xác cao hơn do đó bộ phân lớp có thể cho những kết quả phân lớp tốt; Các kết quả đơn giản hơn do đó các kết quả này có thể hiểu được dễ dàng hơn;

Ít thuộc tính hơn do đó trong các vòng thu thập số liệu sau, nếu có thể chúng ta

có thể tiết kiệm được nhiều nguồn lực do việc loại bỏ các thuộc tính thừa và không liên quan

Trang 11

1.4 Phương pháp dự kiến thực hiện

Hướng nghiên cứu của luận văn là tìm hiểu về phương pháp lựa chọn thuộc tính Bài toán được phát biểu như sau: đối với bộ số liệu lớn thu được gồm hàng trăm đến hàng nghìn bản ghi và mỗi bản ghi lại gồm hàng nghìn các thuộc tính Các bản ghi được phân thành các lớp cho trước Yêu cầu đặt ra là tìm các thuộc tính hữu ích, tối ưu nhất, loại ra các thuộc tính ít liên quan để vẫn đảm bảo việc phân lớp đúng các bản ghi Luận văn nghiên cứu phương pháp lựa chọn thuộc tính dựa vào giải thuật di truyền và mạng nơron nhân tạo Phương pháp này có thể tìm thấy trên một số bài báo [2] - [4] Tuy nhiên dựa trên mô hình và lý thuyết có trong một số bài báo đó, luận văn tìm hiểu

và cố gắng đưa ra đề xuất cải tiến để mong muốn thuật toán thu được kết quả dự đoán cao hơn và tìm được bộ thuộc tính tốt hơn

Trang 12

Chương 2: Một số kỹ thuật lựa chọn thuộc tính

2.1 Phương pháp lựa chọn thuộc tính là gì?

Giảm bớt số chiều của mẫu và theo đó còn gọi là nén tập dữ liệu, thông qua trích chọn thuộc tính và lựa chọn thuộc tính Quá trình này là bước cơ bản nhất trong việc tiền xử lý dữ liệu Lựa chọn thuộc tính có thể là một phần vốn có của trích chọn thuộc tính ví dụ như phương pháp phân tích thành phần cơ bản hoặc thậm chí là một thiết kế

xử lý thuật toán ví dụ như trong thiết kế cây quyết định Tuy nhiên, lựa chọn thuộc tính thường là một bước cô lập riêng biệt trong một chuỗi xử lý [5]

Có thể định nghĩa lựa chọn thuộc tính là một quá trình tìm ra một tập con các thuộc tính từ M tập thuộc tính của tập dữ liệu N ban đầu, như vậy phải xác định tiêu chuẩn lựa chọn thuộc tính Theo cách này, kích cỡ của không gian đặc trưng được rút ngắn tối đa theo một tiêu chuẩn định lượng nhất định Khi kích cỡ của một lĩnh vực được mở rộng, số phần tử của tập N sẽ tăng lên, vì vậy việc tìm ra một tập đại diện tốt nhất thường gặp khó khăn và có nhiều vấn đề liên quan đến tập được chọn Nhìn chung, một thuật toán trích chọn gồm 4 bước cơ bản: Sinh tập con, lượng giá tập con,

điều kiện dừng và xác nhận kết quả

Quá trình sinh tập con là một thủ tục tìm kiếm, về cơ bản nó sinh ra những tập con dùng cho việc lượng giá Gọi N là số các đại diện (đặc trưng) của tập dữ liệu gốc ban đầu, thì tổng số các tập con có thể được sinh ra sẽ là 2n

2n tập này sẽ liệt kê toàn

bộ các tập con của không gian Mỗi tập con được sinh ra bằng thuật toán cần được lượng giá trị bằng một tiêu chuẩn lượng giá trị nhất định và được so sánh với tập con tốt nhất đã tìm được trước nó Nếu không có điều kiện dừng phù hợp, thuật toán này

có thể sẽ chạy mãi không dừng Điều kiện dừng của một quá trình sinh phải rơi vào

một trong số các trường hợp sau:

- Toàn bộ các phần tử của tập hợp đều được chọn

- Các phần tử chưa chọn bị lặp lại

- Sinh thêm một tập con nữa cũng không cho kết quả tốt hơn

- Đã chọn đủ số tập con thoả mãn điều kiện tiêu chuẩn

Tập con tốt nhất được chọn ra phải được lượng giá trong những trường hợp khác

nhau và nó cùng với tập gốc phải biểu diễn được với dữ liệu thực tế

Lựa chọn các thuộc tính có thể tiến hành theo hai cách: cách thứ nhất là xếp loại các thuộc tính theo một tiêu chuẩn nào đó và lấy ra k thuộc tính đầu tiên, do đó cách

Trang 13

mà không làm giảm đi quá trình học, do đó với cách này tự động xác định số lượng thuộc tính

Lựa chọn thuộc tính có thể dựa vào các mô hình, các chiến lược tìm kiếm, thước đo chất lượng thuộc tính và ước lượng Có ba loại mô hình như Filter, Wrapper, Embedded Mô hình Embedded là mô hình tích hợp thuộc tính được lựa chọn khi xây dựng mô hình ví dụ như thuật toán cây quyết định

Các chiến lược tìm kiếm bao gồm: forward, backward, floating, branch and bound, randomized Ước lượng của việc chọn lựa thuộc tính bao gồm hai nhiệm vụ: một là so sánh hai giai đoạn: trước và sau khi lựa chọn thuộc tính Hai là so sánh hai thuật toán lựa chọn thuộc tính [1]

Tóm lại lựa chọn thuộc tính được xem như là sự tổng hợp của ba thành phần chính: tìm kiếm, đánh giá, chọn lựa mô hình Hình 2.1 dưới đây thể hiện lựa chọn thuộc tính theo 3 thành phần nói trên [6]

Hình 2.1: Các thành phần chính của lựa chọn thuộc tính

2.1.1 Chiến lược tìm kiếm

Lựa chọn thuộc tính có thể được xem như là một vấn đề tìm kiếm, trong đó mỗi bước trong không gian tìm kiếm xác định ra một tập con thuộc tính liên quan Giả sử ta có một tập dữ liệu với 3 thuộc tính (A1, A2, A3) Một mảng nhị phân mà mỗi thành phần của mảng được thiết lập là 1 nếu thuộc tính có chỉ số tương ứng trong mảng nhị phân được chọn Nếu mảng có giá trị (1, 1, 1) có nghĩa là cả 3 thuộc tính được chọn và (1, 0, 0) có nghĩa là chỉ thuộc tính A1 được chọn Do đó, sẽ có tất cả 2N tập con có thể có, trong đó N là số lượng thuộc tính của tập dữ liệu Trong trường hợp có 3 thuộc tính sẽ

Trang 14

có tất cả 8 trạng thái (tập con) Một tập con tối ưu thường nằm đâu đó giữa điểm đầu

và điểm cuối cây Câu hỏi đặt ra ở đây là: Chúng ta nên bắt đầu tìm kiếm từ đâu Vấn

đề sẽ rất đơn giản nếu không gian tìm kiếm nhỏ Tuy nhiên, trên thực tế không gian tìm kiếm thường rất lớn (2N), bắt đầu từ câu hỏi “Đâu là điểm tìm kiếm phù hợp” sẽ xuất hiện các câu hỏi khác: Chiến lược tìm kiếm phù hợp là gì ? Trên thực tế chiến lược tìm kiếm lại bị ảnh hưởng bởi hướng tìm kiếm

Giả sử chúng ta ban đầu chưa có một khái niệm cụ thể nào về tập thuộc tính tối ưu trong không gian tìm kiếm, thì sẽ không có sự khác biệt trong việc xác định điểm xuất phát nên bắt đầu từ đâu (một tập rỗng hay một tập đủ các thuộc tính) Do đó, đối với phần lớn các vấn đề trong tìm kiếm thì trung bình thời gian để tìm ra tập con tối ưu giữa các hướng tìm kiếm khác nhau không có sự khác biệt Tuy nhiên, hướng tìm kiếm lại có mối liên hệ chặt chẽ trong việc tạo ra tập con thuộc tính Một phương pháp tìm kiếm là tìm ra tập con tối ưu bắt đầu từ một tập rỗng các thuộc tính (Ví dụ: Sequential Forward Generation), phương pháp còn lại là tìm ra tập con tối ưu bằng cách lần lượt loại bỏ các thuộc tính ít quan trọng từ một tập đủ các thuộc tính ban đầu (Ví dụ: Sequential Backward Generation)

2.1.2 Tiêu chuẩn lựa chọn

Tất cả các chiến lược tìm kiếm đều có nhu cầu đánh giá một thuộc tính hoặc một tập con thuộc tính để xác định thuộc tính/tập con đó là tốt hay không tốt Việc đánh giá này thường là phức tạp và có nhiều chiều đánh giá Ví dụ, đánh giá có thể được đo lường theo những khía cạnh: các thuộc tính được chọn lựa có làm tăng độ chính xác của bộ phân lớp hay không và các thuộc tính được chọn lựa có giúp làm đơn giản các kết quả học do đó sẽ các kết quả này có thể dễ dàng để hiểu hay không… Sau đây là một số đo lường thường được sử dụng trong trích chọn thuộc tính

a Đo lường thông tin

Thông tin là một cách đo lường độ không ổn định của người nhận tin khi một người nhận tất cả các tin nhắn Nếu người nhận tin biết được tin nhắn nào đang đến thì

sự ngạc nhiên (uncertainty) của người đó sẽ thấp Trong trường hợp anh ta hoàn toàn không biết tin nhắn nào đang đến, chúng ta giả sử rằng tất có các tin nhắn có xác suất đến bằng nhau, thì sự ngạc nhiên của anh ta đối với tin nhắn đó là cao Trong ngữ cảnh của phân lớp, các tin nhắn là các lớp Giả sử U là một hàm đo lường độ không ổn định của lớp, nếu U có giá trị lớn có nghĩa là mức độ không ổn định cao

b Đo lường khoảng cách

Trang 15

xác suất điều kiện lớp Ví dụ đối với trường hợp có 2 lớp, D(X) là khoảng cách giữa P(X|c1) và P(X|c2), luật đánh giá thuộc tính xây dựng dựa trên khoảng cách D(X) nói rằng, trong hai thuộc tính X và Y thuộc tính X được chọn nếu D(X) > D(Y) Mục đích của việc chọn lựa này là ta cố gắng tìm ra các thuộc tính sao cho hai lớp được phân chia (khoảng cách giữa 2 lớp) là xa nhất có thể được

c Đo lường phụ thuộc

Đo lường này cũng được biết đến như là đo lường mối quan hệ, đo lường mối liên hệ Đo lường này được thiết kế để lượng hóa mối quan hệ giữa hai biến bằng việc nếu biết được giá trị một biến ta có thể dự đoán được giá trị của biến còn lại Trong đánh giá thuộc tính, thay bằng việc kiểm tra một thuộc tính thay đổi thông tin thu thập được hoặc thay đổi kỳ vọng xác suất lớp như thế nào, thì chúng ta sẽ xem xét một thuộc tính liên hệ với một lớp như thế nào (mạnh hay yếu) Gọi R(X) là đo lường phụ thuộc giữa thuộc tính X và lớp C, ta chọn thuộc tính X dựa trên đo lường phụ thuộc với thuộc tính Y nếu R(X) > R(Y) Nói một cách khác, chúng ta chọn thuộc tính có mối liên hệ chặt chẽ với lớp C hơn Nếu X và C là độc lập thống kê thì giữa X và Y sẽ không có mối liên hệ và việc loại bỏ thuộc tính X sẽ không làm ảnh hưởng đến việc phân lớp các thuộc tính còn lại Nếu mỗi giá trị của thuộc tính X có mối liên hệ với một giá trị của lớp C, chúng ta kỳ vọng rằng R(X) sẽ có giá trị cực đại và thuộc tính X được chọn thuộc về lớp C

2.1.3 Các mô hình Filter và Wrapper

Về cơ bản có thể phân loại các phương pháp lựa chọn thuộc tính theo hai cách tiếp cận khác nhau là Filter và Wrapper

Cách sử dụng đơn giản nhất của chọn lựa thuộc tính là sử dụng độ chính xác của bộ phân lớp như một đo lường hiệu quả của bộ phân lớp Nếu mục đích của chúng ta là để cực tiểu hóa tỷ lệ lỗi của phân lớp và chi phí đo lường đối với mỗi thuộc tính là như nhau thì sử dụng độ chính xác dự báo của lớp như một tiêu chí đo lường hiệu quả là rất khả thi Do vậy, chúng ta nên xây dựng một bộ phân lớp với mục đích là để có được

độ chính xác dự báo cao nhất có thể, sau đó chọn lựa các thuộc tính được sử dụng bởi

bộ phân lớp như là các thuộc tính tối ưu Mô hình này cũng được gọi là mô hình Wrapper Ngoài phương pháp đo lường trực tiếp ở trên, cũng có một phương pháp đo lường hiệu quả không trực tiếp khác, chủ yếu dựa trên việc đo lường khoảng cách và

đo lường thông tin trong việc chọn lựa thuộc tính Mô hình được xây dựng theo cách này được gọi là mô hình Filter

Trang 16

a Mô hình Wrapper

Hình 2.2: Mô Hình Wrapper Mối quan tâm chính của khai phá dữ liệu là thu được độ chính xác dự đoán cao Vấn đề chính ở đây là làm thế nào chúng ta có thể cải thiện được hiệu quả phân lớp dựa trên những tri thức học được từ dữ liệu Một trong những các phương pháp nhằm cải thiện hiệu quả phân lớp là thông qua chọn lựa thuộc tính, vì thông qua chọn lựa thuộc tính chúng ta sẽ có tập dữ liệu tốt hơn cho phân lớp Nếu chúng ta có thể chọn được các thuộc tính liên quan và loại bỏ các thuộc tính nhiễu chúng ta có thể nâng cao hiệu quả phân lớp mà cụ thể là độ chính xác của bộ phân lớp [7]

Mô hình chọn lựa thuộc tính Wrapper có thể giúp chúng ta thực hiện được những mong muốn trên Hình 2.2 thể hiện mô hình Wrapper Mô hình Wrapper bao gồm 2 giai đoạn: Giai đoạn 1 – chọn lựa tập con thuộc tính, trong giai đoạn này các tập con thuộc tính tốt nhất sẽ được lựa chọn dựa trên tiêu chí độ chính xác lớp (của bộ dữ liệu tập huấn); Giai đoạn 2 – học và kiểm tra (learning and testing), một bộ phân lớp sẽ học các tri thức từ dữ liệu tập huấn thông qua một tập các thuộc tính tốt nhất được chọn lựa, và được kiểm tra lại bằng một bộ dữ liệu kiểm tra Khi các tập con thuộc tính được tạo ra một cách hệ thống (hướng tìm kiếm), đối với mỗi tập con thuộc tính sẽ có một bộ phân lớp được tạo ra từ dữ liệu bao gồm các thuộc tính đã được chọn lựa Độ chính xác của bộ phân lớp được ghi lại trong mỗi lần thử nghiệm và tập con thuộc tính với độ chính xác cao nhất sẽ được giữ lại Khi quá trình chọn lựa kết thúc, tập con thuộc tính với độ chính xác cao nhất sẽ được chọn Giai đoạn 2 là quá trình học và kiểm tra thông thường, trong giai đoạn này chúng ta sẽ có độ chính xác dự báo trên bộ

dữ liệu kiểm tra

Độ chính xác ước tính của một bộ phân lớp trên dữ liệu tập huấn có thể không phản ánh đúng độ chính xác trên bộ dữ liệu kiểm tra Do đó, vấn đề đặt ra ở đây là làm thế nào để có được ước lượng độ chính xác tốt nhất trên các bộ dữ liệu kiểm tra Một trong

Trang 17

những cách làm phổ biến là sử dụng kiểm chứng chéo (cross validation), phương pháp này sẽ được đề cập trong chương 4 của luận văn

b Mô hình Filter

Hình 2.3: Mô hình Filter Ngoài cách dựa vào độ chính xác của bộ phân lớp ở trên, chúng ta cũng có thể sử dụng một số cách khác để làm tăng độ chính xác dự đoán của bộ phân lớp như: loại bỏ nhiễu, biến đổi dữ liệu (data reduction) Mặc dù chúng ta biết rằng khả năng xử lý của

mô hình Wrapper đối với dữ liệu nhiều chiều bị hạn chế bởi việc chọn lựa bộ phân lớp Tuy nhiên, trong ngữ cảnh của khai phá dữ liệu thì thông thường bộ dữ liệu thường là rất lớn và không thể dùng trực tiếp một bộ phân lớp để phân lớp dữ liệu cho bộ dữ liệu

đó Do đó, chúng ta cần sử dụng một số phương pháp tiền xử lý (pre-processing) đối với bộ dữ liệu đó trước khi áp dụng phân lớp bộ dữ liệu đó Thông qua mô hình Wrapper có thể đảm bảo độ chính xác của các thuộc tính được chọn lựa Tuy nhiên, do những hạn chế của mô hình này như: độ phức tạp thời gian lớn, hạn chế trong việc chọn lựa bộ phân lớp và khả năng xử lý với các bộ dữ liệu có kích cỡ lớn là không tốt Dưới đây, chúng ta sẽ xem xét mô hình chon lựa thuộc tính Filter, mô hình này có thể khắc phục được một số hạn chế của mô hình Wrapper

Mô hình Filter cũng bao gồm 2 giai đoạn: Giai đoạn 1 – Chọn lựa thuộc tính sử dụng các đo lường như thông tin, khoảng cách, độc lập hoặc độ đồng nhất không sử dụng bất kỳ một giải thuật học nào ở giai đoạn này; Giai đoạn 2 – Giai đoạn này tương

tự như giai đoạn 2 trong mô hình Wrapper, một bộ phân lớp học các tri thức thông qua các thuộc tính được chọn lựa trên bộ dữ liệu huấn luyện và được kiểm tra lại trên bộ

dữ liệu kiểm tra

Mô hình chọn lựa thuộc tính Filter có một số đặc điểm sau: Mô hình này không chịu ảnh hưởng của một giải thuật học cụ thể, (không áp dụng giải thuật học trong giai đoạn 1) nhưng lại chịu ảnh hưởng của bản chất bộ dữ liệu (sử dụng các đo lường trên bộ dữ liệu) Do đó, các thuộc tính được chọn lựa sau đó có thể được sử dụng cho các giải thuật học khác nhau; Các đo lường như thông tin, khoảng cách, độc lập hoặc độ đồng nhất thường có chi phí “rẻ” hơn so với đo lường độ chính xác của một lớp, vì vậy phương pháp filter có thể cho ra tập thuộc tính được chọn lựa nhanh hơn; và Do tính chất giản đơn của các đo lường cũng như độ phức tạp thời gian của các đo lường này thường là thấp, nên phương pháp filter có thể được sử dụng trong việc xử lý các bộ dữ

Trang 18

liệu kích cỡ lớn Tuy nhiên, các thuộc tính được chọn lựa bởi phương pháp fitler không cho phép các giải thuật học hiệu chỉnh lại các sai số (do nó chọn lựa thuộc tính dựa trên một số tiêu chí của bộ dữ liệu mà không dựa trên độ chính xác của kết quả học) do đó kết quả của phân lớp đôi khi có độ chính xác không cao

2.2 Một số thuật toán lựa chọn thuộc tính

Các thuật toán lựa chọn thuộc tính được xét dưới góc độ chiến lược tìm kiếm nào được sử dụng trong giải thuật đó: Tìm kiếm toàn bộ, Tìm kiếm theo kinh nghiệm

tập con nhằm mục đích tìm ra tập con m thuộc tính bé nhất thỏa mãn tiêu chí ổn định Khi m không nhỏ (Ví dụ m>N/2), thì chi phí thời gian chạy giải thuật là rất lớn Dưới đây là pseudo-code của phương pháp Focus

b Phương pháp AAB

Được Liu đưa ra năm 1998, ABB là viết tắt của cụm từ automated Branch and Bound algorithm Chữ tự động (automated) ở đây có nghĩa là cận (bound) được xác định một cách tự động, điều này không giống như giải thuật nhánh và cận cổ điển, cận phải được xác định trước Dưới đây thể hiện Psuedo-code của giải thuật ABB

Trang 19

Giải thuật ABB bắt đầu với một tập tất cả các thuộc tính, ABB thực hiện chiến lược tìm kiếm theo chiều rộng Tại mỗi bước giải thuật lần lượt loại bỏ một thuộc tính cho đến khi không còn một thuộc tính nào có thể được loại bỏ mà vẫn thỏa mãn tiêu chí độ

ổn định.ABB thực hiện việc mở rộng không gian tìm kiếm cũng giống như là việc cắt tỉa một cây Một nhánh bị “tỉa” khi nó không thể phát triển thêm được nữa do việc vi phạm tiêu chí ổn định Khi một nhánh không thể phát triển thêm được nữa thì gốc của nhánh có thể là một trong những “ứng cử viên” cho kết quả của giải thuật Cuối cùng, một tập với số lượng các thuộc tính nhỏ nhất được chọn lựa nếu nó thỏa mãn tiêu chí

đo lường U

2.2.2 Tìm kiếm theo kinh nghiệm

Có rất nhiều phương pháp chọn lựa thuộc tính theo kinh nghiệm Nhìn chung, các phương pháp này đều là sự đánh đổi việc tìm ra một tập con tốt nhất, với việc tìm ra một tập con tốt có thể chấp nhận được ở chừng mực nào đó nhưng có thời gian thực hiện nhanh hơn Mặc dù, mục đích của các phương pháp tìm kiếm theo kinh nghiệm vẫn là tìm ra một tập con tối ưu

Trang 20

Phương pháp đơn giản nhất trong các phương pháp tìm kiếm theo kinh nghiệm là

“trích” ra một bộ phân lớp và thực hiện việc chọn lựa các thuộc tính bằng cách sử dụng bộ phân lớp được tạo ra trước đó Dưới đây là pseudo-code của phương pháp tìm kiếm theo kinh nghiệm Wrap1:

Trong phương pháp Wrap1, từ một tập dữ liệu N thuộc tính chúng ta áp dụng một giải thuật học trên bộ dữ liệu đó nhằm tìm ra một bộ phân lớp (các tham số) có kết quả phân lớp tốt nhất Sau đó, áp dụng bộ phân lớp này đối với tất cả các thuộc tính trong

bộ dữ liệu cần phân lớp

2.2.3 Tìm kiếm xác suất

Có thể nói rằng các phương pháp xác suất là kết quả của việc các nhà nghiên cứu tiếp tục theo đuổi mục đích tìm kiếm tập con tối ưu mà không muốn thực hiện việc tìm kiếm toàn bộ trong không gian tìm kiếm Không giống như hai phương pháp tìm kiếm theo kinh nghiệm và tìm kiếm toàn bộ được trình bày ở trên, các thuộc tính không tuần

tự được loại bỏ/thêm vào từ một tập các thuộc tính cho trước Phương pháp tìm kiếm theo xác suất cho phép tìm kiếm các tập con thuộc tính mà ở đó các tập con này được tạo ra một cách ngẫu nhiên

Phương pháp LVF (Las Vegas algorithm for Filter feature selection)

Phương pháp LVF được Liu và Setiono đưa ra vào năm 1996, phương pháp LVF bao gồm một thủ tục có thể tạo ra tạo ra các tập con thuộc tính một cách ngẫu nhiên và một thủ tục nhằm đánh giá xem mỗi tập con được tạo ra có thỏa mãn tiêu chuẩn chọn lựa hay không Dưới đây thể hiện pseudo-code của phương pháp LVF

Trang 21

Kết quả của hai thủ tục trong giải thuật LVF là một tập con thuộc tính tối ưu Đo lường được sử dụng để đánh giá trong LVF là tỷ lệ lỗi (inconsistency) Giải thuật LVF này có hai tham số quan trọng đó là: Tỷ lệ lỗi của dữ liệu khi sử dụng tất cả các thuộc tính, Số lượng tối đa các tập con thuộc tính được tạo ra ngẫu nhiên

Trong pseudo-code của giải thuật LVF ở trên maxTries là một hằng số liên quan đến số lượng các thuộc tính có trong tập dữ liệu ban đầu, bằng trực quan chúng ta nhận thấy rằng dữ liệu càng có nhiều thuộc tính thì càng khó phân lớp Thông thường maxTries = c x N, trong đó c là một hằng số (c<=N) Giá trị maxTries càng lớn có nghĩa là số lần lặp của giải thuật càng lớn và kết quả của giải thuật cũng tốt hơn Một cách khác để xác định giá trị maxTries trong LVF đó là xác định giá trị maxTries theo không gian tìm kiếm mà người sử dụng muốn LVF thực hiện Chúng ta biết rằng không gian tìm kiếm là 2N, nếu người sử dụng muốn LVF thực hiện việc tìm kiếm trong p% của không gian tìm kiếm thì maxTries=2N x p%

Trang 22

Chương 3: Cơ sở lý thuyết thuật giải di truyền

và mạng nơron nhân tạo

Chương này luận văn trình bày về cơ sở lý thuyết nghiên cứu là giải thuật di truyền và mạng nơron nhân tạo cho phương pháp học máy ở chương tiếp theo Giải thuật di truyền là một giải thuật giải quyết các bài toán về tối ưu Nó được sử dụng rất rộng rãi trong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng nơron Sự liên hệ của nó với các giải thuật khai phá dữ liệu là ở chỗ tối ưu hóa cần thiết cho các quá trình khai phá dữ liệu Giai đoạn tối ưu hóa là cần thiết để xác định xem các giá trị tham số nào tạo ra các luật tốt nhất Và vì vậy mà giải thuật di truyền

đã được sử dụng trong các công cụ khai phá dữ liệu

3.1 Thuật toán di truyền

Trong thực tiễn, có nhiều bài toán tối ưu quan trọng đòi hỏi những thuật giải chất lượng cao Ví dụ ta có thể áp dụng phương pháp mô phỏng luyện thép để giải bài toán tìm đường đi ngắn nhất cho xe cứu hỏa hay bài toán người du lịch… Cũng có nhiều bài toán tối ưu tổ hợp, trong đó có nhiều bài toán đã được chứng minh là thuộc loại NP- đủ, có thể được giải gần đúng trên máy tính hiện đại bằng kỹ thuật Monte-Carlo Nói chung, bài toán tối ưu có thể được xem như bài toán tìm kiếm giải pháp tốt nhất trong không gian vô cùng lớn các giải pháp Khi không gian tìm kiếm nhỏ, các phương pháp tìm kiếm cổ điển như trên cũng đủ thích hợp, nhưng khi không gian lớn

cần phải dùng đến những kỹ thuật Trí Tuệ Nhân Tạo đặc biệt Thuật giải di truyền là

một trong những kỹ thuật đó

Thuật toán di truyền cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó mang tính tối ưu Quan niệm này có thể coi như một tiên đề đúng, không chứng minh được nhưng phù hợp với thực tế khách quan Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn, phát triển hơn, hoàn thiện hơn thế hệ trước [1]

Thuật toán di truyền là thuật toán bắt chước sự chọn lọc tự nhiên và di truyền Trong tự nhiên, các cá thể khỏe, có khả năng thích nghi tốt với môi trường sẽ được tái sinh và nhân bản ở thế hệ sau Mỗi cá thể có cấu trúc gien đặc trưng cho phẩm chất của cá thể đó Trong quá trình sinh sản, các cá thể con có thể thừa hưởng các phẩm chất của cha và mẹ, cấu trúc gien của nó mang một phần cấu trúc gien của cha và mẹ Ngoài ra trong quá trình tiến hóa có thể xảy ra hiện tượng đột biến, cấu trúc gien của

cá thể con có thể chứa các gien mà cả cha và mẹ đều không có [2]

Trang 23

Trong thuật toán di truyền, mỗi cá thể được mã hóa bởi một cấu trúc dữ liệu mô

tả cấu trúc gien của cá thể đó, ta sẽ gọi nó là nhiễm sắc thể (chroniosome) Mỗi nhiễm sắc thể được tạo thành từ các đơn vị được gọi là gien Chẳng hạn, trong các thuật toán

di truyền cổ điển, các nhiễm sắc thể là các chuỗi nhị phân, tức là mỗi cá thể được biểu diễn bởi một chuỗi nhị phân

Thuật toán di truyền sẽ làm việc trên các quần thể gồm nhiều cá thể Mỗi quần thể ứng với một giai đoạn phát triển sẽ được gọi là một thế hệ Từ thế hệ ban đầu được tạo ra, thuật toán di truyền bắt chước chọn lọc tự nhiên và di truyền để biến đổi các thế

hệ Thuật toán di truyền sử dụng các toán tử sau đây để biến đổi các thế hệ:

Toán tử tái sinh (reproduction) (còn gọi được gọi là toán tử chọn lọc - selection) Các cá thể tốt nhất được chọn lọc để đưa vào thế hệ sau Sự lựa chọn này được thực hiện dựa vào độ thích nghi với môi trường của mỗi cá thể Ta sẽ gọi hàm ứng với mỗi cá thể với độ thích nghi của nó là hàm thích nghi (fitness function)

Toán tử lai ghép (crossover): hai cá thể cha và mẹ trao đổi các gien để tạo ra hai cá thể con

Toán tử đột biến (mutation): một cá thể thay đổi một số gien để tạo thành

cá thể mới

Tất cả các toán tử trên khi thực hiện đều mang tính ngẫu nhiên

Cấu trúc cơ bản của thuật toán di truyền như sau:

Trang 24

Điều kiện kết thúc vòng lặp có thể là một số thế hệ đủ lớn nào đó hoặc độ thích nghi của các cá thể tốt nhất trong các thế hệ kế tiếp nhau khác nhau không đáng kể Khi thuật toán dừng, cá thể tốt nhất trong thế hệ cuối cùng được chọn làm nghiệm cần tìm

3.1.1 Chọn lọc

Việc chọn lọc các cá thể từ quần thể dựa trên độ thích nghi của mỗi cá thể Các cá thể

có độ thích nghi cao có nhiều khả năng được chọn Cần nhấn mạnh rằng, hàm thích nghi chỉ cần là một hàm thực dương, nó có thể không tuyến tính, không liên tục, không khả vi Quá trình chọn lọc được thực hiện theo kỹ thuật bánh xe quay

Giả sử thế hệ hiện P(t) gồm n cá thể Số n được gọi là cỡ quần thể Với mỗi cá thể xi , ta tính độ thích nghi của nó f(xi) Tính tổng các độ thích nghi của tất cả các cá thể trong quần thể:

Trang 25

Sinh ra một số thực ngẫu nhiên q trong khoảng (0, F)

xk là cá thể được chọn, nếu k là số nhỏ nhất sao cho:

Việc chọn lọc theo hai bước trên có thể minh họa như sau: ta có một bánh xe được chia thành n phần, mỗi phần ứng với độ thích nghi của một cá thể Một mũi tên chỉ vào bánh xe Quay bánh xe, khi bánh xe dừng, mũi tên chỉ vào phần nào, cá thể ứng với phần đó được chọn

Với mỗi cá thể ta thực hiện hai bước sau:

Sinh ra số thực ngẫu nhiên r trong đoạn [0,1];

Nếu r < pc thì cá thể đó được chọn để lai ghép;

Từ các cá thể được chọn để lai ghép, người ta cặp đôi chúng một cách ngẫu nhiên Trong trường hợp các nhiễm sắc thể là các chuỗi nhị phân có độ dài cố định m, ta có

Trang 26

thể thực hiện lai ghép như sau: với mỗi cặp sinh ra một số nguyên ngẫu nhiên p trên đoạn [0, m-1] và p là vị trí điểm ghép Cặp gồm hai nhiễm sắc thể:

Được thay bởi hai con là:

3.1.3 Đột biến

Ta thực hiện toán tử đột biến trên các cá thể có được sau quá trình lai ghép Đột biến là thay đổi trạng thái của một số gien nào đó trong nhiễm sắc thể Mỗi gien chịu đột biến với xác suất pm Xác suất đột biến do pm xác định và là xác suất thấp Sau đây là toán

tử đột biến trên các nhiễm sắc thể chuỗi nhị phân

Với mỗi vị trí i trong nhiễm sắc thể:

Ta sinh ra một số thực ngẫu nhiên pi trong khoảng [0,1] Qua đột biến a được biến thành a’ như sau:

Trong đó:

Khác với phép lai, phép đột biến thay đổi một cách ngẫu nhiên một hay nhiều gien của nhiễm sắc thể được chọn, thay đổi này được thực hiện với một xác suất thể hiện tốc độ đột biến Phép đột biến cho phép đưa các thông tin mới vào quần thể ban đầu làm cho chất liệu di truyền thêm phong phú hơn

Sau quá trình chọn lọc, lai ghép, đột biến, một thế hệ mới được sinh ra Công việc còn lại của thuật toán di truyền bây giờ chỉ là lặp lại các bước trên

Như vậy mỗi nhiễm sắc thể biểu diễn một lời giải của bài toán đang giải, một tiến trình tiến hóa được thực hiện trên một quần thể các nhiễm sắc thể tương ứng với một quá trình tìm kiếm lời giải trong không gian lời giải Tìm kiếm đó cân đối hai mục tiêu: khai thác những lời giải tốt nhất và khảo sát không gian tìm kiếm Leo đồi là một

Trang 27

là một thí dụ điển hình của chiến lược khảo sát không gian tìm kiếm mà không chú ý đến việc khai thác những vùng đầy hứa hẹn của không gian Thuật toán di truyền là phương pháp tìm kiếm (độc lập miền) tạo được sự cân đối đáng kể giữa việc khai thác

và khảo sát không gian tìm kiếm

Thực chất giải thuật di truyền thuộc lớp các thuật giải xác suất nhưng lại rất khác những giải thuật ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫu nhiên Khác biệt quan trọng giữa tìm kiếm của giải thuật di truyền và các phương pháp khác tìm kiếm khác là nó duy trì và xử lý một tập các lời giải (gọi là quần thể), tất cả những phương pháp khác chỉ xử lý một điểm trong không gian tìm kiếm Chính

vì thế thuật toán di truyền mạnh hơn các phương pháp tìm kiếm hiện có rất nhiều Thuật toán di truyền thực hiện tiến trình tìm kiếm lời giải tối ưu theo nhiều hướng, bằng cách duy trì một quần thể các lời giải và thúc đẩy sự hình thành, trao đổi thông tin giữa các hướng này Quần thể trải qua tiến trình tiến hóa: ở mỗi thế hệ lại tái sinh ra các lời giải tương đối tốt, trong khi các lời giải xấu thì chết đi Để phân biệt các lời giải khác nhau, hàm mục tiêu được dùng để đóng vai trò môi trường [1]

Thuật toán di truyền khác với các thuật toán tối ưu khác ở các điểm sau:

Thuật toán di truyền chỉ sử dụng hàm thích nghi để hướng dẫn sự tìm kiếm, hàm thích nghi chỉ cần là hàm thực dương Ngoài ra nó không đòi hỏi không gian tìm kiếm phải có cấu trúc nào cả

Thuật toán di truyền làm việc trên các nhiễm sắc thể là các mã của cá thể cần tìm

Thuật toán di truyền tìm kiếm từ một quần thể gồm nhiều cá thể

Các toán tử trong Thuật toán di truyền đều mang tính ngẫu nhiên

Để giải quyết một vấn đề bằng thuật toán di truyền, chúng ta cần thực hiện các bước sau đây:

Trước hết ta cần mã hóa các đối tượng cần tìm bởi một cấu trúc dữ liệu nào đó Chẳng hạn, trong các thuật toán di truyền cổ điển thường sử dụng mã nhị phân

Thiết kế hàm thích nghi Trong các bài toán tối ưu, hàm thích nghi được xác định dựa vào hàm mục tiêu

Trên cơ sở cấu trúc của nhiễm sắc thể, thiết kế các toán tử di truyền (lai ghép, đột biến) cho phù hợp với vấn đề cần giải quyết

Xác định cỡ quần thể và khởi tạo quần thể ban đầu

Xác định xác suất lai ghép pc và xác suất đột biến pm Xác suất đột biến cần là xác suất thấp

Trang 28

Trong luận văn, việc mã hóa các đối tượng sử dụng mã nhị phân Còn hàm thích nghi thì luận văn sử dụng mạng nơron để đánh giá độ thích nghi của mỗi cá thể trong quần thể Phần tiếp theo trình bày về mạng nơron nhân tạo

3.2 Mạng nơron nhân tạo

3.2.1 Giới thiệu

Nghiên cứu và mô phỏng trí não, cụ thể là tế bào thần kinh (noron) là ước muốn

từ lâu của nhân loại Từ mơ ước đó, các nhà khoa học đã không ngừng nghiên cứu và tìm hiểu mạng về mạng nơron Với khoảng 15 tỷ nơron ở não người, mỗi nơron có thể nhận hàng vạn tín hiệu từ các khớp thần kinh và được coi là một cơ chế sinh vật phức tạp nhất Não người có khả năng giải quyết những vấn đề như: nghe, nhìn, nói, hồi ức thông tin, phân biệt các mẫu mặc dù sự kiện có bị méo mó, thiếu hụt Não thực hiện những nhiệm vụ như vậy nhờ các phần tử tính toán là nơron Não phân bố việc xử lý cho hàng tỷ nơron có liên quan, điều khiển các mối liên hệ giữa các nơron đó Nơron không ngừng nhận và truyền thông tin lẫn nhau Các nơron tự liên kết với nhau thành mạng trong xử lý Mỗi mạng gồm hàng vạn các phần tử nơron khác nhau Mỗi phần tử nơron có khả năng liên kết với hàng nghìn các nơron khác Lý thuyết về mạng nơron

đã hình thành từ những năm 40 của thế kỷ trước và đang phát triển, đặc biệt là nghiên cứu ứng dụng chúng

Có nhiều ứng dụng của mạng nơron đã được áp dụng trong thực tế và mang lại những hiệu quả tốt như ứng dụng mạng nơron trong chế tạo các mạch điện tử thông minh, xây dựng hệ chuyên gia y học, ứng dụng nhận dạng và phân loại các sản phẩm cùng với trí tuệ nhân tạo mạng nơron thực sự trở thành lĩnh vực nghiên cứu quan trọng trong việc phát triển các ứng dụng có giá trị thực tiễn Ở đây chúng ta sẽ đi sâu vào một ứng dụng quan trọng của mạng nơron nhân tạo đó là bài toán phân lớp

3.2.2 Mô hình phân lớp tổng quát

Một trong các khả năng của mạng nơron đó là phân loại mẫu Mẫu có thể mô tả một đối tượng, một sự kiện hoặc một hiện tượng Mạng nơron có thể phân loại các mẫu như sau:

 Mẫu có tính không gian

 Mẫu có tính thời gian

Ví dụ các mẫu không gian như các bức tranh, các hình ảnh video, các bản đồ thời tiết hoặc các ký tự dưới dạng các bức tranh Các mẫu thời gian như các tín hiệu tiếng nói tương tự Các mẫu thời gian thường bao gồm dữ liệu xuất hiện theo thứ tự

Trang 29

thời gian, thay đổi theo thời gian Mục đích của phân loại mẫu là xác định một đối tượng, sự kiện hay hiện tượng vật lý theo một trong các phân loại cho trước

Mô hình phân loại và nhận dạng chung được biểu diễn như hình dưới đây

Dữ liệu được chuyển đổi tại đầu ra của bộ chuyển đổi có thể được nén lại nhưng vẫn làm cho hệ thống chạy bình thường Dữ liệu được nén lại gọi là các đặc trưng (feature) Bộ trích chọn đặc trưng thực hiện việc giảm số chiều của dữ liệu Số chiều không gian đặc trưng nhỏ hơn nhiều so với không gian mẫu Các véctơ đặc trưng sau khi trích chọn vẫn giữ được tính chất chủ yếu của dữ liệu mà không ảnh hưởng đến kết quả nhận dạng của hệ thống, lại giúp hệ thống thao tác với dữ liệu dễ hơn

Đứng về phía mạng nơron ta có thể chia bài toán thành hai quá trình:

Quá trình học dữ liệu: từ dữ liệu thô được thu nhận và được lưu trữ dưới dạng một không gian mẫu Các mẫu sẽ được trích chọn đặc trưng và lưu trữ dưới dạng một không gian đặc trưng Các đặc trưng sẽ là đầu vào cho mạng nơron huấn luyện

Quá trình phân lớp: dữ liệu cần nhận dạng cũng được xử lý tương tự như trên

để thu được các đặc trưng cần phân loại Sau đó các đặc trưng này sẽ cho qua mạng nơron để phân lớp

Trong luận văn, giải thuật di truyền được sử dụng như là bộ trích chọn đặc trưng Cụ thể vấn đề này sẽ được trình bày ở chương 4 của luận văn

Trang 30

Hình 3.3: Cấu trúc mạng Back propagation 3 lớp

Về mặt lý thuyết đã chứng minh rằng: mạng ba lớp trở lên có thể nhận biết mọi hàm bất kỳ Chính vì vậy, luật học truyền ngược có ý nghĩa rất quan việc cập nhật trọng của mạng nhiều lớp truyền thẳng Nền tảng của thuật toán cập nhật trọng này cũng là phương pháp hạ Gradient Thật vậy, cho cặp mẫu đầu vào - đầu ra (x(k)

, d(k)) , thuật toán lan truyền ngược được thực hiện hai pha Đầu tiên, mẫu đàu vào x(k)

được truyền

từ lớp vào tới lớp ra và kết quả của luồng dữ liệu thẳng (forward) này là tạo đầu ra

Trang 31

thực sự y(k) Sau đó tín hiệu lỗi từ sai khác giữa d(k)

và y(k) sẽ được lan truyền từ lớp ra quay trở lại các lớp trước đó để chúng cập nhật trọng

Để minh họa chi tiết thuật toán lan truyền ngược, xét một mạng 3 lớp: lớp vào có m nơron, lớp ẩn có l nơron và lớp ra có n nơron Hàm kích hoạt ặ) không đổị Ta phải tìm các trọng wiq và vqj để xấp xỉ tốt nhất quan hệ giữa n đầu ra yi với m đầu vào xj theo một tập p mẫu{x(k)

, y(k)} với k = 1, 2, , p

Với một cặp vào ra {x(k)

, y(k)}, luật học lan truyền ngược thực hiện hai pha trên luồng

dữ liệu như sau:

- Pha 1: Mẫu vào x(k) được truyền thẳng từ đầu vào tới lớp đầu ra y(k)

- Pha 2: Sai lệch giữa d(k) và y(k) là e(k) được truyền ngược lại từ lớp ra tới lớp

ẩn trước đó để thay đổi giá trị trọng

Tập trọng của lớp ẩn là vqj với {q = 1, , l; j = 1, , m}, tập trọng của lớp ra là

wiq với {q = 1, , l; i = 1, , n}

+ Lớp vào: Chỉ để truyền tín hiệu cho lớp saụ

+ Lớp ẩn: Với tập mẫu đầu vào x, nơron thứ q nhận tổng đầu vào là:

m 1 j j qj

net vớiq 1 , l 1 (3.1)

Đầu ra của lớp ẩn là:

m 1 j j qj q

q a net a v x

+ Lớp ra:

l 1 q

m 1 j j qj iq

2 k i k

d 2

1

E (3.4)

Ta có thể cập nhật các trọng từng bước, mỗi khi có một mẫu mới {x(k)

, y(k)} xuất hiện theo phương pháp hạ gradient nhằm cực tiểu hoá hàm sai số:

n 1 i

2 k i k i k

y d 2

1

E (3.5)

Trọng cho lớp ra cần hiệu chỉnh là: k old

iq new k iq

w (3.6) Theo phương pháp hạ gradient ta có:

Ngày đăng: 25/03/2015, 09:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Đình Thúc, Lập trình tiến hóa, Nhà xuất bản giáo dục, 2001 Sách, tạp chí
Tiêu đề: Lập trình tiến hóa
Nhà XB: Nhà xuất bản giáo dục
[2]. Đinh Mạnh Tường, Trí Tuệ Nhân Tạo, Nhà Xuất Bản Khoa học Kỹ Thuật, 2003 Tài liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Trí Tuệ Nhân Tạo", Nhà Xuất Bản Khoa học Kỹ Thuật, 2003
Nhà XB: Nhà Xuất Bản Khoa học Kỹ Thuật
[1]. Huan Liu and Hiroshi Motoda, Computational Methods of Feature Selection, Chapman &amp; Hall/CRC, 2008 Sách, tạp chí
Tiêu đề: Computational Methods of Feature Selection
[2]. YongSeog Kim and Filipppo Meczenc, Feature Selection in Data Mining, 2005 [3]. Jacek Jarmulak and Susan Craw, Genetic Algorithms for Feature Selection and Weighting, IJCAI 99 workshop, 1999 Sách, tạp chí
Tiêu đề: Feature Selection in Data Mining", 2005 [3]. Jacek Jarmulak and Susan Craw, "Genetic Algorithms for Feature Selection and Weighting
[4]. Jihoon Yang and Vasant Honavar, Feature Subset Selection Using a Genetic Algorithm, Artifical Intelligence Research Group Sách, tạp chí
Tiêu đề: Feature Subset Selection Using a Genetic Algorithm
[5]. Krzysztof J.Cios, Witold Deddrycz, Roman W.Swiniarski, Lukasz A.Kurgan, Data Mining A Knowledge Discovery Approach, Springer, 2007 Sách, tạp chí
Tiêu đề: Data Mining A Knowledge Discovery Approach
[6]. Luis Carlos Molina et at, Feature Selection for Algorithms: A Survey and Experimental Evaluation, 2000 Sách, tạp chí
Tiêu đề: Feature Selection for Algorithms
[7]. Ron Kohavi and George H. John, Wrapper for Feature Subset Selection, AIJ special issuse on relevance, 1996 Sách, tạp chí
Tiêu đề: Wrapper for Feature Subset Selection
[8]. Chin-Teng Lin, C.S. George Lee, (1996), Neural Fuzzy Systems: A neuro-Fuzzy Synergism to Intelligent Systems, Prentice-Hall International, Inc Sách, tạp chí
Tiêu đề: Neural Fuzzy Systems: A neuro-Fuzzy Synergism to Intelligent Systems
Tác giả: Chin-Teng Lin, C.S. George Lee
Năm: 1996
[9]. Sancho Salcedo –Sanz etc, Feature Selection via Genetic Optimization, 2000 [10]. Padhraic Smyth, Cross-Validation Methods, CS 175, Fall 2007 Sách, tạp chí
Tiêu đề: Feature Selection via Genetic Optimization, "2000 [10]. Padhraic Smyth, "Cross-Validation Methods
[11]. Ha Nam Nguyen, Syng Yup Ohn, A Learning Algorithm based for Searching Optimal Combined Kernal Function in Support Vector Machine, 2005 Sách, tạp chí
Tiêu đề: A Learning Algorithm based for Searching Optimal Combined Kernal Function in Support Vector Machine
[12]. Translation of Microarray Data into Clinically Relevant Cancer Diagnostic Tests Using Gege Expression Ratios in Lung Cancer And Mesothelioma, Cancer Research, 2002 Sách, tạp chí
Tiêu đề: Cancer Research

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w