1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) CHUYÊN đề hệ THỐNG THÔNG TIN chủ đề học máy với weka

10 5 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chuyên Đề Hệ Thống Thông Tin Chủ Đề Học Máy Với WEKA
Tác giả Trần Đức Minh
Người hướng dẫn Dương Trần Đức
Trường học Học viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Hệ Thống Thông Tin
Thể loại Tiểu luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 10
Dung lượng 333,66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thuật toá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ự đoá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

Trang 1

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

CHUYÊN ĐỀ 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

Trang 2

I.NGHIÊN CỨU THUẬT TOÁN

1 Thuật toá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ự đoá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) Nguyên lí hoạt động

+ Thuật toá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

+ Xét bài toán : có C class từ 1 , 2,…,C và vector x ∈ D ( D là tập dữ liệu huấn luyện gồmcaonhấ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=argmax c∈{1,…,C} p(c|x) =argmax c 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

Trang 3

- 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

Nhược điểm

- 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ự đoán từ các lớp (nhãn) của k hàng xóm gần nó nhất

- Thuật toá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

Trang 4

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

- 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 toá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

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

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

Trang 5

- Dataset: https://github.com/tertiarycourses/Weka/blob/master/Weka%20datasets/tic-tac-toe.arff

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

Trang 7

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 Tỉ lệ huấn Tổng số Số mẫu Số mẫu Tỉ lệ phân Tỉ lệ phân Thời gian thử luyện/kiểm thử bản ghi phân lớp phân lớp lớp đúng lớp sai

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

Trang 8

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

Trang 9

+ 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 Tỉ lệ huấn Tổng số Số mẫu Số mẫu Tỉ lệ phân Tỉ lệ phân Thời gian thử luyện/kiểm thử bản ghi phân lớp phân lớp lớp đúng lớp sai

Trang 10

2 60/40 958 352 31 91.906% 8.049% 0.03 s

%

%

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 toá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 toá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%

Ngày đăng: 07/12/2022, 09:51

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w