Tải bản đầy đủ (.pdf) (62 trang)

Áp dụng phương pháp trích chọn đặc trưng để nâng cao hiệu quả phân lớp khi khai phá dữ liệu lớn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.09 MB, 62 trang )


Lời cảm ơn
“ðể hoàn thành khóa luận này, tôi xin gửi lời cảm ơn chân thành tới quý thầy cô
trong trường ðại học Công Nghệ - ðHQGHN ñã tận tình chỉ bảo tôi trong suốt bốn năm
học ñại học. Tôi cũng xin cảm ơn sự hướng dẫn nhiệt tình của thầy Nguyễn Hà Nam,
cùng sự giúp ñỡ của anh ðặng Tất ðạt – nghiên cứu sinh khoa Toán Tin trường ðại học
Tự Nhiên, ðHQGHN.
Tôi cũng thầm biết ơn sự ủng hộ của gia ñình, bạn bè – những người thân yêu luôn
luôn là chỗ dựa tinh thần vững chắc cho tôi.”


Hà Nội, tháng 05 năm 2009.
Sinh viên
Trần Phương Nhung



Tóm tắt khóa luận
Trong khóa luận này tôi áp dụng thuật toán di truyền (Genetic Algorithm) ñể bước
ñầu cải tiến hiệu quả phân lớp của phương pháp minimax probability machine (MPM).
Phần ñầu tôi xin giới thiệu tổng quan về khái niệm khai phá dữ liệu. Tiếp ñó, tôi sẽ trình
bày về cơ sở lý thuyết của thuật toán di truyền và phương pháp phân lớp minimax
probability machine. Cuối cùng, tôi sẽ mô tả chi tiết về quá trình xây dựng hệ thống có
ứng dụng thuật toán di truyền trong phân lớp minimax probability machine ñể chuẩn
ñoán bệnh ung thư. Mô hình phân lớp mới này sẽ ñược chạy thử trên một số cơ sở dữ liệu
lớn và ñưa ra những số liệu thống kê ñể có thể thấy ñược hiệu quả của hệ thống so với
phương pháp phân lớp chỉ sử dụng MPM.


Mục lục
Chương 1: Giới thiệu về khai phá dữ liệu ...................................................................... 10


1.1. Khai phá dữ liệu là gì? ......................................................................................... 10
1.2. Tại sao phải tiến hành khai phá dữ liệu? ............................................................. 10
1.3. Quá trình khai phá dữ liệu ................................................................................... 11
1.4. Kiến trúc ñiển hình của một hệ khai phá dữ liệu ................................................. 13
1.5. Các bài toán khai phá dữ liệu ñiển hình .............................................................. 14
1.6. Các lĩnh vực liên quan ñến khai phá dữ liệu........................................................ 16
1.7. Các ứng dụng ñiển hình của khai phá dữ liệu...................................................... 17
1.8. Các thách thức với khai phá dữ liệu .................................................................... 17
1.9. Kết luận ................................................................................................................ 18
Chương 2: Trích chọn thuộc tính phù hợp .................................................................... 19
2.1. Giới thiệu ............................................................................................................. 19
2.2. Mô hình trong bài toán trích chọn ....................................................................... 20
2.2.1. Các mô hình trong trích chọn ........................................................................... 20
2.2.2. ðánh giá hai mô hình Filter và Wrapper ......................................................... 22
2.2.2.1. Filter .......................................................................................................... 22
2.2.2.2. Mô hình Wrapper ...................................................................................... 22
2.3. Một số kỹ thuật xử lý ........................................................................................... 23
2.3.1. Bộ sinh tập con (Feature Subset Generator) .................................................... 23
2.3.2. Bộ ñánh giá tập con ñặc trưng (Feature Subset Evaluator) ............................. 24
2.3.3. Thuật toán học ñiều khiển (Central Machine learning Algorithm) ................. 25
2.4. Kết luận ................................................................................................................ 25
Chương 3: Genetic Algorithms ....................................................................................... 27
3.1. Giới thiệu ............................................................................................................... 27
3.2. ðộng lực ................................................................................................................. 27
3.3. Thuật giải di truyền ................................................................................................ 28
3.3.1. Nội dung thuật toán ........................................................................................... 28
3.3.2. Thể hiện các giả thuyết ..................................................................................... 30
3.3.3. Các toán tử di truyền ......................................................................................... 32
3.3.4. Hàm thích nghi và sự chọn lọc .......................................................................... 34
Chương 4: Minimax Probability Machine ..................................................................... 36


4.1. Giới thiệu ............................................................................................................... 36
4.2. Nội dung................................................................................................................. 36
4.3. Ưu ñiểm và nhược ñiểm của minimax probability machine ................................. 37
4.4. Các phiên bản cải tiến của thuật toán minimax probability machine .................... 38
4.4.1. Minimum error minimax probability machine (MEMPM) .............................. 38
4.4.2. Biased minimax probability machine (BMPM) ................................................ 39
Chương 5: Phương pháp ñề nghị .................................................................................... 41



