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

Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản

85 556 2

Đ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 85
Dung lượng 1,48 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhân loại ứng dụng tin học vào phục vụ cho nghiên cứu khoa học, cho công nghệ sản xuất, phục vụ cho nghành quản lý kinh tế, sản xuất kinh doanh, du lịch, y tế tạo điều kiện cho nền sản x

Trang 1

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TRẦN THỊ THANH

ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO PHÂN LOẠI

TÀI LIỆU DẠNG VĂN BẢN

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Thái Nguyên - 2012

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Ứng dụng giải thuật di truyền vào phân loại

tài liệu dạng văn bản” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn

của PGS.TS Bùi Thế Hồng Toàn bộ phần mềm do chính tôi lập trình và kiểm thử

Tôi xin chịu trách nhiệm về lời cam đoan của mình

Các số liệu và thông tin sử dụng trong luận văn này hoàn toàn là trung thực

Tác giả

Trần Thị Thanh

Trang 3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

MỤC LỤC

MỤC LỤC i

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT vi

DANH MỤC CÁC BẢNG vii

DANH MỤC CÁC HÌNH VẼ viii

MỞ ĐẦU 1

CHƯƠNG 1: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU 3

1.1 Giới thiệu chung 3

1.1.1 Giới thiệu 3

1.1.2 Khái niệm 3

1.1.3 Đặc điểm của bài toán khai phá dữ liệu 4

1.2 Quá trình khám phá tri thức trong cơ sở dữ liệu 6

1.2.1 Gom dữ liệu 7

1.2.2 Trích lọc dữ liệu 7

1.2.3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu 8

1.2.4 Chuyển đổi dữ liệu 9

1.2.5 Khai phá dữ liệu - Phát hiện và trích mẫu dữ liệu 9

1.2.6 Đánh giá kết quả mẫu 10

1.3 Khái quát các kỹ thuật khai phá dữ liệu 10

1.3.1 Kỹ thuật khai phá dữ liệu dự đoán 10

1.3.1.1 Phân lớp dữ liệu 10

1.3.1.2 Hồi quy 12

1.3.2 Kỹ thuật khai phá dữ liệu mô tả 13

1.3.2.1 Phân cụm dữ liệu 13

1.3.2.2 Tóm tắt 14

Trang 4

1.3.3 So sánh các tiếp cận khai phá dữ liệu: phân cụm - phân lớp 14

1.3.4 Ứng dụng phân cụm 15

1.3.5 Ví dụ 15

1.4 Ý nghĩa thực tiễn và tình hình ứng dụng 17

1.4.1 Ý nghĩa thực tiễn 17

1.4.2 Tình hình ứng dụng 18

CHƯƠNG 2: TÌM HIỂU VỀ THUẬT GIẢI DI TRUYỀN 19

2.1 Tổng quan về giải thuật di truyền 19

2.1.1 Giới thiệu 19

2.1.2 Các tính chất quan trọng của giải thuật di truyền 20

2.1.3 Cơ sở sinh học của giải thuật di truyền 21

2.1.4 Sơ đồ thực hiện giải thuật di truyền 21

2.1.5 Ứng dụng 24

2.2 Các khái niệm chung về giải thuật di truyền 24

2.2.1 Chuỗi nhiễm sắc thể 24

2.2.2 Các cá thể 25

2.2.3 Phương pháp mã hóa 25

2.2.4 Quần thể 25

2.2.5 Hàm thích nghi 26

2.2.6 Lai ghép, đột biến, tái sinh và chọn lọc 26

2.3 Các phép toán di truyền 27

2.3.1 Mã hóa 27

2.3.1.1 Mã hóa nhị phân 27

2.3.1.2 Mã hóa hoán vị 28

Trang 5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.1.3 Mã hóa giá trị 28

2.3.1.4 Mã hóa theo cây 28

2.3.2 Quá trình lai ghép 29

2.3.2.1 Lai ghép giá trị thực 29

2.3.2.2 Lai ghép giá trị nhị phân 31

2.3.3 Đột biến 32

2.3.3.1 Đột biến các giá trị thực 32

2.3.3.2 Đột biến các giá trị nhị phân 33

2.3.4 Phép chọn lọc 33

2.3.4.1 Phương pháp chọn lọc dùng bánh xe Roulette 33

2.3.4.2 Phương pháp chọn lọc Stochastic Universal Sampling 34

2.3.4.3 Phương pháp chọn lọc địa phương 35

2.3.4.4 Phương pháp lựa chọn loại bỏ 36

2.4 Các tham số của thuật giải di truyền 36

2.4.1 Kích thước quần thể 36

2.4.2 Xác suất lai giống 37

2.4.3 Xác suất đột biến 37

2.4.4 Số lượng thế hệ 38

CHƯƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO PHÂN LOẠI 39

TÀI LIỆU DẠNG VĂN BẢN 39

3.1 Phân loại văn bản 39

3.1.1 Khái niệm 39

3.1.2 Quá trình phân loại văn bản 39

3.2 Giới thiệu bài toán phân loại văn bản 41

Trang 6

3.3 Các phương pháp biểu diễn văn bản 41

3.3.1 Mô hình không gian vector (Vector Space Model - VSM) 41

3.3.2 Mô hình BOOLEAN 43

3.3.3 Mô hình tần suất 44

3.3.3.1 Phương pháp dựa trên tần số thuật ngữ (TF) 44

3.3.3.2 Phương pháp dựa trên nghịch đảo tần số văn bản (TDF) 45

3.3.3.3 Phương pháp TF × IDF 45

3.3.4 Phương pháp xử lý vector thưa 46

3.3.5 Mô hình đồ thị 46

3.4 Các thuật toán phân loại văn bản 48

3.4.1 Bộ phân loại Vector hỗ trợ (SVM) 48

3.4.2 Phân loại văn bản và SVM 53

3.4.3 Thuật toán k-NN (k-Nearest Neighbor) 60

3.5 Giải thuật di truyền phân loại văn bản 62

3.5.1 Lựa chọn mô hình biểu diễn văn bản 62

3.5.1.1 Biểu diễn vector của văn bản 63

3.5.1.2 Phép tính độ tương tự giữa hai vector 63

3.5.1.3 Vector trọng tâm của một nhóm văn bản 63

3.5.1.4 Phép tính độ tương tự giữa hai nhóm văn bản 63

3.5.2 Phương án tách thuật ngữ 64

3.5.2.1 Đối với các ngôn ngữ đơn âm tiết (single-term) 64

3.5.2.2 Đối với các ngôn ngữ đa âm tiết (multi-term) 64

3.5.2.3 Loại nhiễu 65

3.5.2.4 Mã hóa ký tự 66

Trang 7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3.5.2.5 Tách từ khóa 66

3.5.2.6 Loại từ dừng (Stop Words) 66

3.5.2.7 Thống kê từ khóa 66

3.5.3 Sử dụng thuật giải di truyền trích chọn từ khóa 67

3.5.3.1.Giới thiệu 67

3.5.3.2 Độ thích hợp của từ khóa 67

3.5.3.3 Ứng dụng giải thuật di truyền để tối ưu hóa độ thích nghi của từ khóa 69

3.6 Cài đặt và thử nghiệm chương trình 69

KẾT LUẬN 73

TÀI LIỆU THAM KHẢO 74

Trang 8

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

KDD Knowledge Discovery and Data

Mining

Kỹ thuật phát hiện tri thức

và khai phá dữ liệu

SMO Sequential Minimal Optimization Tối ƣu hóa tuần tự cực tiểu

WFST Weighted Finite State Transducer Mô hình WFST kết hợp

mạng Noron

Trang 9

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

DANH MỤC CÁC BẢNG

Bảng 2.1: Biểu diễn cá thể trước và sau đột biến 33

Bảng 2.2: Độ thích nghi và xác suất của cá thể 34

Bảng 3.1: Vector biểu diễn văn bản 1 và văn bản 2 theo tần suất xuất hiện 43

Bảng 3.2: Vector Boolean biểu diễn văn bản 1 44

Bảng 3.3: Các tham số tối ưu tương ứng với mỗi số lượng đặc trưng 58

Bảng 3.4: Độ chính xác phân loại trên mỗi lớp và trên toàn bộ 58

Bảng 3.5: Một số từ dừng trong tiếng Việt 66

Trang 10

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Quá trình khám phá tri thức 7

Hình 1.2: Các đường biên phân loại đối với một láng giềng gần nhất 11

Hình 1.3: Đường biên phân loại học bởi phân loại không tuyến tính 12

Hình 1.4: Một hồi quy tuyến tính đơn giản với tập dữ liệu vay nợ 12

Hình 1.5: Một phép phân cụm đơn giản của tập dữ liệu vào 3 cụm 14

Hình 1.6: Phân cụm các điểm trong không gian 15

Hình 1.7: Phân cụm các ngôi nhà dựa vào khoảng cách địa lý 16

Hình 2.1: Giải quyết vấn đề bằng giải thuật di truyền 20

Hình 2.2: Sơ đồ giải thuật di truyền 22

Hình 2.3: Nguyên tắc thực hiện lai ghép chéo 31

Hình 2.4: Nguyên tắc thực hiện lai ghép đa điểm 32

Hình 2.5: Ảnh hưởng của quá trình đột biến 32

Hình 2.6: Quá trình chọn lọc cá thể bằng phương pháp bánh xe Roulette 34

Hình 2.7: Quá trình chọn lọc cá thể bằng phương pháp Stochastic Universal Sampling 35

Hình 2.8: Mô tả các lân cận của cá thể 35

Hình 2.9: Mô tả các lân cận của cá thể 36

Hình 3.1: Các bước nhỏ trong quá trình đánh chỉ số 40

Hình 3.2: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ 42

Hình 3.3: Đồ thị biểu diễn văn bản 47

Hình 3.4 Đồ thị đồng hiện của văn bản 48

Hình 3.5 Mặt phẳng tách các mẫu dương khỏi các mẫu âm 49

Hình 3.8: Minh họa việc khoanh vùng k văn bản gần nhất với k = 5 60

Hình 3.9: Mô hình tách từ khoá từ văn bản thô 65

Hình 3.10: Giao diện chương trình chính 70

Hình 3.11: Thực hiện phân tách từng văn bản định dạng txt 70

Hình 3.12: Quá trình loại bỏ các stop word có trong từng văn bản 70

Hình 3.13:Thực hiện học phân lớp thể thao và pháp luật 71

Trang 11

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 3.14: Trích chọn đặc trưng theo giải thuật di truyền 71 Hình 3.15: Thực hiện biểu diễn các văn bản trong từng phân lớp theo đặc trưng được trích chọn dựa trên giaỉ thuật di truyền và biểu diễn dưới dạng vecto thưa 72 Hình 3.16: Thực hiện phân loại từng văn bản theo từng thể loại 72

Trang 12

MỞ ĐẦU

Chúng ta đang sống trong một thế giới có nền khoa học phát triển rất hiện đại Thế kỷ 21 là thế kỷ của công nghệ thông tin nói chung và của tin học nói riêng Đó

là một trong những thành tựu vĩ đại nhất mà con người đã đạt được trong thiên niên

kỷ này Tin học giữ vai trò đặc biệt quan trọng trong các hoạt động của toàn nhân loại Nhân loại ứng dụng tin học vào phục vụ cho nghiên cứu khoa học, cho công nghệ sản xuất, phục vụ cho nghành quản lý kinh tế, sản xuất kinh doanh, du lịch, y

tế tạo điều kiện cho nền sản xuất xã hội ngày càng phát triển đồng thời giảm bớt đáng kể sức lao động của con người, đưa mức sống con người ngày càng cao

Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining) đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới

Tại Việt Nam, kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng Bước quan trọng nhất của quá trình này là Khai phá

dữ liệu, giúp người sử dụng thu được những tri thức hữu ích từ những cơ sở dữ liệu hoặc các nguồn dữ liệu khổng lồ khác

Lý do của điều này là sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một nhiều Theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) được phân tích, trong khi số còn lại không được khai thác

và vẫn tiếp tục thu thập nên rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc

ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có Với những lý do như vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được Yêu cầu thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là

Kỹ thuật phát hiện tri thức và khai phá dữ liệu như đã nêu trên

Trang 13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Có nhiều phương pháp tiếp cận, giải thuật nhằm ứng dụng công nghệ khai phá

dữ liệu vào công tác quản lý nguồn tài liệu văn bản trong đó giải thuật di truyền là một hướng đi mới có nhiều ưu điểm trong kỹ thuật tìm kiếm lời giải tối ưu đáp ứng yêu cầu của nhiều bài toán xử lý văn bản

Luận văn cấu trúc gồm 3 chương:

Chương 1:

Chương 1 chúng ta tìm hiểu tổng quan về khai phá dữ liệu, quá trình khai phá dữ liệu, các hướng tiếp cận và các phương pháp khai phá dữ liệu Đặc điểm của các bài toán khai phá dữ liệu và qui trình khám phá tri thức trong cơ sở dữ

Chương 2:

Chương 2 nghiên cứu giải thuật di truyền và ứng dụng vào phân loại tài liệu dạng văn bản Trong chương này chúng ta tìm hiểu về các phép toán di truyền và các tham số của giải thuật di truyền Quá trình phân loại văn bản, bài toán phân loại văn bản, các phương pháp biểu diễn văn bản và các thuật toán phân loại văn bản

Chương 3:

Chương 3 chúng ta sẽ cài đặt chương trình thuật toán ở chương 2 Ứng dụng giải thuật để tối ưu hóa độ thích nghi của từ khóa

Luận văn này được hoàn thành dưới sự hướng dẫn tận tình của PGS.TS Bùi Thế

Hồng, em xin bày tỏ lòng biết ơn chân thành của mình đối với thầy Em xin chân

thành cảm ơn các thầy, cô giáo Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên đã tham gia giảng dạy, giúp

đỡ em trong suốt qúa trình học tập nâng cao trình độ kiến thức Tuy nhiên vì điều kiện thời gian và khả năng có hạn nên luận văn không thể tránh khỏi những thiếu sót Em kính mong các thầy cô giáo và bạn đọc đóng góp ý kiến để đề tài được hoàn

thiện hơn

Trang 14

CHƯƠNG 1: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU

1.1 Giới thiệu chung

1.1.1 Giới thiệu

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt Bên cạnh đó việc tin học hóa nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu lưu trữ khổng lồ

Hàng triệu CSDL đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lý trong đó có nhiều CSDL cực lớn Sự bùng nổ này dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành tri thức có ích Từ đó các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền công nghệ thông tin thế giới hiện nay

1.1.2 Khái niệm

Thuật ngữ khai phá dữ liệu ra đời vào những năm cuối của thập kỷ 1980 Theo Giáo sư Tom Mitchell “Khai phá dữ liệu là việc sử dụng dữ liệu l ịch sử để khám phá những quy tắc và cải thiện những quyết định trong tương lai”

Với cách tiếp cận ứng dụng hơn , Tiến sỹ Fayyad đã phát biểu : “Khai phá dữ liệu , thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu , là một quá trình trích xuất những thông tin ẩn trước đây chưa biết và có khả năng hữu ích , dưới dạng các quy luật , ràng buộc, quy tắc trong cơ sở dữ liệu” Tóm lại, khai phá dữ liệu là một quá trình học tri thức mới từ những dữ liệu đã thu thập được Ngoài thuật ngữ khai phá dữ liệu còn có một số thuật ngữ khác được sử dụng với nghĩa tương đương như: khai phá tri thức cơ s ở dữ liệu (Knowlegde Mining from Databases ), trích lọc dữ liệu (Knowlegde Extraction ), phân tích dữ liệu / mẫu (Data/Pattern Analysis ), khảo cổ dữ liệu (Data Archaeology), nạo vét dữ liệu (Data Dredging) Thực ra, Khai phá d ữ liệu là một bước chính trong quá trình Khám phá tri thức trong CSDL

(Knowlegde Discovery in Databases - KDD)

Trang 15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1.1.3 Đặc điểm của bài toán khai phá dữ liệu

* Khai phá dữ liệu là giai đoạn chủ yếu của quá trình phát hiện tri thức

Nếu phát hiện tri thức là toàn bộ quá trình xuất tri thức từ CSDL thì khai phá

dữ liệu là một giai đoạn chủ yếu của quá trình đó Thông thường, quá trình phát hiện tri thức từ dữ liệu phải trải qua rất nhiều giai đoạn Có thể kể một vài giai đoạn quan trọng là: tìm hiểu lĩnh vực ứng dụng và mục đích khai phá, xác định dữ liệu liên quan và nhiệm vụ khai phá, tiền xử lý dữ liệu, chọn thuật toán khai phá và chuyển dữ liệu về dạng phù hợp, thực hiện khai phá và sau đó là tinh lọc và ứng dụng tri thức tìm được

Khai phá dữ liệu là để tìm ra các mẫu có ý nghĩa được tiến hành trên tập dữ liệu mà ta hy vọng sẽ thích hợp với nhiệm vụ khai phá hiện thời.Khai phá dữ liệu không phải là tìm kiếm từ dữ liệu trong một thời gian đủ dài để cho ra những mẫu không thực sự có ích như việc thống kê đã làm trước đây Khai phá dữ liệu thường bao gồm việc thử tìm mô hình phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập

dữ liệu theo mô hình đó

* Mẫu tìm được từ quá trình khai phá dữ liệu phải có tính mô tả và dự đoán

Mục đích chính của khai phá dữ liệu là chiết xuất tri thức từ dữ liệu.Những tri thức này được sử dụng cho lợi ích cạnh tranh trên thương trường và trong nghiên cứu khoa học.Dự đoán ở đây có nghĩa là trên cơ sở những điều đã biết trong quá khứ để dự đoán trước những gì sẽ xảy ra trong tương lai.Còn mô tả tập trung vào ý nghĩa hàm chứa trong mẫu tìm được và điều này là có nghĩa trong lĩnh vực ứng dụng Các mẫu cuối cùng tìm được do khai phá dữ liệu sẽ có một trong hai hoặc cả hai tính chất này

* Khai phá dữ liệu là quá trình trong đó con người làm trung tâm

Mặc dù khai phá dữ liệu sử dụng nhiều phương pháp khác nhau và với sự hỗ trợ của công cụ tin học nhưng trong bất cứ giai đoạn nào của quá trình khai phá, con người vẫn luôn đóng vai trò quan trọng Hệ thống không thể làm việc một cách hoàn toàn tự động mà không có sự trợ giúp của con người

Trang 16

Thật vậy, để quá trình khai phá cho ra kết quả tốt, cần phải có sự phối hợp trợ giúp thường xuyên của các chuyên gia cả về lĩnh vực tin học lẫn lĩnh vực ứng dụng.Sở dĩ có yêu cầu này là vì dữ liệu đầu vào và yêu cầu của bài toán khai phá thay đổi vô chừng.Các chuyên gia về lĩnh vực ứng dụng sẽ giúp các chuyên gia về tin học hiểu được điều họ mong muốn là gì.Sau đó, trách nhiệm của các chuyên gia tin học là biên dịch lại những yêu cầu đó để hệ thống khai phá hiểu và tìm ra được điều mà họ mong muốn

Các thông tin đầu vào cho hệ thống khai phá là rất quan trọng Thông tin có đầy đủ, chính xác, đúng đắn và phù hợp với yêu cầu thì kết quả khai phá mới có thể giúp ích cho người dùng được Các thông tin này chỉ có thể được cung cấp bởi các chuyên gia về lĩnh vực ứng dụng.Đó có thể là tập dữ liệu còn cần thiết, các tiêu chuẩn dùng trong quá trình tìm kiếm tri thức, cả những kinh nghiệm được biểu diễn bằng một ngôn ngữ nào đó mà hệ thống có thể hiểu được Có thể khẳng định một điều rằng, nếu quá trình khai phá tri thức không có sự phối hợp tích cực của các chuyên gia tin học và các chuyên gia về lĩnh vực ứng dụng thì sẽ không đạt được kết quả gì cả

* Khai phá dữ liệu là quá trình tìm kiếm tri thức chỉ từ dữ liệu

Lý luận và thực tiễn thực hiện các quá trình phát hiện tri thức mà ta xét ở đây

là sự tiếp thu, sử dụng và phát triển nhiều thành tựu và công cụ của các lĩnh vực đã phát triển trước đó như: lý thuyết nhận dạng, hệ chuyên gia, trí tuệ nhân tạo… Dù vậy, đặc điểm cơ bản giúp phân biệt việc phát hiện tri thức với các ngành đã có từ trước là phát hiện tri thức là quá trình tìm kiếm tri thức trực tiếp từ dữ liệu Ví dụ: một hệ chuyên gia thì cơ sở tri thức được hình thành từ kinh nghiệm và kiến thức của các chuyên gia là chủ yếu Trong khi bài toán nhận dạng dùng tập mẫu cho trước…

* Khai phá dữ liệu mang tính chất hướng nhiệm vụ

Khai phá phải nhằm vào việc giải quyết tốt một số nhiệm vụ đề ra nào đó.Tri thức mà ta đề cập đến trong bài toán khai phá dữ liệu là tri thức rút ra từ CSDL, thường để phục vụ cho việc giải quyết một loạt các nhiệm vụ nhất định trong một

Trang 17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

lĩnh vựcnhất định.Không thể có các yêu cầu cho một hệ thống phát hiện tri thức – trong đó khai phá dữ liệu là giai đoạn chủ yếu – là tìm mọi tri thức có thể có về lĩnh vực đó.Ngoài ra, mỗi lĩnh vực đều có đặc thù riêng về dữ liệu và những yêu cầu của lĩnh vực đó, sẽ không thể có một hệ thống phát hiện tri thức dùng cho mọi lĩnh vực

1.2 Quá trình khám phá tri thức trong cơ sở dữ liệu

Muốn thực hiện khai phá dữ liệu, đầu tiên phải tìm hiểu nghiệp vụ ứng dụng

và xác định mục tiêu khai phá.Điều này xuất phát từ nhu cầu thực tế của những người làm trong lĩnh vực cần khai thác dữ liệu.Đó có thể là các tri thức chiết xuất được sử dụng cho lợi ích cạnh tranh trên thương trường hoặc các lợi ích trong nghiên cứu khoa học.Đây là một bước rất quan trọng giúp định hướng cho toàn bộ quá trình khai phá Có hiểu rõ vấn đề và xác định đúng đắn mục tiêu thì các bước sau mới được thực hiện tốt và bài toán khai phá dữ liệu mới có thể cho kết quả tốt được Ngoài ra, việc hiểu rõ tri thức đã có của người dùng cũng rất quan trọng vì qua đó sẽ hiểu rõ lĩnh vực ứng dụng hơn Và những tri thức này thực sự giúp ích được rất nhiều trong khi thực hiện khai phá lẫn khi thực hiện hậu xử lý kết quả đạt được của quá trình khai phá luật nhằm lọc ra các luật thật sự giúp ích được cho người dùng

