Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP. HỒ CHÍ MINH

Môn học: Phân tích dữ liệu lớn

ĐỀ TÀI: RESEARCH CLUSTERING

Sinh Viên Thực Viên: Lê Thị Cẩm Tú - 050609212303

Diệp Thị Kim Xuân - 050609211768

Nguyễn Thuỳ Kim Tuyến - 050609211645

Châu Ngọc Hạnh Thảo - 050609211350

Lý Phương Mai - 050609210725

Giảng Viên: Võ Đức Vĩnh

Lớp: DAT712_2321_9_L21

Thành phố Hồ Chí Minh, năm 2024


MỤC LỤC

1. Khái niệm........................................................................................................ 3

2. Ứng dụng ........................................................................................................ 4

2.1. Lĩnh vực áp dụng .......................................................................................... 4

2.2. Ứng dụng của Research Clustering trong một số ngành công nghiệp được
chọn ............................................................................................................................. 9

3. Distance functions ........................................................................................ 12

3.1. Khái niệm (Manhattan) ............................................................................... 12

3.2. Công thức ................................................................................................... 12

4. Algorithms (Density-Based Clustering) ........................................................ 15

4.1. Khái niệm ................................................................................................... 15

4.2. Phân loại dạng điểm trong DBSCAN.......................................................... 16

4.3. Các bước trong thuật toán DBSCAN .......................................................... 19

4.4. Xác định tham số ........................................................................................ 20

4.5 Huấn luyện thuật toán DBSCAN ................................................................. 21

4.6. Lựa chọn tham số cho mô hình DBSCAN .................................................. 21

4.7. Xây dựng mô hình DBSCAN ..................................................................... 21

TÀI LIỆU THAM KHẢO ..................................................................................... 23


1. KHÁI NIỆM

Phân cụm là một trong những phương pháp khai thác dữ liệu để phân tích khối lượng
dữ liệu khổng lồ. Nó phân loại dữ liệu thành các cụm sao cho các đối tượng được nhóm
trong cùng một cụm khi chúng giống nhau theo số liệu cụ thể.

Đặc điểm

 Xác định các nhóm dữ liệu liên quan: Research Clustering giúp xác định các
nhóm dữ liệu có liên quan chặt chẽ với nhau dựa trên các đặc điểm chung. Nhóm này giúp
nhà nghiên cứu dễ dàng phân tích và khám phá các mẫu dữ liệu ẩn trong tập dữ liệu lớn.

 Tăng hiệu quả phân tích dữ liệu: Việc nhóm dữ liệu thành các cụm giúp đơn
giản hóa quá trình phân tích dữ liệu, tiết kiệm thời gian và công sức cho nhà nghiên cứu.

 Cải thiện khả năng hiểu dữ liệu: Research Clustering giúp nhà nghiên cứu hiểu
rõ hơn về cấu trúc và mối quan hệ giữa các dữ liệu trong tập dữ liệu.

 Phát hiện các chủ đề mới: Quá trình phân cụm có thể giúp phát hiện các chủ đề
mới mà trước đây không được biết đến trong tập dữ liệu.

Phân loại

a. Phương pháp dựa trên phân chia:

 K-means: Phương pháp phân cụm phổ biến nhất, chia dữ liệu thành k nhóm dựa
trên khoảng cách giữa các điểm dữ liệu.

 Hierarchical Clustering: Tạo ra một hệ thống phân cấp các cụm dữ liệu dựa trên
sự tương đồng giữa các điểm dữ liệu.

b. Phương pháp dựa trên mật độ


 DBSCAN: Xác định các cụm dữ liệu dựa trên mật độ điểm dữ liệu trong không
gian dữ liệu.

 OPTICS: Tương tự như DBSCAN, nhưng nó có thể xử lý các cụm dữ liệu có hình
dạng bất kỳ.

Để lựa chọn phương pháp phân tích dữ liệu chúng ta cần xem xét những điều kiện
sau và chọn phương pháp phù hợp:

 Loại dữ liệu

 Kích thước tập dữ liệu

 Mục đích phân tích dữ liệu

2. ỨNG DỤNG

2.1 Lĩnh vực áp dụng

a. Phân loại tài liệu văn bản:

 Tóm tắt văn bản:

- Phương pháp:

+ Phân cụm các câu dựa trên tính tương đồng về ngữ nghĩa (ví dụ: sử dụng TF-IDF,
Word2Vec)

