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

Tìm hiểu phương pháp tìm thuộc tính tối ưu nhằm tăng hiệu quả phân tích trong phân tích 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 (410.45 KB, 12 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

HOÀNG VĂN TRÌU

TÌM HIỂU PHƢƠNG PHÁP TÌM THUỘC TÍNH TỐI ƢU
NHẰM TĂNG HIỆU QUẢ PHÂN TÍCH TRONG PHÂN
TÍCH DỮ LIỆU LỚN

LUẬN VĂN THẠC SỸ - NGÀNH CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

HOÀNG VĂN TRÌU

TÌM HIỂU PHƢƠNG PHÁP TÌM THUỘC TÍNH TỐI
ƢU NHẰM TĂNG HIỆU QUẢ PHÂN TÍCH TRONG PHÂN
TÍCH DỮ LIỆU LỚN
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã Số: 60480103

LUẬN VĂN THẠC SỸ - NGÀNH CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN HÀ NAM

HÀ NỘI - 2015




0

Mục lục
Giới thiệu ............................................................................................................... 1
Chương 1. Giới thiệu Khai phá dữ liệu ................................................................. 3
1.1. Tổng quan Khai phá dữ liệu ......................................................................................... 3
1.2. Tổng quan trích chọn thuộc tính .................................................................................. 5
2.3. Kết luận ........................................................................................................................ 7

Chương 2. Họ thuật toán k-Láng giềng gần nhất và Thuật toán Di truyềnError! Bookmark
2.1. Họ thuật toán k-Láng giềng gần nhất .......................... Error! Bookmark not defined.
2.1.1. Khái niệm .................................................................. Error! Bookmark not defined.
2.1.2. Thuật toán Láng giềng gần nhất (NN) ...................... Error! Bookmark not defined.
2.1.3. Thuật toán k-Láng giềng gần nhất (kNN) ................. Error! Bookmark not defined.
2.1.4. Thuật toán Đánh trọng số k-Láng giềng gần nhất (WkNN) ... Error! Bookmark not
defined.
2.1.5. Thuật toán Hàm nhân k-Láng giềng gần nhất (Kernel k-NN) Error! Bookmark not
defined.
2.2. Thuật toán Di truyền (GA) ........................................... Error! Bookmark not defined.
2.2.1. Giới thiệu .................................................................. Error! Bookmark not defined.
2.2.2. Thuật toán Di truyền (GA) ....................................... Error! Bookmark not defined.
2.3 Kết luận ......................................................................... Error! Bookmark not defined.

Chương 3. Mô hình GA_Kernel k-NN và kết quả thực nghiệmError! Bookmark not defin
3.1. Giới thiệu ...................................................................... Error! Bookmark not defined.
3.2. Mô hình GA_Kernel k-NN ............................................ Error! Bookmark not defined.
3.2.1. Kiến trúc GA_Kernel k-NN ....................................... Error! Bookmark not defined.
3.2.2. Môi trường thực nghiệm ............................................ Error! Bookmark not defined.

3.2.3 Mô tả chương trình ..................................................... Error! Bookmark not defined.
3.3. Kết quả thực nghiệm..................................................... Error! Bookmark not defined.
3.3.1. Dữ liệu sử dụng ........................................................ Error! Bookmark not defined.
3.3.2. Kết quả chạy trên bộ dữ liệu Arcene ......................... Error! Bookmark not defined.
3.3.3. Kết quả chạy trên bộ dữ liệu DLBCL (Diffuse large B-cell lymphoma) .......... Error!
Bookmark not defined.
3.4. Kết luận ........................................................................ Error! Bookmark not defined.


1

Kết

luận....................................................................................................Error!
Bookmark not defined.

Tài liệu tham khảo ................................................................................................. 8

Giới thiệu
Khoa học kỹ thuật phát triển, đi cùng với nó là sự phát triển không ngừng
của dữ liệu về kích thước và chủng loại. Nhiệm vụ khai phá dữ liệu nói chung
cũng như nghiên cứu các thuật toán phân lớp nói riêng trở nên ngày càng bức
thiết và đóng vai trò trung tâm trong việc giải quyết các bài toán cụ thể. Thực tế
cho thấy, chúng ta chỉ có thể tìm ra một số thuật toán phù hợp với một số loại dữ
liệu cụ thể và bị giới hạn về kích thước dữ liệu. Kết quả của thuật toán phụ thuộc
rất nhiều vào việc xử lý dữ liệu thô. Trong khai phá dữ liệu, phương pháp trích
chọn đóng vai trò quan trọng trong tiền xử lý số liệu, đặc biệt đối với ngành tin
sinh học, xử lý dữ liệu âm thanh, hình ảnh, dữ liệu mạng xã hội... Đặc điểm
chung của những lĩnh vực này là kích thước rất lớn (hàng trăm, hàng trăm nghìn
thuộc tính) nhưng chỉ một số ít thuộc tính có giá trị dùng để phân tích. Trích

chọn thuộc tính giúp tìm ra các thuộc tính có ích, loại bỏ các thuộc tính dư thừa.
Phương pháp tác động trực tiếp đến kết quả của thuật toán như tăng tốc độ xử lý,
cải thiện dữ liệu, tăng hiệu xuất khai phá.
Thuật toán k-Láng giềng gần nhất (kNN) [10] là một trong những kỹ thuật
cơ bản, đơn giản và trực giác nhất trong lĩnh vực phân tích thống kê. Bộ phân
lớp dựa trên thuật toán kNN là một bộ học lười (lazy learner), không cần thực
hiện quá trình học cho mô hình. Nó cần sử dụng tất cả các đối tượng dữ liệu
trong tập tham chiếu để ra quyết định gán nhãn lớp cho một quan sát mới. Thực
nghiệm cho thấy, thuật toán kNN đơn giản, nhưng thường cho kết quả khá tốt.
Tuy nhiên hiệu quả của thuật toán hạn chế do nền tảng xây dựng dựa trên dữ
liệu tuyến tính. Để có thể áp dụng thuật toán này vào dữ liệu phi tuyến, đã có
nhiều nghiên cứu ứng dụng các kỹ thuật khác nhau để có thể biến đổi dữ liệu
tuyến tính thành dữ liệu phi tuyến. Hướng tiếp cận trong luận văn này là sử dụng
một phép biến đổi từ không gian ban đầu sang một không gian mới sau đó áp
dụng thuật toán kNN. Việc tính toán trên không gian phi tuyến là công việc của


2

thuật toán Hàm nhân – k Láng giềng gần nhất (Kernel - k Nearest Neighbor)
[12]
Thuật toán Di truyền (GA) [1] là kỹ thuật tìm kiếm tối ưu ngẫu nhiên
phỏng theo quá trình thích nghi tiến hóa của các quần thể sinh vật. Tư tưởng của
thuật toán GA là mô phỏng sự phát triển tự nhiên, kế thừa và đấu tranh sinh tồn
của sinh vật. Thực tế chỉ có những sinh vật liên tục tiến hóa để thích nghi với
hoàn cảnh sẽ tồn tại và phát triển. GA xét đến toàn bộ các lời giải bằng cách,
trước tiên chọn tập các lời giải sau đó loại bỏ những lời giải không thích hợp và
chọn những lời giải thích hợp hơn để tiến hành lai ghép và đột biến nhằm mục
đích tạo ra nhiều lời giải mới có độ thích nghi ngày càng cao. GA giúp tìm ra lời
giải tối ưu hay tốt nhất trong điều kiện thời gian và không gian cho phép.

Trong luận văn này tôi đưa ra một cách tiếp cận mới, kết hợp thuật toán
GA và Kernel k-NN theo mô hình Wrapper. GA giúp tìm ra các tập thuộc tính
và Kernel k-NN trả về kết quả của hàm mục tiêu trong GA. Hay nói một cách
khác, GA đã chọn một tập thuộc tính được coi là tốt nhất trong quần thể các
thuộc tính, tập thuộc tính tốt được hiểu trong ngữ cảnh hiện tại là các thuộc tính
được trích chọn giúp phân lớp tốt nhất dựa trên kết quả của hàm tính khoảng
cách trong thuật toán Kernel k-NN. GA đã giúp tăng độ chính xác phân lớp nhờ
việc tối ưu dữ liệu đầu vào cho thuật toán Kernel k-NN.
Nội dung của luận văn được chia thành các chương như sau:
Chƣơng 1: Giới thiệu Khai phá dữ liệu
Chƣơng 2: Cơ sở lý thuyết.
Chƣơng 3: Mô hình GA_Kernel k-NN và kết quả thực nghiệm.
Kết luận: Tóm lược kết quả đạt được của luận văn.


3

Chƣơng 1. Giới thiệu Khai phá dữ liệu
1.1. Tổng quan Khai phá dữ liệu
Khai phá dữ liệu là một khái niệm ra đời 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 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 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 (Knowledge
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 [11]. 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.
Ở 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 chỉ là
một khâu 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.


4

Quá trình này có thể được lặp lại nhiều lần, một hay nhiều giai đoạn trước có
thể được lặp lại dựa trên phản hồi từ kết quả của các giai đoạn sau.
Đánh giá và
trình diễn
Tri thức

Dữ liệu khái
phá
Lựa chọn và

chuyển dạng

Làm sạch và
tích hợp

Kho dữ
liệu

Mẫu
Dữ liệu
chuyển
dạng

Dữ liệu
Hình 1.1: Quá trình phát hiện tri thức trong cơ sở dữ liệu
Một số phương pháp khai phá dữ liệu tiêu biểu:
 Phân lớp (Classification) : Khai thác một hàm đã được huấn luyện
trước để phân loại một đối tượng dữ liệu vào một trong các lớp được
định nghĩa trước.
 Hồi qui (Regression) : Khai thác một hàm đã được huấn luyện trước
để ánh xạ một đối tượng dữ liệu thành một giá trị thực là kết quả dự
báo.
 Phân cụm (Clustering) : Giải quyết vấn đề tìm kiếm, phát hiện số
lượng hữu hạn các cụm mô tả một tập hợp dữ liệu ban đầu không có
nhãn. Đó là quá trình tìm cách nhóm các đối tượng đã cho vào các
cụm, sao cho các đối tượng trong cùng một cụm tương tự nhau
(similar), và các đối tượng khác cụm thì không tương tự nhau
(dissimilar).



5

 Tổng hợp (Summarization) : Quá trình bao gồm các phương pháp để
tìm một mô tả xúc tích cho một tập (hoặc một tập con) dữ liệu.
 Mô hình hóa ràng buộc (Dependency Modeling) : Tìm một mô hình
cục bộ mô tả các ràng buộc quan trọng giữa các biến hoặc giữa các giá
trị của một đặc trưng trong một tập dữ liệu hoặc trong một phần của
tập dữ liệu
 Phát hiện biến đổi và độ lệch (Change and Deviation Detection):
Khai phá những biến đổi quan trọng nhất trong tập dữ liệu.
Trong giai đoạn tiền xử lý số liệu, việc trích chọn thuộc tính đóng vai trò quan
trọng.

1.2. Tổng quan trích chọn thuộc tính
Về cơ bản việc trích chọn thuộc tính có ích sẽ bao gồm hai công đoạn cơ
bản gồm công đoạn xây dựng dữ liệu và công đoạn trích chọn thuộc tính. Xây
dựng dữ liệu là tạo ra bộ các thuộc tính, một công việc rất quan trọng trong việc
phân tích số liệu. Yêu cầu đặt ra phải đảm bảo không để mất quá nhiều thông tin
có ích đồng thời không được quá tốn kém chi phí tài nguyên và thời gian. Công
đoạn trích chọn nhằm tìm ra thuộc tính đại diện phù hợp yêu cầu phân tích, loại
bỏ thuộc tính dư thừa, thuộc tính nhiễu, tăng hiệu suất và kết quả khai phá dữ
liệu. Có rất nhiều phương pháp và các hướng tiếp cận khác nhau, tựu chung lại
đều hướng đến mục tiêu :
 Tăng tốc độ thuật toán
 Giảm không gian lưu trữ dữ liệu
 Tăng kết quả phân lớp, đoán nhận
 Giúp biểu diễn, minh họa dữ liệu dễ dàng hơn
Để đánh giá độ tốt của một tập con đặc trưng phụ thuộc vào yêu cầu cụ thể
khi phân tích dữ liệu, mọi công việc trong toàn bộ quá trình cũng đều hướng
mục tiêu đạt được yêu cầu cụ thể trên. Về cơ bản chúng ta có thể phân loại các

phương pháp trích chọn theo hai cách tiếp cận khác nhau là Filter và Wrapper
được trình bày trong các tài liệu [3, 13]. Lược đồ thực hiện [2] được giản hóa
trong hai hình vẽ dưới đây.


6

Dữ liệu

Thuật toán
phân lớp

Trích lọc tập con của danh
sách các thuộc tính

Hình 1.2 : Hướng tiếp cận Filter
Theo mô hình Filter, các thuộc tính được chọn độc lập với thuật toán khai phá
dữ liệu. Ngược lại, mô hình Wrapper các thuộc tính được chọn phụ thuộc theo
một nghĩa nào đó với thuật toán khai phá dữ liệu

Dữ liệu
huấn
luyện

Tìm kiếm thuộc tính
Tập thuộc tính
lựa chọn

Đánh giá kết quả


Dữ liệu
huấn
luyện
Tập thuộc

Thuật toán
phấn lớp
(Kiểm chứng)

tính

Đánh giá thuộc tính
Tập các thuộc
tính lựa chọn

Dữ liệu
kiểm tra

Tính toán các
giả thiết

Thuộc tính phân lớp
Thuật toán phân
lớp (Dự đoán)

Đánh giá
kết quả

Hình 1.3 : Hướng tiếp cận Wrapper
Mô hình Filter đánh giá mỗi cá thể bằng một vài tiêu chuẩn hay độ đo

nào đó, 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.
Mô hình 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ẻ. Cốt lõi của mô hình
Wrapper là 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 một tiêu chí nào đó. 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.
Công việc cần thực hiện trong thuật toán trích chọn bao gồm :


7

- Phương pháp để sinh ra tập thuộc tính đặc trưng : (Có thể hiểu tương ứng
với các chiến lược tìm kiếm). Đầu ra của bộ sinh sẽ xác định thuật toán trích
chọn đặc trưng. Có hai chiến lược để sinh tập con :
 Đầy đủ (Complete) : Áp dụng chiến lược tìm kiếm vét cạn để sinh
tập con. Đối với hầu hết các hệ thông máy thực, chiến lược này
không phù hợp do đỏi hỏi tài nguyên quá lớn
 Kinh nghiệm (Heuristically) : Để giảm bớt không gian tìm kiếm, kết
quả thu được ở mức chấp nhận được, chiến lược sinh tập con đặc
trưng dựa vào kinh nghiệm nào đó, có ba kỹ thuật điển hình là lựa
chọn tiến (Forward Selection), lược bỏ lùi (Backward Elimination)
và lựa chọn hai hướng (Bi – direction Selection).
- Định nghĩa hàm đánh giá : (đưa ra các tiêu chí để có thế xác định một thuộc
tính hay nhóm thuộc tính là tốt hay không tốt). Bộ đánh giá của những mô hình
thuật toán khác nhau là khác nhau. Bộ đánh giá mô hình Filter thường là các
hàm đánh giá, trong khi 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á : hàm đánh giá thường dùng như xấp xỉ chất lượng
(Approxination Quality), độ quan trọng (Feature Importance), trọng
số của thuộc tính (Feature Weight)
 Học chính xác : mô hình Wrapper, dữ liệu chia ngẫu nhiên thành hai
tập, tập huấn luyện và tập kiểm tra. Độ chính xác đạt được trong
trường hợp này là giá trị ngẫu nhiên. Để tăng cường độ ổn định mô
hình Wrapper chúng ta thường sử dụng kỹ thuật kiểm tra chéo (Cross
Validation)
- Ước lượng hàm đánh giá đó : kiểm chứng lại xem hàm đánh giá có thực sự
phù hợp và hiệu quả với bộ dữ liệu không

2.3. Kết luận
Trích chọn thuộc tính giúp tìm 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ể mà
ta có thể áp dụng một trong hai mô hình này


8

Tài liệu tham khảo
 Tiếng Việt
[1] Bùi Văn Bình – CNCK, Giới thiệu về Giải Thuật di truyền (GA)
/>[2] Nguyễn Hà Nam (2009), "Tối ưu hóa KPCA bằng GA để chọn các thuộc
tính đặc trưng nhằm tăng hiệu quả phân lớp của thuật toán Random
Forest", Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên và Công nghệ,
số 25, tr. 84-93.


 Tiếng Anh
[3] A.L. Blum, P. Langley, “Selection of Relevant Features and Examples in
Machine Learning”, Artificial Intelligence Vol 97 (1997) 245.
[4] Alexander Statnikov, Constantin F. Aliferis, Ioannis Tsamardinos, Douglas
Hardin, Shawn Levy, “A comprehensive evaluation of multicategory
classification methods for microarray gene expression cancer diagnosis,
Bioinformatics”, 21(5), 2005, 631-643
[5] Binh Tran, Bing Xue, and Mengjie Zhang, “Improved PSO for Feature
Selection on High-Dimensional Datasets”, page 503, Simulated Evolution
and Learning 10th International Conference, SEAL 2014
[6] Dong-Sheng Cao, Jian-Hua Huang, Jun Yan, Liang-Xiao Zhang, Qian-Nan
Hu, Qing-Song Xu, Yi-Zeng Liang (2012), “Kernel k-nearest neighbor
algorithm as a flexible SAR modeling tool”, Chemometrics and Intelligent
Laboratory Systems 114 (2012) 19–23
[7] Hechenbichler Klaus, Schliep Klaus (2004), “Weighted k-Nearest-Neighbor
Techniques and Ordinal Classification”, Discussion Paper 399, SFB 386,
Ludwig-Maximilians University Munich.
[8] Huazhen Wang, Cheng Wang∗ , Bing Lv, Xiaoming Pan (2015), “Improved
Variable Importance Measure of Random Forest via Combining of Proximity
Measure and Support Vector Machine for Stable Feature Selection” Journal
of Information & Computational Science 12:8 (2015) 3241–3252


9

[9] Ivica Kopriva, “A Nonlinear Mixture Model based Unsupervised Variable
Selection in Genomics and Proteomics”, BIOINFORMATICS 2015 –
International Conference on Bioinformatics Models, Method and
Algorithms
[10] Leif E.Peterson (2009), “K-Nearest Neighbor”, Scholarpedia, 4 (2).

[11] Krzysztof J.Cios, Witold Deddrycz, Roman W.Swiniarski, Lukasz
A.Kurgan, “Data Mining A Knowledge Discovery Approach”, Springer,
(2007)
[12] Kai Yu, Liang Ji, Xuegong Zhang (2002), “Kernel Nearest-Neighbor
Algorithm”, Neural Processing Letters, 15 (2), pp.147-156.
[13] R. Kohavi, G.H. John, “Wrappers for Feature Subset Selection”, Artificial
Intelligence Vol 97 (1997) 273
[14] Rutgers University, Chapter 9 :Genetic Algorithm
/>[15] Viktoriya Krakovna, Jiong Du, Jun S. Liu (2015), “ Selection Bayesian
Forest Classifier : Simultaneous Variable Selection and Classification”
arXiv:1506.02371v1 [start.ML] 8 Jun 2015



×