Sau khi tìm hiểu các lĩnh vực ứng dụng và xác định mục đích khai phá dữ liệu một cách đúng đắn, sẽ bước vào quá trình khám phá tri thức trong cơ sở dữ liệu như hình 1.1

Trang 18

1.2.2 Trích lọc dữ liệu

Tập hợp dữ liệu từ nhiều nguồn khác nhau vào trong một cơ sở dữ liệu

+Chỉ chọn những dữ liệu cần thiết cho tiến trình khai phá dữ liệu

Trang 19

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

+Loại bỏ dữ liệu dư thừa và trùng lặp

+Phát hiện và giải quyết các mâu thuẫn trong dữ liệu

*Dữ liệu dư thừa, trùng lặp:

+Một thuộc tính là thừa nếu nó có thể suy ra từ các thuộc tính khác +Cùng một một thuộc tính có thể có nhiều tên trong các cơ sở dữ liệu khác nhau (ví dụ: năm sinh, tuổi)

+Một số mẫu tin dữ liệu bị lặp lại

Cần tìm cách loại bỏ những dữ liệu dư thừa để tăng độ chính xác

1.2.3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu

Làm sạch dữ liệu là vấn đề quan trọng nhất của nhà kho dữ liệu

Các nhiệm vụ của công đoạn làm sạch dữ liệu:

+Điền các giá trị còn thiếu

+Xác định các sai biệt và khử dữ liệu tạp nhiễu

+Sửa chữa các dữ liệu mâu thuẫn

-Bỏ qua các mẫu tin có giá trị thiếu: dễ nhưng không hiệu quả, đặc biệt khi tỷ

lệ giá trị thiếu của thuộc tính cao

-Điền các giá trị thiếu bằng tay: không khả thi

-Điền các giá trị thiếu tự động:

+Thay thế bằng hằng số chung ví dụ: “không biết” có thể thành lớp mới trong dữ liệu

+Thay thế bằng giá trị trung bình của thuộc tính

Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu không được

“làm sạch - tiền xử lý - chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng

Trang 20

Các giải thuật tiền xử lý bao gồm:

a Xử lý dữ liệu bị thiếu/mất: Các dữ liệu bị thiếu sẽ được thay thế bởi các giá trị thích hợp

b Khử sự trùng lặp: Các đối tượng dữ liệu trùng lặp sẽ bị loại bỏ đi Kỹ thuật này không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu

c Giảm nhiễu: Nhiễu và các đối tượng tách rời khỏi phân bố chung sẽ bị loại

đi khỏi dữ liệu

d Chuẩn hóa: miền giá trị của dữ liệu sẽ được chuẩn hoá

e Rời rạc hóa: các dữ liệu số sẽ được biến đổi ra các giá trị rời rạc

f Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có

g Giảm chiều: các thuộc tính chứa ít thông tin sẽ được loại bớt

h Kiểm tra tính toàn vẹn của dữ liệu

1.2.4 Chuyển đổi dữ liệu

Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó tức là dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp Thông thường người ta đưa dữ liệu về dạng chuẩn, đó là dạng nhị phân.Việc chuyển dữ liệu về dạng nhị phân không làm thay đổi thông tin của dữ liệu đầu vào Đây có thể xem như là một cách thể hiện khác của dữ liệu ban đầu

Thực tế, có hai cách để thể hiện lại dữ liệu (dạng nhị phân và dạng số) trước khi dùng như là đầu vào của thuật toán Cách chuyển dữ liệu về dạng nhị phân nói trên sẽ làm tăng số chiều dữ liệu nhưng bù lại thuật toán dùng để khai phá trở nên đơn giản hơn Cách còn lại không chuyển dữ liệu về dạng nhị phân mà chuyển về dạng số, không làm thay đổi số chiều của dữ liệu nhưng thuật toán khai phá phải xử

lý dữ liệu phức tạp hơn

1.2.5 Khai phá dữ liệu- Phát hiện và trích mẫu dữ liệu

Đây là bước quan trọng nhất của quá trình khám phá tri thức.Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuật

Trang 21

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

toán thường dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ liệu tuần tự,.v.v

1.2.6 Đánh giá kết quả mẫu

Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu.Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch.Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần chiết xuất Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số phép đo Sau đó sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng

Trên đây là 6 giai đoạn trong quá trình khám phá tri thức, trong đó giai đoạn 5

là giai đoạn được quan tâm nhiều nhất hay còn gọi đó là Data Mining

Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình khám phá tri thức trong CSDL là rất quan trọng cho việc nghiên cứu trong khai phá dữ liệu.Bởi vì một giải thuật trong khai phá dữ liệu không thể được phát triển độc lập, không quan tâm đến bối cảnh áp dụng mà thường được xây dựng để giải quyết một mục tiêu cụ thể

Do đó, sự hiểu biết bối cảnh vận dụng là rất cần thiết Thêm vào đó, các kỹ thuật được sử dụng trong các giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật sử dụng trong các giai đoạn tiếp theo

1.3 Khái quát các kỹ thuật khai phá dữ liệu

Kỹ thuật khai phá dữ liệu có thể được chia làm 2 nhóm chính kỹ thuật khai phá dữ liệu dự đoán và kỹ thuật khai phá dữ liệu mô tả

1.3.1 Kỹ thuật khai phá dữ liệu dự đoán

Kỹ thuật này có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Nó sử dụng các biến hay các trường trong cơ sở dữ liệu để dự báo các giá trị không biết hay các giá trị tương lai Các kỹ thuật này gồm có: phân lớp, hồi quy…

1.3.1.1 Phân lớp dữ liệu

Phân lớp dữ liệu là kĩ thuật dựa trên tập dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân lớp sẽ học ra bộ phân lớp dùng để

Trang 22

phân dữ liệu mới vào một trong những lớp đã được xác định trước Phân lớp cũng là tiên đoán loại lớp của nhãn.Bên cạnh kĩ thuật phân lớp có một hình thức tương tự là

kĩ thuật tiên đoán, kĩ thuật tiên đoán khác với phân lớp ở chỗ phân lớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ thuật tiên đoán mô hình những hàm đánh giá liên tục

Quá trình phân lớp dữ liệu thường gồm 2 bước: Xây dựng mô hình và sử dụng

mô hình để phân lớp dữ liệu

* Bước 1: Xây dựng mô hình

Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có.Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp.Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện.Mô hình được biểu diễn là những luật phân lớp, cây quyết định và những công thức toán học.Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có thầy khác với phân cụm dữ liệu là học không có thầy

*Bước 2: Sử dụng mô hình để phân lớp dữ liệu

Trước hết chúng ta phải tính độ chính xác của mô hình, trong đó nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớp của mô hình, độ chính xác

là phần trăm của tập mẫu kiểm tra mà phân loại đúng bởi mô hình, tập kiểm tra là độc lập với huấn luyện Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

Hình 1.2: Các đường biên phân loại đối với một láng giềng gần nhất

Income Debt

Trang 23

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Income Debt

Hình 1.3: Đường biên phân loại học bởi phân loại không tuyến tính

1.3.1.2 Hồi quy

Phương pháp hồi qui khác với phân lớp dữ liệu ở chỗ, hồi qui dùng để dự đoán

về các giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc

Hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực Các ứng dụng hồi quy có nhiều, ví dụ như đánh giá xác xuất một bệnh nhân sẽ chết mang lại các kết quả của một tập các xét nghiệm chẩn đoán, dự báo nhu cầu của người tiêu dùng đối với một sản phẩn mới như một hoạt động quảng cáo tiêu dùng Hình 1.4 cho thấy kết quả của hồi quy tuyến tính tại đó "total debt - tổng nợ" phù hợp như một hàm tuyến tính của "income - thu nhập": sự phù hợp là nghèo nàn này do vậy chỉ có một mối tương quan yếu giữa hai biến

Hình 1.4: Một hồi quy tuyến tính đơn giản với tập dữ liệu vay nợ

Trang 24

1.3.2 Kỹ thuật khai phá dữ liệu mô tả

Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của

dữ liệu trong CSDL hiện có Kỹ thuật này bao gồm: Phân cụm (clustering), tóm tắt (summerization), trực quan hóa (visualiztion), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), phân tích luật kết hợp (association rules)…

1.3.2.1 Phân cụm dữ liệu

Các kỹ thuật phân cụm dữ liệu sẽ nhóm các đối tượng dữ liệu có tính chất giống nhau vào cùng một nhóm.Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là cực đại và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là cực tiểu Các cụm được đặc trưng bằng các tính chất chung của tất cả các đối tượng trong cụm

Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy.Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Trong phương pháp này bạn sẽ không biết kết quả của các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân loại thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web… Khảo sát các cụm sẽ giúp khái quát, tổng kết nhanh chóng nội dung của khối dữ liệu lớn, do đó phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác

Income

Debt Cluster 1

Cluster 2 Cluster 3

Trang 25

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình1.5: Một phép phân cụm đơn giản của tập dữ liệu vào 3 cụm

1.3.2.2 Tóm tắt

Liên quan đến các phương pháp tìm kiếm một mô tả tóm tắt cho một tập con

dữ liệu Ví dụ như việc lập bảng các độ lệch chuẩn và trung bình cho tất cả các trường.Các phương pháp phức tạp hơn liên quan đến nguồn gốc của các luật tóm tắt, khai thác mối liên hệ hàm giữa các biến Các kỹ thuật tóm tắt thường được áp dụng cho các phân tích dữ liệu tương tác có tính thăm dò và tạo báo cáo tự động

1.3.3 So sánh các tiếp cận khai phá dữ liệu: phân cụm - phân lớp

Hai kỹ thuật khai phá dữ liệu phổ biến để tìm ra các mẫu ẩn trong dữ liệu đó là phân cụm và phân lớp.Mặc dù phân lớp và phân cụm thường được đề cập trong cùng một breath, chúng vẫn là các tiếp cận phân tích khác nhau.Ở đây ta đề cập tới các khía cạnh giống và khác nhau giữa chúng

Tưởng tượng một cơ sở dữ liệu bao gồm các bản ghi về hoạt động mượn sách tại thư viện Nó bao gồm các thuộc tính như: MaSach, SoThe, NgayMuon, NgayTra

Phân cụm tự động xử lý cụm các bản ghi có liên quan với nhau.Các bản ghi có liên quan được nhóm lại với nhau trên cơ sở có các giá trị tương đồng tại một số thuộc tính Đây là cách tiếp cận phân đoạn cơ sở dữ liệu theo phương pháp phân cụm thường được dùng như là một kỹ thuật khai thác bởi nó không cần người dùng đầu cuối mà nhà phân tích cho biết trước là có bao nhiêu bản ghi có liên quan tới nhau Trong thực tế, mục tiêu của phép phân tích thường để phát hiện ra các đoạn hay các cụm và sau đó kiểm tra các thuộc tính và các giá trị mà định nghĩa các cụm hay các đoạn Như vậy là cụm các tài liệu thường được học viên mượn và mượn kết hợp sẽ trở nên rõ ràng hơn Điều này sẽ được dùng để điều chỉnh việc bố trí, sắp xếp tài liệu cho hợp lý.Hay trong việc phân cụm các khách hàng có thể được dùng để điều chỉnh chiến lược marketing và quảng cáo tới từng cụm khách hàng cụ thể

Có rất nhiều giải thuật khác nhau được dùng để phân cụm nhưng tất cả chúng đều tham gia, chia sẻ, đặc tính lặp ấn định các bản ghi tới một cụm, tính toán một độ

đo (thường là tương đồng hoặc sự khác biệt), các bản ghi ấn định lại vào các cụm

Trang 26

cho tới khi các độ đo được tính toán không thay đổi nhiều, chỉ ra rằng xử lý đã hội

tụ tới các đoạn ổn định Các bản ghi trong phạm vi một cụm có sự tương đồng với nhau hơn và khác biệt nhiều so với các bản ghi ở các cụm khác Tuỳ thuộc vào thực thi đặc thù, độ đo sự tương đồng có nhiều dạng (như dựa trên khoảng cách không gian, dựa trên độ biến thiên thống kê) nhưng toàn bộ chúng đều có chung mục đích

là nhóm lại các bản ghi có liên quan

1.3.4 Ứng dụng phân cụm

Trong xử lý ảnh (phân đoạn ảnh, rút gọn độ phân giải của ảnh)

Phân cụm các tài liệu liên quan để dễ tìm kiếm

Khoa học kinh tế (đặc biệt nghiên cứu tiếp thị)

Phân cụm các gene và protein có cùng chức năng

Phân cụm các vùng theo lượng mưa

1.3.5 Ví dụ

Hình 1.6: Phân cụm các điểm trong không gian

Trang 27

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 1.7: Phân cụm các ngôi nhà dựa vào khoảng cách địa lý

Kỹ thuật phân lớp khác với phân cụm.Phân lớp giống phân cụm ở chỗ cũng phân đoạn các bản ghi khách hàng vào trong các đoạn riêng biệt gọi là các lớp.Nhưng không giống như phân cụm, phân lớp đòi hỏi người dùng cuối/nhà phân tích biết trước là có bao nhiêu lớp được định nghĩa Ví dụ các lớp được định nghĩa

để biết được là có nên cho học viên mượn sách tiếp không, dựa trên trường NgayMuon, NgayTra, nếu đã trả sách cũ thì mới được mượn sách mới.Từng bản ghi trong tập dữ liệu cần được dùng để xây dựng người phân lớp đã có một giá trị đối với thuộc tính được dùng để định nghĩa các lớp Bởi mỗi bản ghi có một giá trị đối với thuộc tính được dùng để định nghĩa các lớp và bởi người dùng cuối quyết định trên thuộc tính được dùng, phân lớp khai thác ít hơn phân cụm

Đối tượng của một người phân lớp là không khai thác dữ liệu vào các đoạn được tìm ra, nhưng phần nào quyết định được có bao nhiêu bản ghi mới cần phân lớp

Phân lớp thông thường trong khai phá dữ liệu cũng dùng rất nhiều các giải thuật và giải thuật đặc thù đã dùng có thể tác động tới cách các bản ghi mới được phân lớp.Một tiếp cận phổ biến đối với các bộ phân loại là sử dụng các cây quyết định để phân chia và phân đoạn các bản ghi Các bản ghi mới có thể được phân lớp bằng cách đi theo cây từ gốc, qua các nhánh và các nút, tới một lá đại diện cho một lớp Đường đi mà một bản ghi có được qua một cây quyết định có thể được biểu thị như là một luật Nhưng bởi theo trật tự tự nhiên của cách một cây quyết định chia các bản ghi (tức là thuộc tính phân tách tốt nhất - các giá trị xuất hiện sớm trong

Trang 28

cây) có thể cho kết quả trong một cây quyết định là quá nhạy cảm cho các phân chia ban đầu Bởi vậy, khi đánh giá tính chất thích hợp của một cây, điều quan trọng là phải kiểm tra tỷ lệ lỗi đối với từng nút lá (tỷ lệ các bản ghi phân lớp không đúng) Một đặc tính thú vị của các bộ phân loại cây quyết định đó là bởi đường đi có thể được biểu diễn như các luật, khi đó nó có thể sử dụng các phép đo để đánh giá khả năng của các luật như Support, Confidence và Lift cũng để đánh giá tính hữu ích, năng lực, usefulness của cây

Cuối cùng, mặc dù phân cụm và phân lớp thường được dùng vì mục đích phân đoạn các bản ghi dữ liệu, chúng có các mục tiêu khác nhau và có được các kết quả phân đoạn theo nhiều cách khác nhau

1.4 Ý nghĩa thực tiễn và tình hình ứng dụng

1.4.1 Ý nghĩa thực tiễn

Hiện nay các hoạt động sản xuất, kinh doanh, quản lý… đều ứng dụng công nghệ thông tin, các thiết bị lưu trữ ngày càng tăng dung lượng nên hàng triệu CSDL được tạo ra, và hàng ngày khối lượng dữ liệu lại tăng lên không ngừng, yêu cầu trong việc khai thác dữ liệu ngày càng cao hơn Ngoài đòi hỏi về năng suất, tính linh hoạt, sự chuyên môn hóa trong vấn đề khai thác, CSDL cần phải mang lại tri thức hơn là chính dữ liệu đó.Trước những yêu cầu này cách khai thác CSDL truyền thống cho thấy sự hạn chế của mình.Phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không quá lớn, trong khi đó khối lượng dữ liệu tăng lên không ngừng

Phương pháp thống kê tuy là một trong những nền tảng của khai phá dữ liệu, nhưng phương pháp thống kê còn tồn tại một số điểm yếu: các phương pháp thống

kê hoạt động hoàn toàn theo dữ liệu, nó không sử dụng tri thức sẵn có về lĩnh vực, kết quả có thể rất nhiều và khó có thể làm rõ được…

Khai phá dữ liệu ra đời đã khắc phục được những khó khăn này

Trang 29

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1.4.2 Tình hình ứng dụng

Với những ưu điểm của mình, khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau như: marketing, tài chính, ngân hàng, bảo hiểm, khoa học, y tế, an ninh, viễn thông…

Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu lợi ích to lớn như: British Telecom đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lại được hàng triệu USD; IBM Surf-Aid áp dụng khai phá dữ liệu phân tích các lần đăng nhập Web vào các trang có liên quan đến thị trường để phát hiện sở thích khách hàng, phục vụ việc đánh giá tiếp thị qua Web…

Một số ứng dụng khai phá dữ liệu đã có hiệu quả cao:

- Khai phá dữ liệu được vận dụng hiệu quả để giải quyết các bài toán phức tạp trong các ngành đòi hỏi kỹ thuật cao như tìm kiếm dầu mỏ từ ảnh viễn thám, xác định các vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh báo hỏng hóc trong

Trang 30

CHƯƠNG 2: TÌM HIỂU VỀ THUẬT GIẢI DI TRUYỀN

2.1 Tổng quan về giải thuật di truyền

2.1.1 Giới thiệu

Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài toán là vấn đề được các nhà khoa học máy tính đặc biệt rất quan tâm.Mục đích chính của các thuật toán tìm kiếm lời giải là tìm ra lời giải tối ưu nhất cho bài toán trong thời gian nhỏ nhất Các thuật toán như tìm kiếm không có thông tin/vét cạn (tìm kiếm trên danh sách, trên cây hoặc đồ thị) sử dụng phương pháp đơn giản nhất và trực quan nhất hoặc các thuật toán tìm kiếm có thông tin sử dụng Heurictics để áp dụng các tri thức về cấu trúc của thông gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm được sử dụng nhiều nhưng chỉ với không gian tìm kiếm nhỏ và không hiệu quả khi tìm kiếm trong không gian tìm kiếm lớn

Trong thực tiễn có rất nhiều bài toán tối ưu với không gian tìm kiếm rất lớn cần phải giải quyết.Vì vậy, việc đòi hỏi thuật giải chất lượng cao và sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán có không gian tìm kiếm lớn.Giải thuật di truyền là một trong những kỹ thuật tìm kiếm lời giải tối

ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng

Từ những năm 1962, tại Mỹ, J.H.Holland đã đưa ra các khái niệm đầu tiên của giải thuật di truyền.Tại Đức, vấn đề được nghiên cứu dưới tên gọi giải thuật tiến hóa bởi các nhà nghiên cứu Rechenberg và Schwefel.Tuy có tên gọi và được tiếp cận với cách khác nhau nhưng các nghiên cứu trên đều bắt nguồn từ các nguyên tắc tiến hóa của tự nhiên

Sau đây là mô hình giải quyết bài toán dựa trên các giải thuật di truyền

Trang 31

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 2.1: Giải quyết vấn đề bằng giải thuật di truyền

2.1.2 Các tính chất quan trọng của giải thuật di truyền

Giải thuật di truyền lập luận mang tính chất ngẫu nhiên để tìm giải pháp tối ưu cho những vấn đề phức tạp, thay vì xác định như toán học giải tích Tuy nhiên đây

là hình thức ngẫu nhiên có hướng dẫn bởi trị số thích nghi.Chính hàm số thích nghi giúp giải thuật di truyền tìm giải pháp tối ưu trong rất nhiều giải pháp có thể có Giải thuật di truyền không chú ý đến chi tiết vấn đề, trái lại chỉ chú ý đến giải pháp cho vấn đề, hay tìm điều kiện tối ưu cho việc điều hành, và phân nhóm những giải pháp có được

Giải thuật di truyền được sử dụng đặc biệt cho những bài toán yêu cầu tìm kiếm tối ưu toàn cục với không gian tìm kiếm lớn và không thể kiểm soát nhờ khả năng duyệt qua không gian tìm kiếm đại diện mà không thực sự đi qua từng điểm của toàn bộ không gian

Ưu điểm của giải thuật di truyền là tính song song Giải thuật di truyền duyệt trong không gian tìm kiếm với nhiều đơn thể, vì thế hiếm khi chúng bị tắc nghẽn ở cực trị cục bộ như những phương pháp khác Chúng còn dễ cài đặt, một khi bạn có

Trang 32

một giải thuật di truyền nào đó, bạn chỉ cần viết nhiễm sắc thể mới để giải bài toán khác.Với cùng cách mã hoá, chỉ việc thay đổi hàm thích nghi ta cũng có thể giải bài toán.Tuy nhiên, việc chọn cách mã hoá và hàm thích nghi có thể khó khăn

Nhược điểm của giải thuật di truyền là thời gian tính toán.Chúng có thể chậm hơn các phương pháp khác.Nhưng với máy tính ngày nay thì đây không phải là vấn

đề quá lớn

2.1.3 Cơ sở sinh học của giải thuật di truyền

Giải thuật di truyền được xây dựng từ lý thuyết tiến hoá của Darwin, nguyên

lý cơ bản của những giải thuật này là duy trì một quần thể các gen có cấu trúc xác định làm đại diện cho các phương pháp giải quyết một vấn đề Quần thể này được phát triển trên cơ sở cạnh tranh lẫn nhau trong điều kiện biến động có kiểm soát, bao gồm sự tái tổ hợp hay còn gọi là lai giống, và đột biến gen của các cá thể trong quần thể Quá trình này tạo ra sự tiến hóa của các quần thể với một tính chất quan trọng là: thế hệ sau luôn thích nghi với môi trường tốt hơn so với thế hệ trước Những cá thể có độ thích nghi cao hơn sẽ được lựa chọn cho thế hệ sau.Khi giải thuật kết thúc, người ta đã chứng minh được rằng những cá thể ưu tú nhất, có mức

