You are on page 1of 67

Chương 3: Bài toán phân lớp

3.1 Phát biểu bài toán

• Phân lớp là một nhiệm vụ khai


thác dữ liệu liên quan đến việc dự
đoán nhãn phân lớp cho một phiên
bản mới dựa trên các quan sát
trước đây về các phiên bản được
dán nhãn.
Ví dụ về các vấn đề phân lớp:
• Phát hiện thư rác
• Đánh giá rủi ro tín dụng
• Chẩn đoán bệnh
• Phân tích cảm xúc
Các thuật toán phân • Cây quyết định
• Hồi quy logistic
lớp: • Support vector machines (SVM)
• Naive Bayes
• k-Nearest Neighbors (k-NN)
Các chỉ số đánh giá: • Accuracy
• Precision
• Recall
• F1-score
• Receiver Operating Characteristic (ROC) curve

(Accuracy liên quan đến mức độ gần với giá trị thực của
phép đo Precision liên quan đến mức độ lặp lại hoặc nhất
quán của phép đo)
3.2. CÁC PHƯƠNG PHÁP BIỂU DIỄN VĂN BẢN

• Các phương pháp biểu diễn văn bản trong CSDL


FullText 
• Các phương pháp biểu diễn văn bản trong CSDL
HyperText
3.2.1 Các phương pháp biểu diễn văn bản trong CSDL
FullText 

• Mô hình logic
• Mô hình phân tích cú pháp
• Mô hình Vector
1. Mô hình logic - Giới thiệu

• Mô hình Logic là phương pháp biểu diễn văn bản dựa trên lý thuyết tập hợp và logic học.
• Mô hình này sử dụng các biểu thức logic như AND, OR, NOT để mô tả sự xuất hiện của các từ trong
văn bản.
Nguyên lý hoạt động

• Mô hình Logic sử dụng ma trận tần suất để biểu diễn mỗi văn bản trong CSDL.
• Mỗi cột của ma trận tương ứng với một từ trong từ điển và mỗi hàng tương ứng với một văn bản.
• Giá trị của phần tử ở vị trí (i, j) trong ma trận là số lần xuất hiện từ j trong văn bản i.
• Sau khi biểu diễn dữ liệu dưới dạng ma trận, ta sử dụng các biểu thức logic để tìm kiếm các văn bản
liên quan đến một truy vấn.
Các phép toán logic cơ bản

• AND: tìm kiếm các văn bản chứa tất cả các từ trong truy vấn
• OR: tìm kiếm các văn bản chứa ít nhất một từ trong truy vấn
• NOT: loại bỏ các văn bản chứa từ trong truy vấn
Ví dụ
machine learning is fun
Truy vấn: "machine learning"
Ma trận tần suất: Doc 1 1 0 0
1
Doc 0 1 1 0
2
Doc
3 1 0 1 1

Kết quả tìm kiếm:


1. AND: Doc 1(cả machine và learning đều có trong
Doc1)
2. OR: Doc 1, Doc 2, Doc 3
3. NOT: Doc 2, Doc 3
• Ưu điểm:
• Tính đơn giản, dễ hiểu và dễ triển khai.
• Phù hợp với các CSDL có số lượng văn bản
nhỏ.
Ưu điểm và nhược điểm • Nhược điểm:
• Không xét đến tầm quan trọng của các từ
trong văn bản.
• Không xét đến các từ có nghĩa gần giống
nhau.
• Mô hình phân tích cú pháp (Syntax Analysis) là
2. Mô hình Cú pháp – một phương pháp biểu diễn văn bản trong CSDL
FullText.
Giới thiệu • Mô hình này sử dụng cấu trúc câu, ngữ pháp và
ngữ nghĩa của văn bản để tạo ra các truy vấn phù
hợp.
• Cây cú pháp (Parse Tree): Biểu diễn cấu trúc cú
pháp của câu hoặc đoạn văn bản.
• Tập câu truy vấn (Query Sentences): Biểu diễn
Các thành phần của mô các câu truy vấn dựa trên cây cú pháp và tập từ
khóa.
hình Cú pháp • Tập từ khóa (Keyword Set): Biểu diễn các từ
khóa quan trọng được chọn để đại diện cho văn
bản.
• Giả sử có câu văn sau: "John bought an Apple
iPhone X for $1000"

• Cây cú pháp:

Ví dụ về việc sử dụng Mô           bought


hình Cú pháp        /       |        \
    John   Apple  iPhone X
                    |
                   for
                    |
                  $1000
• Tìm các tài liệu liên quan đến "John".
• Tìm các tài liệu liên quan đến "Apple
iPhone X".
Tập câu truy vấn: • Tìm các tài liệu liên quan đến "giá $1000".
• Tìm các tài liệu liên quan đến việc "John
mua điện thoại iPhone X".
Tập từ khóa:

• John
• Apple iPhone X
• $1000
• mua, điện thoại.
3. Mô hình Vector

• Mô hình Vector là một phương pháp biểu diễn văn bản dựa trên không gian vector. 
• Trong Mô hình Vector, mỗi tài liệu và câu truy vấn được biểu diễn dưới dạng một vector đa chiều
trong không gian vector.
Cách thức hoạt động của Mô hình Vector

• Mô hình Vector biểu diễn mỗi tài liệu và câu truy vấn dưới dạng một vector đa chiều trong không gian
vector. 
• Để biểu diễn tài liệu, tất cả các từ trong tài liệu được biểu diễn dưới dạng vector. 
• Vector của mỗi từ được tính toán dựa trên tần suất xuất hiện của từ đó trong tài liệu và toàn bộ các tài
liệu khác trong tập dữ liệu.
•  Từ đó, vector của tài liệu được tính toán dựa trên trung bình các vector của các từ xuất hiện trong tài
liệu đó. 
• Để biểu diễn câu truy vấn, vector của các từ trong câu truy vấn được tính toán tương tự như vector của
các từ trong tài liệu.
•  Cuối cùng, độ tương đồng giữa vector của câu truy vấn và vector của các tài liệu trong tập dữ liệu
được tính toán để xác định kết quả truy vấn.
Các thành phần chính của Mô hình Vector

• Không gian Vector: Được tạo ra bằng cách biểu diễn tất cả các từ trong tập dữ liệu dưới dạng vector
trong không gian vector.
• Tài liệu: Biểu diễn mỗi tài liệu dưới dạng một vector đa chiều trong không gian vector.
• Truy vấn: Biểu diễn câu truy vấn dưới dạng một vector đa chiều trong không gian vector.
Ví dụ minh họa về sử dụng Mô hình Vector trong truy vấn
CSDL FullText
• Cách mô hình Vector biểu diễn văn bản được trình bày bằng một ví dụ đơn giản. Giả sử chúng ta có
hai văn bản sau:
• Văn bản 1: "John likes to watch movies. Mary likes movies too." Văn bản 2: "John also likes to watch
football games."
• Các bước để biểu diễn hai văn bản trên bằng Mô hình Vector như sau:
• Bước 1: Xây dựng từ điển (dictionary) cho hai văn bản, tập hợp các từ xuất hiện trong cả hai văn bản,
loại bỏ các stop words (từ không mang ý nghĩa như "the", "and", "a",...) và các từ trùng lặp.
=> Từ điển cho hai văn bản trên sẽ là: {John, likes, watch, movies, Mary, too, also, football, games}

• Bước 2: Biểu diễn các văn bản dưới dạng vector. Mỗi vector là một vector số thực với số chiều bằng
số từ trong từ điển. Giá trị của mỗi phần tử trong vector tương ứng với tần suất xuất hiện của từ đó
trong văn bản.
=> Văn bản 1 sẽ được biểu diễn dưới dạng vector: (1, 2, 1, 2, 1, 1, 0, 0, 0) Văn bản 2 sẽ được biểu diễn
dưới dạng vector: (1, 1, 1, 0, 0, 0, 1, 1, 1)
• Bước 3: Tính toán độ tương đồng giữa các văn bản bằng cách sử dụng các phép toán vector. Các
phương pháp thông thường được sử dụng là cosine similarity hoặc Euclidean distance.
=> Trong ví dụ này, cosine similarity giữa văn bản 1 và 2 là 0.35.
Ưu điểm của Mô hình Vector:

• Tốc độ xử lý nhanh: Vì mô hình Vector sử dụng các phép tính số học đơn giản, nên tốc độ xử lý nhanh
hơn so với các mô hình khác.

• Tính tương tự cao: Mô hình Vector có khả năng tính toán độ tương tự giữa truy vấn và tài liệu, giúp
cho kết quả truy vấn chính xác hơn.

• Độ chính xác cao: Từ khóa có tần suất xuất hiện cao trong một tài liệu sẽ được đánh giá cao hơn trong
quá trình truy vấn.
Nhược điểm của Mô hình Vector:

• Khó xử lý các từ đồng nghĩa: Trong Mô hình Vector, các từ đồng nghĩa được xử lý khó khăn vì chúng
có thể được hiểu khác nhau trong các văn bản khác nhau, dẫn đến sự khác biệt trong việc tính toán độ
tương tự.

• Phụ thuộc vào chất lượng từ khóa: Mô hình Vector hoạt động tốt khi các từ khóa được sử dụng trong
truy vấn và tài liệu có chất lượng cao, tuy nhiên nếu các từ khóa được sử dụng không phù hợp hoặc
không đủ đa dạng thì kết quả truy vấn sẽ không chính xác.

• Kích thước tài liệu lớn: Khi sử dụng Mô hình Vector trên các tài liệu lớn, việc tính toán sẽ rất phức tạp
và tốn nhiều thời gian xử lý.
3.2.2 Các phương pháp biểu diễn văn bản trong CSDL
HyperText 
• Mô hình TF-IDF
• Mô hình LSA
• Mô hình Word Embedding
• Mô hình TF-IDF là một phương pháp biểu diễn
văn bản dựa trên tần suất xuất hiện của các từ
trong tài liệu và trong toàn bộ tập dữ liệu.
1. Mô hình TF-IDF •  Trong Mô hình TF-IDF, mỗi từ trong tài liệu
được biểu diễn dưới dạng một vector trong
không gian vector, với các giá trị được tính toán
dựa trên tần suất xuất hiện của từ đó trong tài
liệu và toàn bộ các tài liệu khác trong tập dữ liệu.
• Mô hình TF-IDF tính toán giá trị của mỗi từ
trong tài liệu dựa trên hai yếu tố chính: tần suất
xuất hiện của từ trong tài liệu và tần suất xuất
hiện của từ đó trong toàn bộ tập dữ liệu.
Cách thức tính toán trong •  Cụ thể, giá trị TF (Term Frequency) được tính
toán bằng cách chia số lần xuất hiện của từ trong
Mô hình TF-IDF tài liệu cho tổng số từ trong tài liệu. 
• Giá trị IDF (Inverse Document Frequency) được
tính toán bằng cách lấy logarit cơ số 2 của tổng
số tài liệu trong tập dữ liệu chia cho số tài liệu
chứa từ đó. Từ đó, giá trị TF-IDF được tính bằng
tích của giá trị TF và giá trị IDF.
• Không gian Vector: Được tạo ra bằng cách biểu
diễn các từ trong tập dữ liệu dưới dạng vector
trong không gian vector. 
• Tài liệu: Biểu diễn mỗi tài liệu dưới dạng một
Các thành phần chính của vector trong không gian vector, với giá trị của
Mô hình TF-IDF từng thành phần vector được tính toán bằng Mô
hình TF-IDF. 
• Truy vấn: Biểu diễn câu truy vấn dưới dạng một
vector trong không gian vector, với giá trị của
từng thành phần vector được tính toán bằng Mô
hình TF-IDF.
Giả sử chúng ta có một tập hợp các văn bản về các
loại trái cây:

Ví dụ minh họa về sử • Văn bản 1: "Cherry is a red fruit."


• Văn bản 2: "Banana is a yellow fruit." 
dụng Mô hình TF-IDF • Văn bản 3: "Apple is a red and green fruit." 
trong truy vấn tìm kiếm • Văn bản 4: "Pineapple is a tropical fruit." 
• Văn bản 5: "Orange is a citrus fruit."
• Chúng ta muốn biểu diễn các văn bản này thành các vector số thực bằng mô hình TF-IDF. Đầu
tiên, chúng ta xây dựng từ điển bằng cách lấy tất cả các từ xuất hiện trong các văn bản và loại bỏ
các stop words. Từ điển sẽ là:
=> {Cherry, red, fruit, Banana, yellow, Apple, green, Pineapple, tropical, Orange, citrus}