Danh sách các hình


Danh sách các bảng


Bảng các từ viết tắt
Genetic Algorithm GA
Minimax Probability Machine MPM


Giới thiệu
Những năm gần ñây, các hệ thống cơ sở dữ liệu ñã ñem lại những lợi ích vô cùng to
lớn cho con người. Song hành cùng sự phát triển nhanh chóng của công nghệ thông tin và
những ứng dụng của nó trong ñời sống, kinh tế và xã hội, lượng dữ liệu thu thập ngày
càng nhiều theo thời gian, dẫn ñến việc xuất hiện ngày càng nhiều các hệ thống cơ sở dữ
liệu có kích thước lớn. Trong xã hội hiện ñại, thông tin ñược coi như sức mạnh và là yếu
tố quyết ñịnh thành công trong mọi lĩnh vực, do ñó việc tìm ra thông tin hữu ích trong
khối dữ liệu khổng lồ ñược xem như mục tiêu hàng ñầu của mọi tổ chức và cá nhân.

Trong khóa luận này, tôi sẽ ứng dụng kỹ thuật giảm chiều trong bài toán trích chọn ñể
nhằm cải thiện hiệu quả phân lớp dữ liệu, nền tảng cho hệ thống chuẩn ñoán bệnh ung
thư. Hệ thống này sẽ ñược huấn luyện với tập dữ liệu về các bệnh nhân có từ trước và khi
có dữ liệu của bệnh nhân mới, hệ thống sẽ tự ñộng ñưa ra chuẩn ñoán người ñó có bị
bệnh hay không? Tôi sử dụng phương pháp phân lớp Minimax Probability Machine
(MPM) kết hợp cùng thuật toán di truyền (Genetic Algorithm) ñể xây dựng hệ thống
chuẩn ñoán này. Với mục ñích làm tăng ñộ chính xác của quá trình phân lớp dữ liệu và
giảm thời gian huấn luyện của bộ phân lớp, tôi sử dụng thuật toán di truyền ñể giảm
chiều của tập dữ liệu ban ñầu nhằm tối ưu tập thuộc tính ñầu vào cho bộ phân lớp MPM.
Kết quả thực nghiệm ñã chứng minh rằng phương pháp phân lớp sử dụng thuật toán di
truyền ñể tối ưu tập thuộc tính cho kết quả tốt hơn phương pháp truyền thống.
Nội dung chính của khóa luận bao gồm sáu chương, với nội dung cụ thể như sau:
Chương 1: Giới thiệu về khai phá dữ liệu. Chương này tập trung mô tả về khai phá dữ
liệu (data mining), giới thiệu những bài toán ñiển hình trong khai phá dữ liệu cũng như
những ứng dụng rộng rãi của lĩnh vực này. Cuối cùng là những thách thức ñặt ra cho quá
trình khai phá dữ liệu.

Chương 2: Trích chọn thuộc tính phù hợp. Nội dung chính của chương nhừm giúp
người ñọc hiểu về khái niệm trích chọn thuộc tính, những mô hình trích chọn ñiển hình
và một số kỹ thuật xử lý trong quá trình trích chọn.
Chương 3: Genetic Algorithm. Ở chương này, người ñọc sẽ ñược giới thiệu về nội dung
và những bước thực hiện của thuật toán di truyền.
Chương 4: Minimax Probability Machine. Chương này sẽ mô tả phương pháp phân lớp
minimax probability machine. Phân tích những mặt mạnh và yếu của phương pháp này
ñể ñề ra những cải tiến nhằm nâng cao hiệu quả phân lớp của minimax probability
machine.
Chương 5: Phương pháp ñề nghị. Chương này sẽ mô tả chi tiết quá trình xây dựng mô
hình phân lớp minimax probability machine kết hợp với thuật toán di truyền. ðồng thời
mô tả quá trình ñánh giá chất lượng, từ ñó ñưa ra những phân tích kỹ thuật và kết luận về
hiệu quả của mô hình.

Chương 6: Kết luận. Chương này là phần tổng kết khóa luận, ñồng thời nêu ra những
mặt còn hạn chế trong phương pháp ñề nghị và những công việc trong tương lai nhằm cải
tiến hiệu quả của phương pháp này.


