1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn hệ hỗ trợ quyết định SỬ DỤNG GIẢI THUẬT HỌC CÂY QUYẾT ĐỊNH ID3 ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN SỬ DỤNG THIẾT BỊ KẾT NỐI MẠNG

17 481 1

Đ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 17
Dung lượng 197,02 KB

Nội dung

BÀI THU HOẠCH MÔN HỆ HỖ TRỢ QUYẾT ĐỊNHĐỀ TÀI: SỬ DỤNG GIẢI THUẬT HỌC CÂY QUYẾT ĐỊNH ID3 ĐỂ XÂY DỰNG HỆ THỐNG TƯ VẤN SỬ DỤNG THIẾT BỊ KẾT NỐI MẠNG Học viên thực hiện : MSHV : CH1301081 L

Trang 1

BÀI THU HOẠCH MÔN HỆ HỖ TRỢ QUYẾT ĐỊNH

ĐỀ TÀI: SỬ DỤNG GIẢI THUẬT HỌC CÂY QUYẾT ĐỊNH ID3 ĐỂ XÂY DỰNG

HỆ THỐNG TƯ VẤN SỬ DỤNG THIẾT BỊ KẾT NỐI MẠNG

Học viên thực hiện :

MSHV : CH1301081 Lớp : CH08

Giảng viên phụ trách :

Đỗ Phúc

Trang 2

LỜI NÓI ĐẦU

Mục tiêu của đề tài là áp dụng một thuật giải học cây quyết định vào việc phát triển một ứng dụng thực tế là hệ thống tư vấn sử dụng thiết bị kết nối mạng Bố cục của báo cáo này trước hết sẽ giới thiệu cơ sở lý thuyết về cây quyết định và thuật giải xây dựng cây quyết định ID3 Sau đó là phần đánh giá nhu cầu về một ứng dụng tư vấn sử dụng thiết bị kết nối mạng Các phần sau sẽ tập trung vào thu thập bộ dữ liệu học, xử lý dữ liệu và các bước triển khai ứng dụng.

Trang 3

MỤC LỤC

I – Giới thiệu về cây quyết định và thuật giải ID3 4

1 Cây quyết định 4

2 Thuật giải ID3 4

II – Giới thiệu và phân tích yêu cầu ứng dụng 5

1/ Đặc điểm của 3G và ADSL 5

2/ Nhu cầu sử dụng của người dùng 6

III – Mô tả và thống kê cho dữ liệu thu thập được 6

1/ Mô tả dữ liệu 6

2/ Thống kê dữ liệu đã thu thập được 8

IV - Phương pháp được sử dụng để huấn luyện 9

1/ Giới thiệu thư viện WEKA 9

2/ Tiền xử lý dữ liệu 10

3/ Sử dụng thư viện WEKA vào chương trình 10

V - Kết quả thực nghiệm và đánh giá 11

VI - Hướng dẫn sử dụng chương trình 12

VII – Lời kết 16

VIII – Tài liệu tham khảo 17

Trang 4

I – Giới thiệu về cây quyết định và thuật giải ID3

1 Cây quyết định [4]

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó

Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính Quá trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại.

Các thuật giải có thể dùng để sinh ra cây quyết định thường dùng như : ID3, C4.5, C5.0

2 Thuật giải ID3

Là thuật giải dùng để sinh ra cây quyết định được phát minh bởi Ross Quinlan Thuật giải này là tiền thân của thuật giải C4.5 Thường được sử dụng trong lĩnh vực xử lý ngôn ngữ

tự nhiên và lĩnh vực khai phá dữ liệu.

Chi tiết giải thuật ID3 [5]:

Ý tưởng Xây dựng cây từ root đến lá, bằng cách trả lời:

– Thuộc tính nào là tốt nhất để được kiểm tra tại root ? – Mỗi cây con được tạo ra tương ứng mỗi nhánh là trị của thuộc tính này Quá trình lặp lại với các cây con.

Thuộc tính nào là bộ phân loại tốt nhất ?

- Dựa vào khái niệm : độ lợi thông tin - “information gain”

- Information gian: đo lường mức độ có lợi mà thuộc tính nào đó phân chia tập cá thể dựa theo khái niệm đích.

Giá trị ENTROPY:

Trang 5

Đo lường tính đồng nhất của tập huấn luyện.Với tập huấn luyện S công thức tính entropy là

ENTROPY(S) = -p+.log2(p+) – p-.log2(p-)

P+ : Tỉ lệ giữa số các thể positive trên tổng số cá thể.

P-: Tỉ lệ giữa số các thể negative trên tổng số cá thể.

Ví dụ:

– Tổng số cá thể: 14 – Trong đó có:

9 cá thể positive (thuộc vào phân loại của khái niệm đích).

5 cá thể negative (không thuộc vào phân loại của khái niệm đích).

– Hay ghi rút gọn: [9+,5-]

 Entropy([9+,5-]) = -((9/14)log2(9/14)) – ((5/14)log2(5/14)) = 0.94

II – Giới thiệu và phân tích yêu cầu ứng dụng

Hiện nay, hai loại hình kết nối Internet ở nước ta được sử dụng nhiều nhất là sử dụng mạng kết nối dây ADSL và mạng không dây 3G ADSL có lịch sử lâu đời hơn, được cung cấp bởi các ISPs (Internet Service Provider) như VNPT, FPT, Netnam … trong khi đó 3G (Third Generation) mới xuất hiện tại Việt Nam trong những năm gần đây – là bước cải tiến lớn của 2G

và tiền đề của 4G, được cung cấp bởi các công ty viễn thông như Viettel, VinaFone và

Mobiphone

Số lượng người dùng Internet tăng không ngừng, làm nảy sinh yêu cầu lựa chọn giữa 2 loại hình kết nối mạng này Đối với người dùng thông thường (không có nhiều kinh nghiệm sử dụng máy tính và hiểu biết về mạng) thì việc lựa chọn trở nên khó khăn hơn Đó chính là mục đích của đồ án này : Giúp hỗ trợ tư vấn người dùng trong việc lựa chọn loại hình kết nối mạng

ADSL hay 3G

Để đưa ra một lời khuyên chính xác, thì có 2 yếu tố cần quan tâm :

1/ Đặc điểm của 3G và ADSL

Trang 6

3G ADSL

- 3G là mạng không dây nên rất tiện lợi

- 3G đã bỏ gói cước trọn gói, vì vậy việc

sử dụng để tải dữ liệu dung lượng lớn là

rất tốn kém, chỉ thích hợp cho việc

duyệt mail, đọc báo, và tài liệu nhỏ

- ADSL cung cấp cả gói cước theo lưu lượng rẻ hơn 3G và cả trọn gói nữa

- 3G sóng vẫn còn khá yếu ở những khu

vực không phải thành thị : miền núi,

nông thôn, duyên hải … thường xuyên

rớt mạng Ở thành thị tốc độ tốt hơn,

nhưng vẫn có những khoảng thời gian

mạng không ổn định Trong tương lai

điều này sẽ được cải thiện khi các nhà

mạng triển khai thêm trạm thu phát

sóng.

- ADSL đảm bảo đường truyền hơn 3G rất nhiều, nhược điểm duy nhất là đường dây có vấn đề thì mạng không thể truy cập được Hư hỏng thường mang tính cục bộ (ảnh hưởng đến từng khu vực)

2/ Nhu cầu sử dụng của người dùng

Nhu cầu sử dụng của người dùng chủ yếu tập trung vào việc người đó ở đâu, có hay

di chuyển không và lưu lượng sử dụng Internet ít hay nhiều Từ đó có thể suy ra một số

thông tin cần nắm về người dùng ảnh hưởng đến việc tư vấn như sau :

- Nơi ở : phụ thuộc sóng 3G mạnh hay yếu

- Chỗ ở : Nếu ở nhà riêng thì việc thuê hợp đồng với mạng có dây là dễ dàng hơn nhiều

- Loại máy tính : Laptop thích hợp với 3G hơn Desktop vì tính lưu động

- Mục đích chính để sử dụng : dùng để phân loại theo lưu lượng

- Điều kiện tài chính, giá thành 1 USB 3G khoảng vài trăm ngàn (khi hạ giá có thể xuống

khoảng 350 ngàn/USB) – không hề đắt Dựa vào đó mà lời khuyên tốt nhất thường là

dùng cả 2 loại kết nối mạng

III – Mô tả và thống kê cho dữ liệu thu thập được

1/ Mô tả dữ liệu

Gồm các trường khảo sát sau và các tùy chọn cho từng trường:

1 Họ và Tên

2 Số điện thoại hoặc email

3 Độ tuổi

4 Nghề nghiệp

5 Nơi bạn sinh sống:

a Thành thị

Trang 7

b Nông thôn

c Miền núi

d Trung du

e Ven biển

f Hải đảo

6 Nơi bạn ở :

a Nhà riêng

b Phòng trọ tập thể

c Nhà người quen, họ hàng

7 Loại máy tính bạn đang sử dụng

a Máy bàn (Desktop)

b Máy xách tay (Laptop)

c Chưa có máy tính

8 Hiện bạn kết nối Internet bằng