• Tiếp theo, chúng ta tính toán các giá trị IDF cho từng từ trong từ điển. IDF của một từ được tính
bằng log của tổng số văn bản trong tập huấn luyện chia cho số văn bản chứa từ đó.
• Ví dụ, IDF cho từ "Cherry" sẽ là log(5/1) = 1.61, trong đó số 5 là tổng
số văn bản trong tập huấn luyện và số 1 là số văn bản chứa từ
"Cherry".
• Sau đó, chúng ta tính toán các giá trị TF-IDF cho từng từ trong mỗi
văn bản. Giá trị TF-IDF của một từ trong một văn bản được tính bằng
tích của giá trị TF và giá trị IDF của từ đó.
• Ví dụ, giá trị TF-IDF cho từ "Cherry" trong văn bản 1 sẽ là (1/3) x
1.61 = 0.54, trong đó 1/3 là giá trị TF của từ "Cherry" trong văn bản 1
và 1.61 là giá trị IDF của từ "Cherry".
• Cuối cùng, chúng ta có thể biểu diễn mỗi văn bản thành một vector số
thực bằng cách sử dụng các giá trị TF-IDF của các từ trong từ điển. Ví
dụ, văn bản 1 sẽ được biểu diễn dưới dạng vector (0.54, 0.47, 0.47, 0,
0, 0, 0, 0, 0, 0, 0), trong đó giá trị đầu tiên là giá trị TF-IDF của từ
"Cherry", giá trị thứ hai là giá trị TF-IDF của từ "red", giá trị thứ ba là
giá trị IDF của từ "green"
Công thức tính IDF IDF = log(N / df)
• Trong đó:
• N là số lượng văn bản trong tập dữ liệu
• df là số lượng văn bản chứa từ đó.
Mô hình LSA (Latent Semantic Analysis) là một
phương pháp xử lý ngôn ngữ tự nhiên để đại diện
2. Mô hình LSA cho các tài liệu văn bản và từ vựng dưới dạng
không gian vector và sử dụng đó để phân tích cú
pháp và ý nghĩa của văn bản.
Trong Mô hình LSA, một ma trận term-document được tạo ra từ
tập dữ liệu văn bản đầu vào.  Cách thức hoạt
Các giá trị trong ma trận thể hiện tần suất xuất hiện của các từ
trong các tài liệu. Sau đó, ma trận được phân tích thành hai ma
động của Mô hình
trận con bằng phương pháp giảm chiều Singular Value LSA
Decomposition (SVD). 
Ma trận con đầu tiên biểu thị một không gian vector mới, trong
đó mỗi chiều vector biểu thị một khái niệm ẩn, gọi là latent
semantic.
Ma trận con thứ hai biểu thị cách mà các tài liệu có liên quan
đến các khái niệm ẩn.
Khi truy vấn được đưa vào, nó cũng được biểu diễn dưới dạng
vector trong không gian vector mới và được so sánh với các tài
liệu trong không gian đó để tìm kiếm các tài liệu có liên quan.
• Ma trận term-document: Biểu diễn tập dữ liệu
văn bản dưới dạng ma trận mà mỗi hàng thể hiện
một từ và mỗi cột thể hiện một tài liệu.
• Không gian vector mới: Một không gian vector
mới được tạo ra sau khi áp dụng phương pháp
Các thành phần chính của SVD để giảm chiều ma trận term-document.
Mô hình LSA • Các khái niệm ẩn (latent semantic): Các khái
niệm ẩn được đại diện bởi các chiều vector trong
không gian vector mới.
• Ma trận tài liệu-khái niệm: Ma trận biểu thị mối
quan hệ giữa các tài liệu và các khái niệm ẩn.
Ví dụ minh họa về sử dụng Mô hình LSA trong truy vấn
tài liệu
• Giả sử ta có bộ dữ liệu chứa các văn bản sau đây:
• Văn bản 1: "The cat in the hat."
• Văn bản 2: "The cat is on the mat." 
• Văn bản 3: "The dog chases the cat."
Các bước để biểu diễn các văn bản trên bằng mô hình LS
A như sau:

•Bước 1: Xây dựng ma trận term- Văn bản 1 Văn bản 2 Văn bản 3
document (từ-văn bản) bằng cách
cat 1 1 1
đếm số lần xuất hiện của mỗi từ
trong từng văn bản. Ta có ma trận chases 0 0 1
như sau:
dog 0 0 1

hat 1 0 0

in 1 0 0

is 0 1 0

mat 0 1 0

on 0 1 0

the 1 1 1
•Bước 2: Thực hiện SVD (Singular Latent Semantic 1 Latent Semantic 2
Value Decomposition) trên ma trận
term-document để tìm ra các thành cat 0.87 0.29
phần ẩn (latent semantic) trong dữ
liệu. Chọn số lượng thành phần tùy chases 0.15 0.71
ý, ví dụ 2 thành phần:
dog 0.15 0.71
hat 0.87 -0.29
in 0.87 -0.29
is 0.29 -0.66
mat 0.29 -0.66
on 0.29 -0.66
the 1.06 0.00
Bước 3: Biểu diễn các văn bản dưới dạng vector với số chiều bằng số lượng thành phần
được chọn ở bước 2. Ta nhân ma trận term-document với ma trận đối xứng của các
thành phần ẩn để thu được ma trận document-LSA. Mỗi dòng của ma trận này biểu
diễn một văn bản dưới dạng vector:

Văn bản Văn bản 2  Văn bản 3


1  
0.81  0.46  0.11
0.71 0.71  0.00 
0.29  0.87  0.29
• Ở đây, số chiều được chọn là 2, do đó mỗi văn bản được biểu diễn dưới dạng vector 2
chiều. 

• Cụ thể, véc-tơ đại diện cho văn bản 1 là (0.81, 0.46), véc-tơ đại diện cho văn bản 2 là (0.71,
0.71), và véc-tơ đại diện cho văn bản 3 là (0.29, 0.87). 

• Bằng cách này, các văn bản được biểu diễn dưới dạng các véc-tơ trong không gian mới có
số chiều thấp hơn, từ đó giúp tăng độ chính xác và hiệu quả của các tác vụ liên quan đến
phân tích và xử lý ngôn ngữ tự nhiên.
3. Mô hình Word Mô hình Word Embedding là một phương pháp biểu diễn từ
trong văn bản dưới dạng các vector số thực có kích thước
Embedding nhỏ hơn. Mỗi từ được biểu diễn bằng một vector trong không
gian n chiều, với mỗi chiều đại diện cho một đặc trưng của từ
đó.
• Từ vựng: Tập hợp các từ có trong
tập dữ liệu được sử dụng để huấn
luyện mô hình.
• Ma trận nhúng từ (Embedding
matrix): Một ma trận m x n, trong
Các thành phần đó m là số từ trong từ vựng và n là
số chiều của vector nhúng. Mỗi
chính hàng trong ma trận này đại diện
cho vector nhúng của một từ trong
từ vựng.
• Thuật toán học: Các thuật toán
được sử dụng để học ma trận
nhúng từ.
• Tạo từ vựng: Tập hợp các từ có trong tập dữ liệu
huấn luyện được sử dụng để xây dựng ma trận
nhúng từ.
• Xác định số chiều của vector nhúng: Số chiều
này được xác định trước và có thể được điều
Quá trình này bao gồm: chỉnh để đạt được kết quả tốt nhất.
• Tính toán ma trận nhúng từ: Các thuật toán học
được sử dụng để tính toán các vector nhúng của
từ trong ma trận nhúng từ.
• Sử dụng ma trận nhúng từ: Ma trận nhúng từ
được sử dụng để biểu diễn từ trong văn bản.
Ví dụ

Giả sử bạn có một tập dữ liệu chứa các câu mô tả về các loại hoa, và bạn muốn xây
dựng một mô hình phân lớp văn bản để phân lớp các câu này vào từng loại hoa
tương ứng. Ví dụ:
Hoa hồng là loại hoa đẹp nhất mà tôi từng thấy.
Tôi muốn tìm hiểu về cách trồng hoa cẩm chướng.
Hoa hướng dương rất đẹp vào mùa hè.
Bạn có thể cho tôi biết tên của loại hoa này không?
Cây đồng tiền là loại cây cảnh phổ biến trong nhà.
• Để phân lớp các câu này vào từng loại hoa tương ứng, ta có thể sử dụng Mô hình Word
Embedding để biểu diễn các câu dưới dạng các vector đa chiều trong không gian vector. Ví dụ,
ta có thể sử dụng thư viện Gensim của Python để xây dựng mô hình Word2Vec để biểu diễn các từ 
 trong các câu mô tả về hoa dưới dạng các vector.