độ thích nghi cao nhất với yêu cầu của bài toán sẽ được chọn Các hoạt động lai ghép và đột biến gen sẽ góp phần tạo ra những bộ gen mới, làm thay đổi bộ mặt của quần thể Tuy xảy ra với tần số thấp, nhưng với số lượng cá thể lớn và kéo dài qua nhiều thế hệ, những hoạt động này bảo đảm sẽ không bỏ sót những giải pháp tối ưu không được tạo ra ngay ban đầu

2.1.4 Sơ đồ thực hiện giải thuật di truyền

Giải thuật di truyền đơn quần thể:

Giả sử chúng ta đã có phương pháp mã hóa di truyền cho bài toán và xây dựng hàm lượng giá độ thích nghi cho các cá thể Giải thuật di truyền bao gồm các bước

sau:

Bước 1: Khởi tạo quần thể ban đầu

Bước 2: Lượng giá hàm mục tiêu hay tính độ thích nghi cho từng nhiễm sắc

thể trong quần thể

Trang 33

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bước 3: Kiểm tra điều kiện tối ưu Nếu điều kiện tối ưu được thỏa mãn thì

chuyển sang bước 5 Nếu không chuyển sang bước 4

Bước 4: Thực hiện tạo quần thể mới bằng cách thực hiện các cơ chế di truyền

như chọn lọc, lai ghép, đột biến Các cá thể mới sinh ra được thay thế cho các cặp cha mẹ trong quần thể cũ

Bước 5: Khi điều kiện tối ưu được thoả mãn, giải thuật dừng và trả lại cá thể

tốt nhất

Hình 2.2: Sơ đồ giải thuật di truyền

Mô phỏng giải thuật di truyền:

Thỏa

Điều kiện tối ưu

Trang 34

Cấu trúc của một giải thuật tiến hóa nói chung và của một giải thuật di truyền nói riêng có dạng như trên Ở bước lặp t, giải thuật di truyền duy trì một quần thể các lời giải.Mỗi lời giải được đánh giá để biết được độ thích nghi của nó.Ở mỗi quần thể mới (tức ở lần lặp thứ t + 1) được hình thành bằng cách chọn và giữ lại những cá thể thích nghi nhất.Một số cá thể của quần thể này trải qua những biến đổi nhờ lai ghép và đột biến hình thành nên những lời giải mới

Một quá trình đơn quần thể như trình bày trên là khá mạnh và có thể được áp dụng tốt cho một lớp lớn các bài toán Tuy nhiên chúng ta có thể thu được kết quả tốt hơn nếu như sử dụng không chỉ một mà là nhiều quần thể, hay còn gọi là các quần thể con Mỗi quần thể con sẽ tạo ra một vài thế hệ cô lập trước khi có sự trao đổi một hay nhiều cá thể giữa các quần thể với nhau Lúc này, giải thuật di truyền được gọi là đa quần thể và việc mô phỏng sẽ gần gũi với tự nhiên hơn giải thuật đơn quần thể

Begin

t = 0; // biến lưu trữ giá trị quần thể thứ t Khởi tạo quần thể ban đầu P(t);

Tính độ thích nghi cho các cá thể thuộc P(t);

Lặp (Khi chưa thỏa điều khiển dừng)

t = t + 1;

Tái sinh P ’ (t) từ P(t); // Replication Lai ghép Q(t) từ P(t-1); // Crossover Đột biến R(t) từ R(t-1); // Mutation Chọn lọc P(t) từ P; // Selection Kết thúc lặp

End

Trang 35

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.1.5 Ứng dụng

Giải thuật di truyền mặc dù mới được phát triển trong thời gian gần đây nhưng

đã thu được những thành công lớn ở nhiều ngành khác nhau, cả trên lý thuyết và thực tiễn, trong các lĩnh vực như khoa học, kinh doanh và giải trí Đặc biệt người ta

có thể kết hợp giải thuật di truyền với những giải thuật khác để tạo thành một cơ chế điều khiển tự động nhiều tầng, cho phép giải những bài toán tối ưu phức tạp một cách nhanh chóng với độ chính xác có thể chấp nhận được

Một số lĩnh vực giải thuật di truyền đã được ứng dụng thành công:

- Phân tích dữ liệu và mô hình dự báo

- Thiết kế mạng nơron

- Quy hoạch chiến lược

- Quỹ đạo cho người máy

- Lập trình di truyền

- Tìm dạng của các phân tử protein

- Bài toán người du lịch (Travelling Salesman Problems) và lập thời gian biểu

- Giải những bài toán khó

2.2 Các khái niệm chung về giải thuật di truyền

2.2.1 Chuỗi nhiễm sắc thể

Giải thuật di truyền là giải thuật tìm kiếm dựa trên sự mô phỏng di truyền học

tự nhiên thông qua các cơ chế chọn lọc tự nhiên và sự tiến hóa của các gen Các gen liên kết với nhau tạo thành chuỗi nhiễm sắc thể

Một chuỗi nhiễm sắc thể S là một xâu có độ dài cố định thành lập trên bảng

mã di truyền A như sau:

S = (d 0 , d 1 , …d n ) SA n,d iA

Trên tập hợp các chuỗi nhiễm sắc thể ta định nghĩa các hàm

* Hàm len trả lại độ dài của chuỗi

S = (d 0 , d 1 , …d n ) => lenSn S

* Hàm  thực hiện ghép hai chuỗi

A = (a 1 , a 2 , … a n )

Trang 36

2.2.3 Phương pháp mã hóa

Mỗi cá thể I có một bộ gen S thể hiện bởi chuỗi nhiễm sắc thể của I Tương ứng với mỗi bộ gen S thì cá thể I có một kiểu hình M nhất định Trong khi đó, các

bài toán chúng ta cần giải quyết đều được biểu diễn thông qua kiểu hình của cá thể

trong quần thể Do đó cần phải có phương pháp chuyển đổi từ M sang S Phương

pháp này còn gọi là phương pháp mã hóa di truyền cho bài toán

Quần thể ban đầu có thể khởi tạo bằng cách tạo ra p xâu ngẫu nhiên bất kỳ có

độ dài l đóng vai trò chuỗi nhiễm sắc thể của các cá nhân ban đầu Hoặc chúng ta có

thể khởi tạo quần thể bằng cách tạo ra các cá thể có kiểu hình nhất định rồi từ đó tìm ra kiểu gen của từng cá thể Tuỳ theo bài toán phương pháp được sử dụng là

Trang 37

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

khác nhau nhưng đều phải đưa đến kết quả là tạo ra quần thể ban đầu P0 có chất lượng tốt nhằm tối thiểu hóa thời gian tính toán

2.2.5 Hàm thích nghi

Hàm thích nghi f(I) là hàm lượng giá khả năng thích nghi của cá thể I đối với môi trường Hàm thích nghi f(I) được sử dụng để định hướng, điều khiển quá trình

tiến hóa của cả quần thể theo một hướng nhất định

2.2.6 Lai ghép, đột biến, tái sinh và chọn lọc

Một cá thể mới sinh ra trong quá trình tiến hóa có thể mang những đặc tính, tính trạng của cha mẹ hoặc có thể mang những đặc tính hoàn toàn mới.Tuy nhiên hiện tượng đột biến xảy ra với xác suất nhỏ hơn rất nhiều so với hiện tượng di truyền nhưng di truyền và đột biến là hai cơ chế có vai trò quan trọng như nhau trong quá trình tiến hóa Các thuật toán tiến hóa đều mô phỏng bốn quá trình cơ bản sau: Lai ghép, đột biến, sinh sản và chọn lọc

