Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Naive Bayes and Decision Tree Algorithms in Machine Learning, Schemes and Mind Maps of Machine Learning

The naive bayes and decision tree algorithms, which are commonly used in machine learning for classification tasks. The decision tree algorithm uses a tree structure to make decisions based on feature values, while the naive bayes algorithm uses bayes' theorem and makes the assumption that features are independent. The document also covers the concepts of entropy, information gain, and overfitting.

Typology: Schemes and Mind Maps

2022/2023

Uploaded on 01/17/2024

12-vu-van-chinh
12-vu-van-chinh 🇻🇳

2 documents

1 / 32

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
TRƯỜNG ĐẠI HỌC THỦY LỢI
KHOA CÔNG NGHỆ THÔNG TIN
-----🙞🙜🕮🙞🙜-----
BÁO CÁO BÀI TẬP LỚN
Môn học: Học máy (Machine learning)
Đề tài: Đề số 19
Giáo viên hướng dẫn: Nguyễn Quang Hoan
Nhóm sinh viên thực hiện: Nhóm 13
Thành viên nhóm: Nguyễn Xuân Tùng Anh
Trần Hiếu
Vũ Văn Chính
Ngô Anh Quý
Nguyễn Văn Mạnh
Hà Nội, ngày 14 tháng 01 năm 2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Partial preview of the text

Download Naive Bayes and Decision Tree Algorithms in Machine Learning and more Schemes and Mind Maps Machine Learning in PDF only on Docsity!

TRƯỜNG ĐẠI HỌC THỦY LỢI
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN

Môn học: Học máy (Machine learning)

Đề tài: Đề số 19

Giáo viên hướng dẫn: Nguyễn Quang Hoan

Nhóm sinh viên thực hiện: Nhóm 13

Thành viên nhóm: Nguyễn Xuân Tùng Anh

Trần Hiếu

Vũ Văn Chính

Ngô Anh Quý

Nguyễn Văn Mạnh

Hà Nội, ngày 14 tháng 01 năm 2024

MỤC LỤC

  • Phần 1: Tổng quan..................................................................................................
    • 1.1 Giới thiệu về học máy.....................................................................................
    • 1.2. Phương pháp học máy...................................................................................
      • 1.2.1 Thuật toán Decision Tree........................................................................
        1. 2 .2. Thuật toán Bayes.....................................................................................
  • Phần 2. Thực nghiệm.............................................................................................
    • Câu 1.....................................................................................................................
    • Câu 2.....................................................................................................................
    • Câu
  • Phần 3: Kết luận.................................................................................................... - Tài liệu tham khảo...........................................................................................

Phần 1: Tổng quan

1.1 Giới thiệu về học máy

  • Lịch sử và vai trò của machine learning:
  • Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụ thể

hơn là Machine Learning (Học Máy hoặc Máy Học) nổi lên như một bằng chứng

của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng

điện, 3 - công nghệ thông tin). Trí Tuệ Nhân Tạo đang len lỏi vào mọi lĩnh vực

trong đời sống mà có thể chúng ta không nhận ra. Xe tự hành của Google và Tesla,

hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple, hệ

thống gợi ý sản phẩm của Amazon,...

  • Machine Learning là một tập con của AI,là một lĩnh vực nhỏ của Khoa Học Máy

Tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được

lập trình cụ thể.

  • Những năm gần đây, khi mà khả năng tính toán của các máy tính được nâng lên

một tầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ

lớn, Machine Learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời

gọi là Deep Learning. Nó đã giúp máy tính thực thi những việc tưởng chừng như

không thể như phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú

thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con

người.

  • Ưu điểm của Học có giám sát và không giám sát:
  • Học có giám sát: Supervised learning là thuật toán dự đoán đầu ra (outcome) của

một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước.

Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn). Supervised

learning là nhóm phổ biến nhất trong các thuật toán Machine Learning. Chúng học

thông qua một bộ dữ liệu đã được gán nhãn chính xác và cố gắng đưa ra các dự

đoán đầu ra mục tiêu chính xác nhất có thể trên bộ dữ liệu cho trước.

  • Học không giám sát: Thuật toán unsupervised learning sẽ dựa vào cấu trúc của

dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc

giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và

tính toán

  • Hạn chế của học có giám sát và không giám sát: Có một phương pháp học rơi vào

giữa 2 phương pháp này là học bán giám sát (semi-supervised learning) khi dữ liệu

học chỉ có một phần nhỏ là có đầy đủ cặp đầu vào - đầu ra tương ứng và phần dữ