• Sau khi đã biểu diễn các câu dưới dạng các vector, ta có thể sử dụng các thuật toán phân lớp như   
Logistic Regression hoặc Support Vector Machines để phân lớp các câu vào từng loại hoa tương 
ứng. Ví dụ, ta có thể xây dựng một mô hình Logistic Regression để phân
lớp các câu mô tả về hoa vào  ba loại hoa chính là hồng, cẩm chướng và hướng dương. 
• Sau đó, ta có thể sử dụng mô hình này để dự đoán loại hoa tương ứng với mỗi câu trong tập dữ liệu.
• Ví dụ, sau khi huấn luyện mô hình phân lớp, ta có thể sử dụng câu sau để dự đoán loại hoa tương ứng:
"Cây đồng tiền là loại cây cảnh phổ biến trong nhà."
• Sử dụng mô hình Word Embedding, ta biểu diễn câu trên dưới dạng vector đa chiều trong không gian
vector. Sau đó, ta sử dụng mô hình phân lớp để dự đoán rằng câu này thuộc loại hoa "không rõ". Vì
tệp training chỉ có "hoa hồng", 'hoa chướng dương', 'hoa cẩm chướng'.
3.3. CÁC PHƯƠNG PHÁP HỌC MÁY

• Thuật toán phân lớp Bayes


• Thuật toán k-người láng giềng gần nhất
•  Phân lớp dựa vào cây quyết định
• Thuật toán học quan hệ FOIL
• Thuật toán phân lớp Bayes là một phương pháp
phân lớp dựa trên nguyên lý xác suất Bayes. 
1. Thuật toán phân lớp Bayes • Nó được sử dụng để phân lớp các dữ liệu thành
các lớp khác nhau dựa trên các thuộc tính của
chúng. 
• Thuật toán Bayes dựa trên giả định rằng các
thuộc tính của dữ liệu độc lập lẫn nhau.
• Công thức Bayes được sử dụng để tính xác suất có điều
kiện P(y|x) của lớp y cho một mẫu dữ liệu x dựa trên đặc
trưng của mẫu đó:
• P(y|x) = P(x|y) * P(y) / P(x)
• Trong đó:
• P(y|x) là xác suất có điều kiện của lớp y cho mẫu dữ liệu x.
• P(x|y) là xác suất của mẫu dữ liệu x cho lớp y.
• P(y) là xác suất tiên nghiệm của lớp y.
• P(x) là xác suất của mẫu dữ liệu x.
2. Thuật toán k-người láng giềng gần nhất:

• Thuật toán k-người láng giềng gần nhất là một phương pháp học máy dựa trên việc so sánh các mẫu
dữ liệu với các mẫu dữ liệu đã được phân lớp trước đó. Thuật toán này đo khoảng cách giữa các mẫu
dữ liệu để tìm ra các mẫu dữ liệu giống nhau nhất, được gọi là k-người láng giềng. Sau đó, thuật toán
phân lớp mẫu dữ liệu mới dựa trên lớp của k-người láng giềng gần nhất.
• Công thức tính khoảng cách Euclid được sử dụng để tính toán khoảng cách giữa các mẫu dữ liệu:
distance(x1, x2) = sqrt((x1_1 - x2_1)^2 + (x1_2 - x2_2)^2 + ... + (x1_n - x2_n)^2)
• Trong đó:
x1 và x2 là hai mẫu dữ liệu cần được so sánh.
x1_i và x2_i là giá trị của đặc trưng thứ i của mẫu dữ liệu x1 và x2.
3. Phân lớp dựa trên cây quyết định

• Phân lớp dựa trên cây quyết định là một phương pháp học máy phổ biến được sử dụng trong các bài
toán phân lớp dữ liệu. 
• Trong phương pháp này, một cây quyết định được tạo ra để đưa ra các quyết định dựa trên các thuộc
tính của dữ liệu.
Cách thức hoạt động của phân lớp dựa trên cây quyết định