a ADSL

b USB 3G

c Cả hai

d Chưa kết nối Internet tại nhà

9 Mục đích chính bạn dùng Internet để

a Học tập, làm việc (gửi mail, đọc tài liệu, )

b Giải trí (đọc báo, nghe nhạc, xem phim )

10 Bạn sẵn sàng dành ra bao nhiêu tiền 1 tháng cho Internet

a 100 ngàn trở xuống

b Từ 100 ngàn – 200 ngàn

c Trên 200 ngàn

11 Bạn có cần dùng Internet trong lúc di chuyển không

a Có

b Không

c Có, nhưng nơi tôi đến đã có sẵn Internet

12 Theo bạn, loại kết nối Internet nào sẽ phù hợp với bạn nhất

1 3G

2 ADSL

3 Cả hai

Trong đó các thuộc tính như Họ và tên, độ tuổi, nghề nghiệp, số điện thoại hay email không bắt buộc phải điền vì không ảnh hưởng đến mục đích khảo sát Đồng thời không giúp người dùng cảm thấy thoải mái hơn khi không phải nhập các thông tin cá nhân

Thuộc tính nơi bạn sinh sống chủ yếu phân thành 2 nhóm là gần thành thị và xa thành thị, bởi tốc

độ của 3G phụ thuộc nhiều vào các trạm thu phát của các mạng điện thoại

Trang 8

Thuộc tính nơi ở, ADSL cần hợp đồng với địa chỉ nhà cụ thể, do đó việc ở nhà riêng sẽ thuận lợi hơn trong khi 3G chiếm ưu thế lúc nơi ở không cố định

Loại máy tính đang sử dụng cũng ảnh hướng đến việc lựa chọn dịch vụ mạng, bởi vì người dùng Laptop thường có xu hướng di chuyển nhiều, nên phù hợp với 3G hơn

Sự khác nhau giữa 2 thuộc tính “Bạn kết nối Internet bằng ” và “Theo bạn, loại kết nối

Internet nào sẽ phù hợp với bạn nhất đây là thuộc tính phân loại bộ dữ liệu thể hiện xu

hướng của người sử dụng khi muốn thay đổi cách thức kết nối Internet Mục đích sử dụng Internet chỉ được chia ra làm 2 loại là ít tải dữ liệu và tải dữ liệu nhiều, về mặt này 3G hoàn toàn thua kém ADSL (với các loại hình trọn gói hoặc trả theo dung lượng rất linh động)

Nhu cầu sử dụng Internet trong lúc di chuyển thể hiện ưu thế của mạng không dây 3G

2/ Thống kê dữ liệu đã thu thập được

Nhóm đã thu thập được 539 mẫu dữ liệu Các bảng sau là thống lê chi tiết từng trường dữ liệu chính dùng trong hệ thống:

Khu vực sống:

Loại hình máy tính sử dụng:

Loại hình Internet đang sử dụng:

Mục đích sử dụng:

Trang 9

Có di chuyển:

Nơi ở:

Số tiền sẽ chi trả mong muốn:

Loại hình Internet phù hợp nhất:

IV - Phương pháp được sử dụng để huấn luyện

1/ Giới thiệu thư viện WEKA

Bộ thư viện mã nguồn mở WEKA được phát triển bởi nhóm Meachine Leraning của trường đại học Waikto phát triển bằng ngôn ngữ Java WEKA xây dựng sẵn các thuật giải học thông dụng trong máy học để phục vụ trong lĩnh vực máy học Ngoài ra WEKA còn cung cấp các bộ công cụ để phục vụ cho các tác vụ khai thác dữ liệu như tiền xử lý dữ liệu, phân lớp

dữ liệu, phân nhóm và khai thác luật kết hợp trên dữ liệu Chúng ta có thể sử dụng WEKA trực tiếp bằng giao diện trực quan người dùng hoặc sử dụng trong Java code thuận lợi cho phát triển các dụng.

Trang 10

Có thể tải WEKA trực tiếp tại trang: http://www.cs.waikato.ac.nz/ml/weka/

2/ Tiền xử lý dữ liệu

Dữ liệu sau khi thu thập được sẽ qua bước tiền xử lý, các thuộc tính không dùng trong mô hình học sẽ loại bỏ và không ẳn hưởng đến kết quả phân lớp dữ liệu:

Họ và tên, độ tuổi, nghề nghiệp, số điện thoại hay email

Các thuộc tính còn lại sẽ được sử dụng trong mô hình là : Khu vực sống, Loại máy tính,

Internet đang sử dụng, mục đích sử dụng, có di chuyển hay không, nơi ở, số tiền sẽ chi trả, loại hình Internet phù hợp Do dữ liệu trong các thuộc tính này đều ở dạng rời rạc hóa nên

