1. Trang chủ
  2. » Công Nghệ Thông Tin

23 12 2015,KHAI PHÁ dư LIÊU HOAN

74 514 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 74
Dung lượng 2,41 MB

Nội dung

Mục đích của môn học là giúp người đọc có được những hình dung cơ bản vềkhai phá dữ liệu là một bước quan trọng trong quá trình khám phá tri thức từ dữliệu; tìm hiểu về các giải thuật kh

Trang 1

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

SVM Support Vector Machines Máy học vector hỗ trợ

Trang 2

DANH MỤC THUẬT NGỮ, CÁC TỪ VIẾT TẮT VI

CHƯƠNG 1: GIỚI THIỆU NGƠN NGỮ R VÀ LĨNH VỰC KHAI PHÁ DỮ LIỆU……… 1

1.1 G IỚI THIỆU VỀ LĨNH VỰC KHAI PHÁ DỮ LIỆU 1

1.1.1 Khái niệm và chức năng của khai phá dữ liệu 1

1.2 G IỚI THIỆU VỀ NGƠN NGỮ R 8

CHƯƠNG 2: CÁC GIẢI THUẬT PHÂN LỚP DỮ LIỆU……… 21

2.1 T HUẬT TỐN K LÁNG GIỀNG GẦN NHẤT 21

2.1.1 Thuật tốn k láng giềng cho bài tốn phân lớp 21

2.1.2 Thuật tốn k láng giềng cho bài tốn dự đốn 23

2.2 T HUẬT TỐN N ẠVE B AYES 32

2.3 T HUẬT TỐN HỌC CÂY QUYẾT ĐỊNH 41

2.3.1 Giới thiệu về cây quyết định 41

2.3.2 Thuật tốn học cây quyết định42

CHƯƠNG 3: GIẢI THUẬT GOM CỤM VÀ LUẬT KẾT HỢP……….58

Trang 3

3.1 G IẢI THUẬT GOM CỤM K M EAN 58

3.1.2 Giải thuật gom cụm kMeans 59

3.2 G IẢI THUẬT LUẬT KẾT HỢP 70

3.2.1 Luật kết hợp trong khai phá dữ liệu 70

3.2.3 Minh họa thuật toán 73

LỜI MỞ ĐẦU

Trong những năm gần đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩacứng, CD-ROM, băng từ v.v…) không ngừng tăng lên Sự tích lũy dữ liệu này xảy

Trang 4

ứng dụng rộng rãi trong rất nhiều lĩnh vực và hiện nay đã có rất nhiều công cụthương mại và phi thương mại triển khai các nhiệm vụ của khai phá dữ liệu.

Hiện nay, khai phá dữ liệu đã và đang được ứng dụng rộng rãi trong rất nhiều lĩnhvực như tài chính ngân hàng, viễn thông, thương mại, y học, an toàn thông tin,nghiên cứu khoa học,…

Ngôn ngữ R và Weka gần đây là các công cụ rất hữu ích trong khai phá dữliệu R, Weka là các ngôn ngữ máy tính đa năng nên nó có thể thực hiện được rấtnhiều mục đích khác nhau

Mục đích của môn học là giúp người đọc có được những hình dung cơ bản vềkhai phá dữ liệu là một bước quan trọng trong quá trình khám phá tri thức từ dữliệu; tìm hiểu về các giải thuật khai mỏ dữ liệu được sử dụng nhiều trong cộng đồngkhám phá tri thức bao gồm: luật kết hợp, k láng giềng gần nhất, phân lớp Bayes đơngiản, học bằng cây quyết định, gom cụm kmeans với các bước của thuật toán, các ví

dụ và lời giải và cuối cùng là chạy các thuật toán này Nội dung chính của khóa họcnhư sau:

Nội dung đồ án gồm có 3 chương:

Chương 1: Trình bày giới thiệu chung về khám phá tri thức và khai phá dữliệu, trong đó đề cập đến các khái niệm tri thức, dữ liệu, quá trình khai phá tri thức,chức năng, các kỹ thuật ứng dụng của khai phá tri thức

Chương 2: Trình bày phân lớp/dự báo

Chương 3: Trình bày phân cụm, đánh giá các giải thuật khai phá dữ liệu vào phần mềm Weka

Chương: Trình bày mạng nơ ron cho phân lớp/dự báo, phân cụm,

Trang 5

CHƯƠNG I

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Giới thiệu về khai phá tri thức và khai phá dữ liệu

Để hiểu rõ về khai phá tri thức và khai phá dữ liệu trước tiên tìm hiểu về thôngtin, tri thức, dữ liệu thông qua hình 1.1 sau:

Hình 1.1 Biểu diễn dữ liệu, thông tin, tri thức[2].

1.1.1 Khái niệm khai phá tri thức và khai phá dữ liệu

“Khám phá tri thức là quá trình tìm ra những tri thức, đó là những mẫu tiềm ẩn,trước đó chưa biết và là thông tin hữu ích đáng tin cậy” Còn khai phá dữ liệu là mộtbước quan trọng trong quá trình khám phá tri thức, sử dụng các thuật toán khai phá dữliệu chuyên dùng với một số qui định về hiệu quả tính toán chấp nhận được để chiếtxuất ra các mẫu hoặc các mô hình có ích trong dữ liệu Nói một cách khác, mục đíchcủa khám phá tri thức và khai phá dữ liệu là tìm ra các mẫu hoặc mô hình đang tồn tạitrong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu Khai phá trithức trong cơ sở dữ liệu (KDD: Knowledge Discovery in Database): là một quá trìnhcủa việc xác định giá trị, cái mới lạ, tri thức tiềm ẩn hay tri thức cuối cùng các khuônkhổ/mô hình trong dữ liệu Có khá nhiều định nghĩa về khai phá dữ liệu (Data Mining)như sau:

Trang 6

Định nghĩa 3: Khai phá dữ liệu là quá trình khám phá tri thức mới và các tri thức có