Đầu tiên, một tập dữ liệu huấn luyện được sử dụng để xây dựng cây quyết định. Các thuộc tính trong tập
dữ liệu được sử dụng để tạo các quyết định trong cây.
Cây quyết định bao gồm các nút và các cạnh. Nút gốc của cây thể hiện toàn bộ tập dữ liệu và các nút lá
thể hiện các lớp kết quả phân lớp. Các nút trung gian thể hiện các quyết định được thực hiện dựa trên
các thuộc tính của dữ liệu.
Các thành phần • Các thuộc tính: Các thuộc tính của dữ liệu được sử dụng
để tạo các quyết định trong cây quyết định. 
chính của cây quyết • Nút: Các nút trong cây quyết định thể hiện các quyết định
định dựa trên các thuộc tính của dữ liệu. 
• Cạnh: Các cạnh trong cây quyết định thể hiện sự liên kết
giữa các nút.
Ví dụ minh họa về • Giả sử chúng ta có một tập dữ liệu với các thuộc tính như
sau: tuổi, giới tính, hút thuốc và kết quả xét nghiệm là tiêm
sử dụng cây quyết phòng hoặc không tiêm phòng. Chúng ta muốn sử dụng
cây quyết định để phân lớp các bệnh nhân có nên tiêm
định trong phân lớp phòng hay không.
• Đầu tiên, chúng ta cần xây dựng cây quyết định từ tập dữ
liệu huấn luyện. Các thuộc tính sẽ được sử dụng để phân
nhánh cây và các giá trị thuộc tính sẽ được sử dụng để xác
định nút lá của cây.
• Sau đó, khi có một bệnh nhân mới, các thuộc tính của bệnh
nhân đó sẽ được sử dụng để đi xuống cây và xác định nút
lá cuối cùng. Kết quả tiêm phòng hoặc không tiêm phòng
sẽ được dự đoán dựa trên nút lá mà bệnh nhân đó đến
được.
Công thức tính • Để xây dựng cây quyết định, chúng ta cần tính toán entropy và
information gain. Entropy được sử dụng để đo lường độ
entropy và không chắc chắn của dữ liệu và được tính bằng công thức:
                                            H(X) = -∑ p(x) log2 p(x)
information gain • Trong đó p(x) là xác suất của lớp x và ∑ là tổng của các lớp
trong tập dữ liệu.
• Information gain được sử dụng để xác định thuộc tính nào sẽ
được sử dụng để phân nhánh cây. Information gain được tính
bằng công thức:
                                          IG(A) = H(S) - ∑ p(t) H(t)
• Trong đó A là thuộc tính được xét, S là tập dữ liệu, t là các
phân nhánh của thuộc tính A, p(t) là tỷ lệ các điểm dữ liệu
nằm trong phân nhánh t, và H(t) là entropy của phân nhánh t.
Ưu điểm của cây Ưu điểm của cây quyết định bao gồm:
• Dễ hiểu và dễ giải thích
quyết định • Có thể xử lý dữ liệu bị thiếu hoặc không chính xác
• Có thể xử lý dữ liệu với nhiều loại thuộc tính
Nhược điểm của cây quyết định

• Dễ bị quá khớp (overfitting): khi tập dữ liệu huấn luyện quá


nhỏ hoặc khi cây quyết định quá phức tạp, có thể dẫn đến hiện
tượng quá khớp, khi mô hình chỉ tập trung vào việc học những
đặc trưng cụ thể của tập dữ liệu huấn luyện mà không thể tổng
quát hóa cho các trường hợp mới.
• Không ổn định: những thay đổi nhỏ trong dữ liệu có thể dẫn
đến những sự thay đổi lớn trong cây quyết định, dẫn đến sự
không ổn định của mô hình.
• Không xử lý được các đặc trưng liên tục: cây quyết định chỉ có
thể xử lý được các đặc trưng rời rạc, không thể xử lý được các
đặc trưng liên tục.
4. Thuật toán học
quan hệ FOIL

Thuật toán học quan hệ FOIL (First-Order


Inductive Learner) là một phương pháp học máy
được sử dụng để học các quy tắc quan hệ đơn giản
từ dữ liệu huấn luyện.
Cách thức hoạt động của Thuật toán học quan hệ FOIL 