chúng ta không cần phải rời rạc hóa trong bước tiền xử lý dữ liệu này.

Đến đây thì dữ liệu đã hoàn thành, có thể bắt đầu cho việc training dữ liệu Dữ liệu sẽ

được lưu trong file train.arff

3/ Sử dụng thư viện WEKA vào chương trình

Em xây dựng chương trình sử dụng mô hình học bằng cây quyết định với thuật giải ID3 đề xây dựng cây quyết định sử dụng bộ thư viện WEKA Thư viện này đã xây dựng sẵn

thuật giải ID3 trong gói weka.classifiers.trees Chúng ta có thể sử dụng trực tiếp lớp ID3 hoặc thông qua lớp FilteredClassifier chứa trong gói weka.classifiers.meta để xây dựng cây Em sẽ

sử dụng cách phân lớp thông qua lớp FilteredClassifier.

Đầu tiên đối tượng của lớp FilteredClassifier sẽ cài đặt sử dụng thuật toán ID3 thông qua lớp ID3(code trích từ lớp decision.tree.DecisionTree).

ID3 id3 = new Id3();

Phương thức buildClassifier dùng để training dữ liệu từ tập dữ liệu đã được load lên từ file train.arff sau khi kết thúc hàm này chương trình đã thu thập được các luật từ bộ dữ liệu.

Exception{

Trang 11

//………

}

Từ dữ liệu người dùng nhập vào chúng ta sử dụng phương thức classifierInstance để áp

dụng các luật đã tìm được ở trên từ đó đạt được lời khuyên sử dụng loại hình Internet nào.

Exception {

}

Giá trị trả về của phương thức này là một số thực :

+ 1.0: Lời khuyên là nên dùng DCOM 3G.

+ 2.0: Lời khuyên là nên sử dụng ADSL.

+ 0.0: Lời khuyên là ADSL và DCOM 3G đều phù hợp với người dùng.

V - Kết quả thực nghiệm và đánh giá

Chúng ta sẽ sữ dụng WEKA để đánh giá, tiến hành chia dữ liệu như sau:

Tập dữ liệu học D_Train chiếm 66% ~ 355/539 mẫu dữ liệu Tập dữ liệu test D_Test chiếm 34% ~ 184/539 mẫu dữ liệu

Kết quả đánh giá:

Chính xác khoảng 85.2% ~ 156/184 mẫu dữ liệu test

Không chính xác khoảng 14,8% ~ 28/184 mẫu dữ liệu test

Độ chính xác của hệ thống sau khi test là 85.2% Do bộ dữ liệu thu thập còn chưa nhiều(hiện thu thập được 539 bộ dữ liệu) nên kết quả chưa thực sự cao, do đó để nâng cao độ chính xác thì cần thu thập thêm nhiều dữ liệu nữa.

Trang 12

VI - Hướng dẫn sử dụng chương trình

Để khởi động chương trình tìm file thực thi trong đường dẫn \tuvan_bin\Launcher.bat để

thực thi trên máy tính đã cài sẵn Java Runtime.

Sau khi khởi động xong, để bắt đầu truy vấn người dùng điền vào thông tin cá nhân và chọn “Tư vấn” để nhận được lời khuyên về loại hình sử dụng mạng Internet.

Đối với dữ liệu đầu vào phù hợp với cả 2 phân lớp 3G và ADSL, chương trình sẽ xuất ra thông báo “3G và ADSL đều phù hợp với bạn”:

Trang 14

Trường hợp chương trình đưa ra tư vấn sử dụng 3G:

Và lời tư vấn cho việc sử dụng ADSL:

Trang 16

VII – Lời kết

Ứng dụng đã cơ bản giải quyết được bài toán đưa ra tư vấn để giúp người dùng chọn loại thiết bị kết nối mạng phù hợp với mình Tuy nhiên trong một số trường hợp chương trình có thề đưa ra một kết quả không phù hợp, nguyên nhân chính là do bộ dữ liệu học còn quá ít và chưa đa dạng Do để tăng khả năng tư vấn chính xác cho chương trình, cần thu thập nhiều dữ liệu hơn nữa.

VIII – Tài liệu tham khảo

Tài liệu tiếng anh

Trang 17

[1] Wikipedia, ID3 algorithm

[3] Weka Wiki, http://weka.wikispaces.com

Tài liệu tiếng Việt

[4] Wikipedia , cây quyết định.

[5] Nguyễn Thị Trúc Viên, Chương 11 Học máy

Ngày đăng: 21/05/2015, 08:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w