Chương 1: Giới thiệu về khai phá dữ liệu
1.1. Khai phá dữ liệu là gì?
Có khá nhiều ñịnh nghĩa về khai phá dữ liệu (Data mining), nhưng ñịnh nghĩa ñơn
giản nhất thì khai phá dữ liệu là việc trích rút thông tin hay tri thức mới và có ích từ
nguồn dữ liệu khổng lồ.
Ngoài ra, khai phá dữ liệu còn có thể hiểu là trích rút các thông tin có ích từ những dữ
liệu không tường minh, hoặc trích rút lấy những thông tin không biết trước và tiềm tàng
trong dữ liệu. Cũng có thể hiểu, khai phá dữ liệu là việc phân tích khảo sát một cách tỉ mỉ
số lượng lớn dữ liệu bằng các phương pháp tự ñộng hoặc bán tự ñộng nhằm tìm ra các
mẫu có ích.
Có thể nhận xét rằng, khái niệm khai phá dữ liệu là khá rộng lớn, nhưng không phải
tất cả mọi công việc liên quan ñến dữ liệu ñều ñược coi là khai phá dữ liệu, chẳng hạn
như những việc xử lý truy vấn ñơn giản như tra cứu một số ñiện thoại, hay thống kê ra
những học sinh giỏi của một lớp, thì không thể coi ñó là khai phá dữ liệu. Nhưng những
công việc như gom nhóm các tài liệu trả về từ máy tìm kiếm theo từng ngữ cảnh thì lại
ñược xem là khai phá dữ liệu.
1.2. Tại sao phải tiến hành khai phá dữ liệu?
Trong những năm gần ñây, khai phá dữ liệu trở thành một lĩnh vực nghiên cứu rộng
rãi trong ngành công nghiệp thông tin, nguyên nhân chủ yếu là do khối lượng khổng lồ
của dữ liệu mà con người tạo ra, ñi kèm với nó là sự cần thiết biến ñổi những dữ liệu ñó
thành tri thức. Thông tin và tri thức có thể ñược áp dụng vào nhiều lĩnh vực từ phân tích
thị trường tài chính, phát hiện giả mạo, cho ñến ñiều khiển sản xuất và nghiên cứu khoa
học.

Nhìn vào hai lĩnh vực sinh ra nhiều dữ liệu nhất ñó là thương mại và khoa học. Trong

lĩnh vực thương mại, hàng ngày hàng giờ con người ñang tạo ra, thu thập và lưu trữ lại rất
nhiều dữ liệu, như dữ liệu web, dữ liệu về thương mại ñiện tử, dữ liệu về việc thanh toán
tại các cửa hàng và các dữ liệu thanh toán trong các tài khoản… Tính cạnh tranh trong
kinh doanh là rất cao, cho nên việc phân tích dữ liệu ñể cung cấp dịch vụ tốt hơn, có
nhiều tiện ích cho khách hàng, và ñón bắt chính xác nhu cầu của khách hàng rất quan
trọng. Trong lĩnh vực khoa học, dường như lượng dữ liệu sinh ra và thu thập lại còn lớn
hơn nhiều, lên tới hàng GB/giờ, chẳng hạn như dữ liệu từ vệ tinh, từ các ảnh chụp vũ trụ
và từ các mô phỏng thử nghiệm khoa học. Khai phá dữ liệu giúp các nhà khoa học trong
việc phân lớp dữ liệu và hỗ trợ trong việc ñưa ra các quyết ñịnh.
Cùng với sự phát triển của khoa học, của ngành cơ sở dữ liệu không thể không kể ñến
là sự phát triển của ngành công nghiệp máy tính, người ta ñã tạo ra những phương tiện
lưu trữ lớn hơn, những máy tính rẻ hơn, tốc ñộ cao hơn, trợ giúp cho quá trình thu thập
dữ liệu cũng như khai phá chúng.
Trong quá trình tác nghiệp, người ta thường phải ñưa ra các quyết ñịnh, tuy nhiên, với
lượng dữ liệu khổng lồ như thế, người ta không thể sử dụng hết, hoặc nếu muốn sử dụng
thì phải mất thời gian quá nhiều, như vậy có nguy cơ ñánh mất cơ hội. Do ñó, việc sử
dụng máy tính ñể khai phá dữ liệu nhằm giúp ñỡ con người trong công việc càng ñược
thúc ñẩy mạnh mẽ, làm sao với các dữ liệu ñã thu thập ñược có thể ñưa ra một hành ñộng
mang lại lợi ích tối ña.
1.3. Quá trình khai phá dữ liệu
Ở một góc ñộ nào ñó, khái niệm khai phá dữ liệu và khai phá tri thức nhiều khi ñược
coi là một. Tuy nhiên, nếu xét kỹ thì khai phá dữ liệu là một bước quan trọng trong khai
phá tri thức. Một quá trình phát hiện tri thức trong cơ sở dữ liệu bao gồm các giai ñoạn
chính sau:
(1) Làm sạch dữ liệu (Data Cleaning): Khử nhiều và các dữ liệu mâu thuẫn.

(2) Tích hợp dữ liệu (Data Integration): Kết hợp nhiều nguồn dữ liệu khác nhau.
(3) Lựa chọn dữ liệu (Data Selection): Chắt lọc lấy những dữ liệu liên quan ñến
nhiệm vụ phân tích sau này.
(4) Biến ñổi dữ liệu (Data Transformation): Biến ñổi dữ liệu thu ñược về dạng thích

