Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
465,97 KB
Nội dung
Nghiêncứu,xâydựngphươngpháptríchchọn
thuộc tínhnhằmlàmtănghiệuquảphânlớp
đối vớidữliệuđachiều
Đồng Thị Ngọc Lan
Trường Đại học Công nghệ
Luận văn Thạc sĩ ngành: Công nghệ phần mềm; Mã số: 60 48 10
Người hướng dẫn: PGS.TS Nguyễn Hà Nam
Năm bảo vệ: 2011
Abstract: Tổng quan về khai phá dữliệu và tríchchọnthuộc tính. Trình bày nội dung
chính của thuật toán phânlớp sử dụng trong luận văn là thuật toán Random Forest và
giải thuật di truyền. Trình bày phươngpháp đề xuất và hướng giải quyết của luận văn.
Trình bày quá trình thực nghiệm và đánh giá kết quả thực nghiệm.
Keywords: Công nghệ thông tin; Thuật toán phân lớp; Cơ sở dữliệu
Content
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮLIỆU VÀ TRÍCHCHỌNTHUỘC
TÍNH
1.1 Giới thiệu khai phá dữliệu và tríchchọnthuộctính
Khai phá dữliệu là một khái niệm ra đời từ những cuối những năm 80 của thế kỷ trước. Nó
bao hàm một loạt các kỹ thuật nhằm phát hiện các thông tin có giá trị tiềm ẩn trong tập các dữ
liệu lớn.Về bản chất, khai phá dữliệu liên quan đến việc phân tích các dữliệu và sử dụng các
kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu. Năm 1989, Fayyad,
Piatestsky-Shapiro và Smyth đãdùng khái niệm Phát hiện tri thức trong cơ sở dữliệu
(Kownledge Discovery in Database – KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có
ích từ các tập dữliệu lớn[14]. Trong đó, khai phá dữliệu là một bước đặc biệt trong toàn bộ
quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình từ dữ liệu.
Trong khai phá dữliệu thì phươngpháptríchchọnthuộctính đóng một vai trò quan
trọng trong tiền xử lý số liệu. Luận văn chủ yếu tập trung vào tìm hiểu 3 nhiệm vụ chính sau:
Giảm chiềudữ liệu:Giảm chiềudữliệu là việc làm giảm chiều của không gian tìm kiếm
dữ liệu, giảm chi phí thu thập và lưu trữ dữ liệu, nâng caohiệuquả của việc khai phá dữliệu
và làm đơn giản hóa các kết quả khai phá dữ liệu. Trong nhiệm vụ làm giảm chiềudữliệu
chúng ta cần phân biệt hai khái nhiệm sau:
Tríchchọnthuộctính (Feature Extraction):
2
Chọn lựa thuộctính (Feature Selection):
Phân cụm và phân lớp:Phân lớp và phân cụm là hai nhiệm vụ có mối quan hệ tương
đối gần nhau trong khai phá dữ liệu. Một lớp là một tập các đối tượng có cùng một số đặc
điểm hoặc mối quan hệ nào đó, tất cả các đối tượng trong lớp này được phân vào trong cùng
một lớp tên nhằm mục đích là để phân biệt với các lớp khác.Một cụm là một tập các đối tượng
tương tự nhau về mặt vị trí.Các cụm thường được tạo ra nhằm mục đích để sau đó tiến hành
phân lớp các đối tượng.
Trích chọn luật: Tríchchọn luật tìm kiếm và đưa ra dữliệu bằng cách tất cả các dữ
liệu được đưa ra dựa trên các suy diễn/các quyết định mà các suy diễn/quyết định này được
xây dựng từ các tri thức thu thập được từ dữliệu đó. Đốivới người sử dụng các kết quả của
khai phá dữliệu họ chỉ mong muốn có một cách giải thích đơn giản là tại sao có các kết quả
phân lớp đó, thuộctính nào ảnh hưởng đến kết quả khai phá dữ liệu…Tuy nhiên, bằng các
tham số phânlớp rất khó để có thể diễn giải các tri thức đó theo cách mà người sử dụng có thể
dễ dàng hiểu được. Do đó, tríchchọn ra các luật IF-THEN để đưa ra các thông tin có giá trị là
một cách diễn giải đơn giản và dễ hiểu nhất đốivới người sử dụng.
1.2. Lựa chọnthuộctính và bài toán phânlớp
Nhiệm vụ cơ bản của việc phânlớp là phân chia một tập các đối tượng thành n-hữu hạn
lớp đã biết trước. Tập đối tượng cần phânlớp được đặc trưng bởi một tập các thuộctính chứa
các thông tin cần thiết liên quan đến các lớp, trong đó mỗi tập các thuộctính được đại diện
bởi một tập các thuộctính – giá trị. Với một tập dữliệubao gồm một tập các đối tượng đã
được phânlớp (thường gọi là tập tập huấn) nhiệm vụ đặt ra là từ tập huấn luyện cho trước xây
dựng một bộ phânlớp cho các dữliệu tương tự. Vấn đề đặt ra đốivới bài toán phânlớp là số
lượng các thuộctính thường rất lớn nhưng các thuộctính không liên quan hoặc thừa có thể có
những ảnh hưởng tiêu cực đốivới các giải thuật phân lớp. Các thuộc tính/dữ liệu thừa hoặc
không liên quan có thể là nguyên nhân dẫn đến việc học của giải thuật không được chính xác.
Thêm vào đó, với sự có mặt của dữliệu thừa hoặc dữliệu không liên quan có thể làm cho bộ
phân lớp trở lên phức tạp hơn. Điều này sẽ gây ra những khó khăn không cần thiết cho chúng
ta trong việc diễn giải các kết quả học được từ tập huấn luyện. Do đó chúng ta cần giải quyết
vấn này đốivới các bài toán phân lớp.
1.3 Phƣơng pháp lựa chọnthuộctính
Có thể định nghĩa lựa chọnthuộctính là một quá trình tìm ra một tập con các thuộctính
từ M tập thuộctính của tập dữliệu N ban đầu, như vậy phải xác định tiêu chuẩn lựa chọn
thuộc tính. Một thuật toán lựa chọn gồm 4 bước cơ bản: Sinh tập con, lượng giá tập con, điều
kiện dừng và xác nhận kết quả.
Lựa chọnthuộctính có thể dựa vào các mô hình, các chiến lược tìm kiếm, thước đo chất
lượng thuộctính và ước lượng.Có ba loại mô hình như Filter, Wrapper, Embedded.
Các chiến lược tìm kiếm bao gồm: forward, backward, floating, branch and bound,
randomized. Ước lượng của việc chọn lựa thuộctínhbao gồm hai nhiệm vụ: một là so sánh
3
hai giai đoạn: trước và sau khi lựa chọnthuộc tính. Hai là so sánh hai thuật toán lựa chọn
thuộc tính [3].
Tóm lại lựa chọnthuộctính được xem như là sự tổng hợp của ba thành phần chính: tìm
kiếm, đánh giá, chọn lựa mô hình.
1.4 Một số thuật toán lựa chọnthuộctính
Các thuật toán lựa chọnthuộctính được xét dưới góc độ chiến lược tìm kiếm nào được
sử dụng trong giải thuật đó: Tìm kiếm toàn bộ, Tìm kiếm theo kinh nghiệm và Tìm kiếm xác
suất. Ngoài ra chúng ta cũng nghiên cứu một vài phươngpháp khác: phươngpháp trọng số
thuộc tính (feature weighting method), phươngpháp lai (hybrid method) và phươngpháp lớn
dần (incremental method).
1.4.1 Tìm kiếm toàn bộ
a. Phươngpháp Focus
b. Phươngpháp AAB
1.4.2 Tìm kiếm theo kinh nghiệm
1.4.3 Tìm kiếm xác suất
(a). Phươngpháp LVF
(b). Phươngpháp LVF
1.4.4. Phƣơng pháp trọng số thuộctính
1.4.5. Phƣơng pháp lai
1.4.6. Phƣơng pháp lớn dần
Chƣơng 2: THUẬT TOÁN RANDOM FOREST VÀ GIẢI THUẬT DI TRUYỀN
2.1 Giới thiệu thuật toán Random Forest
Random Forest (rừng ngẫu nhiên) là phươngphânlớpthuộctính được phát triển bởi
Leo Breiman tại đại học California, Berkeley. Breiman cũng đồng thời là đồng tác giả của
phương pháp CART (Classification and Regression Trees) được đánh giá là một trong 10
phương pháp khai phá dữliệu kinh điển. Random Forest được xâydựng dựa trên 3 thành
phần chính là: (1) CART, (2) học toàn bộ, hội đồng các chuyên gia, kết hợp các mô hình, và
(3) tổng hợp bootstrap (bagging). Hình 3.1 [30] dưới đây thể hiện phươngphápphânlớp
random forest.
2.2 Bootstrap và Bagging
2.2.1 Bootstrap
Là một phươngpháp rất nổi tiếng trong thống kê được giới thiệu bởi Bradley Efron
vào năm 1979. Phươngpháp này chủ yếu dùng để ước lượng lỗi chuẩn (standard errors), độ
lệch (bias) và tính toán khoảng tin cậy (confidence interval) cho các tham số. Phươngpháp
này được thực hiện như sau: Từ một quần thể ban đầu lấy ra một mẫu L = (x1, x2, xn) gồm n
4
thành phần, tính toán các tham số mong muốn. Trong các bước tiếp theo lặp lại b lần việc tạo
ra mẫu Lb cũng gồm n phần từ từ L bằng cách lấy lại mẫu với sự thay thế các thành phần
trong mẫu ban đầu sau đó tính toán các tham số mong muốn.
2.2.2. Bagging
Phương pháp này được xem như là một phươngpháp tổng hợp kết quả có được từ các
bootstrap. Tư tưởng chính của phươngpháp này như sau: Cho một tập huấn luyện D={(xi,
yi): i=1,2,…,n} và giả sử chúng ta muốn có một một dự đoán nào đó đốivới biến x.
Một mẫu gồm B tập dữ liệu, mỗi tập dữliệu gồm n phần tử được chọn lựa ngẫu nhiên từ D
với sự thay thế (giống như bootstrap). Do đó B=(D1, D2, ….,DB) trông giống như là một tập
các tập huấn luyện được nhân bản;
Tập huấn một máy hoặc một mô hình đốivới mỗi tập Db (b=1, 2, …,B) và lần lượt thu thập
các kết quảdựbáo có được trên mỗi tập Db;
Kết quả tổng hợp cuối cùng được tính toán bằng cách trung bình hóa (regression) hoặc thông
qua số phiếu bầu nhiều nhất (classification).
2.3 Random forest
Tóm tắt cuả giải thuật RF cho phânlớp đƣợc diễn giải nhƣ sau:
• Lấy ra K mẫu bootstrap từ tập huấn luyện.
• Đốivới mỗi mẫu bootstrap xâydựng một cây phânlớp không đƣợc tỉa
(unpruned tree) theo hƣớng dẫn sau: Tại mỗi nút thay vì chọn một phân chia
tốt nhất trong tất cả các biến dự đoán, ta chọn ngẫu nhiên một mẫu m của
các biến dự đoán sau đó chọn một phân chia tốt nhất trong các biến này.
• Đƣa ra các dự đoán bằng cách tổng hợp các dự đoán của K cây.
Quá trình học của Random Forest bao gồm việc sử dụng ngẫu nhiên giá trịđầu vào,
hoặc kết hợp các giá trị đó tại mỗi node trong quá trình dựng từng câyquyết định. Kết quả của
Random Forest, qua thực nghiệm cho thấy, là tốt hơn khiso sánh với thuật toán Adaboost.
Trong đó Random Forest có một số thuộctính mạnh như:
(1) Độ chính xác của nó tương tự Adaboost, trong một số trường hợp còn tốt hơn.
(2) Thuật toán giải quyết tốt các bài toán có nhiều dữliệu nhiễu.
(3) Thuật toán chạy nhanh hơn so với bagging hoặc boosting.
(4) Có những sự ước lượng nội tại như độ chính xác của mô hình phỏngđoán hoặc độ
mạnh và liên quan giữa các thuộc tính.
(5) Dễ dàng thực hiện song song.
(6) Tuy nhiên để đạt được các tính chất mạnh trên, thời gian thực thi củathuật toán khá
lâu và phải sử dụng nhiều tài nguyên của hệ thống.
Qua những tìm hiểu trên về giải thuật RF ta có nhận xét rằng RF là một phươngphápphân
lớp tốt do: (1) Trong RF các sai số (variance) được giảm thiểu do kết quả của RF được tổng
hợp thông qua nhiều người học (learner), (2) Việc chọn ngẫu nhiên tại mỗi bước trong RF sẽ
làm giảm mối tương quan (correlation) giữa các người học trong việc tổng hợp các kết quả.
5
Ngoài ra, chúng ta cũng thấy rằng lỗi chung của một rừng các cây phânlớp phụ thuộc vào lỗi
riêng của từng cây trong rừng cũng như mỗi tương quan giữa các cây.
2.4 Một số đặc điểm của RF
2.4.1 OOB
Khi tập mẫu được rút ra từ một tập huấn luyện của một cây với sự thay thế (bagging),
thì theo ước tính có khoảng 1/3 các phần từ không có nằm trong mẫu này [7]. Điều này có
nghĩa là chỉ có khoảng 2/3 các phần tử trong tập huấn luyện tham gia vào trong các tính toán
của chúng ta, và 1/3 các phần tử này được gọi là dữliệu out-of-bag. Dữliệu out-of-bag được
sử dụng để ước lượng lỗi tạo ra từ việc kết hợp các kết quả từ các cây tổng hợp trong random
forest cũng như dùng để ước tính độ quan trọng thuộctính (variable important).
2.4.2 Thuộctính quan trọng
Việc thực hiện các tính toán để xác định thuộctính quan trọng trong RF cũng gần như
tương tự việc sử dụng OOB để tính toán lỗi trong RF. Cách thực hiện như sau: Giả sử chúng
ta cần xác định “thuộc tính quan trọng” của thuộctính thứ thứ m. Đầu tiên tính ROOB, sau đó
hoán vị ngẫu nhiên các giá trị của thuộctính m trong dữliệu OOB, lần lượt “gửi” các giá trị
này xuống cây và “đếm” số các dự đoán đúng ta gọi việc tính toán này đốivớithuộctính là
Rperm.
Độ quan trọng thuộctính được tính như sau:
Trong trường hợp giá trị của thuộctính quan trọng trên mỗi cây là độc lập thì chúng ta
có thể tính được lỗi chuẫn (standard error) của ROOB – Rperm
2.5 Thuật toán di truyền
Thuật toán di truyền [2, 32] là thuật toán tối ưu ngẫu nhiên dựa trên cơ chế chọn lọc tự
nhiên và tiến hóa di truyền. Thuật toán di truyền được ứng dụng đầu tiên trong hai lĩnh vực
chính: tối ưu hóa và học máy. Trong lĩnh vực tối ưu hóa thuật toán di truyền được phát triển
nhanh chóng và ứng dụng trong nhiều lĩnh vực khác nhau như tối ưu hàm, xử lý ảnh, bài toán
hành trình người bán hàng, nhận dạng hệ thống và điều khiển. Thuật toán di truyền cũng như
các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa
tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu. Quan niệm này
có thể xem như một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách
quan. Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển
hơn, hoàn thiện hơn) thế hệ trước bởi tính kế thừa và đấu tranh sinh tồn [2].
CHƢƠNG 3: PHƢƠNG PHÁP ĐỀ XUẤT
3.1 Giới thiệu
Chương này luận văn trình bày phươngpháp học máy nhằm tìm ra bộ thuộctính tối
ưu từ tập các thuộctính của bộ số liệu cho trước, đó là sử dụng giải thuật tựa giải thuật di
truyền (Genetic-Algorithm) kết hợp với thuật toán rừng ngẫu nhiên (Random Forest).
Chương này mô tả phươngpháp đề xuất như là cách tiếp cận theo wrapper để tìm ra các thuộc
tính tối ưu, loại bỏ các thuộctínhdư thừa.
6
3.2 Cơ sở lí luận
Ta thấy các toán tử trong giải thuật di truyền đều mang tính ngẫu nhiên, thuật toán di
truyền cần xác định cỡ quần thểvà khởi tạo quần thể ban đầu một cách ngẫu nhiên, xác định
xác suất lai ghép và xác suất đột biến . Xác suất đột biến cần là xác suất thấp. Để khắc phục
việc hạn chế của vấn đề chọn ngẫu nhiên, luận văn đề xuất phương án:
- Tạo ra các bộ thuộctính con từ tập thuộctính ban đầu bằng phươngpháp kết hợp việc
chọn ngẫu nhiên với việc phân bố đều các thuộc tính.
- Không thực hiện việc lai ghép, đột biến để tạo ra các bộ thuộctính mới mà thực hiện việc
đánh giá các bộ thuộc tính, dựa vào đó đánh giá các thuộctính để chọn ra các thuộctính
có độ phù hợp cao.
- Dùng thuật toán học để làm tiêu chí đánh giá độ thích hợp của các bộ thuộc tính.
Cụ thể, phươngpháp đề xuất được trình bày chi tiết ở phần tiếp theo.
3.3 Kiến trúc hệ thống
Hình 4.3: Kiến trúc cơ bản của hệ thống
4.4 Phƣơng pháp đề xuất.
Bƣớc 1: Tạo ra m bộ thuộctính từ tập n thuộc tích ban đầu.
- Mỗi bộ chứa 2*n/m thuộc tính. Gồm:
o n/m thuộctính đều nhau
o n/m thuộctính ngẫu nhiên
Bƣớc 2: Tính thang điểm ƣớc lƣợng cho từng bộ thuộctính
- Dùng RF tính thang điểm ước lượng cho các bộ thuộc tính.
=> Được tập các giá trị ước lượng f(i) (i=1, ,m)
Bƣớc 3: Tính ranking theo trọng số của từng thuộc tính.
- Trọng số của mỗi thuộctính i được tính theo công thức:
k
ij
= 0 nếu thuộctính thứ i không được chọn trong bộ thuộctính thứ j
k
ij
= 1 nếu thuộctính thứ i được chọn trong bộ thuộctính thứ j
Bƣớc 4: Xâydựng tập mới gồmp% thuộctính tốt nhất
7
Quay lại B1. Điều kiện dừng a) số thuộctính < ngưỡng cho phép.
b) Số vòng lặp xác định
4.5 Hoạt động của hệ thống
Tập dữliệu ban đầu được phân chia ngẫu nhiên thành hai tập: Tập dữliệu huấn luyện và Tập
dữ liệu kiểm tra.
a. Tập dữliệu huấn luyện cho quaPhần 1
Dữ liệu huấn luyện là bảng có kích cỡ m x n, với n là số thuộctính ban đầu và m là số bản
ghi. Khi cho bảng này quaPhần 1:
Bước 1: phươngpháp đề nghị sẽ sinh ra các bảng con có kích cỡ m x k
i
; trong đó k
i
là số cột
(số thuộc tính) của bảng con thứ i (i=1,2…) và k
i
< n. Mỗi bảng là một tập con các thuộctính
của bộ dữliệu ban đầu.
Bước 2: Đánh giá độ thích nghi của mỗi bộ thuộctính mới bằng việc áp dụng thuật toán học
máy random forest .
Bước 3: Sau đó, với mỗi thuộctính của bộ thuộctính ban đầu ta tính được độ phù hợp (trọng
số)w của mỗi thuộctính theo công thức:
Với j=1, ,n tương ứng với n thuộctính đầu tiên. Fitness
i
là độ phù hợp của bộ thuộc
tính thứ i trong m bộ thuộctính mới. k nhận giá trị 1 nếu thuộctính thứ j được chọn và nhận
giá trị 0 nếu thuộctính j không được chọn trong bộ thuộctính i.
Bước 4: Thực hiện sắp xếp n thuộctính theo thứ tự giảm dần của trọng số w
j
. Lấy p% các
thuộc tính được theo thứ tự từ trên xuống dưới ta được một bộ thuộctính mới gồm (n*p)/100
thuộc tính.
Bộ thuộctính này lại lặp lại các bước trên cho đến khi thu được một bộ thuộctính có
số thuộctính đạt ngưỡng nào đó hoăc số lần lặp xác định. Kết thúc quá trình hoạt động ở Phần
1: thu được bộ thuộctính có độ phù hợp cao nhất. Kết quả này được sử dụng để đưa vào Phần
2.
b. Hoạt động phần 2
Lấy tất cả bản ghi của bộ số liệu ban đầu nhưng chỉ với các thuộctính vừa tìm được ở
Phần 1, chia làm hai phần: huấn luyện và kiểm tra. Tập dữliệu huấn luyện mới được sử dụng
để huấn luyện cho RF.
Sau khi huấn luyện xong, cho tập dữliệu kiểm tra vào RF này để đánh giá chất lượng
hệ thống.Để kiểm tra tính ổn định của hệ thống, tiến hành kiểm thử nhiều lần. Tức là mỗi lần
kiểm thử là một lần chia bộ số liệu ngẫu nhiên thành các tập huấn luyện và kiểm thử khác
nhau.
8
CHƢƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1 Môi trƣờng thực nghiệm
Tất cả các thực nghiệm được thực hiện trên máy Laptop với bộ xử lý Intel (R) Core
(TM) i7 -2620 M CPU @ 2.70 GHz 2.69 GHz, RAM 4GB.
Chương trình thực nghiệm của tôi được viết bằng ngôn ngữ R. Gói random forest lấy
từ www.r-project.org, các mô đun là hoàn toàn tự xây dựng, không sử dụng hay kế thừa lại
của bất cứ nguồn nào.
4.2 Mô tả chƣơng trình
Luận văn đã sử dụng R để xâydựng danh sách các hàm như sau:
Tên hàm
Diễn giải
Innit()
Khởi tạo các tham số cho chương
trình, đọc dữliệu từ các file .csv
vào biến. Chuẩn hóa lại dữliệu
theo cấu trúc xác định trước.
RF_Run<-
function
(train,test,TreeN
um)
- Tính thời gian chạy RF bao
gồm thời gian huấn luyện và
thời gian kiểm thử.
- Tính % đoán nhận(phân lớp)
đúng của RF với tham số tùy
chọn TreeNum là số lượng cây
của RF.
fitness<-function
(inpData,CrV,in
d)
Tính độ phù hợp của bộ dữliệu
inpData với hệ số kiểm chứng
chéo là CrV.
proccess<-
function
(InpData,m,p)
- Hàm proccess có chức năng
lựa chọn ra tập các thuộctính
tối ưu nhất từ tập dữliệu đầu
vào InpData.
- m là tham số xác định số bộ
thuộc tính trong mỗi lần phân
chia.
- p xác định số thuộctính loại bỏ
sau mỗi lần chọn lựa. (đây là
điều kiện dừng của thuật toán)
RF_Proccess<-
function
(train,test,TreeN
um,RunNum)
- Tính % đoàn nhận đúng, thời
gian chạy của RunNum lần
chạy RF với số lượng cây là
TreeNum trên bộ thuộctính
ban đầu và bộ thuộctính tối ưu
mới tìm được.
9
- Xác định giá trị trung bình, giá
trị lớn nhất, nhỏ nhất, độ lệch
chuẩn, thời gian trung bình của
các lần chạy trên 2 bộ dữliệu
đó để vẽ đồ thị so sánh.
Ghi kết quả vào file Output.
4.3 Kết quả thực nghiệm
4.3.1 Bộ dữliệu ung thƣ dạ dày(Stomach)
4.3.1.1 Mô tả bộ dữliệu Stomach
Bộ dữliệu Stomach Cancer gồm 137 bản ghi, mỗi bản ghi có 119 thuộc tính. Các bản
ghi trong bộ dữliệu được phân thành hai lớp ký hiệu là normal (bệnh nhân bình thường) và
cancer (bệnh nhân bị ung thư).
4.3.1.2 Kết quả và phân tích thực nghiệm trên bộ dữliệu Stomach
Hình 4.7 Biểu đồ so sánh kết quả chạy RF 20 lần trên bộ dữliệu mới và bộ dữliệu ban đầu
với số cây bằng 100,300,500,800,1000.
Hình 4.8 Biểu đồ so sánh thời gian chạy trung bình của 20 lần chạy RF trên bộ dữliệu mới
và bộ dữliệu ban đầu với số cây bằng 100,300,500,800,1000.
10
4.3.1.3 Nhận xét
Ta thấy tỉ lện đoán nhận của RF với bộ thuộctính mới tăng lên rõ ràng, ước tínhtăng khoảng
5%, trung bình thuật toán RF cho kết quả đoán nhận là 78%, còn RF mới cho kết quả là 83%.
Ta cũng thấy thời gian huấn luyện và thời gian kiểm tra đều giảm đi đáng kể. Tỉ lệ đoán nhận
trên bộ thuộctính mới tăng lên cho thấy bộ thuộctính mới đã loại bỏ được một số thuộctính
nhiễu, thuộctínhdư thừa. Còn thời gian giảm đi là vì số lượng thuộctínhđã giảm xuống
tương đối nhiều, cụ thể từ 119 thuộctính ban đầu, sau khi lựa chọn bộ thuộctính mới còn là
36 thuộc tính, như vậy số thuộctínhđã giảm khoảng 69% số thuộctính ban đầu. Điều đó
chứng tỏ phươngpháp thực nghiệm mà luận văn đề xuất cho hiệuquả tương đối tốt. Tuy
nhiên, để tìm ra một bộ thuộctính mới chúng ta đã tiêu tốn một khoảng thời gian tương đối
lớn. Với bộ dữliệu Stomach chúng ta mất khoảng 20 phút để tìm ra được một bộ thuộctính
tối ưu hơn, và với các bộ dữliệu lớn hơn thì thời gian đó lại tăng lên, nhưng chúng ta chỉ mất
thời gian 1 lần tìm bộ thuộctính tối ưu. Sau đó, tất cả các bài toán sử dụng bộ dữliệu này khi
thực thi trên bộ thuộctính mới sẽ giảm thời gian tính toán trên tất cả các lần chạy. Và từ đó,
thì thời gian làm việc sẽ giảm đi đáng kể.
4.3.2 Bộ dữliệu ung thƣ ruột kết Colon Turmo
4.3.2.1 Mô tả dữliệu
Colon Turmo[1] là bộ dữliệu gồm 2000 genes được chọn lựa từ 6500 genes, thu thập
từ 62 bệnh nhân ung thư (2000 x 62)
4.3.2.2 Kết quả thực nghiệm
Hình 4.13 Kết quả chạy RF 20 lần trên bộ thuộctính Colon Tumor ban đầu và sau khi tối ưu
với số cây lần lượt là 100,300,500
Hình 4.14 Biểu đồ so sánh thời gian huấn luyện trung bình của 20 lần chạy RF trên bộ dữ
liệu Colon Tumor mới và bộ dữliệu Colon Tumor ban đầu với số cây bằng 100,300,500.
[...]... dụng giải bài toán tríchchọnthuộctính phù hợp bằng cách giảm chiềudữliệu Tôi cũng đã tập trung nghiên cứu về thuật toán Random Forest và phươngpháp tiền xử lý dữliệu Từ những tìm hiểu này tôi đề xuất hướng cải tiến nhằm tìm ra bộ thuộctính tối ưu nhỏ nhất để tănghiệuquả của thuật toán phânlớp Từ những kết quả thực nghiệm trên bộ dữliệu Colon Turmo, chúng ta thấy kết quả tương đổi ổn định... 20 lần chạy RF trên bộ dữliệu Colon Tumor mới và bộ dữliệu Colon Tumor ban đầu với số cây bằng 100,300,500 4.3.2.2 Nhận xét Kết quả thực nghiệm 20 lần trên bộ dữliệu Colon Tumor với số cây lần lượt là 100,300,500 cũng giống như kết quả thực nghiệm với bộ dữliệu Stomach Rõ ràng so tỉ lệ đoán nhận của RF với bộ thuộctính mới cao hơn tương đối so với bộ thuộctính cũ, ước tínhtăng khoảng 10%, trung... thuật toán RF cho kết quả đoán nhận là 78%, còn RF mới cho kết quả là 89% Còn thời gian giảm đi là vì số lượng thuộctínhđã giảm xuống tương đối nhiều, cụ thể từ 2000 thuộctính ban đầu, sau khi lựa chọn bộ thuộctính mới còn là 600 thuộc tính, như vậy số thuộctínhđã giảm khoảng 70% số thuộctính ban đầu Điều đó chứng tỏ phươngpháp thực nghiệm mà luận văn đề xuất cho hiệuquả tương đối tốt KẾT LUẬN... phươngpháp trên nhiều bộ dữliệu khác nhau nhằm đánh giá độ chính xác và ổn định của phươngphápđốivới từng loại dữliệu cụ thể Tìm hiểu một số phương phápphân lớp khác như cây quyết định hoặc phươngpháp hỗ trợ véc tơ (SVM),… để thay thế thuật toán random forest khi đánh giá kết quảdự đoán Rồi tiến hành so sánh giữa các phương pháp này với nhau Qua đó, có thể đóng góp thêm một chọn lựa cho các nhà... thể đóng góp thêm một chọn lựa cho các nhà phát triển ứng dụng khi phát triển các ứng dụng liên quan đến phânlớpdữliệu References 11 Tài liệu Tiếng Việt [1] Nguyễn Hà Nam (2009), "Tối ưu hóa KPCA bằng GA để chọn các thuộctính đặc trưng nhằmtănghiệuquảphânlớp của thuật toán Random Forest", Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên và Công nghệ, số 25, tr 84-93 [2] Nguyễn Đình Thúc (2001),... Tuy nhiên phương pháp này có nhược điểm là thời gian chạy chương trình hơi lâu Nếu muốn kết quảdự đoán chính xác hơn thì việc thay đổi một số tham số còn tiêu tốn thời gian hơn nữa Để giải quyết hạn chế của phương pháp học máy được đề xuất ở trên trong thời gian tới tôi sẽ chú trọng tìm hiểu, cải tiến nhằmtăng tốc độ phânlớp của giải thuật Đồng thời, tôi cũng tiến hành thử nghiệm phương pháp trên... Huỳnh Phụng Toàn, Nguyễn Hữu Lâm, Nguyễn Minh Trung, Đỗ Thanh Nghị (2012), “Rừng ngẫu nhiên cải tiến cho phân loại dữliệu gien”, Tạp chí khoa học Đại học Cần Thơ 2012:22b 9-17, Cần Thơ [4] Nguyễn Văn Tuấn (2007), Phân tích số liệu và tạo biểu đồ bằng R-Hướng dẫn thực hành, NXB KHKT, Hà Nội Tài liệu Tiếng Anh [5] Blum, A L and Langley (1997), Selection of Relevant Features and Examples in Machine Learning,... 245-271 [6] L Breiman (2002), Manual On Setting Up, Using, And Understanding Random Forests V3.1, Available: http://oz.berkeley.edu/users/breiman/Using_random_forests_V3.1.pdf [7] L Breiman (2001), "Random Forests", Machine Learning Journal Paper, vol 45 [8] A C Leo Breiman, Random Forests, Available: http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm [9] R O Duda, P E Hart, D G Stork (2001),... Selection, AIJ special issuse on relevance [17] Huan Liu and Hiroshi Motoda (2008), Computational Methods of Feature Selection, Chapman & Hall/CRC 12 [18] F Livingston (2005), "Implementation of Breiman's Random Forest Machine Learning Algorithm", Machine Learning Journal Paper [19] Luis Carlos Molina et at (2000), Feature Selection for Algorithms: A Survey and Experimental Evaluation [20] Ha Nam Nguyen, Syng . Nghiên cứu, xây dựng phương pháp trích chọn
thuộc tính nhằm làm tăng hiệu quả phân lớp
đối với dữ liệu đa chiều
Đồng Thị Ngọc. toán phân lớp; Cơ sở dữ liệu
Content
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ TRÍCH CHỌN THUỘC
TÍNH
1.1 Giới thiệu khai phá dữ liệu và trích chọn thuộc