liệu còn lại chỉ có đầu vào. Phương pháp này phù hợp trong trường hợp việc gắn

đầu ra cho từng đầu vào là không khả thi hoặc tốn rất nhiều tài nguyên và việc sử

dụng dữ liệu không được gắn đầu ra sẽ hiệu quả hơn.

  • Học không giám sát: chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu

đầu vào. Giống như khi ta học, không có thầy cô giáo nào chỉ cho ta biết đó là chữ

A hay chữ B. Cụm không giám sát được đặt tên theo nghĩa này. Các dữ liệu không

được "hướng dẫn" trước như trong trường hợp học có giám sát.

1.2. Phương pháp học máy

1.2.1 Thuật toán Decision Tree

- Mục đích của phương pháp: là phân loại dữ liệu. Phương pháp này sử dụng một

cây quyết định để phân loại dữ liệu. Cây quyết định là một cấu trúc dữ liệu phân

cấp, trong đó mỗi nút đại diện cho một câu hỏi hoặc tiêu chí. Các nút con của một

nút đại diện cho các kết quả có thể của câu hỏi hoặc tiêu chí đó.

- Input: tập dữ liệu huấn luyện - Output: là một cây quyết định. Cây quyết định có thể được sử dụng để phân loại

các mẫu dữ liệu mới bằng cách duyệt qua cây và trả về nhãn mục tiêu của nút lá

mà mẫu dữ liệu kết thúc.

  • Tính toán theo độ lộn xộn dùng Entropy

trong đó:

n j

: số mẫu nhánh có đặc trưng A i

( ví dụ đặc trưng A 1

:màu tóc;…) n t

: số tổng số

mẫu quan sát (n t

=8 trong ví dụ)

n ic

: số mẫu nhánh cây thứ i với giá trị đầu ra c (c=1:Rám; c=2)

  • Một số chỉ số thông dụng được dùng để đánh giá một giải thuật máy học. Giả sử

để đánh giá một bộ phân loại hai lớp tạm gọi là dương và âm:

 Số đúng dương (TP- True Positive): số phần tử dương thực tế được phân loại

đúng dương.

 Số sai âm (FN- False Negative): số phần tử dương thực tế được phân loại sai

sang âm.

 Số đúng âm (TN- True Negative): số phần tử âm thực tế được phân loại đúng

Để xem xét đầy đủ hơn ta có bảng các tiêu chí sau đây, kềm với các thuật ngữ phân

loại sai số.

Điều kiện dương (P): Số lượng các trường hợp thực sự tích cực trong dữ liệu Điều

kiện phủ định (N): Số lượng các trường hợp tiêu cực thực sự trong dữ liệu True

positive (TP): sự chính xác

Âm tính thực (TN):sự từ chối chính xác Dương tính giả (FP): báo động giả, lỗi loại

I Sai âm tính (FN): Lỗi, loại II lỗi

tỷ lệ thực dương (TPR) còn được gọi là Độ nhạy (sensitivity), thu hồi (recall), tỷ lệ

đạt

Cụ thể hoặc tỷ lệ tiêu cực thực sự (TNR)

Giá trị tiên đoán chính xác hoặc tích cực (PPV)

Giá trị tiên đoán âm (NPV)

Tỷ lệ bỏ lỡ hoặc tỷ lệ sai âm (FNR)

Rơi ra hoặc tỷ lệ dương tính giả (FPR)

Tỷ lệ khám phá sai (FDR)

Tỷ lệ bỏ sót sai (FOR)

Độ chính xác (ACC)

Điểm số F1: Là trung bình hài hòa cảu độ chính xác và độ nhạy

Hệ số tương quan Matthews (MCC)

kiện rời rạc hay sự kiện nhận giá trị logic (1 hoặc 0).

P(A=true)=1; P(A=false) = 0.

Sự kiện A có thể nhận một trong hai giá trị true (đúng) và false (sai). Ví dụ, cho A

là mệnh đề hay sự kiện “Ngày có (True) đi chơi Tennis” có thể nhận giá trị đúng

(hoặc 1) hoặc mệnh đề hay sự kiện “Ngày không (False) đi chơi Tennis” có thể

nhận giá trị sai (hoặc 0).

P(AvB)=P(A)+P(B)–P(A∧B)

Có thể minh họa tiên đề thứ 3 bằng biểu đồ Venn, với giả sử tập các sự kiện A và

B

giao nhau

Một cách tổng quát cho tiên đề 3, khi có nhiều sự kiện ngẫu nhiên X i

; i=1..n là sự

kiện ngẫu nhiên không giao nhau:

Ghi chú: Trường hợp sự kiện A và B không giao nhau: P(AvB)=P(A)+P(B)

  • Các tính chất xác suất

Ngoài các tiên đề trên, xác suất có một số tính chất quan trọng sau

1)P(¬A)=1–P(A)
2)P(A)=P(A ^ B)+P(A ^ ¬B)

B nhận giá trị nhị phân.

a

P(A=a) = 1

trong đó, tổng lấy theo các giá trị a thuộc miền giá trị của A.

- Xác suất có điều kiện

Xác suất có điều kiện hay xác xuất Bayes. Ký hiệu P(A|B). Trong công thức P(A|

B);

o biến (hay sự kiện) A được gọi là biến hỏi;

o biến (hay sự kiện) B được gọi là biến điều kiện, hay bằng chứng.

  • Định nghĩa

Xác suất có điều kiện, ký hiệu là P(A|B) là xác suất xẩy ra cả sự kiện A và cả sự

kiện B đồng thời xảy ra, hay chung nhau (tức là: P(A∧B) hay tương đương với

P(A, B) khi sự kiện B (hay biến cố B đã xảy ra). Dễ dàng mô tả hay biểu diễn P(A|

B) như sau:

Từ đó, dẫn tới công thức toán học, mô tả xác suất điều kiện theo định nghĩa như

sau:

P(A|B) = P(A∧B)/P(B)

Quá trình suy diễn theo Bayes là quá trình tính xác suất điều kiện của kết luận khi

biết bằng chứng ( bằng chứng có thể ký hiệu là E : ( E vidence). Cụ thể, khi biết các

bằng

chứng E

1

, …, E

n

, suy diễn xác suất được thực hiện bằng cách tính xác suất

điều kiện P(Q|E 1

, …, E

n

), tức là niềm tin kết luận Q ( Q uery) đúng khi có các bằng

chứng E 1

, …, E

n

b. Định lý hay quy tắc Bayes

Chứng minh:

Theo định nghĩa: P(A|B) = P(A∧B)/P(B) hay 𝑃(𝐴 ∧ 𝐵) =

Tương tự, ta có: 𝑃(𝐵 ∧ 𝐴) =

¬V

0.05 0.

Biểu đồ trên là một biểu diễn hình vẽ của mạng Bayes cho ví dụ về loại virus gây

hậu quả mất file (F), máy chạy chậm (C), và máy tự khởi động lại (R), được biểu

diễn bằng biến ngẫu nhiên V.

  • Biến ngẫu nhiên:

V: Loại virus (có nhiễm virus hoặc không nhiễm virus)

F: Mất file (có mất file hoặc không mất file)

C: Máy chạy chậm (có máy chạy chậm hoặc không máy chạy chậm)

R: Máy tự khởi động lại (có máy tự khởi động lại hoặc không máy tự khởi động

lại)

  • Mũi tên (Mối quan hệ):

Mũi tên từ V trỏ đến F, C và R, thể hiện rằng trạng thái của virus (V) có ảnh hưởng

đến việc máy bị mất file (F), chạy chậm (C), và tự khởi động lại (R).

  • Xác suất:

P(F|V=0) = 0.05: Xác suất mất file khi không nhiễm virus

P(F|V=1) = 0.7: Xác suất mất file khi nhiễm virus

P(C|V=0) = 0.2: Xác suất máy chạy chậm khi không nhiễm virus

P(C|V=1) = 0.6: Xác suất máy chạy chậm khi nhiễm virus

P(R|V=0) = 0.05: Xác suất máy tự khởi động lại khi không nhiễm virus

P(R|V=1) = 0.4: Xác suất máy tự khởi động lại khi nhiễm virus

  • Bảng xác suất điều kiện:
P(F|V) = 0.7 P(C|V) = 0.6 P(R|V) = 0.
P(F|¬V) = 0.05 P(C|¬V) = 0.2 P(R|¬V) = 0.
P(V) = 0.25 P(¬V) = 0.

b) Một máy tính phòng thực hành chạy chậm. Tính xác suất máy đó nhiễm virus.

  • Để tính xác suất máy tính phòng thực hành chạy chậm nhiễm virus, chúng ta sử

dụng công thức Bayes: P(V∣C) =

P ( CV ). P ( V )

P ( C )

Ta có P(V|C) + P (

¬VC ) = 1

P ( CV ). P ( V )

P ( C )

P ( C¬V ). P ( ¬V )

P ( C )

0,6.0,

P ( C )

0,2.0,

P ( C )

P ( C ) = 0,

 P ( V ∣ C ) =

0,6.0,

Vậy xác suất máy tính phòng thực hành chạy chậm nhiễm virus là 0.5.

c) Một máy tính vừa bị mất file vừa chạy chậm. Tính xác suất máy đó nhiễm virus.