+ Chọn các câu quan trọng nhất từ mỗi cụm dựa trên vị trí, tần suất xuất hiện, v.v.

Ví dụ:

+ Tóm tắt các bài báo khoa học để giúp các nhà nghiên cứu nắm bắt nội dung chính
một cách nhanh chóng.
+ Tóm tắt các bài báo tin tức để giúp người đọc nắm bắt thông tin quan trọng một
cách nhanh chóng.

 Phân loại chủ đề:

- Phương pháp:

+ Phân cụm các tài liệu dựa trên nội dung của chúng (ví dụ: sử dụng LDA, k-means)

+ Gán nhãn cho các cụm dựa trên các từ khóa hoặc chủ đề phổ biến

Ví dụ:

+ Phân loại các email vào các thư mục khác nhau (ví dụ: Hộp thư đến, Spam, Quảng
cáo)

+ Phân loại các bài báo vào các chủ đề khác nhau (ví dụ: Chính trị, Thể thao, Kinh
doanh)

 Lọc thư rác:

- Phương pháp:

+ Phân cụm các email dựa trên các đặc điểm (ví dụ: địa chỉ người gửi, nội dung email)

+ Xác định các cụm có khả năng là thư rác

+ Giảm thiểu số lượng thư rác mà người dùng nhận được.

+ Bảo vệ người dùng khỏi các email lừa đảo và các mối đe dọa an ninh mạng khác.

a. Phân đoạn hình ảnh:

 Nhóm các pixel có liên quan:

- Phương pháp:
+ Phân cụm các pixel dựa trên các đặc điểm (ví dụ: màu sắc, kết cấu, độ sáng)

+ Sử dụng các thuật toán như k-means, Mean Shift, v.v.

Ví dụ:

+ Cải thiện chất lượng hình ảnh bằng cách loại bỏ nhiễu.

+ Xác định các đối tượng trong hình ảnh.

 Xác định các đối tượng:

- Phương pháp:

+ Phân cụm các pixel thuộc về cùng một đối tượng

+ Sử dụng các thuật toán như Watershed, GrabCut, v.v.

Ví dụ:

+ Đếm số lượng đối tượng trong hình ảnh.

+ Xác định vị trí và kích thước của các đối tượng trong hình ảnh.

 Cải thiện chất lượng hình ảnh:

- Phương pháp:

+ Loại bỏ nhiễu và các chi tiết không mong muốn

+ Sử dụng các thuật toán như lọc Wiener, lọc trung bình, v.v.

Ví dụ:

+ Làm cho hình ảnh rõ ràng hơn.

+ Tăng cường độ tương phản của hình ảnh.


b. Nhận dạng đối tượng:

 Nhận diện khuôn mặt:

- Phương pháp:

+ Phát hiện khuôn mặt trong hình ảnh và video

+ Trích xuất các đặc điểm khuôn mặt (ví dụ: vị trí mắt, mũi, miệng)

+ So sánh các đặc điểm khuôn mặt với cơ sở dữ liệu khuôn mặt

Ví dụ:

+ Mở khóa điện thoại thông minh bằng khuôn mặt.

+ Xác định danh tính của người trong ảnh hoặc video.

 Nhận diện logo:

- Phương pháp:

+ Phát hiện logo trong hình ảnh và video

+ Trích xuất các đặc điểm logo (ví dụ: hình dạng, màu sắc)

+ So sánh các đặc điểm logo với cơ sở dữ liệu logo

Ví dụ:

+ Xác định thương hiệu sản phẩm trong hình ảnh hoặc video.

+ Theo dõi hiệu quả chiến dịch quảng cáo.

 Nhận diện biển số xe:

- Phương pháp:
+ Phát hiện biển số xe trong hình ảnh và video

+ Nhận dạng các ký tự trên biển số xe

+ So sánh các ký tự biển số xe với cơ sở dữ liệu biển số xe

Ví dụ:

+ Thu phí giao thông tự động.

+ Theo dõi hành trình của xe.

 Chuyển đổi văn bản sang giọng nói:

- Phương pháp:

+ Nhận dạng các ký tự trong văn bản

+ Chuyển đổi các ký tự thành giọng nói bằng các công nghệ nhận dạng giọng nói

Ví dụ:

+ Chuyển đổi văn bản trong các sách thành âm thanh để người khiếm thính có thể
nghe được.