hợp cho quá trình khai phá.
(5) Khai phá dữ liệu (Data Mining): Sử dụng những phương pháp thông minh ñể khai
thác dữ liệu nhằm thu ñược các mẫu mong muốn.
(6) ðánh giá kết quả (Pattern Evaluation): Sử dụng các ñộ ño ñể ñánh giá kết quả thu
ñược.
(7) Biểu diễn tri thức (Knowledge Presentation): Sử dụng các công cụ biểu diễn trực
quan ñể biểu diễn những tri thức khai phá ñược cho người dùng.


Tri thức
ðánh giá &
Trình diễn
Lựa chọn &
Chuyển dạng
Dữ liệu
Kho dữ
liệu
Khai phá
dữ liệu
Dữ liệu
chuyển
dạng
Mẫu
Làm sạch &
Tích hợp

Hình 1.1. Quá trình phát hiện tri thức trong cơ sở dữ liệu.
Quá trình này có thể ñược lặp lại nhiều lần một hay nhiều giai ñoạn dựa trên phản hồi
từ kết quả của các giai ñoạn sau.
1.4. Kiến trúc ñiển hình của một hệ khai phá dữ liệu

Trong kiến trúc ñiển hình của một hệ khai phá dữ liệu (hình 1.2), các nguồn dữ liệu
cho hệ thống khai phá dữ liệu bao gồm cơ sở dữ liệu, hoặc kho dữ liệu, hoặc World Wide
Web, hoặc kho chứa dữ liệu kiểu bất kỳ khác, hoặc tổ hợp các kiểu dữ liệu nói trên.
Cơ sở tri thức bao chứa các tri thức hiện có về miền ứng dụng, ñược sử dụng trong
thành phần khai phá dữ liệu ñể tăng tính hiệu quả của thành phần này. Một số tham số
của thuật toán khai phá dữ liệu tương ứng sẽ tinh chỉnh theo tri thức miền sẵn có từ cơ sở
tri thức trong hệ thống. Cơ sở tri thức còn ñược sử dụng trong việc ñánh giá các mẫu ñã
khai phá ñược xem chúng có thật sự hấp dẫn hay không, trong ñó có ñối chứng với các tri
thức ñã có trong cơ sở tri thức. Nếu mẫu khai phá ñược thực sự là hấp dẫn thì ñược bổ
sung vào cơ sở tri thức ñể phục vụ cho hoạt ñộng tiếp theo của hệ thống.



Hình 1.2. Kiến trúc ñiển hình của hệ thống khai phá dữ liệu.
1.5. Các bài toán khai phá dữ liệu ñiển hình
Hai mục tiêu chủ yếu của khai phá dữ liệu là dự báo (prediction) và mô tả
(description). Dự báo dùng một số biến hoặc trường trong trong cơ sở dữ liệu ñể dự ñoán
về giá trị chưa biết hoặc về giá trị sẽ có trong tương lai của các biến. Mô tả hướng tới
việc tìm ra các mẫu mô tả dữ liệu.
Dự báo và mô tả ñược thể hiện thông qua các bài toán cụ thể sau:
• Mô tả khái niệm (Summarization)
Mục ñích của bài toán là tìm ra các ñặc trưng và tính chất của các khái niệm. ðiển
hình cho bài toán này là các bài toán như tổng quát hóa, tóm tắt, các ñặc trưng dữ liệu
ràng buộc.
Giao diện người dùng
ðánh giá mẫu khai phá ñược
Thành phần khai phá dữ liệu
Phục vụ Cơ sở dữ liệu/ Kho dữ
Cơ sở dữ
liệu

Kho dữ
liệu
World
Wide
Kiểu kho
chứa thông tin
Cơ sở tri
thức
Làm sạch, tích hợp và chọn lựa dữ

• Quan hệ kết hợp (Dependency relationship)
Một trong những vấn ñề của phát hiện mối quan hệ là làm rõ ràng và nguyên nhân.
Bài toán tìm luật kết hợp là một ñại diện ñiển hình, thực hiện việc phát hiện ra mối
quan hệ giữa các thuộc tính (các biến), có dạng ở phụ thuộc hàm trong cơ sở dữ liệu
quan hệ.
• Phân lớp (Classification)
Phân lớp còn ñược gọi là học máy có giám sát (supervised learning). Với một tập
các 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
loại sẽ học ra bộ phân loại (classifier) dùng ñể phân dữ liệu mới vào trong những lớp
(còn gọi là loại) ñã ñược ñịnh trước. Một số phương pháp ñiển hình là cây quyết ñịnh,
luật phân lớp, mạng neuron.
• Phân cụm (Clustering)
Phân cụm còn ñược gọi là học máy không giám sát (unsupervised learning), thực
hiện việc nhóm dữ liệu thành các lớp mới ñể có thể phát hiện các mẫu phân bố. Phân
cụm chỉ là bái toán mô tả hướng tới việc nhận biết một tập hữu hạn các loại hoặc các
cụm ñể mô tả dữ liệu. Các loại (cụm) có thể rời nhau và toàn phần (tạo nên phân
hoạch) hoặc chồng chéo lên nhau.
• Phân ñoạn (Segmentation)
Về bản chất phân ñoạn là tổ hợp của phân cụm và phân lớp, trong ñó phân cụm
ñược tiến hành trước và sau ñó là phân lớp.

• Hồi quy (Regression)
Hồi quy là học một hàm ánh xạ dữ liệu nhằm tìm và xác ñịnh giá trị thực của một
biến.
• Mô hình phụ thuộc (Dependency modeling)

Bài toán xây dựng mô hình phụ thuộc hướng tới việc tìm ra một mô hình mô tả sự
phụ thuộc có ý nghĩa giữa các biến. Mô hình phụ thuộc gồm hai mức: mức cấu trúc
của mô hình mô tả (thường dưới dạng ñồ thị) và mức ñịnh lượng.
• Phát hiện biến ñổi và ñộ lệch (Change and Deviation Detection)
Tập trung vào việc phát hiện hầu hết sự thay ñổi có ý nghĩa dưới dạng ñộ ño ñã
biết trước hoặc giá trị chuẩn.
1.6. Các lĩnh vực liên quan ñến khai phá dữ liệu
Khai phá dữ liệu liên quan ñến nhiều ngành, nhiều lĩnh vực như thống kê, trí tuệ nhân
tạo, cơ sở dữ liệu, thuật toán học, tính toán song song và tốc ñộ cao, thu thập tri thức cho
các hệ chuyên gia, quan sát dữ liệu... ðặc biệt khai phá dữ liệu rất gần gũi với lĩnh vực
thống kê, sử dụng các phương pháp thống kê ñể mô hình dữ liệu và phát hiện các mẫu,
luật. Ngân hàng dữ liệu (Data Warehousing) và các công cụ phân tích trực tuyến (OLAP
– On line Analytical Processing) cũng liên quan chặt chẽ với khai phá dữ liệu.


Hình 1.3. Tính ña/ liên ngành của khai phá dữ liệu.
Khai phá
dữ liệu
Hệ thống cơ
sở dữ liệu
Thống kê
Học máy
Thuật toán
Các bộ môn
khác

Trực quan hóa


Các kỹ thuật truyền thống không còn thích hợp với các loại dữ liệu bị lỗi, bị nhiễu hay
dữ liệu nhiều chiều và các hệ dữ liệu tự nhiên phân tán hay hỗn tạp. Do ñó khi kết hợp
với nhau, hình thành lĩnh vực mới, ñó là khai phá dữ liệu.
1.7. Các ứng dụng ñiển hình của khai phá dữ liệu
Ứng dụng của khai phá dữ liệu ñược chia thành hai lớp chính bao gồm các ứng dụng
phân tích – hỗ trợ ra quyết ñịnh và lớp các lĩnh vực ứng dụng khác.
• Lớp các ứng dụng trong phân tích dữ liệu và hỗ trợ ra quyết ñịnh bao gồm các ứng
dụng trong:
- Thông tin thương mại: Phân tích dữ liệu Marketing, khách hàng; Phân tích ñầu
tư; Phê duyệt cho vay vốn hay phát hiện gian lận.
- Thông tin kỹ thuật: ðiều khiển và lập trình lịch; Quản trị mạng.
- Bảo hiểm y tế.
- Viễn thông.
- Thể thao
• Lớp các lĩnh vực ứng dụng ñiển hình khác ñược kể ñến là khai phá văn bản, khai
phá Web, khai phá dữ liệu sinh học và khai phá dữ liệu dòng.
1.8. Các thách thức với khai phá dữ liệu
• Cơ sở dữ liệu lớn.
• Số chiều lớn.
• Thay ñổi dữ liệu và tri thức có thể làm cho các mẫu ñã phát hiện không còn phù
hợp.
• Dữ liệu bị thiếu hoặc bị nhiễu.

• Quan hệ giữa các trường phức tạp.
• Giao tiếp với người sử dụng và kết hợp với các tri thức ñã có.
• Tích hợp với các hệ thống khác …
1.9. Kết luận

Qua các vấn ñề ñã trình bày, chúng ta nhận thấy với một lượng dữ liệu thực tế nhỏ và
với mục ñích bài toán cụ thể nhưng ta có thể tiếp cận theo nhiều hướng khác nhau của
cùng một phương pháp khai phá dữ liệu và ñạt ñược kết quả khác nhau, ñiều ñó càng làm
sáng tỏ khả năng ứng dụng thực tế to lớn ñồng thời với những thách thức ñối với kỹ thuật
khai phá dữ liệu trong các bài toán kinh tế - xã hội và trong nhiều lĩnh vực khác.