- Để tính xác suất máy tính vừa bị mất file vừa chạy chậm nhiễm virus, sử dụng

công thức Bayes:

- P ( V ∣ F , C ) =

P ( F , CV ). P ( V )

P ( F , C )

P ( FC , V ). P ( CV ). P ( V )

P ( F , C )

P ( FC , V ). P ( CV ). P ( V )

P ( FC ). P ( C )

P ( FV ). P ( CV ). P ( V )

P ( F ). P ( C )

0,7.0,6 .0,

P ( F ). P ( C )

Ta có P(V|F,C) + P(

¬VF , C ) = 1

0,7.0,6 .0,

P ( F ). P ( C )

P ( F ,C ) ¬V ¿. P ( ¬V )

¿

P ( F ,C )

P ( F , C )

P ( F¬V ). P ( C¬V ). P ( ¬V )

P ( F , C )¿

¿

= 1

0,

P ( F , C )

0,05.0,2.0,

P ( F , C ) ¿

¿

= 1

P ( F ,C ) = 0,

 P ( V ∣ F , C ) =

P ( F , CV ). P ( V )

P ( F , C )

0,42_._ 0,

0,

0,

Vậy xác suất máy tính vừa bị mất file vừa chạy chậm khi nhiễm virus là khoảng

0,933(hoặc 93,3%)

Câu 2: Sử dụng thuật toán ILA để phân lớp. Đối tượng và dữ liệu tự chọn

  • Cho cơ sở dữ liệu

{Chiều cao}: Trung bình:0 ,Thấp:

{Giới tính}:nam:

Chọn thấp : 1 (vì có chỉ số lớn nhất )

Dòng 2 được đánh dấu :Chiều Cao = “Thấp”->Châu Á

Ta rút được L1 :” Nếu chiều cao là Thấp” thì Châu Á.

Tổ hợp 2 trong 3 thuộc tính {Dáng, Chiều cao, Giới tính}

{Dáng, Chiều Cao}: {to, trung bình}:0 , {nhỏ, trung bình}:

{Dáng, Giới tính}: {to, nam}:0 , {nhỏ, nam}:

{Chiều cao, giới tính }: {trung bình , nam}:

Chọn {trung bình ,nam}

Dòng 1, 3 được đánh dấu .Chiều cao =”Trung Bình” và giới tính = “Nam”

Ta rút được L2 :”Nếu chiều cao là Trung bình và giới tính là Nam” thì Châu Á.

  • Xét bảng con 2: Nhóm Châu Âu

Tổ hợp 1 trong 3 thuộc tính {Dáng, Chiều cao, Giới tính}

{Dáng}: to:0, nhỏ:

{Chiều cao}: cao:3, trung binh:

{Giới tính}: nam:0 , nữ:

Chọn cao: 3 (vì có chỉ số lớn nhất )

Dòng 4, 6, 7 được đánh dấu: Chiều Cao = “cao” ->Châu Âu

Ta rút được luật L3: “Nếu chiều cao là cao thì Châu Âu”

Chỉ tính lại những tổ hợp thuộc tính có Ncb >0 mà chưa cho luật

{Giới tính}: nữ: 2

Ta rút được luật L4: “Nếu giới tính là nữ thì Châu Âu”

Câu 3: Sử dụng thuật toán NaiveBayes và Trees.J48 chạy cơ sở dữ liệu

1. Mô tả tập dữ liệu

  • Dữ liệu gồm (Có 500 mẫu dữ liệu):

Chieu Cao : Xác định chiều cao là dữ liệu phân loại: Cao, Tam Thuoc (Tầm

Thước), Thap (Thấp)

Can Nang : Xác định cân nặng là dữ liệu phân loại: Nang (Nặng), Nhe (Nhẹ),

Vua (Vừa)

Mau Toc : Xác định màu tóc là dữ liệu phân loại: Den (Đen), Nau (Nâu)

Hoan Canh: Xác định hoàn cảnh là dữ liệu phân loại: Kha Gia (Khá Giả), Binh

Thuong (Bình Thường)

Hoc Van: Xác định học vấn là dữ liệu phân loại: Gioi (Giỏi), Kha (Khá), Yeu

(Yếu)

That Nghiep : Xác định thất nghiệp là dữ liệu phân loại: Co (Có), Khong

(Không)

  • Mô tả bài toán: Dùng các thuộc tính (Chieu Cao, Can Nang, Mau Toc, Hoan

Canh, Hoc Van, That Nghiep) để dự đoán giá trị của thuộc tính That Nghiep.