ích ở dạng tiềm năng trong nguồn dữ liệu đã có

Tóm lại, khai phá dữ liệu là công nghệ tri thức giúp khai thác những thông tinhữu ích từ những kho dữ liệu được tích trữ trong quá trình hoạt động của một tổ chứcnào đó

Khai phá dữ liệu gồm 7 bước như sau:

1 Làm sạch dữ liệu (Data Cleaning & Preprocessing): Loại bỏ nhiễu và dữ liệu khôngcần thiết

2 Tích hợp dữ liệu: (Data Integration): quá trình hợp nhất dữ liệu thành những kho dữliệu (Data Warehouses & Data Marts) sau khi đã làm sạch và tiền xử lý

3 Trích chọn dữ liệu (Data Selection): trích chọn dữ liệu từ những kho dữ liệu và sau

đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này baogồm cả việc xử lý với dữ liệu nhiễu (Noisy Data), dữ liệu không đầy đủ (IncompleteData) v.v…

4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quátrình xử lý

5 Khai phá dữ liệu (Data Mining): Là một trong các bước quan trọng, trong đó sửdụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu.hữu ích

6 Ước lượng mẫu (Knowledge Evaluation): Quá trình đánh giá các kết quả tìm đượcthông qua các độ đo nào đó

7 Biểu diễn tri thức (Knowledge Presentation): Quá trình sử dụng các kỹ thuật để biểudiễn và thể hiện trực quan cho người dùng

Quá trình khai phá dữ liệu có thể được phác thảo qua mô hình sau:

Trang 7

Hình 1.1 – Phác thảo quá trình khai phá dữ liệu

1.1.2 Sự cần thiết của khai phá tri thức

Có rất nhiều lý do đề giải thích sự cần thiết của việc khai phá tri thức, khai phá

Trang 8

Tóm lại, với sự phát triển mạnh mẽ của công nghệ vi xử lý, công nghệ lưu trữ,công nghệ truyền thống, ứng dụng công nghệ thông tin trong nhiều lĩnh vực; dữ liệutăng nhanh, bùng nổ dữ liệu thì KDD và DM thực sự cần thiết để khai phá tri thức tiềm

ẩn trong những kho dữ liệu lớn

1.2 Quá trình KDD

Quá trình khai phá tri thức được mô tả trong hình 1.2 sau:

Hình 1.2 Hình ảnh biểu diễn quá trình KDD [8]

Quá trình phân tích dữ liệu, khám phá dữ liệu và xây dựng mô hình dữ liệuthường lặp lại khi bạn tập trung vào và nhận ra các thông tin khác nhau để bạn có thểtrích ra Quá trình khai phá tri thức bắt đầu bằng việc tìm hiểu lĩnh vực ứng dụng Tiếptheo, một mẫu đại diện được lấy từ CSDL, được tiền xử lý và được lựa chọn để sau đó

áp dụng các phương pháp và công cụ của giai đoạn khai phá dữ liệu với mục tiêu làtìm ra các mẫu/mô hình (tri thức) trong dữ liệu đó Tri thức này được đánh giá bằngchất lượng hoặc sự hữu ích của nó, vì vậy nó có thể được sử dụng để hỗ trợ cho hệ trợgiúp ra quyết định

- Tiền xử lý dữ liệu: Tiền xử lý dữ liệu dựa vào mục tiêu đề ra của ứng dụng Từcác nguồn dữ liệu khác nhau chọn dữ liệu cần thiết cho mục tiêu đề ra như mẫu tin,

Trang 9

trường dữ liệu Biểu diễn dữ liệu, chuyển đổi kiểu sao cho phù hợp với giải thuật DM

sẽ được áp dụng ở bước sau Làm sạch dữ liệu dùng để khắc phục với trường dữ liệurỗng, dư thừa hoặc dữ liệu không hợp lệ nhằm có thể tinh giảm dữ liệu hơn

- Khai phá dữ liệu: Các kỹ thuật áp dụng trong khai phá dữ liệu như máy học, trítuệ nhân tạo, nhận dạng, phân tích thống kê, phương pháp trực quan (hiển thị), xâydựng mô hình, tạo tri thức về dữ liệu Kiểm định mô hình nếu chưa đạt thì phải xâydựng mô hình khác Bước này rất khó và mất rất nhiều công sức

- Đánh giá kết quả: Kiểm định dựa vào mục tiêu ban đầu của ứng dụng Nghĩa làchỉ có người sử dụng hoặc chuyên gia về lĩnh vực mới có khả năng đánh giá Kết quả

có đạt được cần dễ hiểu, hiển thị, dịch kết quả Người sử dụng hoặc chuyên gia có thểđánh giá và hiểu được kết quả sinh ra

1.2.1 Chức năng chính của khai phá dữ liệu

Data Mining được chia nhỏ thành một số hướng chính như sau:

 Mô tả khái niệm (Concept Description): thiên về mô tả, tổng hợp và tóm tắt kháiniệm Ví dụ: tóm tắt văn bản Mô tả theo các phương pháp mô tả tri thức: mô tảbằng logic hình thức; mạng ngữ nghĩa hoặc chuyển sang dạng ma trận; mô tả bằngluật; mô tả bằng mạng Bayes…

 Luật kết hợp (Association Rules): là dạng luật biểu diễn tri thức ở dạng khá đơngiản Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin-sinh,tài chính & thị trường chứng khoán, v.v

 Phân lớp và dự đoán (Classification & Prediction): xếp một đối tượng vào mộttrong những lớp đã biết trước Hướng tiếp cận này thường sử dụng một số kỹ thuật