Chương 2: Trích chọn thuộc tính phù hợp
2.1. Giới thiệu
Trích chọn ñặc trưng (Feature Selection) là phương pháp chọn ra một tập con tốt nhất
từ tập các ñặc trưng ñầu vào bằng cách lọai bỏ những ñặc trưng có rất ít hoặc không có
thông tin dự ñoán.
Trích chọn ñặc trưng có vai trò quan trọng trong việc chuẩn bị và lựa chọn dữ liệu cho
quá trình khai phá dữ liệu. Nó sẽ làm giảm kích cỡ của không gian ñặc trưng, loại bỏ dư
thừa hay nhiễu của dữ liệu. Phương pháp này có thể tìm chính xác những tập con ñặc
trưng có khả năng dự ñoán, do ñó giúp cải thiện ñáng kể kết quả thu ñược trong các mô
hình phân lớp.
Về cơ bản, quá trình trích chọn ñặc trưng bao gồm bốn bước cơ bản: sinh tập con
(subset generation), ñánh giá tập con (subset evaluation), ñiều kiện dừng quá trình trích
chọn (stopping criterion) và kết quả (result validation).

Hình 2.1. Bốn bước cơ bản trong quá trình trích chọn các thuộc tính phù hợp.
Subset generation là một thủ tục tìm kiếm. Về cơ bản, nó sinh ra một tập con của tập
các ñặc trưng ñể ñánh giá. Giả sử có N ñặc trưng trong tập dữ liệu gốc, thì số lượng các
Subset
Generation
Subset
Evaluation
Result
Validation

Stopping
Criterion
YES
NO
Goodness of Subset
Subset
Original
Set

tập con tiềm năng là 2
n
. Vì một tập con tối ưu các ñiểm ñặc trưng không phải là duy nhất
nên số lượng các tập con có thể thỏa mãn là rất lớn, do ñó quá trình tìm kiếm trong trích
chọn ñặc trưng sẽ tốn nhiều thời gian và công sức. Mỗi tập con ñược sinh ra cần phải
ñược ñánh giá và so sánh với những tập con tốt nhất ñã ñược tìm thấy trước. Nếu tập con
tìm thấy sau là tốt hơn thì nó sẽ ñược thay thế cho tập con tốt nhất trước ñây. Nếu không
có một ñiều kiện dừng hợp lý thì quá trình tìm kiếm các tập con tốt nhất sẽ ñược xem như
là vô hạn. Một quá trình trích chọn ñặc trưng có thể dừng khi thỏa mãn một trong những
ñiều kiện ñánh giá sau: (a) chọn ñủ số lượng ñã ñược xác ñịnh trước của tập ñặc trưng,
(b) thỏa mãn số lần ñã ñược xác ñịnh trước của quá trình lặp lại. (c) ở một khía cạnh
(ñiều kiện) nào ñó tập con mới ñược ñánh giá là không tốt hơn tập con trước, (d) tập con
ñược bộ ñánh giá cho là tốt nhất.
2.2. Mô hình trong bài toán trích chọn
2.2.1. Các mô hình trong trích chọn
Trích chọn ñặc trưng thật sự là lý tưởng trong lựa chọn tập con ñặc trưng tối ưu từ
một tập ứng cử ñể mô tả khái niệm mục tiêu trong hệ thống học. ðộ tốt của một tập con
ñặc trưng có thể ñược ñánh giá qua nhiều cách khác nhau, nhờ ñó mà có nhiều mô hình
khác nhau ñược ñưa ra trong phương pháp trích chọn. ðiển hình là hai mô hình: Filter và
Wrapper.


Hình 2.2. Mô hình Filter
1 2
Filter
3
A


Hình 2.3. Mô hình Wrapper
Giải thích hình vẽ:
A: Tập ñặc trưng ñầu vào.
1: Bộ sinh tập con (Feature Subset Generator).
2: Bộ ñánh giá (Feature Subset Evaluator).
3: Các thuật toán học máy (Followed Machine learning Algorithm)
4: Thuật toán học máy ñiều khiển (Central Machine learning Algorithm).
Mô hình Filter ñánh giá mỗi cá thể bằng một vài tiêu chuẩn, rồi chọn ra tập con các
thuộc tính có ñộ ñánh giá cao nhất. Nhìn chung, Filter coi tiến trình của trích chọn thuộc
tính như tiến trình thực thi trước, sau ñó mới sử dụng thuật toán ñể phân lớp.
Wrapper sử dụng một thuật toán tìm kiếm ñể ñánh giá tập con các thuộc tính coi như
là một nhóm hơn là một cá thể riêng lẻ. Mô hình Wrapper ñược ñặt vào trung tâm của
một thuật toán máy học cụ thể. Nó ñánh giá ñộ tốt của những tập con ñặc trưng tùy theo
ñộ chính xác học của tập con, ñiều này xác ñịnh thông qua tỷ lệ. Những thuật toán tìm
kiếm cũng sử dụng hàm ñánh giá kinh nghiệm (heuristics) ñể hướng dẫn việc tìm kiếm
tập trung vào các ñối tượng có triển vọng.
1
2
4
Wrapper Model
3
A


