Tải bản đầy đủ (.docx) (11 trang)

CHUYÊN đề hệ THỐNG THÔNG TIN chủ đề học máy với weka

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 (639.21 KB, 11 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 tố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:

c)
+


suất
+

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
Ngun 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
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

caonhất.

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


c=argmaxc∈{1,…,C} p(c|x) =argmaxc

p ( x∨c ) p( c)


( 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 :


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 :


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 tố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

tic-tac-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 :


- 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 :


download by :


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ử

1

55/45

2

65/35

3

75/25

4

85/15

5

95/5

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 :


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 :


+

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ử

1

50/50

download by :


2

3
4
5

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

Tổng kết
Thuật tốn KNN có tốc độ chậm nhưng lại cho kết quả chính xác rất cao với tập dữ liêu
huấn luyện chỉ 70% đã đạt được đọ chính xác trên 90%
Thuật tốn Naive Bayes có tốc độ rất cao nhưng lại cho kết quả chính xác thấp chỉ
khoang 70%

download by :



×