+ Tạo ra các hệ thống trợ giúp điều khiển bằng giọng nói cho người khuyết tật.

 Nhận dạng chữ viết tay:

- Phương pháp:

+ Phân loại và nhận dạng các ký tự viết tay trong hình ảnh hoặc video

+ Sử dụng các mô hình học máy như Convolutional Neural Networks (CNN) để nhận dạng
chữ viết tay.

Ví dụ:
+ Quét và nhận dạng chữ viết tay trong các ghi chú hoặc tài liệu cũ.

+ Tạo ra các hệ thống nhận dạng chữ viết tay trong các ứng dụng ghi chú điện tử.

 Dịch ngôn ngữ:

- Phương pháp:

+ Phân loại và nhận dạng các từ và câu trong văn bản nguồn

+ Dùng các mô hình dịch máy như Transformer để dịch các phần văn bản sang ngôn
ngữ đích

Ví dụ:

+ Dịch các trang web từ một ngôn ngữ sang một ngôn ngữ khác.

+ Tạo ra các công cụ dịch tự động cho các ứng dụng di động hoặc máy tính cá nhân

2.2 Ứng dụng của Research Clustering trong một số ngành công nghiệp được chọn

2.2.1 Giao thông vận tải và hậu cần

 Tối ưu hóa tuyến đường và lịch trình giao hàng: Research clustering có thể phân
tích dữ liệu giao thông lịch sử, thời gian giao hàng và các ràng buộc địa lý. Điều này cho
phép:

o Xác định tuyến đường hiệu quả nhất cho việc giao hàng, xem xét các yếu tố
như khoảng cách, mô hình giao thông và mức tiêu thụ nhiên liệu.

o Tạo lịch trình giao hàng linh động thích ứng với điều kiện giao thông theo
thời gian thực, giảm thiểu sự chậm trễ.

 Phân tích giao thông theo thời gian thực và dự đoán tắc nghẽn: Bằng cách nhóm
dữ liệu giao thông theo thời gian thực, các công ty hậu cần có thể:
o Xác định các khu vực dễ tắc nghẽn và dự đoán mô hình lưu lượng giao thông.

o Thay đổi tuyến đường giao hàng để tránh các khu vực tắc nghẽn, đảm bảo
giao hàng đúng hạn.

o Phát triển các chiến lược chủ động để quản lý sự gián đoạn và duy trì hoạt
động vận tải hiệu quả.

 Mô phỏng mạng lưới giao thông: Research clustering có thể được sử dụng để mô
phỏng các mạng lưới giao thông phức tạp, bao gồm:

o Mô hình hóa tác động của việc thay đổi cơ sở hạ tầng, chẳng hạn như đường
bộ hoặc cầu mới, đối với lưu lượng giao thông và thời gian giao hàng.

o Đánh giá hiệu quả của các chính sách giao thông được đề xuất đối với tình
trạng tắc nghẽn và hiệu quả.

o Tối ưu hóa việc phân bổ nguồn lực trong mạng lưới giao thông.

2.2.2 Sản xuất

 Thiết kế và mô phỏng sản phẩm: Research clustering cho phép nhà sản xuất:

o Phân tích lượng dữ liệu thiết kế khổng lồ và xác định các mẫu hoặc xu hướng
để cải thiện thiết kế và chức năng sản phẩm.

o Mô phỏng hiệu suất sản phẩm trong các điều kiện khác nhau bằng dữ liệu
nhóm, cho phép phát hiện và sửa lỗi tiềm ẩn sớm.

o Tối ưu hóa quy trình phát triển sản phẩm bằng cách nhóm các tính năng hoặc
chức năng thiết kế tương tự.

 Tối ưu hóa dây chuyền sản xuất: Bằng cách nhóm dữ liệu sản xuất, nhà sản xuất
có thể:
o Xác định các điểm nghẽn và thiếu hiệu quả trong dây chuyền sản xuất.

o Tối ưu hóa lịch trình sản xuất và phân bổ tài nguyên để tối đa hóa sản lượng
và giảm thiểu thời gian chết.

o Dự đoán các lỗi thiết bị tiềm ẩn dựa trên các mẫu dữ liệu lịch sử, cho phép
áp dụng các chiến lược bảo trì chủ động.

 Bảo trì dự đoán: Research clustering có thể phân tích dữ liệu cảm biến từ máy
móc để:

o Xác định các bất thường và dự đoán các lỗi thiết bị tiềm ẩn trước khi xảy ra.

o Lên lịch bảo trì dự phòng, giảm thời gian chết và chi phí sản xuất.

o Tối ưu hóa nguồn lực bảo trì bằng cách ưu tiên thiết bị quan trọng dựa trên
phân tích nhóm.

2.2.3 Lĩnh vực y tế

 Khám phá và phát triển thuốc: Research clustering đóng vai trò trong:

o Phân tích các tập dữ liệu lớn về hợp chất hóa học và mục tiêu sinh học để
xác định các ứng cử viên thuốc tiềm năng.

o Mô phỏng sự tương tác giữa các phân tử thuốc và mục tiêu sinh học, đẩy
nhanh quá trình phát triển thuốc.

o Tối ưu hóa phát triển thuốc bằng cách nhóm các hợp chất có đặc điểm hoặc
cơ chế tác dụng tương tự.

 Phân tích hình ảnh y tế: Research clustering có thể được áp dụng cho các hình
ảnh y tế như MRI hoặc CT scan để:
o Cải thiện độ chính xác của chẩn đoán bệnh bằng cách xác định các mẫu hoặc
bất thường trong hình ảnh.

o Tự động hóa các nhiệm vụ phân tích hình ảnh, giảm bớt gánh nặng cho các
bác sĩ chẩn đoán hình ảnh.

o Phát triển các dấu ấn sinh học hình ảnh mới để phát hiện và theo dõi bệnh.

3. DISTANCE FUNCTIONS

Hàm khoảng cách đo khoảng cách giữa hai điểm trong một tập hợp. Ví dụ: bạn có thể
muốn tìm khoảng cách giữa hai điểm trên một đường thẳng

3.1. Khái niệm (Manhattan)

 Hàm khoảng cách Manhattan tính toán khoảng cách sẽ di chuyển từ điểm dữ liệu
này đến điểm dữ liệu khác nếu đi theo đường dẫn giống như lưới. Khoảng cách Manhattan
giữa hai mục là tổng hiệu của các thành phần tương ứng của chúng.

 Ước lượng khoảng cách bằng cách sử dụng độ lệch theo chiều ngang và dọc trên
lưới (hoặc trong không gian 2D).

3.2. Công thức

Công thức tính:

d(A,B) = | x2 – x1| + | y2 – y1|

Trong đó : A và B là khoảng cách 2 điểm cần tính

X1 và Y1 là toạ độ điểm A

X2 và Y2 là toạ độ điểm B
Hình: Khoảng cách Manhattan và khoảng cách Euclidean

Công thức tính khoảng cách giữa một điểm X =( X 1 , X 2 , v.v.) và một điểm

Y =( Y 1 , Y 2 , v.v.) là:

Trong đó n là số lượng biến, X i và Y i lần lượt là giá trị của biến thứ i tại các điểm X và
Y.

Hình dưới đây minh họa sự khác biệt giữa khoảng cách Manhattan và khoảng cách Euclide:
 Khoảng cách Euclide là khoảng cách ngắn nhất giữa hai điểm bất kỳ trong không
gian số liệu. Xét hai điểm x và y trong mặt phẳng hai chiều có tọa độ lần lượt là (x1, x2)
và (y1, y2).

Khoảng cách Euclide giữa x và y được hiển thị:

Mở rộng ra n chiều, các điểm x và y có dạng x = (x1, x2, …, xn) và y = (y1, y2, …,
yn), ta có phương trình khoảng cách Euclide như sau:
 Khoảng cách Manhattan, giả sử bạn đang ở trong một mặt phẳng hai chiều và bạn
chỉ có thể di chuyển dọc theo các trục như được hiển thị:

4. ALGORITHMS (DENSITY-BASED CLUSTERING)

4.1. Khái niệm

DBSCAN là một thuật toán cơ sở để phân nhóm dựa trên mật độ. Nó có thể phát hiện
ra các cụm có hình dạng và kích thước khác nhau từ một lượng lớn dữ liệu chứa nhiễu.
Định nghĩa 1: Vùng lân cận epsilon (Eps-neighborhood) của một điểm dữ liệu P
được định nghĩa là tợp hợp tất cả các điểm dữ liệu nằm trong phạm vi bán kính epsilon (kí
hiệu ∊) xung quanh điểm P. Kí hiệu tập hợp những điểm này là:

Trong đó D là tập hợp tất cả các điểm dữ liệu của tập huấn luyện.

Định nghĩa 2: Khả năng tiếp cận trực tiếp mật độ (directly density-reachable) đề cập
tới việc một điểm có thể tiếp cận trực tiếp tới một điểm dữ liệu khác. Cụ thể là một điểm
Q được coi là có thể tiếp cận trực tiếp bởi điểm P tương ứng với tham số epsilon và minPts
nếu như nó thoả mãn hai điều kiện:

1. Q nằm trong vùng lân cận epsilon của P: Q ∊ Nép(P)

2. Số lượng các điểm dữ liệu nằm trong vùng lân cận epsilon tối thiểu minPts:

Định nghĩa 3: Khả năng tiếp cận mật độ (density-reachable) liên quan đến cách hình
thành một chuỗi liên kết điểm trong cụm. Cụ thể là trong một tập hợp chuỗi điểm
{Pi}i=1nD mà nếu như bất kì một điểm Pi nào cũng đều có thể tiếp cận trực tiếp mật độ
(định nghĩa 2) bởi Pi-1 theo tham số epsilon và minPts thì khi đó ta nói điểm P=Pn có khả
năng kết nối mật độ tới điểm Q=P1.

4.2. Phân loại dạng điểm trong DBSCAN

Căn cứ vào vị trí của các điểm dữ liệu so với cụm chúng ta có thể chia chúng thành
ba loại:
 Đối với các điểm nằm sâu bên trong cụm chúng ta xem chúng là điểm lõi.

 Các điểm biên nằm ở phần ngoài cùng của cụm

 Điểm nhiễu không thuộc bất kỳ một cụm nào.

Hình minh hoạ cách xác định ba loại điểm bao gồm: điểm lõi (core) chấm vuông màu
xanh, điểm biên (border), chấm tròn màu đen và điểm nhiễu (noise) chấm tròn màu trắng
trong thuật toán DBSCAN. Các hình tròn đường viền nét đứt bán kính ∊ thể hiện vùng lân
cận epsilon tương ứng với các điểm lõi nhằm xác định nhãn cho từng điểm. minPts=3 là
số lượng tối thiểu để một điểm lõi rơi vào vùng có mật độ cao nếu xung quanh chúng có số
lượng điểm tối thiểu là 3.

Trong thuật toán DBSCAN sử dụng hai tham số chính đó là:


 minPts: Là một ngưỡng số điểm dữ liệu tối thiểu được nhóm lại với nhau nhằm
xác định một vùng lân cận epsilon có mật độ cao. Số lượng minPts không bao gồm điểm
ở tâm.

 epsilon ( kí hiệu ∊ ): Một giá trị khoảng cách được sử dụng để xác định vùng lân
cận epsilon của bất kỳ điểm dữ liệu nào.

Hai tham số trên sẽ được sử dụng để xác định vùng lân cận epsilon và khả năng tiếp
cận giữa các điểm dữ liệu lẫn nhau. Từ đó giúp kết nối chuỗi dữ liệu vào chung một cụm.

Hai tham số trên giúp xác định ba loại điểm:

 Điểm lõi (core): Đây là một điểm có ít nhất minPts điểm trong vùng lân cận epsilon
của chính nó.

 Điểm biên (border): Đây là một điểm có ít nhất một điểm lõi nằm ở vùng lân cận
epsilon nhưng mật độ không đủ minPts điểm.

 Điểm nhiễu (noise): Đây là điểm không phải là điểm lõi hay điểm biên.

Đối với một cặp điểm (P, Q) bất kì sẽ có ba khả năng:

 Cả P và Q đều có khả năng kết nối mật độ được với nhau. Khi đó P, Q đều thuộc
về chung một cụm.

 P có khả năng kết nối mật độ được với Q nhưng Q không kết nối mật độ được với
P. Khi đó P sẽ là điểm lõi của cụm còn Q là một điểm biên.

 P và Q đều không kết nối mật độ được với nhau. Trường hợp này P và Q sẽ rơi vào
những cụm khác nhau hoặc một trong hai điểm là điểm nhiễu.
4.3. Các bước trong thuật toán DBSCAN

Các bước của thuật toán DBSCAN khá đơn giản. Thuật toán sẽ thực hiện lan truyền
để mở rộng dần phạm vi của cụm cho tới khi chạm tới những điểm biên thì thuật toán sẽ
chuyển sang một cụm mới và lặp lại tiếp quá trình trên. Cụ thể bạn sẽ thấy được quá trình
lan truyền này thông qua hình minh hoạ bên dưới.