2.2.2. ðánh giá hai mô hình Filter và Wrapper
2.2.2.1. Filter
• Ưu ñiểm:
- Không có xử lý học máy trong quá trình lựa chọn các ñặc trưng.
- Dễ dàng nhận diện và thời gian tiêu thụ ít hơn mô hình Wrapper.
• Nhược ñiểm:
- Hiệu suất sản sinh các tập con ñặc trưng là không ñảm bảo vì nó thường ñánh
giá một tập con ñặc trưng chỉ dựa trên ñặc trưng nhỏ thiên về nguyên lý mà
không tính tới ñộ chính xác của kết quả học máy.
- Kết quả thu ñược bị giảm sút về ñộ chính xác học ở những giai ñoạn sau vì các
hàm ñánh giá hiện thời ñược sử dụng thường thiên về giá trị ở một vài phạm vi,
do ñó sẽ không ñánh giá một cách khách quan tầm quan trọng của các ñặc
trưng.
2.2.2.2. Mô hình Wrapper
• Ưu ñiểm:
- ðảm bảo hiệu suất của kết quả học hơn mô hình Filter.
• Nhược ñiểm:
- Ít ñược sử dụng hơn môt hình Filter trên thực tế vì:
 Tiến trình học tốn kém về thời gian ñến mức thời gian thực hiện ñưa ra bởi
một thuật toán sử dụng mô hình Wrapper là không chấp nhận ñược.
 Với một hệ thống kích thước cực lớn, mô hình này không thực tế do phạm
vi của nó buộc phải thu nhỏ lại trước khi thuật toán học máy ñược áp dụng.

 Kết quả ñánh giá của mô hình phụ thuộc nhiều vào thuật toán học máy ñiều
khiển.
2.3. Một số kỹ thuật xử lý
2.3.1. Bộ sinh tập con (Feature Subset Generator)
Tùy từng chiến lược cụ thể, bộ sinh tập con sẽ tạo ra những tập con ñặc trưng từ một
tập ñầu vào tương ứng. ðầu ra của bộ sinh sẽ xác ñịnh thuật toán trích chọn ñặc trưng của
việc tìm ñường và tìm kiếm phạm vi trong một không gian ñặc trưng tương ứng. Nói

chung, bộ sinh có hai chiến lược ñể sản sinh ra những tập con ñặc trưng:
• ðầy ñủ (Completely): Một bộ khởi tạo ñầy ñủ có thể sản sinh ra tất cả các tập con
từ một tập ñặc trưng ñầu vào, do vậy phạm vi tìm kiếm của chiến lược này là NP
ñầy ñủ, tuy nhiên ñiều này không phải lúc nào cũng chứng tỏ tìm kiếm vét cạn là
cần thiết trong thực tế, bởi vì một số công nghệ như: ñường biên và rẽ nhánh có
thể ñược áp dụng ñể lược bớt phạm vi tìm kiếm tốt nhất. Bởi vậy nếu là thuật toán
trích chọn với bộ khởi tạo ñầy ñủ, thực nghiệm chỉ ra rằng không gian tìm kiếm
lớn nhất là O(2
k
). Mà ñối với hầu hết những hệ thống học máy thực, ñiều này là
không cần thiết phải ñánh giá tất cả những tập con từ một tập ñặc trưng tương ứng.
Thường thì, thuật toán trích chọn với bộ khởi tạo ñầy ñủ có thể tìm ra một tập con
ñặc trưng tối ưu của hệ thống học máy nhưng ñòi hỏi thời gian thực thi phức tạp.
Liu H. [12] ñã ñưa ra bộ khởi tạo ñầy ñủ ñặc biệt mà sản sinh một cách ngẫu nhiên
ra những tập con ñặc trưng dựa vào thuật toán Las Vegas (LV). Thuật toán LV có
thể tìm kiếm trên toàn bộ không gian ñáp án rồi sau ñó ñưa ra kết quả tối ưu ñảm
bảo. Tuy nhiên khác với những bộ khởi tạo ñầy ñủ khác, ñối với một ứng dụng
thực tế, khả năng thực thi của bộ khởi tạo Liu là hoàn toàn thay ñổi, nó phụ thuộc
nhiều vào quá trình phân chia dữ liệu ngẫu nhiên trong toàn bộ hệ thống học máy.
• Kinh nghiệm (Heuristically): ðể lược bớt không gian tìm kiếm, bộ khởi tạo kinh
nghiệm sản sinh ra các tập con ñặc trưng dựa vào những kinh nghiệm chiến lược
nào ñó. Có ba kỹ thuật tìm kiếm tập con ñiển hình là:

- Lựa chọn tiến (Forward Selection): các tập con ñặc trưng ñược khởi tạo
trước hết là rỗng (null), sau ñó liên tục gán những tính năng tốt nhất hiện
thời cho tập con ñó cho ñến khi không còn tính năng nào nữa hay các ñiều
kiện thực thi ñưa ra ñã ñược tiếp nhận hết.
- Lược bỏ lùi (Backward Elimination): Các tập con ñặc trưng ñược khởi tạo
trước hết là ñầy ñủ các ñặc trưng, sau ñó loại bỏ lần lượt những ñặc trưng
kém nhất hiện thời từ các tập con ñó, cho ñến khi không còn ñặc trưng nào

hoặc các ñiều kiện thực thi ñưa ra ñã ñược triệt tiêu hết.
- Lựa chọn hai hướng (Bi – direction Selection): các tập con ñặc trưng ñược
khởi tạo trước hết là rỗng, ñầy, hoặc sản sinh ngẫu nhiên một tập con ñặc
trưng, sau ñó liên tục hoặc là gán tính năng tốt nhất hiện thời cho tập con ñó
hoặc là triệt tiêu tính năng kém nhất từ các tập con ñó. ðể từ ñó ñưa ra
những giá trị ñịnh hướng tốt nhất ở mỗi lần lặp lại ñó. Quá trình tiếp tục
cho tới khi tất cả ñiều kiện ñược ñưa ra từ trước ñã ñược tiếp nhận hết.
Bộ phận khởi tạo kinh nghiệm giảm thiểu phạm vi tìm kiếm ña thức số mũ, do ñó
giảm thời gian thực hiện thuật toán phức tạp trong phương pháp trích chọn. Tuy nhiên,
thuật toán chỉ ñưa ra một lượng nhỏ kết quả tối ưu, khi thực hiện tìm ñường và tìm kiếm
phạm vi của bộ phận khởi tạo, kết quả này ñược ñảm bảo thông qua những thuật toán này.
2.3.2. Bộ ñánh giá tập con ñặc trưng (Feature Subset Evaluator)
Hiệu suất của một tập con ñặc trưng ñược ñánh giá dựa trên cơ sở nào ñó mà bộ ñánh
giá ñạt ñược. Bộ ñánh giá của những mô hình thuật toán khác nhau là khác nhau. Bộ ñánh
giá của mô hình Filter thường là các hàm ñánh giá, trong khi của mô hình Wrapper là ñộ
học chính xác ñạt ñược bởi quá trình thực thi thuật toán học máy ñiều khiển trên hệ thống
học.
• Hàm ñánh giá

Những hàm ñánh giá ñiển hình dùng ñể ño ñạc và phân biệt khả năng phân lớp của
những ñặc ñiểm khác nhau trên các mẫu. Thực tế, các hàm ñánh giá khác nhau
thường ñược dùng hiện nay như: xấp xỉ chất lượng (Approximation Quality), ñộ
quan trọng của thuộc tính (Feature Importance), trọng số của thuộc tính (Feature
Weight) …
• Học chính xác
Trong mô hình Wrapper, ñể ước lượng ñộ học máy chính xác, trước hết, các mẫu
của hệ thống học phải ñược chia ngẫu nhiên làm hai hệ thống con, chẳng hạn như:
hệ thống huấn luyện và hệ thống kiểm tra, trong ñó, cấu trúc của hai hệ thống con
có cùng ñặc ñiểm và ñược tạo ra bởi bộ sinh; sau ñó thuật toán học máy ñiều khiển
sẽ thực hiện trên hệ thống con huấn luyện (training) và tiếp thu ñộ học chính xác

ñược xác ñịnh nhờ quá trình kiểm tra kết quả học ñược với hệ thống kiểm tra
(testing). Hiển nhiên, ñộ chính xác ñạt ñược trong trường hợp này là giá trị ngẫu
nhiên, nó phụ thuộc lớn vào kết quả của việc chia mẫu. ðể giảm thiểu mức ñộ
ngẫu nhiên của việc ước lượng ñộ chính xác học máy, bộ ñánh giá của mô hình
Wrapper thường xuyên tính toán ñộ chính xác học máy thông qua thuật toán ñánh
giá chéo k – lần.
2.3.3. Thuật toán học ñiều khiển (Central Machine learning Algorithm)
Trong mô hình Wrapper, thuật toán học máy ñiều khiển có ảnh hưởng lớn tới ước
lượng ñộ chính xác học của một tập con ñặc trưng. Do vậy, thuật toán ñóng vài trò quyết
ñịnh trong mô hình Wrapper. Thuật toán thường ñược chọn ở ví trí trung tâm mô hình
thường là: ID3, CN2, C4.5 …
2.4. Kết luận
Trích chọn ñược xem như bước tiền xử lý dữ liệu. Phương pháp này lọc ra những ñặc
trưng tốt nhất, ñồng thời loại bỏ nhiễu, giảm bớt chiều trong dữ liệu. Hai mô hình phổ
biến trong phương pháp trích chọn thuộc tính ñặc trưng là Filter và Wrapper. Mỗi mô
hình ñều có những ưu ñiểm và nhược ñiểm riêng. Tùy từng yêu cầu và trường hợp cụ thể

×