của machine learning như cây quyết định (Decision Tree), mạng nơ ron nhân tạo (Neural Network) v.v… Người ta còn gọi phân lớp là học có giám sát (học có

thầy)

 Phân cụm (Clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên

của cụm chưa được biết trước Người ta còn gọi phân cụm là học không giám sát

(học không thầy)

 Khai phá chuỗi (Sequential/Temporal Patterns): tương tự như khai phá luật kếthợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứngdụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dựbáo

1.2.2. Các kỹ thuật khai phá dữ liệu

Trang 10

- Kỹ thuật khai phá dữ liệu mô tả (Descriptive): mô tả các tính chất hoặc các đặc

trưng chung của dữ liệu trong CSDL hiện có Nhóm kỹ thuật này gồm các phươngpháp: phân nhóm (Clustering), tổng hợp hóa (Summerization), phát hiện sự biến đổi và

độ lệch (Change and deviation detection), phân tích luật kết hợp (Association rules)…

- Kỹ thuật khai phá dữ liệu dự đoán (Predictive): đư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 Nhóm kỹ thuật này gồm các phương pháp: phân lớp(Classification), hồi quy (Regression), phát hiện độ lệch (Deviation Detection)

Để có một mô hình dự đoán, phải trải qua 2 giai đoạn (phase)

a) Thứ nhất: xây dựng mô hình (Training phase)

Trang 11

Hình 1.5 Mức độ sử dụng hiệu quả của các giải thuật trong DM [8]

1.2.3 Các phương pháp khai phá dữ liệu

a Phân loại (Classification): cho phép phân loại các sự việc, đối tượng vào một hoặc

một số lớp theo tiêu chí xác định

b Hồi quy (Regression): xây dựng mô hình phân loại dựa trên tập dữ liệu học có nhãn

(lớp) là giá trị liên tục

c Phân nhóm (Clustering): xây dựng mô hình gom cụm tập dữ liệu học (không có

nhãn) sao cho các dữ liệu cùng nhóm có các tính chất tương tự nhau và dữ liệu của 2nhóm khác nhau có các tính chất khác nhau

d Tổng hợp (Summarization): là công việc liên quan đến các phương pháp tìm kiếm

một mô tả cô đọng cho tập con dữ liệu Các kỹ thuật tổng hợp thường được áp dụngtrong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động

e Mô hình ràng buộc (Dependency Modeling): tìm kiếm một mô hình cục bộ để mô tả

sự phụ thuộc đáng kể giữa các biến hay giữa các giá trị của một đặc tính trong một tập

dữ liệu hoặc một phần của một tập dữ liệu

f Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): khai thác sự thay đổi

đáng kể trong tập dữ liệu Là việc tập trung vào khám phá những thay đổi có ý nghĩa

Trang 12

 Kích thước lớn của các tập dữ liệu cần xử lý Các tập dữ liệu trong khai phá dữliệu thường có kích thước lớn Trong thực tế, kích thước dữ liệu trong khai phá dữ liệuthường ở mức tera-byte Với kích thước như thế, thời gian xử lý thường dài Thêm vào

đó, các giải thuật học truyền thống thường yêu cầu tập dữ liệu được tải toàn bộ vào bộnhớ để xử lý Mặc dù kích thước bộ nhớ trong của máy tính đã tăng nhưng không đápứng kịp với việc tăng kích thước dữ liệu Vì vậy, việc vận dụng các kỹ thuật xác suất,lấy mẫu, đệm, song song … vào các giải thuật để tạo các phiên bản phù hợp với yêucầu của khai phá dữ liệu trở nên quan trọng

 Các kỹ thuật trong khai phá dữ liệu là hướng tác vụ và hướng dữ liệu Thay vìtập trung vào xử lý tri thức dạng kí hiệu và khái niệm như máy học; mọi phát triểntrong khai phá dữ liệu kết chặt vào các ứng dụng thực tế và đặc tính dữ liệu cụ thểtrong các ứng dụng đó Ví dụ, luật kết hợp là kỹ thuật khai phá dữ liệu nhằm tìm kiếmnhững mối liên kết giữa các món hàng trong các hóa đơn Giải thuật học trong kỹ thuậtnày được phát triển dựa trên đặc tính về dữ liệu rất đặc thù là ở dạng nhị phân

1.4 Ứng dụng của khai phá dữ liệu

Hiện nay, khai phá dữ liệu đang được ứng dụng rộng rãi trong như sau:

a Phân tích dữ liệu tài chính (Financial Data Analysis) với các bài toán cụ thể như:

 Dự đoán khả năng vay và thanh toán của khách hàng, phân tích chính sáchtín dụng đối với khách hàng

 Phân tích hành vi khách hàng (vay, gửi tiền)

 Phân loại và phân nhóm khách hàng mục tiêu cho tiếp thị tài chính

 Phát hiện các hoạt động rửa tiền và tội phạm tài chính khác

b Công nghiệp bán lẻ (Retail Industry)

Một số ứng dụng trong ngành công nghiệp bán lẻ đó là:

 Khai phá dữ liệu trên kho dữ liệu khách hàng

 Phân tích đa chiều trên kho dữ liệu khách hàng về doanh số bán hàng,khách hàng, sản phẩm, thời gian và khu vực

 Phân tích hiệu quả của các chiến dịch bán hàng, Marketing

Trang 13

 Quản trị mối quan hệ khách hàng (CRM).

 Giới thiệu và tư vấn sản phẩm phù hợp cho khách hàng

Khai phá dữ liệu đóng vai trò rất quan trọng trong ngành công nghiệp bán lẻ, do

dữ liệu thu thập từ lĩnh vực này rất lớn từ doanh số bán hàng, lịch sử mua hàng củakhách hàng, vận chuyển hàng hóa, tiêu thụ và dịch vụ Điều tự nhiên là khối lượng dữliệu từ ngành công nghiệp này sẽ tiếp tục tăng nhanh và dễ dàng thu thập bởi tính sẵn

có trên môi trường Web Ứng dụng khai phá dữ liệu trong công nghiệp bán

lẻ nhằm xây dựng mô hình, giúp xác định xu hướng mua hàng của khách, giúp doanhnghiệp cải thiện chất lượng sản phẩm dịch vụ nhằm nâng cao sự hài lòng của kháchhàng tốt

c Ngành công nghiệp viễn thông (Telecommunication Industry)

Khai phá dữ liệu trong ngành viễn thông giúp xác định các mô hình, các hoạtđộng gian lận , sử dụng tốt nguồn tài nguyên và cải thiện chất lượng dịch vụ viễnthông

Một số ứng dụng chính trong ngành này là:

 Phân tích dữ liệu đa chiều viễn thông

 Xây dựng các mô hình phát hiện gian lận

 Phát hiện bất thường trong giao dịch viễn thông

 Phân tích hành vi sử dụng dịch vụ viễn thông của khách hàng

 Sử dụng các công cụ trực quan trong phân tích dữ liệu viễn thông

d Phân tích dữ liệu sinh học (Biological Data Analysis)

Ngành này có một số ứng dụng như:

 Lập chỉ mục, tìm kiếm tương tự, bất thường trong cơ sở dữ liệu Gen

 Xây dựng mô hình khai phá, các mạng di truyền và cấu trúc củaGen, protein

 Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền

e Phát hiện xâm nhập bất hợp pháp (Intrusion Detection)

Xâm nhập bất hợp pháp là những hành động đe dọa tính toàn vẹn, bảo mật vàtính sẵn sàng của tài nguyên mạng Trong thế giới của kết nối, bảo mật trở thành vấn

đề lớn đối với tồn tại của hệ thống Với sự phát triển của internet, sự sẵn có của cáccông cụ, thủ thuật trợ giúp cho xâm nhập và tấn công mạng; yêu cầu kiểm soát truycập bất hợp pháp là yếu tố đảm bảo ổn định của hệ thống

Một số ứng dụng để phát hiện xâm nhập:

 Phát triển các thuật toán khai phá dữ liệu để phát hiện xâm nhập

Trang 14

mục tiêu đặt ra của ứng dụng, khả năng làm việc tốt đối với dữ liệu lớn; đáp ứngnhững rằng buộc về thời gian, thiết bị, chất lượng, kết quả; hiểu được Mặt khác, khó

có kỹ thuật nào tốt nhất cho tất cả các trường hợp

Hướng phát triển: tương lai KDD và DM cần xử lý nguồn dữ liệu đa phươngtiện, hỗn hợp như văn bản, hình ảnh, âm thanh, ký tự Có thể tạo thuật toán mới hoặccải tiến thuật toán hiện có; tích hợp kiến thức chuyên gia, diễn dịch kết quả, mở rộngsang các lĩnh vực khác như sinh học, kinh tế, y học, quốc phòng, thiên văn…

Trong chương này đã tìm hiểu về khai phá tri thức và khai phá dữ liệu Để triểnkhai các giải thuật của khai phá dữ liệu có thể sử dụng các phần mềm R, Weka, Matlab(xem các phụ lục)

CHƯƠNG 2

CÁC GIẢI THUẬT PHÂN LỚP DỮ LIỆU

2.1 Thuật toán k láng giềng gần nhất

2.1.1 Thuật toán k láng giềng cho bài toán phân lớp

a Mục đích của thuật toán

k-Nearest Neighbors algorithm (k-NN) là thuật toán được sử dụng rất phổ biến

trong lĩnh vực khai phá dữ liệu k-NN là phương pháp để phân lớp đối tượng dựa vào

khoảng cách gần nhất giữa các đối tượng cần xếp lớp và tất cả các đối tượng trong dữliệu huấn luyện

b Phương pháp tính khoảng cách

Trang 15

Để xác định khoảng cách, xem xét một số phương pháp sau Khoảng cáchđược tính theo từng kiểu của dữ liệu: số, nhị phân, loại.

 Với dữ liệu là kiểu số:

- Khoảng cách Minkowski

(2.1)

i = (x i1, xi2, …, xip) và j = (xj1, xj2, …, xjp) là 2 phần tử dữ liệu, q là số nguyên dương.

- Khoảng cách Manhattan (từ (2.1) Nếu q = 1, d là khoảng cách Manhattan ):

3 Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất với

đối tượng cần phân lớp

4 Lấy tất cả các lớp của k láng giềng gần nhất đã xác định

5 Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho các đốitượng cần phân lớp

Trang 16

Giải thích công thức trong Excel:

Công thức tính khoảng cách (Euclidean) tại ô G2 là:

=SQRT((C2-$C$22)^2+(D2-$D$22)^2)

Xác định số lượng láng giềng gần nhất (ô H23): K= 5

Chọn ra K láng giềng gần nhất của Query point (công thức tại ô H2) là:

=IF(G2<=SMALL($G$2:$G$21,$H$23),E2,"")

Dự đoán lớp của Query Point (ô H24) Trong ví dụ này lớp của Query point (7,5) được xác

định là – vì trong 5 láng giềng gần nhất với nó có 3 láng giềng thuộc lớp – (nhiều hơn số

láng giềng thuộc lớp +)

=IF(COUNTIF(H2:H21,"+")>COUNTIF(H2:H21,"-"),"+","-") Chú ý: có thể thay đổi dữ liệu về số láng giềng K ở ô H23 cũng như thay đổi training data

hay điểm tìm kiếm: Query Point): (x1, x2 )=($c$22, $d$22)=(7, 5) để kiểm tra kết quả của

thuật toán K-NN

Trường hợp ứng dụng K-NN:

Trang 17

Giả sử ta có tập dữ liệu như bảng 2.1:

Bảng 2.1 – Tập dữ liệu minh họa thuật toán k láng

Để hiểu K-NN được dùng để phân lớp thế nào ta xem minh họa dưới đây

Trong hình dưới đây, training Data được mô tả bởi dấu (+) và dấu (-), đối tượngcần được xác định lớp cho nó (Query point) là hình tròn đỏ Nhiệm vụ của chúng ta làước lượng (hay dự đoán) lớp của Query point dựa vào việc lựa chọn số láng giềng gầnnhất với nó Nói cách khác chúng ta muốn biết liệu Query Point sẽ được phân vào lớp(+) hay lớp (-)

Hình 2.1 Mô tả Training Data trong KNN

2.1.3 Cài đặt với ngôn ngữ R cho ví dụ minh họa trong bảng 2.1

Trang 18

Kết quả với k=3: mẫu cần phân lớp có nhãn là (-)

Kết quả với k=5: mẫu cần phân lớp có nhãn là (+)

Kết quả trên cho thấy nhãn của mẫu cần phân lớp phụ thuộc rất nhiều vào k.

2.1.4 Cài đặt thuật toán với ngôn ngữ R cùng bộ dữ liệu Iris

a Giới thiệu về bộ dữ liệu Iris

Trong các phần tiếp theo, đồ án sẽ sử dụng tập dữ liệu về hoa Iris trong các ví dụminh họa về các phương pháp khai mỏ dữ liệu với ngôn ngữ R Tập dữ liệu Iris [14] làtập dữ liệu được sử dụng bới nhà khoa học thống kê R.A Fisher từ năm 1936 để minhhọa cho các ví dụ của các phương pháp do ông đề xuất

Tập dữ liệu hoa Iris có tổng số 150 phần tử với 4 thuộc tính được đo bằng đơn vịcentimet (cm) đó là: chiều dài lá đài (Sepal.Length), chiều rộng của lá đài(Sepal.Width), chiều dài cánh hoa (Petal.Length), chiều rộng cánh hoa (Petal.Width)

để phân biệt 3 loại hoa là setosa (50 phần tử mẫu), versicolor (50 phần tử mẫu),virginica (50 phần tử mẫu) Thuộc tính Sepal.Length có độ dài nằm trong khoảng [4.3,7.9], thuộc tính Sepal.Width có độ dài nằm trong khoảng [2, 4.4], thuộc tínhPetal.Length có độ dài trong khoảng [1, 6.9], thuộc tính Petal.Width có độ dài nằmtrong khoảng từ [0.1, 2.5]

Tập dữ liệu Iris được lựa chọn để sử dụng vì nó ngắn, khá đơn giản để có thểminh họa cũng như kiểm chứng các kết quả của giải thuật

Trang 19

b Cài đặt giải thuật k-NN với tập dữ liệu iris

Giải thuật k láng giềng được cài đặt trong gói thư viện class của ngôn ngữ lập

trình R Để thực hiện giải thuật k láng giềng, trong R có hàm knn() như sau:

Bảng 2.3 – Tập dữ liệu hoa Iris

Các tham số còn lại có thể dùng đến Chương trình được viết như sau:

Trang 20

- Đơn giản, dễ hiểu, dễ cài đặt

- Có thể làm việc trên nhiều loại dữ liệu khác nhau

- Giải quyết các vấn đề về phân loại, hồi quy, gom nhóm…

- Kết quả phụ thuộc vào việc chọn khoảng cách sử dụng

- Cho kết quả tốt tuy nhiên độ phức tạp của quá trình phân loại là khá lớn

Thuật toán k-NN sử dụng toàn bộ thuộc tính của ví dụ để tính khoảng cách bất

kể thuộc tính đó có liên quan đến nhãn phân loại của ví dụ hay không Nếu dữ liệu bao

Trang 21

gồm cả những thuộc tính khơng liên quan đến nhãn phân loại thì những thuộc tính này

sẽ ảnh hưởng tới khoảng cách Bởi vì nếu dữ liệu gồm cĩ 100 thuộc tính nhưng chỉ cĩ

2 thuộc tính cĩ ảnh hưởng đến nhãn phân loại khi đĩ những ví dụ cĩ 2 thuộc tính nàygiống nhau nhưng vẫn cĩ thể nằm rất xa nhau trong khơng gian Vì vậy số lượng thuộc

tính lớn và khơng liên quan sẽ ảnh hưởng rất lớn đối với độ chính xác của k-NN.

Từ đĩ ta cĩ thể khắc phục theo 2 hướng như sau:

- Đánh trọng số cho thuộc tính sao cho trọng số ít liên quan cĩ trọng số nhỏ và ngượclại

- Lựa chọn thuộc tính hay cịn gọi là trích chọn đặc trưng nghĩa là chỉ những thuộctính liên quan được giữ lại cịn những thuộc tính khơng liên quan bị bỏ đi

2.2 Thuật tốn Nạve Bayes

2.2.1 Giới thiệu chung

a Ý tưởng của thuật tốn

Thuật tốn phân lớp Nạve Bayes dựa trên việc xử lý số liệu thống kê với mộtphân lớp xác suất dựa trên các ứng dụng định lý Bayes với giả định độc lập bền vững

b Mục đích của thuật tốn

Phân loại Bayes đơn giản sử dụng trong trường hợp mỗi ví dụ được cho bằngtập các thuộc tính <x1, x2,…,xn> và cần xác định nhãn phân loại y, y cĩ thể nhận giá trị

từ một tập nhãn hữu hạn C

2.2.2 Mơ tả thuật tốn

Trong giai đoạn huấn luyện, dữ liệu huấn luyện được cung cấp dưới dạng cácmẫu <xi, yi> Sau khi huấn luyện xong, bộ phân loại cần dự đốn nhãn cho mẫu mới x Thuật tốn Nạve Bayes dựa trên định lý Bayes được phát biểu như sau:

Trang 22

Các bước thực hiện thuật tốn Nạve Bayes:

Bước 1: Huấn luyện Nạve Bayes (dựa vào tập dữ liệu), tính và

Bước 2: Phân lớp , ta cần tính xác suất thuộc từng phân lớp khi

đã biết trước X new X new được gán vào lớp cĩ xác suất lớn nhất theo cơng thức

Trang 23

Trong đó P(xk|ci) được tính từ dữ liệu huấn luyện bằng số lần xuất hiện cùng

với chia cho số lần xuất hiện Việc tính xác suất này đòi hỏi ít dữ liệu hơn nhiều

Trang 24

D5 Mưa Thấp Bình thường Yếu Có

Giả sử ta xác định nhãn phân loại cho ví dụ:

< Trời = mưa, nhiệt độ= trung bình, độ ẩm= bình thường, gió = mạnh >

b Lời giải

Ta sẽ tính các xác suất và thay vào công thức sau:

Do Ci nhận 2 giá trị “có” và “không” nên P (có) và P (không) được tính bằngtần suất “có” và “không” trên dữ liệu huấn luyện

Trang 25

P (có) P (mưa|có) P (trung bình|có) P (bình thường|có) P (mạnh|có) = 0.021

P (không) P (mưa|không) P (trung bình|không) P (bình thường|không) P (mạnh|không)

= 0.0069

Như vậy, theo phân loại Bayes đơn giản, ví dụ đang xét sẽ được phân loại là

“có”

Tuy nhiên xác xuất thực của nhãn “có” là: 0.021/ (0.021+0.0069) = 0.75

Xác suất thực của nhãn “không” là: 0.0069/ (0.021+0.0069) = 0.25

2.2.4 Cài đặt thuật toán trên ngôn ngữ R

Để thực hiện giải thuật Bayes đơn giản, trong R có hỗ trợ hàm naiveBayes() trong gói thư viện e1071 như sau:

object: mô hình học Bayes đơn giản dùng để dự đoán nhãn

new data: tập dữ liệu kiểm tra (dự đoán nhãn)

Các tham số còn lại có thể dùng đến

a Sử dụng bộ dữ liệu Iris

Trang 26

b Sử dụng bộ dữ liệu thời tiết

Dựa vào bảng dữ liệu về thời tiết để dự đoán nhãn cho ví dụ:

< Trời = mưa, nhiệt độ= trung bình, độ ẩm= bình thường, gió = mạnh >

Kết quả thu được như sau:

Kết quả trên cho thấy nhãn của mẫu cần dự đoán sẽ là “có”

2.2.5 Kết luận

a) Ưu điểm

- Cho kết quả khá tốt trong thực tế mặc dù giả thiết về tính độc lập trong thực tếkhông bao giờ đúng

- Phân lớp không yêu cầu phải ước lượng một cách chính xác sác xuất

- Dễ cài đặt, học nhanh, kết quả dễ hiểu

- Có nhiều ứng dụng trong thực tế như lọc thư rác, phân loại văn bản tự động…

b) Nhược điểm

- Giả thiết trong thực tế về tính độc lập là không đúng

Trang 27

- Khi dữ liệu cĩ nhiều thuộc tính dư thừa thì phương pháp Nạve Bayes khơng cịnhiệu quả

- Dữ liệu liên tục cĩ thể khơng tuân theo phân phối chuẩn

c) Bàn luận:

- Vấn đề tính xác suất trên thực tế

Phân loại Bayes đơn giản địi hỏi tính xác suất các điều kiện thành phần P (xk|ci).Xác xuất này được tính bằng nc/n, trong đĩ nc là số lần xk và ci xuất hiện đồng thờitrong tập huấn luyện, n là số lần ci xuất hiện

Trong nhiều trường hợp, giá trị nc cĩ thể bằng 0 nên nĩ sẽ ảnh hưởng tới độchính xác khi tính xác xuất điều kiện vì khi nc=0 thì bất kể các thành phần khác cĩ giátrị như thế nào, xác xuất điều kiện cuối cùng cũng bằng 0

- Khắc phục

Ta cĩ thể sử dụng kỹ thuật làm trơn để khắc phục vấn đề trên theo cơng thức:

trong đĩ:

p là xác xuất tiền nghiệm của (nếu khơng cĩ thêm thơng tin gì khác thì xác

suất tiền nghiệm thường được tính p =1/u với u là số thuộc tính của thuộc tính ) Ví

dụ xác suất quan sát thấy Trời = nắng sẽ là 1/3 vì thuộc tính Trời cĩ 3 giá trị

m là tham số cho phép xác định ảnh hưởng của p tới cơng thức Khi m=0 thì

cơng thức khơng thay đổi, khi thì xác suất hậu nghiệm sẽ bằng p ( )

2.3 Thuật tốn học cây quyết định

2.3.1 Giới thiệu về cây quyết định

Phương pháp học cây quyết định thuộc loại học cĩ giám sát, được sử dụng choviệc học các hàm phân loại từ dữ liệu huấn luyện, trong đĩ cây quyết định được sửdụng làm biểu diễn xấp xỉ của hàm phân loại, tức là hàm cĩ đầu ra là các giá trị rời rạc Khái niệm cây quyết định:

Cây quyết định là một cây phân cấp cĩ cấu trúc được dùng để phân lớp các đối tượngdựa vào dãy các luật Cây quyết định nhận đầu vào là một bộ giá trị thuộc tính mơ tảmột đối tượng hay một tình huống và trả về một giá trị rời rạc Mỗi bộ thuộc tính đầu

Trang 28

dưới của nút đó tương ứng với một giá trị của thuộc tính hay một kết quả của phép thử.Khác với nút trung gian, nút lá không chứa thuộc tính mà chứa nhãn phân loại.

Tóm lại, khi cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp của

nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết

2.3.2 Thuật toán học cây quyết định

Có rất nhiều thuật toán khác nhau được sử dụng để học cây quyết định từ dữ liệunhư ID3, C4.5, Quinlan, độ lộn xộn, Sprint, thuật giải ILA… Trong phần này sẽ giớithiệu thuật toán ID3, C4.5

a Thuật toán ID3

 Giới thiệu thuật toán

Giải thuật ID3 là học cây quyết định từ một tập các ví dụ rèn luyện có:

Đầu vào: là một tập các ví dụ, mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống,hay một đối tượng nào đó và một giá trị phân loại của nó

Đầu ra: cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rènluyện và hi vọng là phân loại đúng các ví dụ chưa gặp trong tương lai

 Trình bày thuật toán

Thuật toán được mô tả như sau:

- Khởi đầu: nút hiện thời là nút gốc chứa toàn bộ tập dữ liệu huấn luyện

- Tại nút hiện thời n, lựa chọn thuộc tính:

 Chưa được sử dụng ở nút tổ tiên (tức là nút nằm trên đường đi từ gốc tớinút hiện thời)

 Cho phép phân chia tập dữ liệu hiện thời thành các tập con một cách tốtnhất

 Với mỗi giá trị thuộc tính được chọn thêm một nút con bên dưới

 Chia các ví dụ ở nút hiện thời về các nút con theo giá trị thuộc tính đượcchọn

- Lặp đệ quy cho tới khi:

Trang 29

 Tất cả thuộc tính đã được sử dụng ở các nút phía trên, hoặc

 Tất cả ví dụ tại nút hiện thời có cùng nhãn phân loại

 Nhãn của nút được lấy theo đa số nhãn của ví dụ tại nút hiện thời

Thuật toán xây dựng cây quyết định bằng cách ở mỗi bước kiểm tra cố gắngchọn thuộc tính (nút nhánh) đơn giản nhất Để xác định độ đơn giản của thuộc tính,ID3 sử dụng giá trị độ đo là Entropy thông tin làm mức độ đo đồng nhất của tập dữliệu Entropy thông tin được tính theo công thức:

Trong đó: là xác suất của các nhãn phân loại

Độ tăng thông tin (Information Gain) ký hiệu IG, là chỉ số đánh giá độ tốt củathuộc tính trong việc phân chia tập dữ liệu thành những tâp con đồng nhất Độ tăngthông tin được tính như sau:

trong đó: S là tập dữ liệu ở nút hiện tại

A là thuộc tính

là tập các giá trị của thuộc tính A

là tập các mẫu có giá trị thuộc tính A bằng

và là lực lượng của các tập hợp tương ứng

Giá trị của IG được sử dụng để lựa chọn thuộc tính tốt nhất tại mỗi nút Thuộctính được lựa chọn là thuộc tính có IG lớn nhất

 Bài toán và lời giải

Giả sử ta sử dụng bảng dữ liệu dự đoán viêc chơi tennis như bảng 2.4:

Ta phân lớp “+” là lớp có chơi tennis, lớp “-” là lớp không chơi tennis

S = [9+, 5-], H(S) =

Với thuộc tính Trời:

Trang 30

Với thuộc tính Nhiệt độ:

Values (Nhiệt độ) = {cao, trung bình, thấp}

Tương tự với các thuộc tính Độ ẩm, Gió ta có:

Ta thấy thuộc tính có giá trị IG lớn nhất là thuộc tính Trời được sử dụng cho nút gốc.Đối với nhánh Trời u ám toàn bộ các nhãn đều là “có” nên quá trình học cây chonhánh này dừng lại với nút lá có nhãn là “có”

Đối với nhánh Trời mưa và nắng, quá trình học cây được tiếp tục với tập dữ liệu contại nhánh đó

Quá trình tính được thực hiện như sau:

Với thuộc tính Nhiệt độ:

Values (Nhiệt độ) = {cao, trung bình, thấp}

Trang 31

Tương tự với thuộc tính độ ẩm, gió ta có:

Thuộc tính Độ ẩm có giá trị IG lớn nhất nên được chọn làm nút tiếp theo trong nhánhnày

Tương tự ta tiếp tục tính cho nhánh Trời mưa có kết quả như sau:

Nhận thấy thuộc tính Gió có IG lớn nhất nên được chọn làm nút tiếp theo cho nhánhnày

Cuối cùng ta được cây quyết định như hình 2.1:

Hình 2.1 - Cây quyết định cho thuật toán ID3

Trang 32

Tuy nhiên thuật toán ID3 không có khả năng xử lí đối với những dữ liệu cóchứa thuộc tính số, thuộc tính liên tục và khó khăn trong việc xử lý các dữ liệuthiếu, dữ liệu nhiễu Dữ liệu nhiễu là dữ liệu mà bao gồm dữ liệu mà không thểđược hiểu hoặc giải thích một cách chính xác bằng máy móc, chẳng hạn như vănbản phi cấu trúc

Những hạn chế của ID3 được khắc phục trong thuật toán C4.5 dưới đây

b Thuật toán C4.5

 Giới thiệu thuật toán

Thuật toán C4.5 là thuật toán cải tiến từ thuật toán ID3 C4.5 sử dụng cơ chế lưutrữ dữ liệu thường trú trong bộ nhớ nên nó chỉ thích hợp với những cơ sở dữ liệu nhỏ,

nó cho phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các luật

“if-then” Kỹ thuật này cho phép giảm bớt kích thước tập luật và đơn giản hóa các luật

và độ chính xác so với nhánh tương ứng cây quyết định là tương đương

 Trình bày thuật toán

Cụ thể ta thực hiện theo các bước sau với tập dữ liệu T:

1 Tính toán tần suất các giá trị trong các lớp của T

2 Kiểm tra các mẫu, nếu thuộc cùng một lớp hoặc có rất ít mẫu khác lớp thìtrả về một nút lá Nếu không thì tạo một nút quyết định N

3 Với mỗi thuộc tính A tính Gain(A)

4 Tại nút N, thực hiện việc kiểm tra để chọn ra thuộc tính Ntest có giá trịGain tốt nhất (lớn nhất)

5 Nếu thuộc tính có giá trị Gain lớn nhất là thuộc tính liên tục thì tìmngưỡng cho phép tách của thuộc tính đó

6 Với mỗi tập con Ti được tách ra từ tập T (nếu Ntest là thuộc tính liên tụcthì tách theo ngưỡng, nếu Ntest là thuộc tính phân loại rời rạc thì tách theogiá trị của các thuộc tính này) ta kiểm tra, nếu Ti rỗng thì gán nút con nàycủa nút N là nút lá nếu không thì gán nút con này là nút được trả về vàthực hiện lại từ bước đầu với tập dữ liệu là Ti

Trang 33

Thay vì tỉa các nút như thuật toán ID3, C4.5 thực hiện tỉa các luật như sau:

- Xây dựng cây quyết định cho phép phân loại đúng tối đa tập huấn luyện

- Biến đổi cây thành luật suy diễn sao cho mỗi nhánh từ gốc đến lá tươngứng một luật

- Tỉa từng luật bằng cách bỏ bớt các điều kiện thành phần nếu sau khi bỏ độchính xác tăng lên

- Sắp xếp các luật đã được tỉa theo độ chính xác trên tập kiểm tra Sử dụngluật theo thứ tự đó để phân loại ví dụ mới

 Xử lí trong trường hợp dữ liệu thiếu

Dữ liệu thiếu là giá trị của thuộc tính không xuất hiện trong một vài trường hợp

có thể do lỗi trong quá trình nhập bản ghi vào cơ sở dữ liệu hoặc giá trị của thuộc tính

đó được đánh giá là không cần thiết trong những trường hợp đó

Khi đó ta tính information Gain (G) theo công thức 2.11:

Trong đó:

S là tập dữ liệu huấn luyện

B là tập dữ liệu test

Tập con S0 là tập con các case trong S mà có giá trị thuộc tính Aa không biết

S i biễu diễn các case với đầu ra là bi trong B

Từ đó P(S, B) cũng thay đổi như sau:

 Trường hợp thuộc tính liên tục

Ta thực hiện theo các bước sau:

1 Sắp xếp các case trong tập dữ liệu huấn luyện theo thứ tự tăng dần hoặc giảmdần các giá trị liên tục của thuộc tính liên tục A đang xét ta được tập giá trị

Trang 34

của thuộc tính đó.

 Kết luận

Thuật toán C4.5 có cơ chế sinh cây quyết định hiệu quả và chặt chẽ, có các cơchế xử lí với giá trị lỗi, thiếu và chống quá vừa dữ liệu (là trường hợp nếu không cócase xung đột thì cây quyết định sẽ phân lớp chính xác toàn bộ các case trong tập dữliệu đào tạo nhưng đôi khi dữ liệu lại chứa những đặc tính cụ thể nên khi áp dụng câyquyết định đó vào tập dữ liệu khác thì kết quả không còn chính xác như trước) Hơnnữa, C4.5 còn có phần chuyển đổi từ cây quyết định sang luật làm tăng độ chính xác

và dễ hiểu của kết quả phân lớp Do đó có thể nói thuật toán này là thuật toán hiệu quảnhất trong học cây quyết định

2.2.3 Cài đặt thuật toán trên ngôn ngữ R

Giải thuật học cây quyết định được cài đặt trong gói tree với hàm và tham số:

tree (formula, data, …, split=c(“deviance”,”gini”),…, minsize,… )

trong đó:

formula: biểu thức dự đoán (nhãn), dùng chung cho cả phân lớp và hồi quy

data: khung chứa dữ liệu học có chứa cả biểu thức dự đoán (nhãn)

split: hàm phân hoạch dữ liệu

minsize: không phân hoạch tiếp nếu số phần tử của một nút nhỏ hơn minsize

Các tham số còn lại có thể dùng đến

Gói thư viện này cũng có hàm predict() như sau:

predict (object, new data, type=c(“vector”, “tree”, “class”,”where”),…)

Tham số:

object: mô hình học cây quyết định dùng để dự đoán nhãn

newdata: tập dữ liệu kiểm tra (dự đoán nhãn)

type: kiểu dự đoán

Trang 35

Các tham số còn lại có thể dùng đến

a Cài đặt thuật toán học cây quyết định với tập dữ liệu iris

Biểu đồ:

Trang 36

Hình 2.2 – Cây quyết định tạo ra từ thuật toán học cây quyết định trong R

b Cài đặt thuật toán C4.5 với bộ dữ liệu Iris

Trang 37

Cuối cùng ta thu được cây quyết định như hình 2.4:

Ngày đăng: 20/06/2018, 09:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Jiawei Han and Micheline Kamber (2006). Data Mining, Concept and Techniques.Second Edition. Jim Grey, MS Research, Morgan Kaufmann Publisher Sách, tạp chí
Tiêu đề: Data Mining, Concept and Techniques
Tác giả: Jiawei Han and Micheline Kamber
Năm: 2006
[2]. Rajendra Arvind Akerkar and Priti Srinivas Sajja (2010). Knowledge-Based Systems. Jones and Bartlett Publisher Sách, tạp chí
Tiêu đề: Knowledge-BasedSystems
Tác giả: Rajendra Arvind Akerkar and Priti Srinivas Sajja
Năm: 2010
[13]. Ihaka R. and Gentleman R (1996). A language for data analysis and graphics.Journal of Computational and Graphical Statistics Sách, tạp chí
Tiêu đề: A language for data analysis and graphics
Tác giả: Ihaka R. and Gentleman R
Năm: 1996
[3]. Hà Quang Thụy (2011.). Giáo trình Khai Phá Dữ liệu Web. Nhà Xuất bản Giáo dục Việt Nam Sách, tạp chí
Tiêu đề: Giáo trình Khai Phá Dữ liệu Web
Nhà XB: Nhà Xuất bản Giáodục Việt Nam
[14]. Asuncion A. and Newman D (2007). UCI repository of machine learning databases. http://archive.ics.uci.edu/ml/machine-learning-databases/iris Link
[12]. Michael Negnevitsky. Artificial Intelligence Khác
[2]. Hồ Tú Bảo. Khoa học phân tích dữ liệu lớn và Học máy thống kê Khác

TỪ KHÓA LIÊN QUAN

w