* Lai ghép: Lai ghép là quá trình hình thành nhiễm sắc thể trên cơ sở các nhiễm sắc

thể cha mẹ bằng cách ghép một hay nhiều đoạn gen của hai hay nhiều nhiễm sắc thể cha mẹ với nhau Quá trình lai ghép được mô phỏng: Chọn ngẫu nhiên hai hay nhiều cá thể bất kỳ trong quần thể Giả sử các nhiễm sắc thể của cha mẹ đều có m gen Tạo một số ngẫu nhiên trong khoảng từ 1 đến m-1 ta gọi là điểm lai Điểm lai chia các chuỗi cha mẹ dài m thành hai nhóm chuỗi con dài m1 và m2 Hai chuỗi nhiễm sắc thể con mới sinh sẽ là m11 + m22 và m21 + m12 Đưa hai cá thể này vào quần thể để tham gia quá trình tiến hóa tiếp theo

* Đột biến: Đột biến là hiện tượng cá thể con mang một số tính trạng không có

trong mã hóa di truyền của cha mẹ Phép đột biến được mô tả: Chọn ngẫu nhiên một

cá thể bất kỳ trong quần thể có m gen Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m Thay đổi gen thứ k của cá thể và trả cá thể này về quần thể để tham gia quá

trình tiến hóa tiếp theo

* Tái sinh: Tái sinh là quá trình trong đó các cá thể được sao chép trên cơ sở độ

thích nghi của nó Mô tả: Tính độ thích nghi của từng cá thể trong quần thể hiện

hành f(I), cộng dồn độ thích nghi ký hiệu là F m Tạo một số ngẫu nhiên F trong đoạn

Trang 38

từ 0 đến F m Chọn một cá thể thứ k thỏa mãn F ≥ Fk đưa vào quần thể của thế hệ mới

* Chọn lọc: là quá trình loại bỏ các cá thể xấu trong quần thể để chỉ giữ lại trong

quần thể các cá thể tốt Mô tả: Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần Loại bỏ các cá thể cuối dãy để chỉ giữ lại các cá thể tốt nhất mong muốn

2.3 Các phép toán di truyền

2.3.1 Mã hóa

Giải thuật di truyền bắt đầu với quần thể, tập của nhiều cá thể (nhiễm sắc thể).Nhiễm sắc thể bằng cách nào đó chứa thông tin về nghiệm mà nó biểu diễn

Mã hóa nhiễm sắc thể là một trong những vấn đề cực kỳ quan trọng khi chúng

ta bắt đầu giải quyết bài toán bằng giải thuật di truyền.Sự mã hóa các biến phụ thuộc vào từng bài toán, làm sao để chọn ra một phương pháp mã hóa tốt để giải quyết bài toán là vấn đề khó Ta đưa ra hai nguyên tắc để chọn mã trong giải thuật

di truyền là: nguyên tắc các khối xây dựng có ý nghĩa và nguyên tắc ký tự tối thiểu Nguyên tắc các khối xây dựng có ý nghĩa như sau: “Người dùng nên chọn một

mã sao cho các sơ đồ ngắn, bậc thấp thì thích hợp đối với bài toán cơ bản và không liên quan tới vị trí cố định khác”

Nguyên tắc ký tự tối thiểu: “Người dùng nên chọn những bộ ký tự tối thiểu cho phép thể hiện được tính tự nhiên của bài toán”

Phần này giới thiệu một vài phương pháp mã hóa đã sử dụng thành công

Trang 39

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ví dụ:

Nhiễm sắc thể A 1.2324 5.3243 0.4556 2.3293.4545

Nhiễm sắc thể B ABDJEIFJDHDIERJFDLDFLFEGT

Nhiễm sắc thể C (back), (back), (right), (forward), (left)

2.3.1.4 Mã hóa theo cây

Mã hóa theo cây được dùng chủ yếu cho các chương trình (hoặc biểu thức) tiến hóa, cho lập trình di truyền

Trong mã hóa theo cây, mọi nhiễm sắc thể là một cây chứa các đối tượng chẳng hạn như hàm hoặc lệnh trong một ngôn ngữ lập trình nào đó

Trang 40

Nhiễm sắc thể A Nhiễm sắc thể B

Mã hóa theo cây thích hợp cho những chương trình tiến hóa Ngôn ngữ lập trình di truyền thường được dùng vì chương trình được biểu diễn dưới dạng này có thể dễ dàng phân giải cây, vì thế lai giống và đột biến có thể thực hiện một cách tương đối dễ dàng

2.3.2 Quá trình lai ghép

Sau khi quyết định cách mã hóa, chúng ta chuyển sang lai ghép Đây là việc chọn các gen từ các nhiễm sắc thể của bố mẹ và tạo ra con mới Quá trình lai ghép được chia làm 2 loại: lai ghép giá trị thực và lai ghép giá trị nhị phân

Ngày đăng: 08/11/2014, 21:44

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Quá trình khám phá tri thức - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 1.1 Quá trình khám phá tri thức (Trang 18)
Hình 1.3: Đường biên phân loại học bởi phân loại không tuyến tính - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 1.3 Đường biên phân loại học bởi phân loại không tuyến tính (Trang 23)
Hình 1.6: Phân cụm các điểm trong không gian - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 1.6 Phân cụm các điểm trong không gian (Trang 26)
Hình 2.1:  Giải quyết vấn đề bằng giải thuật di truyền. - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 2.1 Giải quyết vấn đề bằng giải thuật di truyền (Trang 31)
Hình 2.2: Sơ đồ giải thuật di truyền. - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 2.2 Sơ đồ giải thuật di truyền (Trang 33)
Hình 2.4: Nguyên tắc thực hiện lai ghép đa điểm - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 2.4 Nguyên tắc thực hiện lai ghép đa điểm (Trang 43)
Hình 2.9: Mô tả các lân cận của cá thể - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 2.9 Mô tả các lân cận của cá thể (Trang 47)
Bảng 3.1: Vector biểu diễn văn bản 1 và văn bản 2 theo tần suất xuất hiện - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Bảng 3.1 Vector biểu diễn văn bản 1 và văn bản 2 theo tần suất xuất hiện (Trang 54)
Hình3.4. Đồ thị đồng hiện của văn bản - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 3.4. Đồ thị đồng hiện của văn bản (Trang 59)
Hình 3.8: Minh họa việc khoanh vùng k văn bản gần nhất với k = 5 - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 3.8 Minh họa việc khoanh vùng k văn bản gần nhất với k = 5 (Trang 71)
Hình 3.9: Mô hình tách từ khoá từ văn bản thô - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 3.9 Mô hình tách từ khoá từ văn bản thô (Trang 76)
Bảng 3.5:  Một số từ dừng trong tiếng Việt - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Bảng 3.5 Một số từ dừng trong tiếng Việt (Trang 77)
Hình 3.13:Thực hiện học phân lớp thể thao và pháp luật - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 3.13 Thực hiện học phân lớp thể thao và pháp luật (Trang 82)
Hình 3.16: Thực hiện phân loại từng văn bản theo từng thể loại - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 3.16 Thực hiện phân loại từng văn bản theo từng thể loại (Trang 83)
Hình 3.15: Thực hiện biểu diễn các văn bản trong từng phân lớp theo đặc trưng  được trích chọn dựa trên giaỉ thuật di truyền và biểu diễn dưới dạng vecto thưa - Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản
Hình 3.15 Thực hiện biểu diễn các văn bản trong từng phân lớp theo đặc trưng được trích chọn dựa trên giaỉ thuật di truyền và biểu diễn dưới dạng vecto thưa (Trang 83)

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

🧩 Sản phẩm bạn có thể quan tâm

w