Tải bản đầy đủ (.pdf) (10 trang)

Chuyên Đề Hệ Thống Thông Tin Chủ Đề Học Máy Với Weka.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (365.6 KB, 10 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

CHUN ĐỀ HỆ THỐNG THÔNG TIN
Chủ đề: Học máy với WeKa
Họ và tên: Trần Đức Minh
Mã Sinh Viên: B18DCCN412
Mã nhóm:  02
Giảng viên : Dương Trần Đức

download by :


I.NGHIÊN CỨU THUẬT TỐN
1. Thuật tốn Navie Bayes
a) Giới thiệu thuật toán:
+ Naive Bayes là  một giải thuật thuộc lớp giải thuật thống kê, nó có thể dự đốn xác suất
của một phần tử dữ liệu thuộc vào một lớp là bao nhiêu , được dựa trên định lý Bayes
+ Naive Bayes là một thuật toán phân loại cho các vấn đề phân loại nhị phân (hai lớp) và
đa lớp
b) Định lí Bayes
+ Định lý Bayes tìm xác suất của một sự kiện xảy ra với xác suất của một sự kiện khác đã
xảy ra

Với:
1. P(A|B) là xác suất của A khi biết B
2. P(A) là xác suất xảy ra của A
3. P(B|A) là xác suất của B khi biết A
4. P(B) là xác suất xảy ra của B
c) Nguyên lí hoạt động
+ Thuật tốn Naive Bayes tính xác suất cho các yếu tố, sau đó chọn kết quả với xác suất
cao nhất.


+ Xét bài tốn : có C class từ 1 , 2,…,C và vector x ∈ D ( D là tập dữ liệu huấn luyện gồm
nhiều vector x )
 xác suất để đầu ra là class c biết rằng đầu vào là vector x : p(c|x)
 từ biểu thức tính xác xuất trên ta có thể xác định được class bằng cách chọn
ra class có xác xuất cao nhất
p (x∨c ) p(c)
 c=argmaxc∈{1,…,C} p(c|x) =argmaxc
( bayes)
p ( x)
rút gọn c = argmaxc p(x|c)p(c) (vì c k phụ thuộc vào p(x))
 p(c)  là xác suất để một điểm rơi vào class c , giá trị này được tính bằng tỉ lệ
số điểm dữ liệu trong tập training rơi vào class này chia cho tổng số lượng dữ
liệu trong tập training
  p(x|c) phân phối của các điểm dữ liệu trong class c . giả sử một cách đơn
giản nhất rằng các thành phần của biến ngẫu nhiên x là độc lập với nhau

