Với những ý nghĩa và vai trò hết sức quan trọng của kĩ thuật phân lớp đã nêu ở trên , bài thu hoạch này tập trung nguyên cứu sâu những kĩ thuật phân lớp ,những cách tiếp cận khác nhau đố
Trang 1Kỹ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu
Bùi Thanh Hiếu
Trang 2Kĩ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu là một trong những vấn đề nguyên cứu mở rộng hiện nay ; tập trung chủ yếu vào thống kê, máy học và mạng nơtrôn
Kĩ thuật phân lớp được đánh giá là một kĩ thuật khai phá dữ liệu được sử dụng rộng rãi nhất với nhiều mở rộng
Sự kết hợp của kỹ thuật phân lớp và cơ sở dữ liệu là một lĩnh vực hứa hẹn bởi vì đáp ứng được một vấn đề hết sức quan trọng của ứng dụng cơ sở dữ liệu đó là tính uyển chuyển cao
Với những ý nghĩa và vai trò hết sức quan trọng của kĩ thuật phân lớp đã nêu ở trên , bài thu hoạch này tập trung nguyên cứu sâu những kĩ thuật phân lớp ,những cách tiếp cận khác nhau đối với kỹ thuật phân lớp cùng với những tìm hiểu và đánh giá những cải tiến của kĩ thuật phân lớp trong thời gian gẩn đây từ những kết quả được đăng tải trên một số báo cáo khoa học tại những hội nghị khoa học quốc tế về Khai Phá Dữ Liệu cũng như việc tìm hiểu và sử dụng kĩ thuật phân lớp trong sản phẩm thương mại Microsoft SQL Server
2000
Bùi Thanh Hiếu
Cao học Khóa 1
Trang 31 Giới thiệu về phân lớp :
Phân lớp dữ liệu là kĩ thuật dựa trên tập huấn luyện và những giá trị hay hay là nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việcphân lớp dữ liệu mới Phân lớp cũng là tiên đoán loại lớp của nhãn Bên cạnh kĩ thuật phân lớp có một hình thức tương tự là kĩ thuật tiên đoán , kĩ thuật tiên đoán khác với phân lớp ở chỗ phân lớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ thuật tiên đoán mô hình những hàm đánh giá liên tục
Kĩ thuật phân lớp được tiến hành bao gồm 2 bướ c : Xây dựng mô hình
và sử dụng mô hình
Xây dựng mô hình : là mô tả một tập những lớp được định nghĩa trước
trong đó : mỗi bộ hoặc mẫu được gán thuộc về một lớp được định nghĩa trước như là được xát định bởi thuộc tính nhãn lớp , tập hợp của những bộ được sử dụng trong việc sử dụng mô hình được gọi là tập huấn luyện Mô hình được biểu diễn là những luật phân lớp , cây quyết định và những công thức toán học
Sử dụng mô hình : Việc sử dụng mô hình phục vụ cho mục đích phân lớp
dữ liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến Trước khi sử dụng mô hình người ta thường phải đánh giá tính chính xát của mô hình trong đó : nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớp của mô hình , độ chính xác là phần trăm của tập hợp mẫu kiểm tra mà phân loại đúng bởi mô hình , tập kiểm tra là độc lập với tập huấn luyện
Phân lớp là một hình thức học được giám sát tức là : tập dữ liệu huấn
luyện ( quan sát , thẩm định ) đi đôi với những nhãn chỉ định lớp quan sát , những dữ liệu mới được phân lớp dựa trên tập huấn luyện
Ngược lại với hình thức học được giám sát là hình thức học không được giám sát lúc đó nhãn lớp của tập dữ liệu huấn luyện là không được biết đến
2 Phân lớp bằng phương pháp qui nạp cây quyết định :
2.1 Khái niệm cây quyết định :
Cây quyết định là một flow-chart giống cấu trúc cây , nút bên trong biểu thịmột kiểm tra trên một thuộc tính , nhánh biểu diễn đầu ra của kiểm tra , nút
lá biểu diễn nhãn lớp hoặc sự phân bố của lớp
Trang 4Việc tạo cây quyết định bao gồm 2 giai đoạn : Tạo cây và tỉa cây
Để tạo cây ở thời điểm bắt đầu tất cả những ví dụ huấn luyện là ở gốc sau
đó phân chia ví dụ huấn luyện theo cách đệ qui dựa trên thuộc tính được chọn
Việc tỉa cây là xát định và xóa những nhánh mà có phần tử hỗn loạn hoặc những phần tử nằm ngoài (những phần tử không thể phân vào một lớp nào đó)
Việc sử dụng cây quyết định như sau : Kiểm tra những giá trị thuộc tính
của mẫu đối với cây quyết định
2.2 Thuật toán qui nạp cây quyết định :
Giải thuật cơ bản (giải thuật tham lam) được chia thành các bước như sau:
1 Cây được xây dựng đệ qui từ trên xuống dưới (top-down) và theo cách thức chia để trị (divide-conquer)
2 Ở thời điểm bắt đầu , tất cả những ví dụ huấn luyện ở gốc
3 Thuộc tính được phân loại ( nếu là giá trị liên tục chúng được rời rạc hóa)
4 Những ví dụ huấn luyện được phân chia đệ qui dựa trên thuộc tính mà nó chọn lựa
5 Kiểm tra những thuộc tính được chọn dựa trên nền tảng của heristic hoặc của một định lượng thống kê
Điều kiện để dừng việc phân chia :
1.Tất cả những mẫu huấn luyện đối với một node cho trước thuộc
về cùng một lớp
2.Không còn thuộc tính còn lại nào để phân chia tiếp 3.Không còn mẫu nào còn lại
2.3 Độ lợi thông tin (Information Gain) trong cây quyết định :
Information gain là đại lượng được sử dụng để chọn lựa thuộc tính với information gain lớn nhất Giả sử có hai lớp , P và N Cho tập hợp của những ví dụ S chứa p phần tử của lớp P và n phần tử của lớp N Khối lượng của thông tin , cần để quyết định nếu những mẫu tùy ý trong S thuộc
về P hoặc N được định nghĩa như là :
Trang 5I(p,n) = -[p/(p+n)]log 2 [p/(p+n)] – [n/(p+n)]log 2 [n/(p+n)]
Giả sử rằng sử dụng thuộc tính A một tập hợp S được phân hoạch thành những tập hợp {S1,S2, ,Sv} Nếu Si chứa những mẫu của P và ni mẫu của Ni
entropy hoặc thông tin mong đợi cần để phân loại những đối tượng trong cây con Si là :
v
E(A) = Σ [(pi+ni)/(p+n)] I(pi,ni)
i=1
Thông tin nhận được ở nhánh A là : Gain(A) = I(p,n)-E(A)
2.4 Nội dung giải thuật học cây quyết định cơ bản ID3 :
ID3 là một giải thuật học cây quyết định được phát triển bởi Ross Quinlan (1983) Ý tưởng cơ bản của giải thuật ID3 là để xây dựng cây quyết định bằng việc sử dụng một cách tìm kiếm từ trên xuống trên những tập hợp cho trước để kiểm tra mỗi thuộc tính tại mỗi nút của cây Để chọn
ra thuộc tính mà hữu ích nhất cho sự phân loại trên những tập hợp cho trước , chúng ta sẽ đưa ra một hệ đo độ lợi thông tin
Để tìm ra một cách tối ưu để phân loại một tập hợp thông tin , vấn đề đặt ra
là chúng ta cần phải làm tối thiểu hóa ( Chẳng hạn, tối thiểu chiều cao của cây) Như vậy chúng ta cần một số chức năng mà có thể đánh giá trường hợp nào nào cho ra một sự phân chia cân bằng nhất Hệ đo độ lợi thông tin
sẽ là hàm như vậy
ID3 ( Learning Sets S, Attributes Sets A, Attributesvalues V)
Return Decision Tree.
Begin
Đầu tiên nạp learning sets , tạo nút gốc cho cây quyết định 'rootNode', thêm learning set S vào trong nút gốc như là tập con của nó
For rootNode, đầu tiên chúng ta tínhEntropy(rootNode.subset)
If Entropy(rootNode.subset)==0, thenrootNode.subset bao gồm recordstất cả với cùng giá trị cho cùng giá trị thuộc tính xát định, trả
về một nút lá với decision attribute:attribute value;
If Entropy(rootNode.subset)!=0, thentính độ lợi thông tin (information gain) cho mỗi thuộc tính trái (chưa được sử dụng để phân chia), tìm thuộc tính A vớiMaximum(Gain(S,A)) Tạo những nút con của rootNode này
và thêm vào rootNode trong cây quyết định
For mỗi con của rootNode, áp dụngID3(S,A,V) một cách đệ qui cho đến khi đạt được
Trang 6node mà có entropy=0 hay đạt được nút lá.
End ID3
Ví dụ :
Để mô tả hoạt động của ID3 chúng ta sử dụng ví dụ “Play Tennis”.Sự mô tảtượng trưng thuộc tính như sau:
Attribute Possible Values:
Outlook sunny, overcast , rain
Temperature hot , mild, cood
Humidity high,normal
Windy true,false
Decision n(negative),p(positive)
Tập Leaning set cho ví dụ chơi tennis:
Outlook Temperature Humidity Windy Decision
Giải thuật ID3 thực hiện như sau :
1 Tạo nút gốc( rootNode) , chứa đựng toàn bộ learning set như là những tập hợp con của chúng (subset) sau đó tính :
Entropy(rootNode.subset)= -(9/14)log 2 ( 9/14 ) – ( 5/14)log 2 (5/14)= 0.940
2 Tính toán thông tin nhận được cho mỗi thuộc tính :
Gain(S,Windy)= Entropy(S)-(8/14)Entropy(S false) – (6/14)Entropy(S true)
= 0.048
Gain(S,Humidity) = 0.151
Gain(S,Temperature) = 0.029
Gain(S,Outlook) = 0.246
Trang 73 Chọn lựa những thuộc tính với thông tin nhận được tối đa , đó chính là
sự phân chia theo thuộc tính “outlook”
4 Áp dụng ID3 cho mỗi nút con của nút gốc này , cho đến khi đạt đến nút
Trường hợp thiếu sót thứ hai :
Một thiếu sót mà ID3 mắc phải là nó dựa vào rất nhiều vào số lượng của những tập hợp dữ liệu đưa vào Quản lý sự tạp nhiễu của tập dữ liệuvào là vô cùng quan trọng khi chúng ta ứng dụng giải thuật học cây quyết định vào thế giới thực Cho ví dụ , khi có sự lẫn tạp trong tập dữ liệu đưa vào hoặc khi số lượng ví dụ đưa vào là quá nhỏ để tạo ra một ví
dụ điển hình của hàm mục tiêu đúng ID3 có thể dẫn đến việc tạo quyết định sai
Có rất nhiều những mở rộng từ giải thuật ID3 cơ bản đã phát triển để áp dụng những luật học cây quyết định vào thế giới thực , như là những post-pruning tree , quản lý những thuộc tính giá trị thực , liên quan đến việc thiếu những thuộc tính , sử dụng những tiêu chuẩn chọn lựa thuộc tính khác hơn thu thập thông tin
2.6 Mở rộng qui nạp cây quyết định cơ bản :
Việc mở rộng qui nạp cây quyết định được áp dụng cho những thuộc tính giá trị liên tục : Định nghĩa một cách uyển chuyển những thuộc tính giá trị
bị rời rạc mà sự phân chia giá trị thuộc tính thành một tập rời rạc của những khoảng
Mở rộng qui nạp cây quyết định cũng được áp dụng cho những giá trị thuộctính thiếu sót bằng cách : Gán những giá trị thiếu sót bằng giá trị thông thường nhất của thuộc tính hoặc gán khả năng có thể với mỗi giá trị có thể Việc mở rộng qui nạp cây quyết định cũng được áp dụng cho xây dựng thuộc tính : Tạo những thuộc tính dựa trên những cái đã tồn tại mà chúng thể hiện thưa thớt Điều này sẽ giúp thu giảm việc phân mảnh , sự lặp lại
và việc tạo bản sao
2.7 Giải thuật mở rộng C4.5 :
C4.5 là sự mở rộng của giải thuật ID3 trên một số khía cạnh sau:
Trong việc xây dựng cây quyết định , chúng có thể liên hệ với tranning set
mà có những records với những giá trị thuộc tính không được biết đến bởi việc đánh giá việc thu thập thông tin hoặc là tỉ số thu thập thông tin , cho
Trang 8những thuộc tính bằng việc xem xét chỉ những record mà ở đó thuộc tính được định nghĩa
Trong việc sử dụng cây quyết định , chúng ta có thể phân loại những record
mà có những giá trị thuộc tính không biết bằng việc ước lượng những kết quả có khả năng sãy ra.Trong ví dụ chơi đánh gôn của chúng ta , nếu chúng
ta được đưa một record mới mà outlook là sunny và humidity chưa cho biết, chúng ta sẽ xử lý như sau :
Chúng ta di chuyển từ nút gốc Outlook đến nút Humidity theo cung được đánh nhãn là sunny Ở điểm đó từ lúc chúng ta không biết giá trị của Humidity chúng ta để ý rằng nếu humidity là ở 75 có 2 records , và nếu humidity là lớn hơn 75 có 3 records trong đó có 1 record không hoạt động Như vậy điều đó có thể đưa ra như câu trả lới cho record khả năng (0.4,06)cho chơi gôn hoặc không chơi gôn
Chúng ta có thể liên hệ đến những giá trị liên tục Giả sử rằng thuộc tính Ci
có tầm giá trị thuộc tính liên tục Chúng ta sẽ xem xét những giá trị này trong tập learning set Cho rằng chúng được xắp sếp thứ tự tăng dần A1, A2, ,Am sau đó với mỗi giá trị Ai i=1,2, ,m.Chúng ta chia những records thành những cái có giá trị từ Ci trở lên và bao gồm cả Aj và những cái có những giá trị lớn hơn Aj Với những lần phân hoạch này chúng ta tính lại giá trị thu thập và tỉ số thu thập và chọn ra phân hoạch có tỉ số thu thập thông tin nhận được tối đa
Trong ví dụ về chơi Golf của chúng ta , đối với humidity T là training set chúng ta sẽ xát định thông tin cho mỗi lần phân chia và tìm được sự phân chia tốt nhất tại 75 Phạm vi của thuộc tính này trở thành {<=75,>75} Chú ý rằng phương pháp này liên quan đến một con số quan trọng của việc tính toán
2.8 Thu giảm cây quyết định và những tập luật suy dẫn :
Việc xây dựng cây quyết định nhờ vào training set bởi vì cách chúng xây dựng liên quan nghiêm ngặt đến hầu hết các record trong tập huấn
luyện Trong thực tế , để làm như vậy nó có thể là điều hoàn toàn phức tạp.Với những đường đi dài và không đều
Việc thu giảm cây quyết định được thực hiện bằng việc thay thế những cây con thành những nút lá.Sự thay thế này sẽ được thực hiện tại nơi mà luật quyết định được thiết lập nếu tần suất lỗi gây ra trong cây con là lớn hơn trong một nút lá.Cho ví dụ với cây đơn giản như sau:
Color red blue
Success Failure
Trang 9chứa 2 records thứ nhất là training red success và thứ hai là trainning blue failures và sau đó trong Test Set chúng ta tìm thấy 3 red failures và một blue success , chúng ta có thể xem xét việc thay thế cây con này bằng việc thay thế bằng một node đơn Failure Sau việc thay thế này chúng ta sẽ cònlại 2 lỗi thay vì 5 lỗi
Winston chỉ ra rằng làm thế nào để sử dụng Fisher's exact test để xát định nếu thuộc tính phân loại là thực sự phụ thuộc vào một thuộc tính không xát định Nếu điều này không sãy ra thì thuộc tính không xát định không cần phải xuất hiện trong đường đi hiện tại của cây quyết định
Quinlan và Breiman đề nghị những heuristic phức tạp hơn cho việc thu giảm cây quyết định Một điều dễ dàng làm là có thể dẫn ra một luật từ một cây quyết định : viết ra một luật từ mỗi đường trong cây quyết định đi từ gốc đến lá.Vế trái của luật được xây dựng dễ dàng từ nhãn của những nút
và nhãn của những cung
Những luật rút ra có thể được rút gọn như sau:
Gọi LHS là LHS của luật Cho LHS’ nhận được bằng cách thu giảm một số điều kiện của LHS Chúng ta có thể chắc chắn thay thế LHS bằng LHS’ trong luật này nếu tập con của training set thỏa mãn LHS và LHS’ là tươngđương
Một luật có thể được thu giảm bằng cách sử dụng metacondition ví dụ như
“ không có luật khác có thể áp dụng ”
2.9 Giải thuật mở rộng See5/C5.0 :
“See5 là một dạng nghệ thuật của hệ thống xây dựng sự phân loại trong
dạng thức của những cây quyết định và tập luật ”
See5 đã được thiết kế và hoạt động trên cơ sở dữ liệu lớn và sự kết hợp đổi mới như là boosting Kết quả tạo ra bởi See5 và C5.0 là tương tự nhau Hoạt động trước đây trên Windows95/98/NT của C5.0 là phần hoạt động của nó trên Unix See 5 và C5.0 là những công cụ khai khái dữ liệu phức tạp cho những mẫu khai phá dữ liệu mà phát họa ra những loại tập hợp chúng thành những đối tượng phân loại và sử dụng chúng để tiên đoán.Đặc điểm chính của C5.0 là :
C5.0 được thiết kế để phân tích những cơ sở dữ lịêu quan trọng chứa đựng hàng ngàn đến hàng trăm ngàn những records.và hàng chục đến hàng trăm số liệu và hoặc tên field
Để tối đa khả năng giải thích , đối tượng phân loại của See5.0 /C5.0 được diễn tả như là cây quyết định hoặc tập của những luật if – then Dạng thức của nó dễ hiểu hơn so với neutron network
C5.0 dễ dàng sử dụng do đó không được gọi là kiến thức cao cấp của thống kê và máy học
2.10 Giải thuật See5/C5.0 là tốt h ơ n C4.5:
Trang 10C5.0 trong hệ thống Unix và bản sao của nó See5 trong Windows là những phiên bản cao cấp hơn C4.5 trên nhiều khía cạnh quan trọng
Chúng ta sẽ thử so sánh C5.0 và C4.5 trên cùng hệ thống Unix
Về những tập luật (Ruleset):nhanh nhiều hơn và ít tốn bộ nhớ hơn:
Cả C5.0 và C4.5 cung cấp sự lựa chọn cho những dạng thức của phân loại –cây quyết định hoặc là những tập luật (ruleset) Trong nhiều ứng dụng thì tập luật (ruleset) được ưu tiên sử dụng hơn vì chúng đơn giản và dễ hiểu hơn cây quyết định Nhưng những phương pháp để tìm ra luật trong C4.5 làchậm và
chiếm nhiều bộ nhớ.C5.0 thể hiện sự hoàn thiện trong vấn đề tạo ra tập luật
và sự cải tiến này là gây ấn tượng mạnh mẽ
Cây quyết định : nhanh hơn và nhỏ hơn :
Với cũng những tập dữ liệu (dataset) thì C4.5 và C5.0 sản sinh ra những luật với sự chính xát về dự đoán là như nhau.Sự khác nhau chính yếu là kích cở của cây và thời gian tính toán.Cây của C5.0 là nhỏ hơn và nhanh hơn ở một số yếu tố
C5.0 hỗ trợ Booting với một số những dữ liệu số thử nghiệm Thông
thường , C5.0 sẽ mất thời gian lâu hơn để tạo ra những đối tượng phân loại (classifier) Nhưng những kết quả có thể phân tích định lượng sự tính toán công thêm Boosting luôn cố gắng để đạt được đỉnh cao nhất của sự chính xát trong tiên đoán yêu cầu phải đạt tới Đặc biệt khi những đối tượng phân loại không được nâng lên là hoàn toàn chính xát
Những chức năng mới:
C5.0 kết hợp nhiều chức năng như là variable misclassfication costs
.Trong C4.5 tất cả những lỗi đều được xem như nhau.Nhưng trong những ứng dụng thực tế sẽ có một số lỗi trong quá trình phân loại là nguy hiểm hơn những cái khác C5.0 chấp nhận một chi phí phân chia đối với mỗi cặp lớp được tiên đoán.Nếu quan điểm này được áp dụng , C5.0 sau đó sẽ xây dựng những đối tượng phân loại để tối thiểu hóa những giá trị phân loại sai được mong đợi hơn là những tần suất lỗi
C5.0 có nhiều kiểu dữ liệu hơn cả những cái đã có trong C4.5 bao gồm cả ngày giờ , thuộc tính giá trị rời rạc được xếp thứ tự và case labels Thêm vào đó là những giá trị thiếu (missing value) C5.0 cho phép những giá trị được coi như là không áp dụng được Hơn nữa , C5.0 cung cấp những điều kiện dễ dàng để định nghĩa những thuộc tính mới như những hàm của những thuộc tính khác
Trang 11Những ứng dụng khai phá dữ liệu gần đây được hình thức hoá với kích thước lớn hơn , với hàng trăm thậm chí hàng ngàn những thuộc tính C5.0
có thể tự động lọc những thuộc tính , loại bỏ những cái xuất hiện bên lề trước khi một lớp phân loại được xây dựng Đối với ứng dụng của loại này ,
sự phân loại có thể dẫn đến những đối tượng nhỏ hơn và sự tiên đoán chính xát hơn và thậm chí thu giảm được thời gian tạo ra tập luật
C5.0 cũng dễ dàng được sử dụng hơn Những chọn lựa được đơn giản hóa
và mở rộng.- để hỗ trợ sự lấy mẫu và cross-validation , trong lúc đó chươngtrình C4.5 để tạo ra cây quyết định và tập luật được kết hợp vào một
chương trình duy nhất
Phiên bản trên windows See5 đã xây dựng được một giao diện đồ họa thân thiện và thêm vào một số chức năng hỗ trợ khác.Ví dụ Cross-Reference Window làm cho những đối tượng phân loại dễ hiểu hơn bằng việc liên kết những trường hợp đến những phần liên quan đến việc phân loại
2.11 Phân lớp với Gini Index(IBM IntelligenMiner) :
Tương tự như đại lượng Gain ở trên IBM đã đưa ra một đại lượng cho việcphân lớp là gini như sau:
Nếu một tập dữ liệu T chứa những mẫu từ n lớp, gini index , gini(T) được định nghĩa như sau :
trong đó pj là tần số liên quan của lớp j trong T
Nếu một tập hợp dữ liệu T được chia thành 2 tập con T1 và T2 với kích thước tương ứng là N1 và N2
gini index của dữ liệu chia cắt chứa những ví dụ từ n lớp , gini index gin(T)được định nghĩa như sau:
Thuộc tính cung cấp giá trị ginisplit(T) nhỏ nhất được chọn để phân chia nút Thể hiện tri thức theo dạng thức những luật IF-THEN Trong đó một luật được tạo dựa trên mỗi con đường từ nút gốc đến lá Mỗi cặp thuộc tính theo một con đường tạo thành một sự kết hợp và nút lá nằm giữ toàn bộ lớptiên đoán Những luật tạo ra rất dễ hiểu đối với con người
Trang 122.12 Tránh việc quá khít (overfitting) trong việc phân lớp :
Cây được tạo ra có thể quá khít với dữ liệu huấn luyện Việc quá khít có thể sãy ra trong những trường hợp sau đây :
Quá nhiều những nhánh , một số có thể phản ánh sự dị thường vì những phần tử hỗn loạn (noise) hoặc những phần tử nằm ngoài phân lớp (outlier) Kết quả nhận được thiếu chính xát đối với những mẫu chưa thấy
Có hai cách tiếp cận để tránh quá khít dữ liệu
Tỉa trước : Dừng sự xây dựng của cây sớm – không chia một node nếu điều này tạo kết quả ở dưới một ngưỡng theo một hệ đánh giá tốt Một khó khăn trong việc tỉa trước là điều này sẽ tạo ra sự khó khăn trong việc tạo ra một ngưỡng thích hợp
Tỉa sau : Loại những nhánh từ một cây “ lớn đầy đủ “ - tạo một thứ
tự của những cây bị tỉa tăng dần lên trong đó ta sử dụng một tập dữ liệu khác nhau từ dữ liệu huấn luyện để xát định cái nào là “cây được tỉa tốt nhất “ (best pruned tree)
Tiếp cận xát định kích cỡ cây cuối cùng :
Thông thường người ta phân chia tập huấn luyện thành tập dữ liệu huấn luyện (2/3) và dữ liệu thử (1/3) , người ta sử dụng sự đánh giá chéo
Cũng có một cách khác là sử dụng tất cả dữ liệu để huấn luyện , nhưng áp dụng kiểm tra thống kê để định lượng khi nào mở rộng hoặc tỉa bớt một nút có thể cải thiện toàn bộ sự phân phối
Một cách thứ ba là sử dụng nguyên tắc mô tả chiều dài tối thiểu : trong đó người ta dừng sự phát triển của cây khi sự mã hóa được tối thiểu
3 Sự phân lớp cây quyết định trong cơ sở dữ liệu lớn:
Sự phân lớp là một vấn đề cổ điển được nguyên cứu một cách mở rộng bởi những nhà thống kê và những nhà nguyên cứu máy học Hướng phát triển hiện nay là của việc phân lớp là phân lớp những tập dữ liệu với hàng tỉ những mẫu thử và hàng trăm thuộc tính với tốc độ vừa phải
Qui nạp cây quyết định được đánh giá cao trong khai phá dữ liệu lớn vì những nguyên nhân sau :
Tốc độ học tương đối nhanh hơn so với những phương pháp phân loại khác
Có thể hoán chuyển được thành những luật phân lớp đơn giản và dễ hiểu
Có thể sử dụng truy vấn SQL để truy xuất cơ sở dữ liệu
Trang 13 Sự chính xát phân lớp có thể so sánh được với những phương pháp khác
Những phương pháp qui nạp cây quyết định trong nguyên cứu về Khai phá trên tập dữ liệu lớn :
3.1 SLIQ : A Fast Scalable Classifier for Data Mining :
Những giải thuật phân lớp được thiết kế chỉ theo cách cho dữ liệu thường trú trong bộ nhớ Phương pháp này thảo luận đưa ra việc xây dựng một công cụ phân loại có khả năng leo thang và thể hiện SLIQ ( Superived Learning In Quest ) như một công cụ phân loại mới , SLIQ là một công cụ cây quyết định mà có thể quản lý cả thuộc tính số và thuộc tính xác thực
Nó sử dụng một kỹ thuật sắp xếp trước (pre-sorting) trong giai đoạn phát triển cây (tree-grow).Thủ tục sắp xếp trước này được tính hợp với chiến thuật phát triển cây theo chiều rộng để cho phép sự phân lớp của tập dữ liệuthường trú ở đĩa SLIQ cũng sử dụng một giải thuật tỉa cây mà chi phí không quá cao với kết quả đạt được khả quan và những cây khá chính xát
Sự kết hợp của những kĩ thuật này cho phép SLIQ leo thang với tập dữ liệu lớn và tập dữ liệu phân lớp mà không để ý đến số lượng của những lớp, những thuộc tính và những record
Trong phương pháp này thì tập dữ liệu huấn luyện không thể được tổ chức trong bộ nhớ
Trang 143.2 Từ SLIQ sang SPRINT : A Scalable Parallel Classifier for
DataMining
Phương pháp này thể hiện một giải thuật phân lớp dựa trên cây quyết định
có khả năng loại bỏ sự giới hạn của bộ nhớ , thực thi nhanh và có khả năngleo thang Giải thuật này được thiết kế để dễ dàng cho song song hóa , cho phép nhiều bộ xử lý làm việc với nhau để xây dựng một mô hình nhất quán
Danh sách lớp trong SLIQ phải chứa trong bộ nhớ
Cổ chai : danh sách lớp có thể lớn
SPRINT : đặt thông tin lớp vào danh sách thuộc tính và không có danh sáchlớp nào
Song song phân lớp : phân chia danh sách những thuộc tính
3.3 PUBLIC :Tích hợp sự phát triển của cây quyết định và tỉa cây :
Phương pháp này để cập một cải tiến của công cụ cây quyết định được cải tiến mà tích hợp giai đoạn tỉa cây với giai đoạn xây dựng ban đầu Trong PUBLIC , một nút không được mở rộng trong suốt giai đoạn xây dựng , nếu
nó được xác định rằng nó sẽ bị tỉa trong suốt giai đoạn tỉa sau Do đó để tạo sự quyết định cho node này trước khi nó được mở rộng , PUPLIC tính toán một biên dưới trên giá trị tối thiểu cây con được đặt tại nút Sự ước lượng này sẽ được sử dụng bởi PUBLIC để xát định những nút mà chắc chắn được tỉa và đối với những nút như vậy mà không tiểu tốn trong việc phân chia chúng
Tích hợp phát triển và tỉa : mỗi nút , kiểm tra chi phí của sự phát triển của những cây con
3.4 RainForest : A Generic Framework :
Phương pháp này trình bày một khung làm việc hợp nhất cho những công
cụ tạo cây quyết định mà tách rời những khía cạnh về khả năng leo thang của giải thuật cho việc xây dựng một cây quyết định từ những đặc tính trung tâm mà xát định phẩm chất của cây Loại giải thuật này dễ dàng hoạtđộng cụ thể với những giải thuật riêng biệt từ tài liệu nguyên cứu bao gồm
Trang 15C4.5 , CART , CHAID , FACT , ID3 và những mở rộng , SLIQ , SPRINT
3.5 Qui nạp cây quyết định dữ liệu dựa trên khối :
Qui nạp cây quyết định của dữ liệu dựa trên khối là sự tích hợp của tổng quát hóa với qui nạp cây quyết định
Phân lớp nhiều cấp dựa trên khối có hai vấn đề quan trọng đó là phân tích liên quan dựa trên nhiều cấp độ và phân tích thông tin nhận được với chiều
và cấp
4 Phương pháp phân lớp Bayesian:
Lý thuyết Bayesian cung cấp một tiếp cận theo xác xuất để suy diễn Nó dựa trên giả thuyết rằng số lượng của khuynh hướng bị chi phối bởi phân
bố xác xuất và quyết định tối ưu có thể được tạo bởi sự suy luận về những xác xuất đi liền với dữ liệu được quan sát Đây là vấn đề quan trọng của máy học bởi vì nó cung cấp một tiếp cận định lượng cho việc xem xét cẩn thận bằng chứng hỗ trợ những giả thuyết thay đổi Lý thuyết Bayesian cung cấp giải thuật học cơ bản mà vận dụng những xác xuất cũng như là một khung làm việc cho sự phân tích sự hoạt động của những giải thuật mà không thể vận dụng rõ ràng
Học theo xát suất : Tính xát suất hiện cho giả thuyết , trong số những tiếp cận thực dụng nhất cho các kiểu chắc chắn của những vấn đề học
Tính tăng dần : mỗi ví dụ huấn luyện có thể gia tăng việc tăng hoặc giảm
mà không gian giả thuyết đúng Kiến thức trước có thể kết hợp với dữ liệu được quan sát
Tiên đoán xát suất : Tiên đoán nhiều không gian giả thuyết , được đo bởi xát suất của nó
Tiêu chuẩn : Thậm chí khi phương thức Bayesian khó tính toán , chúng cũng cung cấp một tiêu chuẩn tốt nhất cho việc tạo quyết định
P(D)
Trang 16Khó khăn thực tế của phương pháp phân lớp Bayesian ở chỗ nó đòi hỏi kiến thức khởi tạo của nhiều khả năng có thể sãy ra và chi phí tính toán đáng kể
Phân lớp Naive Bayes:
Giả thuyết đơn giản : những thuộc tính là độc lập theo điều kiện
Chi phí tính toán thu giảm đáng kể , chỉ tính đến sự phân bố lớp
Với một tập hợp cho trước chúng ta có thể tính toán khả năng sãy ra
Vấn đề phân lớp có thể được thể thức hóa sử dụng xát suất a-posteriori nhưsau :
P(C|X)= xát suất của mẫu ví dụ x=<x1, ,xk> là lớp của C
Ý tưởng : gán mẫu X vào lớp nhãn C sao cho P(C|X) là lớn nhất
Định lý Bayes phát biểu như sau :
P(C|X) = P(X|C).P(C)/P(X) , trong đó :P(X) là hằng cho tất cả lớp
P(C) = tần suất tương đối của mẫu lớp C
C mà ở đó P(C|X) là lớn nhất = C mà ở đó P(X|C).P(C) là lớn nhất
Phân lớp Naive Bayesian :
Giả thuyết Naive : thuộc tính là độc lập
P(x1, ,xk|C)=P(x1|C) P(xk|C)Nếu thuộc tính thứ i là xát thực :
P(xi |C) được ước lượng như là tần suất tương đối của những mẫu có giá trị
xi như là thuộc tính thứ i trong lớp C
Nếu thuộc tính thứ i là liên tục P(xi |C) được ước lượng thông qua hàm mật
độ Gaussian Việc tính toán là dễ dàng trong cả hai trường hợp Ví dụ tennis : phân lớp X Cho mẫu chưa được thấy như sau
play-X=<rain,hot,high,false>
Trang 17P(X|p).P(p)=P(rain|p).P(hot|p).P(high|p).P(false|p).P(p) =
3/9.2/9.3/9.6/9.9/14=0.010582
P(rain|n).P(hot|n).P(high|n).P(false|n).P(n)=2/5.2/5.4/5.5/14=0.018286Mẫu X được phân lớp vào lớp n
Giải thuật Nạve Bayes viết bằng mã giả như sau:
Sự độc lập của giả thuyết:
Trang 18Những giả thuyết độc lập nhau sẽ giúp cho việc tính toán trở nên dễ dàng
Độ lợi phân lớp tốt nhất đạt được rất ít trong thực tế vì những thuộc tính (biến) thường liên quan với nhau
Để vượt qua những giới hạn này người ta giải quyết bằng 2 cách:
Dùng mạng Bayesian , đây chính là sự kết hợp của lý luận và quan
hệ nhân quả giữa những thuộc tính
Cây quyết định mà suy luận trên một thuộc tính ở thời điểm xem xét những thuộc tính quan trọng đầu tiên
Mạng Bayesian Tin cậy ( Bayesian belief network ) :
Bayesian belief network cho phép một tập con của những biến độc lập theo điều kiện
Trong Bayesian belief người ta sử dụng mô hình đồ thị của quan hệ nhân quả Có nhiều cách học của Bayesian belief networks như sau :
Cho trước cả cấu trúc mạng và những biến : đây là cách dễ dàng
Cho trước cấu trúc mạng nhưng chỉ có một vài biến chứ không phải
là tất cả
Cấu trúc mạng là hoàn toàn không được biết
5 Phân lớp bằng mạng lạn truyền ngược:
Neural Networks (Mạng Nơtrôn):
Cấu trúc của một neural như sau:
Vector x n chiều được ánh xạ vào biến y dựa trên tích vô hướng và một hàm ánh xạ phi tuyến
Mạng huấn luyện:
Mục tiêu cơ bản của việc huấn luyện :
Đạt được một một tập hợp của những trọng số mà có thể làm cho hầu hết tất cả những bộ trong tập huấn luyện được phân lớp đúng Những bước của quá trình huấn luyện :
Trang 19 Khởi tạo trọng số với những giá trị ngẫu nhiên
- Tính toán mạng input cho mỗi đơn vị như là một sự kết hợp tuyến tính của tất cả những input đối với đơn vị
- Tính toán giá trị output sử dụng hàm kích hoạt
- Tính toán lỗi
- Cập nhật trọng số và khuynh hướng
Mạng thu giảm và rút trích luật :
Mạng thu giảm :
Mạng kết nối hoàn toàn sẽ khó nối khớp với nhau
Với n node input , n hidden node và m output node dẫn đến h(m+N) trọng số
Thu giảm ở điểm : loại một số liên kết mà không ảnh hưởng phân lớp chính xát của mạng
Những ích lợi của mạng nơtrôn có thể kể đến như sau:
Tiên đoán chính xát cao
Hoạt động mạnh , làm việc được ngay khi các mẫu chứa lỗi
Output có thể là giá trị rời rạc, giá trị thực hoặc vector của nhiều thuộc tính rời rạc hoặc giá trị thực
Đánh giá nhanh hàm mục tiêu được học
Yếu điểm :
Thời gian huấn luyện lâu
Khó có thể hiểu được hàm học ( trọng số)
Khó có thể kết hợp tri thức lĩnh vực
6 Phân lớp dựa trên nguyên lý khai phá luật kết hợp:
Có nhiều phương thức đối với sự phân lớp dựa trên luật kết hợp
ARCS: Khai phá sự kết hợp số lượng và gom cụm của những luật kết hợp
Phân loại kết hợp : Khai phá độ hỗ trợ cao và độ tin cậy cao trong công thức “cond_set =>y” trong đó y là một nhãn lớp
CAEP(Phân lớp bằng cách tập hợp lại những mẫu nỗi bậc) : trong
đó những mẫu nổi bật (Emerging patterns) : những tập thành phần itemset hỗ trợ gia tăng quan trọng từ một lớp sang lớp khác Khai phá những mẫu nổi bật dựa trên độ hỗ trợ tối thiểu và tốc độ phát triển
7 Những phương thức phân lớp khác:
7.1 Những phương thức dựa trên khoảng cách:
Trang 20Chứa những ví dụ huấn luyện và trì hoãn xử lý cho đến khi một thực thể mới được phân lớp
Những cách tiếp cận thông thường :
Tiếp cận người láng giềng gần nhất k-nearest neighbor
Hồi qui trọng lượng cục bộ : bằng cách xây dựng những xấp xỉ cục
bộ
Lập luận dựa trên trường hợp : Người ta sử dụng biểu diễn kí hiệu vàtri thức dựa trên suy diễn
Giải thuật K-Nearest Neighbor :
Tất cả những thực thể tương ứng với những điểm trên không gian n-D Người láng giềng gần nhất được định nghĩa trong biểu thức của khoảng cách Euclidean
Hàm mục tiêu có thể được rời rạc hóa hoặc giá trị thực
Đối với những giá trị rời rạc, k-NN trả về hầu hết giá trị thông thường giữa
k ví dụ huấn luyện gần nhất với xq.
Biểu đồ Vonoroi : bề mặt quyết định được qui vào bởi 1-NN đối với một tập điển hình của những ví dụ huấn luyện
Giải thuật k-NN đối với giá trị liên tục đối với những hàm mục tiêu giá trị liên tục
Tính toán giá trị trung bình của k láng giềng gần nhất
Giải thuật khoảng cách trọng lượng người láng giềng gần nhất Trọng lượng đóng góp của mỗi láng giềng theo khoảng cách của chúng đến điểm truy vấn xq , gán trọng lượng lớn hơn cho láng giềng gần hơn
Tương tự , đối với những hàm mục tiêu giá trị thực
Mạnh đối với dữ liệu hỗn loạn bởi trung bình k-nearest neighbor
Trở ngại của chiều : Khoảng cách giữa những láng giềng có thể bị chi phối bởi những thuộc tính quan trọng Để vượt qua điều này , kéo dãn trục hoặc loại trừ những thuộc tính ít quan trọng nhất
7.2 Giải thuật Di truyền (Genetic Algorithms):
1
w ≡
d (xq ,x i) 2
Trang 21Giải thuật di truyền : dựa trên một tương tự đối với một sự tiến bộ sinh học Mỗi luật được biểu diễn bởi một chuỗi dữ liệu bit Một mẫu khởi tạo được tạo ra bao hàm những luật được tạo một cách ngẩu nhiên
Dựa trên khái niệm của cái thích hợp nhất tồn tại Những qui luật phù hợp nhất sẽ được biểu diễn bởi sự phân lớp chính xát của nó trên một tập hợp của những ví dụ huấn luyện
Sự thích hợp của một luật được biểu diễn bởi độ chính xát sự phân lớp của
nó trên tập hợp những ví dụ huấn luyện
Kết quả được tạo ra bởi sự giao nhau và sự biến đổi
7.3 Tiếp cận tập thô :
Tập thô được sử dụng để xấp xỉ hoặc định nghĩa “thô” những lớp tương đương Một tập thô cho một lớp C được xấp xỉ bởi 2 tập hợp : một xấp xỉ dưới ( chắc chắn ở trong C ) và một xấp xỉ trên
Tìm kiếm tập rút gọn của những thuộc tính (đối với đặc tính rút gọn) là NP khó nhưng ma trận phân biệt được sử dụng để thu giảm cường độ tính toán
7.4 Tiếp cận tập mờ :
Logic mờ sử dụng những giá trị thực giữa 0.0 và 1.0 để biểu diễn độ của quan hệ thành viên (ví dụ như là sử dụng đồ thị thành viên mờ )
Những giá trị thuộc tính được chuyển sang những giá trị mờ Đối với một
ví dụ mới cho trước , nhiều hơn một giá trị mờ có thể được áp dụng Mỗi luật có thể áp dụng có thể áp dụng đóng góp một đề cử cho thành viên theo thể loại Thông thường , những giá trị thực đối với thể loại được tiên đoán được tổng kết
7.5 Phân lớp bằng suy luận dựa trên trường hợp ( case-based reasoning):
Những thực thể được biểu diễn bởi sự mô tả giàu tính tượng trưng (ví dụ như hàm đồ thị) Kết hợp nhiều trường hợp nhận được , suy luận dựa trên tri thức và vấn đề giải quyết
8 Tiên đoán và phân lớp:
Tiên đoán và vấn đề tượng tự như phân loại Việc tiên đoán được xây dựngnhư sau :
Đầu tiên là xây dựng mô hình Tiếp theo là sử dụng mô hình để tiên đoán những giá trị tiếp theo Phương pháp chính để tiên đoán là phương pháp hồi qui Có nhiều kiểu hồi qui : hồi qui tuyến tính, hồi qui đa tuyến và hồi không tuyến tính Tiên đoán khác với phân lớp ở chỗ : Phân lớp đề cập đếntiên đoán loại lớp dữ liệu Tiên đoán mô hình những hàm giá trị liên tục
Mô hình tiên đoán : Tiên đoán dữ liệu hoặc cấu trúc tổng quát những mô hình tuyến tính dựa trên cơ sở dữ liệu Những nét chính của phương pháp bao gồm :