• Thuật toán FOIL bắt đầu bằng việc chọn một quan hệ để học từ tập dữ liệu huấn luyện. Sau đó, thuật
toán xây dựng một câu hỏi với mục đích tìm ra một số đặc điểm của quan hệ đó.
• Câu hỏi này được xây dựng dựa trên các thông tin thu thập được từ tập dữ liệu huấn luyện. Thuật toán
sau đó sẽ kiểm tra xem câu hỏi có phân lớp chính xác các mẫu trong tập dữ liệu huấn luyện hay
không.
• Nếu câu hỏi đó phân lớp chính xác các mẫu, quan hệ được học được mở rộng bằng cách thêm đặc
điểm được tìm thấy vào quan hệ ban đầu.
• Nếu câu hỏi không phân lớp chính xác các mẫu, thuật toán sẽ tạo ra một câu hỏi khác để thử nghiệm.
Các thành phần chính của thuật toán học quan hệ FOIL 

• Câu hỏi: Được tạo ra để tìm ra một số đặc điểm của quan hệ đang được học. 
• Tập dữ liệu huấn luyện: Dữ liệu được sử dụng để học quan hệ. 
• Quan hệ: Được học từ tập dữ liệu huấn luyện.
Ví dụ về thuật toán • Giả sử chúng ta có một tập dữ liệu gồm các mẫu về các
quan hệ giữa các người và động vật cưng của họ. Ví dụ:
FOIL trong học
quan hệ:  Alice có một con chó.
 Bob có một con mèo.
 Charlie có một con mèo và một con chó.
 Alice có một con mèo.

• Chúng ta muốn xây dựng một mô hình học máy để dự


đoán liệu một người có một con chó hay không, dựa trên
các mẫu như trên.
• Bước đầu tiên của thuật toán FOIL là xác định các quy tắc (rules) của mô hình. Một quy tắc có
thể được biểu diễn dưới dạng:
                                IF [điều kiện], THEN [kết luận].
• Ví dụ, quy tắc "IF Alice có một con chó, THEN Alice có một con vật nuôi" có thể được suy ra
từ mẫu thứ nhất.
• Bước thứ hai là tạo ra các quy tắc mới bằng cách kết hợp các quy tắc đã có. Ví dụ, từ quy tắc
"IF Alice có một con chó, THEN Alice có một con vật nuôi" và quy tắc "IF Charlie có một con
mèo, THEN Charlie có một con vật nuôi", chúng ta có thể tạo ra quy tắc mới là "IF Alice có
một con chó và Charlie có một con mèo, THEN Alice và Charlie đều có một con vật nuôi".
• Bước tiếp theo là đánh giá các quy tắc và chọn ra những quy tắc tốt
nhất để sử dụng trong mô hình. Chúng ta có thể sử dụng các tiêu chí
như độ chính xác, độ bao phủ và độ phức tạp để đánh giá các quy tắc.
• Cuối cùng, chúng ta sử dụng các quy tắc đã chọn để dự đoán các mẫu
mới. Ví dụ, nếu chúng ta muốn dự đoán liệu Alice có một con vật nuôi
hay không, chúng ta có thể áp dụng quy tắc "IF Alice có một con chó,
THEN Alice có một con vật nuôi" và quy tắc "IF Alice có một con
mèo, THEN Alice có một con vật nuôi" để đưa ra kết luận.
Ưu điểm và nhược điểm

Ưu điểm:
• Tạo ra các quy tắc rõ ràng và dễ hiểu cho việc phân lớp và dự
đoán.
• Không yêu cầu nhiều kiến thức về toán học và thống kê để thực
hiện.
• Phù hợp cho việc giải quyết các bài toán phân lớp có dữ liệu rời
rạc và có số lượng thuộc tính lớn.
Nhược điểm:
• Khó sử dụng khi dữ liệu có số lượng thuộc tính lớn.
• Không thực sự tối ưu vì thuật toán tạo ra các quy tắc phân lớp cho
từng quan hệ, dẫn đến quy tắc lặp lại và không hiệu quả.
• Không hiệu quả trong việc giải quyết các bài toán phân lớp có dữ
liệu liên tục.

You might also like