2. Mô tả cách giải bài toán bằng phương pháp học máy. Sử dụng ứng dụng

weka để chạy cơ sở dữ liệu đã cho để đưa ra chuẩn đoán

  • Thông tin tổng quan về dữ liệu
  • Biểu đồ thể hiện tổng quát các thuộc tính:

từ dữ liệu huấn luyện.

  • Quá trình phân loại:

Khi cây đã được xây dựng và cắt tỉa, quá trình phân loại diễn ra bằng cách

đi xuống cây theo các quyết định dựa trên giá trị của các thuộc tính.

Cuối cùng, một nhãn đích được dự đoán dựa trên đường đi từ gốc đến lá

của cây.

  • J48 hỗ trợ phân loại đa lớp (multiclass classification) và có thể xử lý cả

thuộc tính rời rạc (discrete) và thuộc tính liên tục (continuous). Nó cũng

có khả năng xử lý các giá trị bị khuyết (missing values) trong dữ liệu.

  • Tuy nhiên, J48 có một số hạn chế. Nó có xu hướng overfitting trên các tập dữ liệu

nhỏ hoặc tập dữ liệu có nhiều thuộc tính. Đồng thời, nó không tốt trong việc xử lý

dữ liệu có nhiễu hoặc lỗi.

  • J48 là một thuật toán học máy quan trọng và phổ biến trong khai phá dữ liệu và

phân loại, và nó đã được sử dụng rộng rãi trong nhiều ứng dụng thực tế.

 Một số công thức tính toán được dùng trong thuật toán J48:

 Công thức chọn gốc của thuật toán ID3: Max của Entropy

IG

(

n

t ,,

n

jc

= H ¿

Cho bài toán thời tiết:

c

n

jc

n

j

=

− 9

14

log

2

9

14

− 5

14

log

2

5

14

 Công thức chọn gốc của C4.5: Max của Entropy, gọi là

Tỷ số độ lợi

GainRatio ( S )=

IG ( S )

P ( S )

Trong đó:

G ( S )= E

Ai

( j )=

i

n

j

n

t

c

n

jc

n

j

log

2

n

jc

n

j

P ( S )= SpitInfo ( S )=−

i = 1

v

S

i

| S

|

log

2

S

i

S

=−

j = 1

v

n

j

n

t

log

2

n

j

n

t

GainRatio ( S )=

IG ( S )

P ( S )

c

n

c

n

t

i

n

j

n

t

c

n

jc

n

j

log

2

n

jc

n

j

j = 1

v

n

j

n

t

log

2

n

j

n

t

Khi dữ liệu có thuộc tính nào đó có nhiều giá trị hơn các thuộc tính khác, độ

lợi thông tin

I G ( S ) tăng đối với các thuộc tính có nhiều giá trị phân chia. Để giảm

bớt sự lệch này, Quinlan đề nghị sử dụng tỉ số độ lợi.

Tỉ số độ lợi

GainRatio ( S )=

G ( S )

P ( S )

đề cập đến số lượng và độ lớn của các nhánh

con của một đặc trưng khi chọn đặc trưng đó. Tỉ số độ lợi

GainRatio ( S )=

G ( S )

P ( S )

được

tính bằng độ lợi thông tin của nhánh đó chia cho Entropy thông tin phân phối dữ

liệu trên toàn bộ các đặc trưng. Giả sử khi sử dụng đặc trưng A chia dữ liệu S thành

v phần, thông tin của việc chia dữ liệu

SpitInfo ( S ) được tính theo công thức:

P ( S )= SpitInfo ( S )=− ∑

i = 1

v

S

i

| S

|

log

2

S

i

S

Ở đây,

S

i

, | S |

là lực lượng (số lượng) các đối tượng của đặc trưng thứ i (trong

ví dụ bài toán thời tiết i=1..4 ) S i

; và lực lượng (số lượng) các đối tượng của toàn bộ

dữ liệu học S (hay dữ liệu thử nghiệm).

P ( S ) thực chất là tổng Entropy của các

nhánh đặc trưng.

(trong bài toán thời tiết v=4 đặc trưng)

Và tỉ số độ lợi được tính như công thức

GainRatio ( S )=

IG ( S )

P ( S )

 Cài đặt trước khi chạy thuật toán:

  • Ta sử dụng thuật toán J48 với lựa chọn là sử dụng tất cả dữ liệu huấn luyện để

chạy chuẩn đoán

 Kết quả khi chạy dữ liệu với Weka sử dụng thuật toán J48: