Các điểm lựa chọn cho siêu phẳng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp phân lớp dữ liệu và ứng dụng trong phân lớp nấm (mushroom) với công cụ weka​ (Trang 49)

Các vector hỗ trợ được tăng cường bằng cách thêm 1. Tức là s1 = (1,0), thì nĩsẽ được chuyển đổi thành s = (1, 0, 1). Theo kiến trúc SVM, Nhiệm vụ là tìm ra những giá trị αi. ( ) ( ) ( ) ( ) ( ) ( ) 1 s1 . s1 2 s2 . s1 3 s3 . s1 1   +   +   = − (2.18) ( ) ( ) ( ) ( ) ( ) ( ) 1 s1 . s2 2 s2 . s2 3 s3 . s2 1   +   +   = − (2.19) ( ) ( ) ( ) ( ) ( ) ( ) 1 s1 . s3 2 s2 . s3 3 s3 . s3 1   +   +   = − (2.20) Hình 2.12: Kiến trúc mơ hình SVM

Do sử dụng SVM tuyến tính nên hàm Φ () - dùng để chuyển đổi vector từ khơng gia dữ liệu đầu vào sang khơng gian đặc trưng – sẽ bằngΦ = () I. Biểu thức trên được viết lại như sau:

1 1s s.1 2 2s s. 1 3 3s s.1 1  + + = − (2.21) 1 1s s. 2 2 2s s. 2 3 3s s. 2 1  + + = + (2.22) 1 1s s. 3 2 2s s.3 3 3s s. 3 1  + + = − (2.23) Rút gọn biểu thức thơng qua tính tích vơ hướng của các vector:

1 2 3 2 +4 +4 = −1 (2.24) 1 2 3 4 +11 +9 = +1 (2.25) 1 2 3 4 +9 +11 = +1 (2.26)

Giải hệ phương trình trên cĩ: α1 = -3.5, α2 = 0.75, α3 = 0.75. Tiếp đến tính trọng số ω thơng qua cơng thức:

1 3 3 1 3.5 0 0.75 1 0.75 1 0 1 1 1 2 i i i s                   = = −  +  +   − =        −          

Siêu phẳng phân chia hai lớp đĩ là: y = wx + b với w = (1, 0) và b = -2

2.4.1 Phân lớp đa lớp với SVM

Thuật tốn SVM trình bày ở trên chỉ hoạt động với dữ liệu cĩ 2 lớp, trong thực tế số lượng lớp của dữ liệu cĩ thể rất lớn. Rất may là cũng cĩ giải pháp để mở rộng SVM cho bài tốn cĩ nhiều lớp.

Bài tốn phân lớp câu hỏi yêu cầu một bộ phân lớp đa lớp do đĩ cần cải tiến SVM cơ bản (phân lớp nhị phân) thành bộ phân lớp đa lớp.

Một trong những phương pháp cải tiến đĩ là sử dụng thuật tốn 1-against-all [Hau02, Milgram06]. Ý tưởng cơ bản là chuyển bài tốn phân lớp nhiều lớp thành nhiều bài tốn phân lớp nhị phân như sau:

• Giả sử tập dữ liệu mẫu (x1, y1), ..., (xm, ym) với xi là một vector n chiều và

i

yY là nhãn lớp được gán cho vector xi (cĩ m nhãn lớp khác nhau)

• Biến đổi tập Y ban đầu thành m tập cĩ hai lớp con Zi =y Yi, −yi

• Áp dụng SVM phân lớp nhị phân cơ bản với m tâp Zi để xây dựng siêu phẳng cho phân lớp này. Như vậy ta sẽ cĩ m bộ phân lớp nhị phân.

Bộ phân lớp với sự kết hợp của m bộ phân lớp trên được gọi là bộ phân lớp đa lớp mở rộng với SVM

2.5. Phân lớp dữ liệu với Random Forest (rừng ngẫu nhiên)

Tiếp cận Random Forest (rừng ngẫu nhiên) do (Breiman, 2001) đưa ra là một trong những phương pháp tập hợp mơ hình thành cơng nhất. Giải thuật random forest tạo ra một tập hợp các cây quyết định (Breiman et al., 1984), (Quinlan, 1993) khơng cắt nhánh, mỗi cây được xây dựng trên tập mẫu bootstrap (lấy mẫu cĩ hồn lại từ tập học), tại mỗi nút phân hoạch tốt nhất được thực hiện từ việc chọn ngẫu nhiên một tập con các thuộc tính. Lỗi tổng quát của rừng phụ thuộc vào độ chính xác của từng cây thành viên trong rừng và sự phụ thuộc lẫn nhau giữa các cây thành viên. Giải thuật random forest xây dựng cây khơng cắt nhánh nhằm giữ cho thành phần lỗi bias thấp (thành phần lỗi bias là thành phần lỗi của giải thuật học, nĩ độc lập với tập dữ liệu học) và dùng tính ngẫu nhiên để điều khiển tính tương quan thấp giữa các cây trong rừng. Tiếp cận random forest cho độ chính xác cao khi so sánh với các thuật tốn học cĩ giám sát hiện nay, chịu đựng nhiễu tốt. Như trình bày

trong (Breiman, 2001), random forest học nhanh, chịu đựng nhiễu tốt và khơng bị tình trạng học vẹt. Giải thuật random forest sinh ra mơ hình cĩ độ chính xác cao đáp ứng được yêu cầu thực tiễn cho vấn đề phân loại, hồi quy.

Rừng ngẫu nhiên (được mơ tả trong hình 2.14) tạo ra một tập hợp các cây quyết định khơng cắt nhánh, mỗi cây được xây dựng trên tập mẫu bootstrap (lấy mẫu ngẫu nhiên cĩ hồn lại), tại mỗi nút phân hoạch tốt nhất được thực hiện từ việc chọn ngẫu nhiên một tập con các thuộc tính.

Lỗi tổng quát của rừng phụ thuộc vào độ chính xác của từng cây thành viên trong rừng và sự phụ thuộc lẫn nhau giữa các cây thành viên. Giải thuật rừng ngẫu nhiên cho độ chính xác cao khi so sánh với các thuật tốn học cĩ giám sát hiện nay, chịu đựng nhiều tốt

Với bài tốn phân lớp: cho một tập dữ liệu huấn luyện  ( )i N1 ( i, i)N1

i i

D d x y

= =

= =

với xi là vector M chiều, yiY, trong đĩ: Y gọi là lớp, giả sử cĩ C nhãn lớp

1, 2, , ( 2)

YC C . Ý tưởng chính của mơ hình RF là lựa chọn ngẫu nhiên 2 lần

(ngẫu nhiện mẫu và ngẫu nhiện thuộc tính) trong suốt quá trình xây dựng cây gồm cĩ 3 pha như sau:

Pha 1: Từ dữ liệu ban đầu D, sử dụng kỹ thuật boostrap (lấy mẫu ngẫu nhiên

cĩ hồn lại) để tạo ra t tập dữ liệu con S = {𝑆1, 𝑆2..., 𝑆t }.

Pha 2: Trên mỗi tập dữ liệu Sj, xây dựng một cây quyết định ℎ𝑗. Mơ hình

Rừng ngẫu nhiên là mơ hình  t 1 i j

h= h = . Thay vì sử dụng tất cả các biến là biến ứng cử để lựa chọn điểm chia tốt nhất, tại mỗi nút RF chọn ngẫu nhiên một khơng gian tập con M’ thuộc tính từ M thuộc tính ban đầu (M’<<M). Bên cạnh đĩ, cây quyết định trong mơ hình RF là cây quyết định khơng cắt nhánh.

Pha 3: RF dự đốn nhãn lớp của phần tử mới đến bằng chiến lược bình chọn

số đơng của các cây quyết định.

Ưu điểm của RF là xây dựng cây khơng thực hiện việc cắt nhánh từ các tập dữ liệu con khác nhau, do đĩ thu được những cây với lỗi bias thấp. Bên cạnh đĩ, mối tương quan giữa các cây quyết định cũng được giảm xuống nhờ việc xây dựng

các khơng gian con thuộc tính một cách ngẫu nhiên. Sự chính xác của RF phụ thuộc vào chất lượng dự đốn của các cây quyết định và mức độ tương quan giữa các cây trong rừng.

Trong quá trình xây dựng các cây quyết định, RF phát triển các nút con từ một nút cha dựa trên việc đánh giá chỉ số Gini của một khơng gian con M’ các thuộc tính được chọn ngẫu nhiên từ khơng gian thuộc tính ban đầu. Thuộc tính được chọn để tách nút t là thuộc tính cĩ điểm cắt làm cực tiểu độ hỗn tạp của các tập mẫu sau khi chia. Cơng thức tính chỉ số Gini cho nút t như sau:

( ) ( ) ( ) 1 1 c c c c Gini t t t = =  −   (2.27) ( ) ( ) ( ) 1 1 c c c c Gini t t t =

=  −   trong đĩ c( )t là tần suất hiện của lớp c C Trong nút t

Hình 2.14: Mơ hình rừng ngẫu nhiên

Gọi s là một giá trị của thuộc tính 𝑋j. Giả sử tách nút t thành 2 nút con: nút trái 𝑡L và nút phải 𝑡R tại s. Tùy thuộc vào 𝑋j ≤ s hoặc 𝑋j> s ta cĩ 2 nút con:

𝑡L = {𝑋j ∈ 𝑡, 𝑋j ≤ 𝑠} 𝑣à 𝑡R = {𝑋j ∈ 𝑡, 𝑋j > 𝑠}

Khi đĩ, tổng độ đo chỉ số Gini của 2 nút 𝑡L và 𝑡R sau khi dùng thuộc tính 𝑋j tách nút t tại s là:

( ), ( )L ( ) ( )L R ( )R

Gini s t p t Gini t p t Gini t

Để đạt được điểm chia tốt, tại mỗi nút RF sẽ tìm tất cả các giá trị phân biệt của tất cả n’ thuộc tính để tìm ra điểm phân tách nút t (điểm s cĩ độ đo Gini (s, t) nhỏ nhất). Thuộc tính chứa điểm phân tách nút t được gọi là thuộc tính tách nút t.

Gọi 𝐼𝑆k (𝑋j), 𝐼𝑆x lần lượt là độ đo sự quan trọng của thuộc tính 𝑋j trong một cây quyết định Tk (k=1÷m) và trong một rừng ngẫu nhiên. Cơng thức tính 𝐼𝑆x (𝑋j) và 𝐼𝑆xj như sau: ( ) ( ), k k j j t t T IS X Gini X  = (2.29) ( ) ( ) 1 1 k k j k j k IS X IS X k = =  (2.30)

Chuẩn hĩa min - max để chuyển độ đo sự quan trọng thuộc tính về đoạn [0,1], theo cơng thức (2.31): ( ) ( )min 1 1 1 max min ( ) m j j X j j j j X IS X m m j X j X IS Vl IS IS = − = − = (2.31)

Kết quả dự đốn của mơ hình rừng ngẫu nhiên là kết hợp kết quả của một số lượng lớn những cây quyết định cĩ mối tương quan thấp (do RF lấy ngẫu nhiên mẫu và xây 33 dựng các khơng gian con thuộc tính cũng ngẫu nhiên) nên RF đạt được cả độ lệch thấp và phương sai thấp. Trong thực tế RF đã trở thành một cơng cụ tin cậy cho phân tích dữ liệu chiều cao. Tuy nhiên, tiếp cận cài đặt ban đầu, RF chỉ cho kết quả tốt trên các dữ liệu cĩ số chiều vừa phải và giảm đáng kể hiệu năng khi xử lý dữ liệu cĩ số rất chiều cao cỡ hàng nghìn thuộc tính, nhiều nhiễu, dung lượng mẫu ít (bài tốn phân tích dữ liệu gene là một trường hợp cụ thể). Sự chính xác của RF phụ thuộc vào chất lượng dự đốn của các cây quyết định và mức độ tương quan giữa các cây quyết định. Chính vì vậy, đã cĩ nhiều đề xuất cho việc cải tiến mơ hình Rừng ngẫu nhiên. Dưới đây sẽ trình bày tĩm tắt một số phương pháp cải tiến mơ hình Rừng ngẫu nhiên.

2.6 Một số phương pháp phân lớp dữ liệu khác 2.6.1 Thuật tốn phân lớp k-NN 2.6.1 Thuật tốn phân lớp k-NN

Classifier k-Nearest Neighbors dựa trên việc học bằng sự giống nhau. Các mẫu huấn luyện được mơ tả bởi các thuộc tính số n - chiều. Mỗi mẫu đại diện cho một điểm trong một khơng gian n - chiều. Vì vậy tất cả các mẫu huấn luyện được

lưu trữ trong khơng gian mẫu n - chiều. Khi cĩ một mẫu chưa biết cho trước thì classifier k-Nearest Neighbors sẽ tìm kiếm trong khơng gian mẫu k mẫu huấn luyện gần mẫu chưa biết đĩ nhất. k mẫu huấn luyện này là k "k-Nearest Neighbors " của mẫu chưa biết. "Độ gần" được định nghĩa dưới dạng khoảng cách Euclidean, tại đĩ khoảng cách Euclidean giữa hai điểm X1 = (𝑥11, 𝑥12, ..., 𝑥1n) và X2 = (𝑥21, 𝑥22, ..., 𝑥2n) là: ( )2 1 2 1 2 1 ( , ) n i i i dist X X x x = =  − (2.32)

Mẫu chưa biết được phân vào lớp phổ biến nhất trong số k láng giềng gần nhất của nĩ. Khi k = 1 thì mẫu chưa biết được ấn định lớp của mẫu huấn luyện gần nhất với nĩ trong khơng gian mẫu.

Classifier k-Nearest Neighbors dựa trên khoảng cách, từ đĩ chúng lưu trữ tất cả các mẫu huấn luyện. Các kỹ thuật đánh chỉ số hiệu quả được dùng khi số lượng các mẫu huấn luyện là rất lớn. Khơng giống như cây quyết định quy nạp và lan truyền ngược, classifier k-Nearest Neighbors ấn định các trọng số bằng nhau cho từng thuộc tính. Điều này cĩ thể là nguyên nhân gây nhập nhằng khi cĩ nhiều thuộc tính khơng thích hợp trong dữ liệu. Classifier k-Nearest Neighbors cũng được dùng để dự đốn, tức là trả lại một dự đốn giá trị thực cho một mẫu chưa biết cho trước. Lúc này, classifier trả lại giá trị trung bình của các nhãn giá trị thực kết hợp với k- láng giềng gần nhất của mẫu chưa biết đĩ

2.7 Đánh giá mơ hình phân lớp dữ liệu

Trong thực tế, ta cần áp dụng nhiều thuật tốn Machine learning để chọn ra được mơ hình phù hợp nhất cho bài tốn của mình. Vấn đề đặt ra, làm thế nào để đánh giá và chọn ra các mơ hình. Ngồi thuật tốn học máy, sự thực thi của mơ hình

cĩ thể phụ thuộc vào các yếu tố khác như sự phân bố của các lớp, chi phí phân loại sai, kích thước của tập huấn luyện và tập thử nghiệm, độ đo thực thi. Trong bài viết này, ta sẽ đánh giá thực thi: tập trung vào khả năng dự đốn của mơ hình hơn là tốc độ phân loại hay xây dựng mơ hình, khả năng cĩ giãn.

Confusion matrix Bảng 2.2: Bảng biểu diễn ma trận nhầm lẫn Predicted Class Actual Class Yes No Yes a b No c d

Đầu tiên, ta hãy làm quen với confusion matrix (ma trận nhầm lẫn). Quan sát confusion matrix, ta cĩ các thơng tin sau:

− a:TP (true positive) – mẫu mang nhãn dương được phân lớp đúng vào lớp dương.

− b:FN (false negative) – mẫu mang nhãn dương bị phân lớp sai vào lớp

âm.

− c:FP (false positive) – mẫu mang nhãn âm bị phân lớp sai vào lớp dương.

− d:TN (true negative) – mẫu mang nhãn âm được phân lớp đúng vào

lớp âm.

Phương pháp Hold-out

Hình 2.15: Mơ hình chia tập dữ liệu Hold-out

Phương pháp Hold-out phân chia tập dữ liệu thành 2 tập độc lập. Ví dụ, tập huấn luyện (training set) 2/3, tập thử nghiệm (testing set) 1/3 hay 70% và 30%

thể khơng đại diện cho tồn bộ dữ liệu (thiếu lớp trong tập thử nghiệm).

Ta cĩ thể cải tiến bằng cách dùng phương pháp lấy mẫu sao cho mỗi lớp được phân bố đều trong cả 2 tập dữ liệu huấn luyện và thử nghiệm. Hay lấy mẫu ngẫu nhiên: thực hiện holdout k lần và độ chính xác acc(M) = trung bình cộng k giá trị chính xác.