`
d) Ưu điểm và nhược điểm



Ưu điểm

download by :


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka




Dễ sử dụng và nhanh khi cần dự đoán nhãn của dữ liệu test
Có thể hoạt động với các vectơ đặc trưng mà một phần là liên tục ,phần
còn lại ở dạng rời rạc
Huấn luyện mơ hình nhanh và dễ dàng

Nhược điểm
- Độ chính xác khơng cao
- Trong thế giới thực, hầu như bất khả thi khi các đặc trưng của dữ liệu là
độc lập với nhau

2.KNN
a. Giới thiệu thuật toán
- K-nearest neighbor là một trong những thuật toán supervised-learning đơn
giản nhất trong Machine Learning
- KNN hoạt động với nguyên lý tương tự. Giá trị của một điểm dữ liệu được
xác định bởi các điểm dữ liệu xung quanh nó.
- Thường được dùng trong các bài toán phân loại và hồi quy.
- Lớp (nhãn) của một đối tượng dữ liệu mới có thể dự đốn từ các lớp (nhãn)
của k hàng xóm gần nó nhất.
b. Ý tưởng KNN
- Thuật tốn KNN cho rằng những dữ liệu tương tự nhau sẽ tồn tại gần
-

nhau trong một không gian, nên chúng ta là sẽ tìm k điểm gần với dữ liệu
cần kiểm tra nhất.

Để xác định các điểm dữ liệu là gần nhau ta cần đo khoảng cách giữa chúng
có 3 phương pháp do khoảng cách
+ Euclidean


+ Manhattan

+ Minkowski

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

c. Các bước thực hiện
1. Ta có D là tập các điểm dữ liệu đã được gắn nhãn và A là dữ liệu chưa được
phân loại.
2. Đo khoảng cách (Euclidian, Manhattan, Minkowski, Minkowski hoặc Trọng
số) từ dữ liệu mới A đến tất cả các dữ liệu khác đã được phân loại trong D.
3. Chọn K (K là tham số mà bạn định nghĩa) khoảng cách nhỏ nhất.
4. Kiểm tra danh sách các lớp có khoảng cách ngắn nhất và đếm số lượng của
mỗi lớp xuất hiện.
5. Lấy đúng lớp (lớp xuất hiện nhiều lần nhất).
6. Lớp của dữ liệu mới là lớp mà bạn đã nhận được ở bước 5.
d. Ưu điểm và nhược điểm
 Ưu điểm
- Thuật toán đơn giản, dễ dàng triển khai
- Độ phức tạp tính tốn nhỏ.
- Xử lý tốt với tập dữ liệu nhiễu
 Nhược điểm
- Với K nhỏ dễ gặp nhiễu dẫn tới kết quả đưa ra khơng chính xác
- Cần nhiều thời gian để thực hiện do phải tính tốn khoảng cách với
tất cả các đối tượng trong tập dữ liệu.
- Cần chuyển đổi kiểu dữ liệu thành các yếu tố định tính


II. Bài toán và tập dữ liệu cụ thể
1. Lựa chọn bài toán
- Bài toán : dự đoán khả năng chiến thắng của người chơi sử dụng x trong trò chơi tictac-toe
o Tic-tac-toe là một trò chơi phổ biến dùng viết trên bàn cờ giấy có chín ơ, 3x3.
Hai người chơi, người dùng ký hiệu O, người kia dùng ký hiệu X, lần lượt điền
ký hiệu của mình vào các ơ. Người thắng là người thể tạo được đầu tiên một
dãy ba ký hiệu của mình, ngang dọc hay chéo đều được

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

- Dataset: />
2. Mô tả tập dữ liệu

 Tập dữ liệu gồm 958 trường hợp kết thúc trò chơi với chiến thắng
 Tập dữ liệu có 9 thuộc tính tương ứng với 9 ô vuông

 top-left-square : ô trên cùng bên trái , {b,o,x}
 top-middle-square:ô trên cùng ở giữa , {b,o,x}
 top-right-square : ô trên cùng bên phải , {b,o,x}
 middle-left-square : ô ở giữa bên trái , {b,o,x}
 middle-middle-square : ơ chính giữa , {b,o,x}
 middle-right-square : ơ ở giữa bên phải , {b,o,x}
 bottom-left-square : ô ở dưới bên trái , {b,o,x}
 bottom-middle-square : ô dưới cùng ở giữa , {b,o,x}
 bottom-right-square : ô dưới cùng bên phải , {b,o,x}

 Class : Lớp định , {negative,positive}
 Thông tin thuộc tính
o b : ơ này trống
o x : người chơi x đã sử dụng ô này
o o : người chơi o đã sử dụng ơ này
3. Chuẩn hóa dữ liệu : dữ liệu được down dưới dạng chuẩn weka

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

III. Sử dụng weka để tiến hành thực nghiệm
1. Thuật toán Naive Bayes
Tiến hành thực nghiệm 5 lần với tỷ lệ tham số tập huấn luyện như sau :






L1 : Sử dụng phân lớp Naive Bayes trên tập dữ liệu với tỷ lệ huấn luyện 55%
L2 : Sử dụng phân lớp Naive Bayes trên tập dữ liệu với tỷ lệ huấn luyện 66%

L3 : Sử dụng phân lớp Naive Bayes trên tập dữ liệu với tỷ lệ huấn luyện 70%
L4 : Sử dụng phân lớp Naive Bayes trên tập dữ liệu tỷ lệ huấn luyện 85%
L5 : Sử dụng phân lớp Naive Bayes trên tập dữ liệu tỷ lệ huấn luyện 90%

Lần
thử

Tỉ lệ huấn
luyện/kiểm thử

Tổng số
bản ghi
958

Số mẫu
phân lớp
đúng
302

Số mẫu
phân lớp
sai
129

1

55/45

2


65/35

958

239

96

3

75/25

958

166

73

4

85/15

958

102

42

5


95/5

958

32

16



Tỉ lệ phân Tỉ lệ phân Thời gian
lớp đúng lớp sai
70.0696
%
71.3433
%
69.4561
%
70.8333
%
66.6667
%

29.9304
%
28.6567
%
30.5439
%
29.1667

%
33.3334
%

0.01 s
0s
0s
0s
0s

Từ các lần chạy thực nghiệm đã thực hiện, ta thấy lần chạy L2 đạt hiệu quả cao nhất với
tỷ lệ phân lớp đúng 71,3433 %. Như vậy chạy thực nghiệm dữ liệu với tỷ lệ huấn luyện
65% của Naive Bayes là lựa chọn phù hợp nhất.

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

2. Thuật toán KNN
+ Tiến hành thực nghiệm với số K láng riêng là 10 và cách tính khoảng cách là
Euclidean

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka


+ Tiến hành thực nghiệm 5 lần với tỉ lệ huấn luyện như sau






L1 : tập dữ liệu với tỷ lệ huấn luyện 50%
L2 : tập dữ liệu với tỷ lệ huấn luyện 60%
L3 : tập dữ liệu với tỷ lệ huấn luyện 70%
L4 : tập dữ liệu với tỷ lệ huấn luyện 80%
L5 : tập dữ liệu với tỷ lệ huấn luyện 90%

Lần
thử

Tỉ lệ huấn
luyện/kiểm thử

Tổng số
bản ghi

1

50/50

958

Số mẫu
phân lớp

đúng
411

Số mẫu
phân lớp
sai
168

Tỉ lệ phân Tỉ lệ phân Thời gian
lớp đúng lớp sai
85.8038
%

14.1962
%

download by :
chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

0.18 s


chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka

chuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.wekachuyen.de.he.thong.thong.tin.chu.de.hoc.may.voi.weka



×