Tải bản đầy đủ - 0 (trang)
CÁC GIẢI THUẬT PHÂN LỚP DỮ LIỆU

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

Tải bản đầy đủ - 0trang

16

- Khoảng cách Minkowski



(2.1)

i = (xi1, 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 ):



(2.2)

-



Khoảng cách Euclidean (từ (2.1) Nếu q = 2, d là khoảng cách Euclid.:



(2.3)

Trình tự các bước trong thuật tốn k-NN.:

1. Xác định k láng giềng gần nhất

2. Tính khoảng cách giữa các đối tượng cần phân lớp với tất cả các đối tượng

trong dữ liệu huấn luyện (thường sử dụng khoảng cách Euclid)

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 đối

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

c. Bài tốn

Giả sử, thuộc tính X1: huyết áp, thuộc tính X2: nồng độ Cholesterol trong máu và Y thể hiện

tình trạng bệnh tim của bệnh nhân. Y có hai giá trị là + (có bệnh tim) và - (khơng có bệnh).

Ta có dữ liệu về 20 bệnh nhân khám có kết quả như bảng sau (Training data: dữ liệu chỉ mang

tính minh họa cho thuật tốn K-NN)

Bây giờ, có một bệnh nhân đến khám bệnh (chưa biết có bị bệnh tim hay không), sau khi đo

huyết áp và nồng độ Cholesterol có giá trị lần lượt là X1= 7 và X2= 5. Sử dụng thuật toán KNN để dự đoán (phân lớp) bệnh nhân này có mắc bệnh tim hay khơng (hay là thuộc lớp người

đau tìm khơng).

2.1.2. Dùng thuật tốn K-NN giải với MS Excel

Trong ví dụ trên, chọn tham số k =5 có nghĩa là lấy 5 bệnh nhân có huyết áp và nồng độ

Cholesterol gần giống nhất (láng giềng gần nhất) với bệnh cần chuẩn đoán và ta thấy rằng

trong 5 bệnh nhân gần nhất đó có 3 người không mắc bệnh tim (giá trị Y là -) và 2 người mắc



17

bệnh tim (giá trị Y là +). Vì vậy theo K-NN ta xếp bệnh nhân cần chuẩn đốn bệnh vào lớp –

(khơng bị bệnh tim)

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ự đố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:



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 giềng

STT

1

2

3



X1

2

6

7



X2

3

4

4



Y

+

+



D (Euclid)

4

5

5.83



STT

11

12

13



X1

8

5

7



X2

4

3

6



Y D (Euclid)

- 6.70

+ 5

+ 5.09



18

4

5

6

7

8

9

10



4

9

6

5

3

4

2



1

5

6

9

4

6

9



+

+

+

+

-



6.32

7.28

4.12

3.60

3.16

2.23

2



14

15

16

17

18

19

20

21



5

10

7

8

6

7

6

2



10

7

4

5

6

4

8

7



+

+

+

?



4.24

8

5.83

6.32

4.12

5.83

4.12



Để 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ượng

cầ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ần

nhấ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



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



19



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 tố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 để minh

họ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ính

Petal.Length có độ dài trong khoảng [1, 6.9], thuộc tính Petal.Width có độ dài nằm

trong 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.

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:

knn (train, test, cl, k=1,…)

Trong đó: train là tập dữ liệu học (ma trận, khung dữ liệu) không chứa nhãn (lớp)

cl là nhãn của tập dữ liệu học

test là tập dữ liệu kiểm tra



20

k là số láng giềng.



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:



Kết quả dự đốn như sau:



21



Tính độ chính xác:



2.1.5. Kết luận

Ưu điểm:

- Đơ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…

- Cho kết quả tốt

- Được ứng dụng thành công trong hầu hết các lĩnh vực tìm kiếm thơng tin,

nhận dạng, phân tích dữ liệu…

Nhược điểm:

-



Khi phân loại mát nhiều thời gian do q trình tìm kiếm k dữ liệu lân cận

sau đó phân loại bằng cách hồi quy dựa trên giá trị trung bình



-



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 q trình phân loại là khá lớn



Thuật tốn k-NN sử dụng tồ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

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ày

giố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ược

lạ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ộc

tí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



22



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ột

phâ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 toán

Phân loại Bayes đơn giản sử dụng trong trường hợp mỗi ví dụ được cho bằng

tập các thuộc tính 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ác

mẫu . 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:



Hoặc dạng cơng thức như sau:



Áp dụng trong bài tốn phân loại, các dữ kiện gồm có:

 D: tập dữ liệu huấn luyện đã được vector hóa dưới dạng



 Ci: phân lớp i, với i = {1, 2,…,m}.

 Các thuộc tính độc lập điều kiện đôi một với nhau.

Theo định lý Bayes:



Theo tính chất độc lập điều kiện:



Trong đó:



23

là xác suất thuộc phân lớp i khi biết trước mẫu X.







xác suất là phân lớp i.







xác suất thuộc tính thứ k mang giá trị x k khi đã biết X thuộc phân lớp





i.



Hay ta có thể viết:



Tức là xác suất đồng thời quan sát thấy các thuộc tính bằng tích xác suất điều kiện của

từng đặc tính riêng lẻ.

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

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 Xnew. Xnew được gán vào lớp có xác suất lớn nhất theo cơng thức



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

với



chia cho số lần



xuất hiện cùng



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



so với tính P(x1, x2,.., xk|ci).

Q trình học Bayes đơn giản là q trình tính các xác suất P(c i) và các xác xuất

điều kiện P(xk|ci) bằng cách đếm trên tập dữ liệu.



2.2.3. Ví dụ minh họa

a. Bài tốn

Ta lấy ví dụ đối với bài tốn phân chia ngày phù hợp hay không phù hợp cho

việc chơi tennis theo điều kiện thời tiết như bảng 2.4:



24



Bảng 2.4 – Bảng cơ sở dữ liệu thời tiết

Ngày

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

D14



Trời

Nắng

Nắng

U ám

Mưa

Mưa

Mưa

U ám

Nắng

Nắng

Mưa

Nắng

U ám

U ám

Mưa



Nhiệt độ

Cao

Cao

Cao

Trung bình

Thấp

Thấp

Thấp

Trung bình

Thấp

Trung bình

Trung bình

Trung bình

Cao

Trung bình



Độ ẩm

Cao

Cao

Cao

Cao

Bình thường

Bình thường

Bình thường

Cao

Bình thường

Bình thường

Bình thường

Cao

Bình thường

Cao



Gió

Yếu

Mạnh

Yếu

Yếu

Yếu

Mạnh

Mạnh

Yếu

Yếu

Yếu

Mạnh

Mạnh

Yếu

Mạnh



Chơi tennis

Khơng

Khơng







Khơng



Khơng











Khơng



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ằng tần

suất “có” và “khơng” trên dữ liệu huấn luyện.

P (có) = 9/14

P (khơng) = 5/14

Các xác suất điều kiện cũng được tính từ dữ liệu huấn luyện:

P (Trời = mưa|có) = 3/9

P (Trời = mưa|khơng) = 2/5

P (Nhiệt độ = Trung bình|có) = 4/9

P (Nhiệt độ = Trung bình|khơng) = 2/5

P (Độ ẩm = bình thường|có) = 6/9

P (Độ ẩm = bình thường|khơng) = 1/5

P (Gió = mạnh|có) = 3/9

P (Gió = mạnh|khơng) = 3/5

Thay các xác suất thành phần vào công thức Bayes đơn giản ta có:



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 tố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:

naiveBayes (x, y, laplace =0,…)

Trong đó:

x là tập dữ liệu học (ma trận, khung dữ liệu) không chứa nhãn (lớp)

y là nhãn của tập dữ liệu học

laplace là ước lượng Laplace

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

Ngồi ra ta cần sử dụng thêm hàm predict() cũng nằm trong gói thư viện e1071

như sau:

predict(object, new data,…)

Trong đó:

object: mơ hình học Bayes đơn giản dùng để dự đố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



26

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



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ự đố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

- 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òn

hiệu quả



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

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

Tải bản đầy đủ ngay(0 tr)

×