1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

53 26 0

Đ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 53
Dung lượng 568,28 KB

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

Nội dung

Trích chọnthuộ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,

Trang 1

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

Trang 2

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ỚNNgà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

Trang 3

Tôi xin cam đoan luận văn “ Tìm hiểu phương pháp tìm thuộc tính tối ưunhằm tăng hiệu quả phân tích trong phân tích dữ liệu lớn ” là công trình nghiêncứu của riêng tôi Các số liệu, kết quả được trình bày trong luận văn là hoàn toàntrung thực Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứuliên quan Ngoại trừ các tài liệu tham khảo này, luận văn hoàn toàn là công việccủa riêng tôi.

Luận văn được hoàn thành trong thời gian tôi là học viên tại Khoa Côngnghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội

Hà Nội, ngày 31 tháng 08 năm 2015

Học viên

Hoàng Văn Trìu

Trang 4

Nguyễn Hà Nam đã tận tình hướng dẫn tôi trong suốt quá trình thực hiện luận văntốt nghiệp.

Tôi chân thành cảm ơn anh nghiên cứu sinh Hà Văn Sang và anh nghiên cứusinh Lữ Đăng Nhạc đã tận tình chỉ bảo trong quá trình thực hiện luận văn

Tôi cảm ơn những người bạn trong nhóm nghiên cứu của PGS.TS Nguyễn

Hà Nam đã luôn bên tôi chia sẻ những kinh nghiệm trong học tập cũng như trongcuộc sống

Tôi chân thành cảm ơn các thầy, cô đã tạo cho tôi những điều kiện thuận lợi

để tôi học tập và nghiên cứu tại trường Đại học Công Nghệ

Tôi xin gửi lời cảm ơn tới các bạn trong lớp cao học K19 đã ủng hộ, khuyếnkhích tôi trong suốt quá trình học tập tại trường

Tôi xin chân thành cảm ơn!

Hà Nội, ngày 31 tháng 08 năm 2015

Học viên

Hoàng Văn Trìu

Trang 5

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ền 8

2.1 Họ thuật toán k-Láng giềng gần nhất 8

2.1.1 Khái niệm 8

2.1.2 Thuật toán Láng giềng gần nhất (NN) 8

2.1.3 Thuật toán k-Láng giềng gần nhất (kNN) 9

2.1.4 Thuật toán Đánh trọng số k-Láng giềng gần nhất (WkNN) 10

2.1.5 Thuật toán Hàm nhân k-Láng giềng gần nhất (Kernel k-NN) 15

2.2 Thuật toán Di truyền (GA) 18

2.2.1 Giới thiệu 18

2.2.2 Thuật toán Di truyền (GA) 19

2.3 Kết luận 24

Chương 3 Mô hình GA_Kernel k-NN và kết quả thực nghiệm 26

3.1 Giới thiệu 26

3.2 Mô hình GA_Kernel k-NN 26

3.2.1 Kiến trúc GA_Kernel k-NN 26

3.2.2 Môi trường thực nghiệm 29

3.2.3 Mô tả chương trình 29

3.3 Kết quả thực nghiệm 32

3.3.1 Dữ liệu sử dụng 32

3.3.2 Kết quả chạy trên bộ dữ liệu Arcene 33

3.3.3 Kết quả chạy trên bộ dữ liệu DLBCL (Diffuse large B-cell lymphoma) 37

3.4 Kết luận 41

Kết luận 42

Tài liệu tham khảo 43

Trang 6

Hình 1.2 : Hướng tiếp cận Filter 6

Hình 1.3 : Hướng tiếp cận Wrapper 6

Hình 2.1: Ví dụ về thuật toán kNN 10

Hình 2.2: Ví dụ về thuật toán WkNN 14

Hình 2.3 : Các thành phần của thuật toán GA 20

Hình 2.4 : Các toán tử của thuật toán GA 24

Hình 3.1:Mô hình thuật toán GA_Kernel k-NN 28

Hình 3.2: Độ chính xác GA_RF và GA_Kernel k-NN trên dữ liệu Arcene 34

Hình 3.3: Thuộc tính chọn GA_RF và GA_Kernel k-NN trên dữ liệu Arcene 35

Hình 3.4: Độ chính xác GA_Kernel k-NN và công bố khác trên Arcene 37

Hình 3.5: Độ chính xác GA_RF và GA_Kernel k-NN trên dữ liệu DLBCL 38

Hình 3.6: Thuộc tính chọn GA_RF và GA_Kernel k-NN trên dữ liệu DLBCL 39 Hình 3.7: Độ chính xác GA_Kernel k-NN và công bố khác trên DLBCL 41

Trang 7

Bảng 2.1: Các hàm trọng số tiêu biểu 11

Bảng 2.2: Một số hàm nhân hay được dùng 16

Bảng 3.1: Danh sách tên hàm cài đặt thuật toán GA_Kernel k-NN 32

Bảng 3.2: Tổng quan các bộ dữ liệu sử dụng 33

Bảng 3.3: Tóm tắt độ chính xác GA_Kernel k-NN và GA_RF trên Arcene 34

Bảng 3.4: Số thuộc tính trích trọn GA_Kernel k-NN và GA_RF trên Arcene 35

Bảng 3.5: Độ chính xác GA_Kernel k-NN và công bố trên Arcene 36

Bảng 3.6: Tóm tắt độ chính xác GA_Kernel k-NN và GA_RF trên DLBCL 38

Bảng 3.7: Số thuộc tính trích chọn GA_Kernel k-NN và GA_RF trên DLBCL 39 Bảng 3.8: Độ chính xác GA_Kernel k-NN và công bố trên DLBCL 40

Trang 8

STT Thuật ngữ Từ viết tắt

Trang 9

Giới thiệuKhoa học kỹ thuật phát triển, đi cùng với nó là sự phát triển không ngừngcủa dữ liệu về kích thước và chủng loại Nhiệm vụ khai phá dữ liệu nói chungcũ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ứcthiế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ộcrất nhiều vào việc xử lý dữ liệu thô Trong khai phá dữ liệu, phương pháp tríchchọn đóng vai trò quan trọng trong tiền xử lý số liệu, đặc biệt đối với ngành tinsinh học, xử lý dữ liệu âm thanh, hình ảnh, dữ liệu mạng xã hội Đặc điểmchung 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ìnthuộ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ọnthuộ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ậptham 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 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ỏngtheo 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ậttoán GA là mô phỏng sự phát triển tự nhiên, kế thừa và đấu tranh sinh tồn

Trang 10

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ớihoà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ờigiả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íchchọ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

Trang 11

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ântí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 quytrong tập dữ liệu Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng kháiniệ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

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ộtkhâ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

Trang 12

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

Dữ liệu khái Tri thứcphá

MẫuLựa chọn và

chuyển dạng

Dữ liệuchuyểnLàm sạch và Kho dữ dạng

liệutích hợp

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:

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

một đối tượng dữ liệu thành một giá trị thực là kết quả dự báo

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ìmcách nhóm các đối tượng đã cho vào các cụm, sao cho các đối tượng trong cùngmộ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)

Trang 13

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

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ưngtrong một tập dữ liệu hoặc trong một phần của tập dữ liệu

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ò quantrọ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âydự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ệcphâ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ậnGiú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ướngmụ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ácphươ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óatrong hai hình vẽ dưới đây

Trang 14

Thuật toánTrích lọc tập con của danh

Dữ liệu sách các thuộc tính phân lớp

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ộtnghĩa nào đó với thuật toán khai phá dữ liệu

Dữ liệu Thuộc tính phân lớp Thuật toán phân Đánh giákết quảkiểm tra

lớp (Dự đoán)

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, Filtercoi 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 :

Trang 15

- 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ácchiế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 đặctrưng Có hai chiến lược để 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 đỏihỏi tài nguyên quá lớn

được ở mức chấp nhận được, chiến lược sinh tập con đặc trưng dựa vào kinhnghiệ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 – directionSelection)

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ậttoán khác nhau là khác nhau Bộ đánh giá mô hình Filter thường là các hàm đánhgiá, trong khi mô hình Wrapper là độ học chính xác đạt được bởi quá trình thựcthi 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ủathuộc tính (Feature Weight)

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 tathường sử dụng kỹ thuật kiểm tra chéo (Cross Validation)

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áptrí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

Trang 16

Chương 2 Họ thuật toán k-Láng giềng gần nhất và Thuật toán

Ngoài ra khoảng cách cũng không chỉ đơn giản là độ dài đường nối điểmnày tới điểm kia, là sự xa và gần như thông thường vẫn dùng, khoảng cách còn cókhoảng cách giàu nghèo, khoảng cách học vấn nhìn chung khoảng cách cònnên được hiểu rộng hơn như là sự khác biệt (difference), đôi khi còn được xem làlỗi (error) Sự khác biệt ấy thể hiện cũng không giống nhau tùy theo đơn vị đo,không gian, cách thức đo, tính định lượng hay ước lượng thống kê Theo tôi,khoảng cách là khái niệm có thể xem là cốt lõi của nhiều chủ đề như tìm kiếm,phân loại, nhận dạng

2.1.2 Thuật toán Láng giềng gần nhất (NN)

Thuật toán Láng giềng gần nhất (NN) là một trong những thuật toán đầu tiênđược dùng để tìm lời giải cho bài toán người báng hàng Bài toán được đưa ra đầutiên năm 1930 và là một trong những bài toán được nghiên cứu sâu nhất trong tối

ưu hóa (tiếng anh : Travelling salesman problem) Bài toán được phát biểu nhưsau : Cho trước một danh sách các thành phố và khoảng cách giữa chúng, tìm chutrình ngắn nhất thăm mỗi thành phố đúng một lần Trong khoa học máy tính, bàitoán người bán hàng là một vấn đề cơ bản và có rất nhiều ứng dụng, phương pháptrực tiếp nhằm tìm ra lời giải phổ biến là kiểm tra tất cả các

Trang 17

tổ hợp Tuy nhiên, trên thực tế phương pháp này không khả thi bởi, nếu lấy mẫuchỉ gồm 20 thành phố thì sẽ có gần 60,8 triệu tỉ phép so sánh để tìm ra hành trình

có lợi nhất.Thuật toán NN thường cho kết quả chênh lệch trong phạm vi 20% sovới đường đi tối ưu

Các bước của thuật toán :

Bước 1 : Chọn một nút bất kỳ làm nút xuất phát và đây là nút hiện hànhBước 2 : Đánh dấu nút hiện hành đã được đi qua

Bước 3 : Tìm một nút chưa đi qua có khoảng cách đến nút hiện hành là

ngắn nhất, đánh dấu nút này là nút hiện hành mới

Bước 4 : Nếu chưa đi qua tất cả các nút thì quay lại bước 2

Thứ tự mà các nút được đi qua chính là kết quả của thuật toán Điều dễ nhậnthấy, một quan sát (observation) sẽ gán nhãn lớp một đối tượng quan sát trong tậptham chiếu có nét tương đồng (khoảng cách gần nhất) với đối tượng đó Độ tương

tự giữa các đối tượng dữ liệu được quyết định dựa vào một hàm đo khoảng cách

2.1.3 Thuật toán k-Láng giềng gần nhất (kNN)

Thuật toán k-Láng giếng gần nhất (kNN) [10] là một mở rộng đầu tiên của

phương pháp trên, và thường được sử dụng rộng rãi trong thực tế Ở đây không

chỉ tham chiếu đến một làng giềng gần nhất mà xét đến k láng giềng gần nhất

trong tập tham chiếu của đối tượng cần gán nhãn Điều này giúp tránh trường hợpmột đối tượng quan sát kỳ dị (nhiễu) trong tập tham chiếu quyết định nhãn lớp

Tham số k do người dùng lựa chọn Nhãn lớp được gán cho đối tượng là lớp chiếm đại đa số trong tập k láng giềng vừa xác định.

Mức độ cục bộ của phương pháp này phụ thuộc vào tham số k Với k = 1, ứng với thuật toán Láng giềng gần nhất cơ bản, cho mức độ cục bộ tối đa Với k

>1, kéo theo một kết quả gán nhãn duy nhất cho mọi đối tượng quan sát mới,nhãn lớp xuất hiện nhiều nhất trong tập tham chiếu sẽ luôn được chọn

Bộ phân lớp dựa trên thuật toán k láng giếng gần nhất 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 chomột quan sát mới Để tính toán khoảng cách, chúng ta thường sử dụng một

Trang 18

trong các hàm tính khoả ng cách sau : hàm Euclidean, hàm Minkowski và hàmMahalanobis

Ví dụ minh họa thu ật toán kNN : trong một không gian qua n sát k=5, cần

gán nhãn cho đối tượng x (hình tròn ?), xét các đối tượng thuộc hai lớp, minh họalớp dương (+) là hình tròn có dấu cộng và lớp âm là hình tròn có dấu trừ (-)

H ình 2.1: Ví dụ về thuật toán kNN

Trong 5 láng giếng gần nhất của đối tượng cần phân lớp x có ba đ ối tượng quan sát thuộc lớp âm (-), và h ai đối tượng quan sát thuộc lớp dương (+) Như vậy x sẽ

được gán nhãn là lớp âm (-)

2.1.4 Thuật toán Đánh trọng số k-Láng giềng gần nhất (WkNN)

Thuật toán Đánh trọ ng số k-Láng giềng gần nhất (WkNN) [7] cải tiến thuật toán kNN theo ý tưởng : các láng giềng ở gần đối tượng quan sát mới x phải có

vai trò quan trọng hơn so với các láng giềng ở xa trong việc quyết định nhãn lớp

của x Trong thuật toán k NN thì cả k láng giềng gần nhất của x đều có vai trò ảnh hưởng như nhau, dù độ tương tự giữa từng thành viên trong chúng so với x có thể

khác xa nhau Để phản ánh độ quan trọng khác nhau của các l áng giềng gần nhất

của x, các giá trị kh oảng cách từ chúng đến x cần được biến đổi thành các trọng

số Theo đó, mỗi lá ng giềng của x sẽ được gán cho một giá trị trọng số, giá trị này sẽ được dùng trực tiếp để quyết định nhãn lớp cho x.

Trang 19

- Chiến lược đánh trọng số cho các láng giềng

Việc biến đổi từ giá trị khoảng cách sang giá trị trọng số được thực hiện

thông qua một hàm trọng số f(.) Hàm f(.) là hàm của biến khoảng cách d, nhận đầu vào là giá trị khoảng cách d, đầu ra là giá trị trọng số w = f(d).

Hàm f(d) phải thỏa mãn các tính chất sau:

f(d) ≥ 0 ∀ ∈ R

f(d) đạt giá trị cực đại khi d = 0.

f(d) là hàm giảm nghiêm ngặt với d → ±∞ Tức f(d 1 ) ≤ f(d 2 ) ∀ ≥

Một số hàm trọng số tiêu biểu được mô tả trong Bảng 2.1 dưới đây:

Trang 20

Các hàm trọng số trong Bảng 2.1 đều có tập xác định là [0, 1], và để tránh trường

hợp giá trị trọng số của một láng giềng nào đó bằng 0 (khi d = 1), tức láng giềng

đó hoàn toàn không có vai trò gì trong việc quyết định nhãn lớp của đối tượng

quan sát x, thì giá trị của d cần được chuẩn hóa để xác định trong khoảng [0, 1] WkNN thực hiện điều này bằng cách sử dụng giá trị khoảng cách của láng giềng gần nhất thứ (k+1) khi chuẩn hóa các khoảng cách của k láng giềng đã chọn.

Ta dùng công thức sau để chuẩn hóa khoảng cách của k láng giềng gần

> 0 là một hằng số có giá trị rất nhỏ được dùng để đảm bảo , ( ) < 1 Nếu không

dùng thì trong trường hợp một trong số k láng giềng gần nhất của x có khoảng cách đến x bằng với láng giềng gần nhất thứ (k+1) thì khoảng cách sau khi chuẩn

hóa của nó sẽ bằng 1 Dẫn đến trọng số của

nó sẽ bằng 0 nếu dùng với một số hàm trọng số trong Bảng 2.1 ở trên

Với cách chuẩn hóa như trên thì ta sẽ đảm bảo

trong Bảng 2.1Sau khi xác định các độ đo tương tự cho các quan sát trong tập tham chiếu,

mỗi đối tượng quan sát mới x sẽ được phân vào lớp r có tổng các trọng số lớn

nhất:

Trang 21

Có thể coi hai thuật toán kNN và NN là các trường hợp đặc biệt của thuật toán WkNN Ta có kết quả của thuật toán kNN nếu chọn sử dụng hàm trọng số Rectangular Và có kết quả của thuật toán NN nếu chọn k = 1, với mọi lựa chọn

của hàm trọng số

Mục đích chính của phương pháp này là xây dựng được một kỹ thuật trong

đó đạt tới một cấp độ tương đối độc lập với việc lựa chọn giá trị tham số k, với

kNN thì việc chọn sai giá trị của k sẽ dẫn đến tỉ lệ phân lớp sai lớn Số lượng các

láng giềng gần nhất hoàn toàn được ẩn đi với việc sử dụng các trọng số: nếu k có

giá trị quá lớn, nó sẽ tự động được điều chỉnh xuống một giá trị thấp hơn Trongtrường hợp này, một số nhỏ các láng giềng có trọng số lớn sẽ lấn át các lánggiềng khác

Bước 1: Đặt L = {(y i , x i ), i = 1,…, nL } là tập tham chiếu chứa các đối tượng

quan sát x i với nhãn lớp tương ứng y i Giả sử ta cần phán đoán

nhãn lớp y của một đối tượng quan sát mới x.

Bước 2: Tìm k+1 láng giềng gần nhất của x dựa vào một hàm khoảng cách

d(x, x i) Ở đây dùng hàm khoảng cách Minkowski:

Trang 22

= 7 () ()=

(2.5)

Nhìn chung có thể coi các phương pháp WkNN và kNN l à các phương pháp

bầu cử nhóm: một số bộ phân lớp tiềm năng (các láng giềng gần nhất) được kếthợp lại và thực hiện một cuộc bầu cử đa số thắng, và kết quả này được dùng đểthực hiện gán nh ãn

Ví dụ minh họa thuật toán WkNN : giống như ví dụ minh họa của thuật toán

kNN, nhưng bổ xu ng thêm tham số thể hiện giá trị khoản g cách từ đối tượng cần

gán nhãn x (hìn h tròn ?) đến các đôi tượng thuộc lớp dương (+) và các đối tượng

âm (-) trong một không gian quan sát k=5 Điều dễ nhận thấy đối tượng nào cànggần đối t ượng cần gán nhãn thì giá trị tham số củ a đối tượng đó càng lớn vàngược lại

Hì nh 2.2: Ví dụ về thuật toán WkNN

Trong Hình 2.2 trên ta thấy các láng giềng gần nhất của đối tượng quan sát

cần phán đoán lớp x t huộc về hai lớp: lớp dương (+), và lớp âm (-) Giả sử sau khi tính toán khoảng cách ta tìm được 5 láng giềng gần nhất c ủa x như trên, trong

đó có 3 đối tượng thuộc về lớp âm (-) và 2 đối tượng thuộc về lớp dương

(+) Giả sử các trọng số của từng láng giềng có giá trị tính được như trên hình vẽ

Ta có:

Tổng trọng số của lớp dương là: 0.73 + 0.71 = 1.44

Trang 23

Tổng trọng số của lớp âm là: 0.33 + 0.34 + 0.35 = 1.02 Như vậy x sẽ được phán đoán thuộc về lớp dương (+) vì lớp này có tổng

trọng số lớn nhất

Qua ví dụ này ta thấy có sự khác biệt rõ ràng trong kết quả phán đoán của

WkNN và kNN Nếu sử dụng bộ phân lớp kNN thì x sẽ được phán đoán thuộc về lớp âm (-) vì đây là lớp chiếm đại đa số trong 5 láng giềng gần nhất của x Nếu sử dụng bộ phân lớp WkNN thì x có kết quả ngược lại.

2.1.5 Thuật toán Hàm nhân k-Láng giềng gần nhất (Kernel k-NN)

Thuật toán kNN đã cho kết quả tốt trong nhiều bài toán thực tế Tuy nhiên,

với các bài toán chạy trên dữ liệu phi tuyến phức tạp, nơi dữ liệu phân bố tươngđối tùy ý, nó thường cho kết quả khá tồi Từ thực trạng đó, năm 2002, nhóm tácgiả Kai Yu, Liang Ji, và Xuegong Zhang, tiếp cận theo hướng sử dụng hàm nhân

(Kernel) để cải tiến độ chính xác của thuật toán kNN trên không gian phi tuyến

[12]. Về bản chất, Kernel k-NN dùng một hàm phi tuyến ánh xạ các mẫu dữ liệu

trong không gian ban đầu sang một không gian đặc trưng mới, rồi thực hiện thuật

toán kNN trên không gian đặc trưng mới đó Điểm mấu chốt của phương pháp

này là dựa vào việc sử dụng một hàm nhân để tính phép nhân trong (innerproduct) của các vectơ là ảnh của các mẫu dữ liệu ban đầu qua phép ánh xạ Nếu

chọn được một hàm nhân phù hợp thì hiệu quả của thuật toán kNN có thể được

m-chiều. là một vectơ tùy ý trong , là vectơ tương ứng trong là

một ánh xạ phi tuyến tùy ý từ không gian ( )

, ∈

1…m) là các hàm ánh xạ đặc trưng.

Trang 24

Bảng 2.2: Một số hàm nhân hay được dùng

Trong đó , , , là các tham số có thể điều chỉnh được

Trong thuật toán kNN truyền thống, một hàm đo khoảng cách chuẩn như

khoảng cách Euclidean thường được sử dụng Bằng cách định nghĩa lại hàm đo,

ta có thể sử dụng phương pháp hàm nhân để áp dụng vào thuật toán kNN Phương

pháp sử dụng hàm nhân dựa trên một thực tế là ta cần phải tính phép nhân tronggiữa các vectơ là ảnh của các mẫu dữ liệu ban đầu qua phép ánh xạ Do phépnhân trong chỉ tính được trong không gian Hilbert, nên ta chỉ quan tâm đến cáchàm đo khoảng cách chuẩn trong không gian Hilbert Không gian Hilbert mộtdạng tổng quát hóa của không gian Euclidean mà không bị giới hạn về vấn đề hữuhạn chiều Đó là một không gian có tích vô hướng, nghĩa là trong đó có khái niệm

về khoảng cách và góc

Khoảng cách chuẩn ( , ) giữa 2 vectơ x và y là:

Trang 25

(,)= −‖ ‖ (2.7)

Để sử dụng thuật toán kNN trong không gian đặc trưng mới, ta cần tính

khoảng cách chuẩn trong không gian đó Sử dụng (2.6) và (2.7) ta có:

(), ()= ()− ()‖ ‖

= (,)−2(,)+(,)Như vậy khoảng cách chuẩn trong không gian đặc trưng mới có thể đượctính bằng cách sử dụng một hàm nhân và các vectơ dữ liệu trong không gian mẫuban đầu mà không cần xác định và thực hiện phép ánh xạ Sau khi xác định đượchàm đo khoảng cách ở công thức (2.8), ta có thể dễ dàng thực hiện thuật toán

kNN trên không gian đặc trưng mới.

- Dữ liệu và việc tính phép nhân trong (inner product)

Con người mô tả thế giới dưới dạng thông tin, thông tin cần được lưu trữ và

xử lý để đem lại tri thức Bản chất thông tin là nhiều chiều nên vector và ma trận

ra đời để hỗ trợ cho quá trình tiếp nhận, trao đổi thông tin của con người Ví dụ :

để mô tả vị trí một điểm trên một đường thẳng, ta chỉ cần một giá trị khoảng cáchcủa điểm đó đến một điểm được chọn làm gốc, lúc này ta chỉ cần một vector cómột phần tử Nếu điểm đó nằm trên một mặt phẳng, ta cần có một hệ trục tọa độ(gồm hai trục x và y) và vị trí điểm đã cho được xác định dựa trên khoảng cáchcủa nó đến hai trục tọa độ đó Lúc này ta cần một vector hai chiều (có hai phầntử) để mô tả vị trí một điểm trên một mặt phẳng Mở rộng, để mô tả một điểmtrong không gian ta cần một vector ba chiều (có ba phần tử) Suy rộng ra, giả sử

ta muốn mô tả một con người, ta cần rất nhiều thông tin như giới tính, tuổi, tên,chiều cao, cân nặng, ngày tháng năm sinh…Các thông tin này có thể được lưu trữdưới dạng một vector có số chiều ứng với số thông số cần mô tả cho con người

đó Do đó, có thể xem vector là một đại lượng có nhiều phần tử dùng để chứathông tin nhiều chiều theo nhu cầu thực tế đặt ra

Ma trận có thể được coi là một dãy gồm nhiều “hàng” vector nối tiếp nhautrong đó mỗi hàng đại diện cho một đối tượng nào đó Theo ví dụ trên có thể lànhiều người khác nhau Do đó một ma trận có thể chứa thông tin của nhiều

Trang 26

người được khảo sát, thông tin mỗi người được lưu trong một hàng và mỗi thông

số mô tả được lưu trong một cột Sau khi “mô tả” thông tin của các đối tượng và

“lưu trữ” chúng bằng các vector và ma trận, việc tiếp theo là con người cần “xửlý” cố gắng tìm kiếm mối liên hệ giữa các vector và ma trận đó

Để diễn tả một mối quan hệ tuyến tính nào đó giữa một vector (biễu diễnthông tin của một đối tượng bằng n chiều) với một vector khác (biễu diễn thôngtin của một đối tượng khác bằng m chiều), người ta dùng một ma trận có n hàng

và m cột Trong nhiều trường hợp hai đối tượng có số chiều bằng nhau và ta cómột ma trận vuông để biểu diễn mối quan hệ tuyến tính giữa chúng Giả sử matrận vuông A đại diện cho một phép biến đổi tuyến tính nào đó, nếu ta tìm đượcmột vector sao cho biến đổi tuyến tính của ma trận A lên vector đó không làmthay đổi chiều, chỉ thay đổi độ lớn của vector đó, vector ứng với độ lớn thay đổi

đó được gọi là vector riêng và trị riêng tương ứng Độ lớn của trị riêng có mốiquan hệ tương ứng với khoảng cách Một ma trận m x n có thể biểu diễn n biếnngẫu nhiên trong đó mỗi biến ta có m mẫu được quan sát Từ lý thuyết trên tahoàn toàn có thể tính tính phép nhân trong (inner product) của các vectơ trênkhông gian đặc trưng mới

2.2 Thuật toán Di truyền (GA)

2.2.1 Giới thiệu

Thuật toán Di truyền (GA) hình thành dựa trên quan niêm cho rằng : quá

trình tiến hóa và chọn lọc tự nhiên là hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu [2] Quan niệm này được xem như một tiên đề đúng chưa chứng

minh được nhưng phù hợp thực tế khách quan Quá trình tiến hóa tối ưu ở chỗ,thế hệ sau sau bao giờ cũng tốt hơn, hoàn thiện hơn thế hệ trước Sự tiến hóađược hình thành từ hai quá trình cơ bản là sinh sản và chọn lọc tự nhiên Trongsuốt quá trình phát triển của tiến hóa tự nhiên, các thế hệ mới không ngừng đượcsinh ra, không ngừng thay đổi để thay thế bổ sung cho thế hệ cũ Thay đổi nàophát triển hơn, thích ứng tốt hơn với môi trường sẽ tồn tại ngược lại sẽ bị đàothải Thực tế sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hóa, đồngthời tiến hóa cũng tác động ngược trở lại để thay đổi môi trường

Ngày đăng: 11/11/2020, 22:18

TỪ KHÓA LIÊN QUAN

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