Hình 3: Quá trình lan truyền để xác định các cụm của thuật toán DBSCAN

Quy trình của thuật toán:

 Bước 1: Thuật toán lựa chọn một điểm dữ liệu bất kì. Sau đó tiến hành xác định
các điểm lõi và điểm biên thông qua vùng lân cận epsilon bằng cách lan truyền theo liên
kết chuỗi các điểm thuộc cùng một cụm.

 Bước 2: Cụm hoàn toàn được xác định khi không thể mở rộng được thêm. Khi đó
lặp lại đệ quy toàn bộ quá trình với điểm khởi tạo trong số các điểm dữ liệu còn lại để xác
định một cụm mới.
4.4. Xác định tham số

Chúng ta cần phải xác định chính xác tham số cho thuật toán DBSCAN một cách phù
hợp với từng bộ dữ liệu cụ thể, tùy theo đặc điểm và tính chất của phân phối của bộ dữ
liệu. Hai tham số cần lựa chọn trong DBSCAN đó chính là minPts và epsilon:

 minPts: Theo quy tắc chung, tối thiểu có thể được tính theo số chiều D trong tập
dữ liệu đó là minPts > or =D+1 . Một giá trị minPts=1 không có ý nghĩa, vì khi đó mọi
điểm bản thân nó đều là một cụm. Với minPts<or =2, kết quả sẽ giống như phân cụm phân
cấp (hierarchical clustering) với single linkage với biểu đồ dendrogram được cắt ở độ cao
y= epsilon. Do đó minPts phải được chọn ít nhất là 3. Tuy nhiên, các giá trị lớn hơn thường
tốt hơn cho các tập dữ liệu có nhiễu và kết quả phân cụm thường hợp lý hơn. Theo quy tắc
chung thì thường chọn minPts =2xdim. Trong trường hợp dữ liệu có nhiễu hoặc có nhiều
quan sát lặp lại thì cần lựa chọn giá trị minPts lớn hơn nữa tương ứng với những bộ dữ liệu
lớn.

 epsilon: Giá trị có thể được chọn bằng cách vẽ một biểu đồ k-distance. Đây là biểu
đồ thể hiện giá trị khoảng cách trong thuật toán k-Means clustering đến k=minPts-1 điểm
láng giềng gần nhất. Ứng với mỗi điểm chúng ta chỉ lựa chọn ra khoảng cách lớn nhất trong
k khoảng cách. Những khoảng cách này trên đồ thị được sắp xếp theo thứ tự giảm dần. Các
giá trị tốt của ∊ là vị trí mà biểu đồ này cho thấy xuất hiện một điểm khuỷ tay (elbow point):
Nếu ∊ được chọn quá nhỏ, một phần lớn dữ liệu sẽ không được phân cụm và được xem là
nhiễu; trong khi đối với giá trị ∊ quá cao, các cụm sẽ hợp nhất và phần lớn các điểm sẽ
nằm trong cùng một cụm. Nói chung, các giá trị nhỏ của ∊ được ưu tiên hơn và theo quy
tắc chung, chỉ một phần nhỏ các điểm nên nằm trong vùng lân cận epsilon.

 Hàm khoảng cách: Việc lựa chọn hàm khoảng cách có mối liên hệ chặt chẽ với lựa
chọn và tạo ra ảnh hưởng lớn tới kết quả. Điểm quan trọng trước tiên đó là chúng ta cần
xác định một thước đo hợp lý về độ khác biệt (disimilarity) cho tập dữ liệu trước khi có thể
chọn tham số ∊. Khoảng cách được sử dụng phổ biến nhất là euclidean distance.
4.5 Huấn luyện thuật toán DBSCAN

Để huấn luyện mô hình phân cụm sử dụng thuật toán DBSCAN thì chúng ta cần
import class sklearn.cluster.DBSCAN

4.6. Lựa chọn tham số cho mô hình DBSCAN

Chúng ta sẽ sử dụng biểu đồ k-distance như đã trình bày ở mục xác định tham số để
lựa chọn khoảng cách ∊ phù hợp cho mô hình DBSCAN. Không mất đi tính chất của
khoảng cách của dữ liệu thì chúng ta giả định hàm khoảng cách được lựa chọn là euclidean
distance. Cuối cùng chúng ta lựa chọn số lượng điểm dữ liệu tối thiểu nằm trong vùng lân
cận là minPts=11 (theo nguyên tắc chung thì minPts cần tối thiểu bằng 2×dim của bộ dữ
liệu). Điều này tương ứng với trong thuật toán k-Means mà chúng ta áp dụng để vẽ biểu
đồ k-distance thì cần lựa chọn số láng giềng k=10

Khi xây dựng mô hình với những tham số này sẽ tạo ra được những cụm phân chia
có tính chất tổng quát nhất. Tránh được các trường hợp có quá nhiều cụm nhỏ lẻ được phân
chia và nhiễu được tạo thành khi ∊ nhỏ và trường hợp khác là toàn bộ các điểm bị phân về
một cụm nếu lựa chọn ∊ lớn.

4.7. Xây dựng mô hình DBSCAN

Để xây dựng mô hình DBSCAN trên sklearn chúng ta sử dụng:

class sklearn.cluster.DBSCAN

Trong đó các tham số chính cần quan tâm đó là:

 eps: Chính là khoảng cách ∊ giúp xác định các điểm nằm trong vùng lân cận
epsilon. Đây cũng là giá trị khó xác định nhất và tuỳ thuộc vào đặc trưng phân phối của
mỗi bộ dữ liệu.
 min_samples: Số lượng tối thiểu các điểm láng giềng xung quanh một điểm để xác
định một điểm lõi, số lượng này đã bao gồm điểm lõi. Tương đương với minPts+1 đã giới
thiệu ở trên.
 metric: Hàm khoảng cách để đo lường khoảng cách giữa hai điểm bất kì, nhận mặc
định là euclidean. Hàm khoảng cách và giá trị ∊ là hai tham số có mối quan hệ chặt chẽ và
ảnh hưởng qua lại lẫn nhau và ảnh hưởng lên kết quả phân cụm.
 algorithm: Phương pháp được sử dụng để xác định các điểm láng giềng. Bao gồm
các phương pháp auto, ball_tree, kd_tree, brute. Mặc định là auto.

 DBSCAN là một thuật toán đơn giản và hiệu quả. Nó hoạt động dựa trên cách tiếp
cận mật độ phân phối của dữ liệu. Ưu điểm của thuật toán đó là có thể tự động loại bỏ được
các điểm dữ liệu nhiễu, hoạt động tốt đối với những dữ liệu có hình dạng phân phối đặc
thù và có tốc độ tính toán nhanh. Tuy nhiên DBSCAN thường không hiệu quả đối với
những dữ liệu có phân phối đều khắp nơi. Khi huấn luyện DBSCAN thì các tham số của
mô hình như khoảng cách epsilon, số lượng điểm lân cận tối thiểu minPts và hàm khoảng
cách là những tham số có ảnh hưởng rất lớn đối với kết quả phân cụm. Thực tế cho thấy
thuật toán khá nhạy với tham số epsilon và minPts nên chúng ta cần phải lựa chọn tham số
cho mô hình trước khi tiến hành xây dựng mô hình.
TÀI LIỆU THAM KHẢO

1. C, B. P. (2023, March 31). Distance Metrics: Euclidean, Manhattan, Minkowski,


Oh My! KDnuggets. Retrieved March 27, 2024, from
https://www.kdnuggets.com/2023/03/distance-metrics-euclidean-manhattan-minkowski-
oh.html
2. C, B. P. (2023, March 31). Distance Metrics: Euclidean, Manhattan, Minkowski,
Oh My! KDnuggets. Retrieved March 27, 2024, from
https://www.kdnuggets.com/2023/03/distance-metrics-euclidean-manhattan-minkowski-
oh.html
3. Distance Measure trong Machine learning. (n.d.). Viblo. Retrieved March 27,
2024, from https://viblo.asia/p/distance-measure-trong-machine-learning-ByEZkopYZQ0
4. Phương pháp phân cụm dựa trên mật độ (Density-Based Clustering) — Deep AI
KhanhBlog. (n.d.). Khoa học dữ liệu - Khanh's blog. Retrieved March 27, 2024, from
https://phamdinhkhanh.github.io/deepai-book/ch_ml/DBSCAN.html
5. Manhattan Distance Metric. (n.d.). Improved Outcomes. Retrieved March 27,
2024, from
http://www.improvedoutcomes.com/docs/WebSiteDocs/Clustering/Clustering_Parameter
s/Manhattan_Distance_Metric.htm

You might also like