Phương pháp Cross validation

Hình 2.16: Mơ hình chia tập dữ liệu 5-fold Cross validation

Hay cịn gọi là k-fold Cross validation. Phương pháp này phân chia dữ liệu thành k tập con cĩ cùng kích thước. Tại mỗi vịng lặp sử dụng một tập con là tập thử nghiệm và các tập con cịn lại là tập huấn luyện. Giá trị k thường là = 10. Ta cĩ thể dùng một trong hai cách:

− Leave-one-out: k=số mẫu trong dữ liệu (dành cho tập dữ liệu nhỏ)

− Stratified cross-validation: dùng phương pháp lấy mẫu để các lớp trong từng tập con phân bố như trên tồn bộ dữ liệu.

2.8 Tổng kết chương

Chương này trình bày về chi tiết về một số phương pháp và kỹ thuật phân lớp dữ liệu. Các phương pháp phân lớp sử dụng cây quyết định (Decision Tree), Naive Bayes, Random Forest (rừng ngẫu nhiên), máy hỗ trợ vector (SVM) và một số phương pháp phân lớp dữ liệu khác cũng được trình bày chi tiết trong chương này. Bên cạnh đĩ, chương này cũng trình bày về 2 phương pháp phổ biến trong việc đánh giá hiệu năng phân lớp/dự đốn của mơ hình như: Hold-out, Cross-validation.

CHƯƠNG 3

ỨNG DỤNG PHÂN LỚP DỮ LIỆU MUSHROOM VỚI CƠNG CỤ WEKA VÀ MỘT SỐ THUẬT TỐN CƠ BẢN

3.1 Giới thiệu bài tốn phân lớp dữ liệu Mushroom 3.1.1 Giới thiệu về bài tốn phân lớp dữ liệu Mushroom 3.1.1 Giới thiệu về bài tốn phân lớp dữ liệu Mushroom

Nấm (Mushroom) cĩ lợi ích cao trong cơ thể con người. Tuy nhiên, khơng phải tất cả các loại nấm đều ăn được. Trong khi một số cĩ đặc tính y tế để chữa ung thư, một số loại nấm khác cĩ thể chứa vi-rút mang bệnh truyền nhiễm.

Trong bài viết luân văn này được thiết lập để nghiên cứu phân lớp các đặc điểm của nấm hành vi như hình dạng, bề mặt và màu sắc của nắp, mang và thân, cũng như mùi, dân số và mơi trường sống của nấm. Thuật tốn phân tích thành phần chính “ The Principal Component Analysis” (PCA) được sử dụng để chọn các tính năng tốt nhất cho phân loại thử nghiệm bằng thuật tốn Cây quyết định “Decision Tree”, Nạve Bayes, k-Nearest neighbor, SMV. Phân loại chính xác, hệ số đo và thời gian thực hiện để phân loại mơ hình trên bộ dữ liệu Nấm tiêu chuẩn đã được đo. Hành vi tính năng mùi “odro” và màu sắc “color” được chọn là tính năng được xếp hạng cao nhất gĩp phần phân loại độ chính xác cao.

3.1.2. Thu thập, tiền xử lý và mã hĩa dữ liệu

Dữ liệu thực nghiệm Mushroom được thu thập lấy từ Kho lưu trữ học máy của UCI thu thập https://archive.ics.uci.edu/ml/datasets/mushroom. Chi tiết của bộ dữ liệu đã thu thập này được cung cấp bởi Bảng 3.1 và bảng 3.2.

Bảng 3.1: Bảng tổng hợp dữ liệu thu thập Data Set Data Set Characteristics: Multivariate Number of Instances: 8124 Area: Life Attribute Characteristics: Catessification Number of Attributes: 22 Date Denated: 1987-04-27

Associated: Classification Missing Values:

Yes Number of Web Hits:

Bảng 3.2: Các tính năng dành cho các dữ liệu nấm

TT Đặc trưng Kiểu dữ liệu Giá trị danh nhĩa

1 cap-shape Nominal bell=b, conical=c, convex=x, flat=f, knobbed=k, sunken=s

2 cap-surface Nominal fibrous=f, grooves=g, scaly=y, smooth=s

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp phân lớp dữ liệu và ứng dụng trong phân lớp nấm (mushroom) với công cụ weka​ (Trang 49)