Tải bản đầy đủ (.pdf) (58 trang)

PHÂN CỤM, PHÂN LỚP TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN KINH DOANH

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 (1.41 MB, 58 trang )

Phần 1. MỞ ĐẦU
1.1. Lý do chọn đề tài

Như chúng ta đã biết và nhận thấy, trong vài thập niên gần đây, cùng với sự
thay đổi và phát triển không ngừng của ngành cơng nghệ thơng tin nói chung và
trong các ngành cơng nghệ phần cứng, phần mềm, truyền thông và hệ thống các dữ
liệu phục vụ trong các lãnh vực kinh tế - xã hội nói riêng thì việc thu thập thơng tin
cũng như nhu cầu lưu trữ thông tin càng ngày tăng. Bên cạnh đó việc tin học hố
một cách ồ ạt và nhanh chóng trong các hoạt động sản xuất, kinh doanh cũng như
nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu lưu trữ
khổng lồ. Hàng triệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất,
kinh doanh, quản lí ... trong đó có nhiều cơ sở dữ liệu cực lớn đến cỡ Gigabyte,
thậm chí là Terabyte. Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có
những kĩ thuật và cơng cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia
thành các tri thức có ích. Từ đó, các kĩ thuật khai phá dữ liệu đã trở thành một lĩnh
vực thời sự của nền công nghệ thông tin thế giới hiện nay. Một vấn đề được đặt ra
là phải làm sao trích chọn được những thơng tin có ý nghĩa từ tập dữ liệu lớn để từ
đó có thể giải quyết được các yêu cầu của thực tế như trợ giúp ra quyết định, dự
đốn,…và vì thế mà khai phá dữ liệu đã ra đời nhằm giải quyết các yêu cầu đó.

Ngay từ những ngày đầu khi xuất hiện, khai phá dữ liệu đã trở thành một trong
những xu hướng nghiên cứu phổ biến trong lĩnh vực học máy tính và cơng nghệ tri
thức. Nhiều thành tựu nghiên cứu của khai phá dữ liệu đã được áp dụng trong thực
tế, khai phá dữ liệu có nhiều hướng quan trọng và một trong các hướng đó là phân
cụm, phân lớp dữ liệu. Phân cụm, phân lớp dữ liệu là quá trình tìm kiếm để phân ra
các cụm dữ liệu, các mẫu dữ liệu từ tập cơ sở dữ liệu lớn. Đó là lí do thơi thúc em
chọn đề tài “Phân cụm, phân lớp trong khai phá dữ liệu và ứng dụng trong bài
toán kinh doanh” để làm đề tài khóa luận tốt nghiệp của mình.
1.2. Mục tiêu của đề tài

- Tìm hiểu qui trình khám phá tri thức


- Tìm hiểu quá trình khai phá dữ liệu
- Tìm hiểu phân cụm trong khai phá dữ liệu
- Tìm hiểu phân lớp trong khai phá dữ liệu
- Áp dụng lý thuyết tìm hiểu được và áp dụng trong bài toán thực tế

1

1.3. Đối tượng và phạm vi nghiên cứu
Phân loại là một trong những hành vi nguyên thủy nhất của con người nhằm

nắm giữ lượng thơng tin hữu ích từ lượng thơng tin khổng lồ họ nhận được hàng
ngày bằng cách xử lý mọi thông tin như mọi thực thể.

Phân cụm, phân lớp dữ liệu nhằm trong mục đích để khai phá cấu trúc của
mẫu dữ liệu từ đó thành lập các nhóm dữ liệu từ tập dữ liệu đã có trước đó.
1.4. Phương pháp nghiên cứu

Tìm hiểu các thuật tốn, các kỹ thuật phân cụm phân lớp thông qua sách vở
và tài liệu trên mạng Internet.

Ứng dụng phân cụm, phân lớp dữ liệu trong nhiều khu vực nhiều việc khác
nhau: học tập, kinh tế, bảo hiểm, viễn thông, quy hoạch đô thị, nghiên cứu về địa
chấn …
1.5. Lịch sử nghiên cứu

Với vấn đề về khai phá dữ liệu, đặc biệt là phân cụm dữ liệu cũng đã được
nhiều tác giả phân tích, nghiên cứu theo nhiều hướng khác nhau.

Phần lớn các tác giả đều cho thấy một cách tổng quan về khai phá dữ liệu,
phân cụm, phân lớp dữ liệu và các ứng dụng trong một số lĩnh vực khác nhau. Bên

cạnh đó vẫn có một số vấn đề ít được đề cập là việc phân tích, đánh giá tính tối ưu
trong các thuật toán phân cụm dữ liệu, từ đó lực chọn thuật tốn tốt nhất đưa vào
ứng dụng.
1.6. Đóng góp của đề tài

Đề tài được nghiên cứu nhằm trình bày những kiến thức cơ bản và tổng quan về
khai phá dữ liệu, phân cụm, phân lớp dữ liệu và các kỹ thuật trong phân cụm dữ liệu.

Ứng dụng bài toán kinh doanh phân cụm, phân lớp trong phần mềm Weka
bằng kỹ thuật phân cụm dữ liệu.
1.7. Cấu trúc đề tài
Nội dung khóa luận gồm có 3 chương:
CHƯƠNG 1:
Tổng quan về khai phá tri thức và khai phá dữ liệu
CHƯƠNG 2:
Phân cụm, phân lớp và các kỹ thuật phân cụm, phân lớp trong khai phá dữ liệu
CHƯƠNG 3:
Ứng dụng triển khai bài toán phân cụm, phân lớp

2

Phần 2. NỘI DUNG
CHƯƠNG I: TỔNG QUAN VỀ KHAI PHÁ TRI THỨC VÀ KHAI PHÁ

DỮ LIỆU
1.1. Khai phá tri thức

1.1.1 Khái niệm khai phá tri thức

Nếu cho rằng các điện tử và các sóng điện tử chính là bản chất của cơng

nghệ điện từ truyền thống thì dữ liệu, thơng tin và tri thức hiện đang là tiêu điểm
của một lĩnh vực mới trong nghiên cứu và ứng dụng về phát hiện tri thức
(Knowledge Discovery) và khai phá dữ liệu (Data Mining).

Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các
ký hiệu, hoặc các “đối tượng với một ý nghĩa nào đó khi được gửi cho một chương
trình dưới một dạng nhất định. Chúng ta sử dụng các bit để đo lường các thơng tin
và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối
thiểu để đặc trưng một cách cơ bản cho dữ liệu. Chúng ta có thể xem tri thức như là
các thơng tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng. Các
mối quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học.
Nói cách khác, tri thức có thể được coi là dữ liệu có độ trừu tượng và tổ chức cao.

Phát hiện tri thức trong cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc
các mơ hình trong dữ liệu với các tính năng: phân tích, tổng hợp, hợp thức, khả ích,
và có thể hiểu được. Còn khai thác dữ liệu là một bước trong quy trình phát hiện tri
thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về
hiệu quả tính tốn chấp nhận được để tìm ra các mẫu hoặc các mơ hình trong dữ
liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là
tìm ra các mẫu hoặc các mơ hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn
bị che khuất bởi hàng núi dữ liệu.
1.1.2 Sự cần thiết của khái phá tri thức

Có rất nhiều lý do để giải thích sự cần thiết của việc Khám phá tri thức, điển
hình là:

- Có rất nhiều tổ chức tập hợp quá nhiều dữ liệu, vậy họ phải làm gì với chúng.
- Con người lưu trữ dữ liệu bởi vì họ cho rằng một số giá trị hữu ích được mã hóa
hồn tồn trong dữ liệu.
- Trong kinh doanh, cần thu thập các thông tin về thị trường, về các đối thủ và về


3

khách hàng. Trong sản xuất, cần thu thập các dữ liệu về thời điểm hiệu quả và tối
ưu nhất phục vụ cho mục đích cải tiến quy trình và giải quyết các sự cố.

- Chỉ có một phần nhỏ của dữ liệu (khoảng 5 đến 10%) là ln được phân tích.
- Sự gia tăng của dữ liệu cản trở các phương pháp phân tích truyền thống.
- Giá trị dữ liệu là quá lớn đối với cách thức phân tích cổ điển. Chúng ta có thể
khơng bao giờ nhìn thấy chúng một cách chọn vẹn hoặc không thể lưu dữ trong bộ
nhớ.
- Dữ liệu cần tìm kiếm khơng tồn tại dưới dạng tường minh mà dưới dạng phi
cấu trúc, trong các quy luật tiềm ẩn.
- Sự phát triển của mạng máy tính đã gia tăng khả năng truy cập vào dữ liệu.
Người sử dụng cuối không phải là nhà thống kê đơn thuần, họ cần biết tri thức từ
CSDL mà họ đang lưu trữ.
- Sự cần thiết phải nhanh chóng ra quyết định và phản ứng lại những cơ hội xuất
hiện trước các đối thủ của mình.
- Cùng với việc lớn lên của CSDL, khả năng để đưa ra quyết định và hỗ trợ phân
tích là không thể thực hiện được với truy vấn truyền thống (SQL).
- Rất nhiều kiểu câu truy vấn mà con người quan tâm là rất khó thực hiện hay
miêu tả trong ngôn ngữ vấn tin, đại loại như:

• Tìm tất cả các bản ghi nghi là gian lận.
• Tìm tất cả các bản ghi tương tự như các bản ghi trong bảng X.
- Một số vấn đề với dạng thức truy vấn:
• Khơng thể tối ưu hóa thơng qua truy vấn.
• Khơng có nhiều thơng tin trong các trường của CSDL hoặc trong các phương
pháp thống kê cổ điển.
1.1.3 Khám phá tri thức và các lĩnh vực liên quan.


Khám phá tri thức là một lĩnh vực khoa học liên quan tới nhiều lĩnh vực khác
như: Khoa học thống kê, Máy học, CSDL, thuật tốn, trực quan hóa, thực thi cao và
tính tốn song song. Tri thức thu được từ các hệ thống chuyên môn thông minh và
sự trực quan hóa (hình dung) dữ liệu. Một hệ thống Khám phá tri thức - Khai phá
dữ liệu đặc trưng bởi các phương thức, thuật toán, kỹ thuật từ các lĩnh vực khác
nhau ở trên. Nhưng mục đích chung nhất là chiết xuất ra các tri thức từ dữ liệu xem
xét trong trường hợp CSDL lớn.

4

Lĩnh vực máy học và nhận dạng mẫu đan xen với Khám phá tri thức - Khai
phá dữ liệu trong hướng nghiên cứu về lý thuyết và thuật toán đối với các hệ thống
nhằm trích rút các mẫu, các mơ hình từ dữ liệu (phần chính của nó chính là các kỹ
thuật Khai phá dữ liệu). Trọng tâm của Khám phá tri thức - Khai phá dữ liệu là mở
rộng về lý thuyết và các thuật tốn đối với vấn đề tìm kiếm ra các mẫu đặc trưng
trong một tập rộng lớn của thế giới dữ liệu thực.

Khám phá tri thức - Khai phá dữ liệu cũng có nhiều điểm chung với khoa
học thống kê, đặc biệt là việc phân tích dữ liệu khám phá (EDA - Exploratory Data
Analysis). Một hệ thống Khám phá tri thức - Khai phá dữ liệu thường gắn liền với
các thủ tục thống kê đặc biệt đối với mô hình dữ liệu và điều quản nhiễu trong
khung Khám phá tri thức chung.

Bên cạnh đó Khám phá tri thức - Khai phá dữ liệu cũng liên quan mật thiết
với lĩnh vực khoa học gọi là Kho dữ liệu (Data Warehousing). Kho dữ liệu ám chỉ
đến xu hướng thông dụng gần đây là lựa chọn, giải quyết dữ liệu một cách rõ ràng
và làm cho chúng có khả năng phục hồi trực tuyến. Một phương pháp thơng dụng
cho việc phân tích kho dữ liệu được gọi là OLAP - xử lý phân tích trực tuyến. Tiêu
điểm của các công cụ OLAP là cung cấp cách phân tích dữ liệu đa chiều. Việc phân

tích dữ liệu đa chiều này mạnh hơn so với SQL (Standard Query Language) - Ngôn
ngữ vấn tin chuẩn trong việc xử lý các dữ liệu nhiều chiều. Chúng ta xem cả hai
khái niệm Khám phá tri thức và OLAP là các khía cạnh về một vấn đề mới của trích
rút thông tin tri thức và các công cụ quản lý.
1.2. Khai phá dữ liệu
1.2.1 Khái niệm khai phá dữ liệu

Khai phá dữ liệu như là một quy trình phân tích được thiết kế để thăm dò một
lượng cực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp hoặc các mối quan
hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp thức hố các kết quả tìm được
bằng cách áp dụng các mẫu đã phát hiện được cho các tập con của dữ liệu. Quy
trình này bao gồm ba giai đoạn cơ bản: thăm dị, xây dựng mơ hình hoặc định nghĩa
mẫu, hợp thức, kiểm chứng.

Do sự phát triển mạnh mẽ của khai phá dữ liệu về phạm vi các lĩnh vực ứng
dụng trong thực tế và các phương pháp tìm kiếm nên có rất nhiều khái niệm khác

5

nhau về khai phá dữ liệu. Tóm lại nó định được nghĩa như sau:
Khai phá dữ liệu là quá trình khám phá các tri thức mới và các tri thức có ích ở

dạng tiêm năng trong nguồn dữ liệu đã có.
1.2.2 Các phương pháp khai phá dữ liệu
Với hai mục đích chính của khai phá dữ liệu là dự đốn và mơ tả, người ta thường
sử dụng các phương pháp sau cho khai phá dữ liệu:

- Phân lớp (Classfication):dự đoán nhãn lớp cho các mẫu dữ liệu
- Hồi quy (Regression): ánh xạ mục dữ liệu thành một biến dự đốn có giá trị
thực

- Trực quan hố (Visualization): là q trình truyền tải thơng tin theo cách mà
người xem có thể nhanh chóng và dễ dàng tiêu hóa. Ví dụ ở khắp mọi nơi và chúng
ta thấy chúng hàng ngày - biểu đồ, đồ thị, hình ảnh kỹ thuật số và phim. Chúng tôi
sử dụng chúng bởi vì chúng trình bày một cách hiệu quả lượng lớn thơng tin
- Phân cụm (Clustering) : nhóm các đối tượng tương tự nhau vào các cụm sao
cho các đối tượng thuộc cùng một lớp là tương đồng
- Tổng hợp (Summarization): một tác vụ mô tả bổ sung liên quan đến các phương
pháp tìm mơ tả nhỏ gọn cho một tập hợp (hoặc tập hợp con) dữ liệu.
- Mơ hình ràng buộc (Dependency modeling) : Tìm một mơ hình cục bộ mơ tả
các phụ thuộc đáng kể giữa các biến hoặc giữa các giá trị của một tính năng trong
một tập dữ liệu hoặc trong một phần của tập dữ liệu.
- Biểu diễn mơ hình (Model Evaluation):là một phần khơng thể thiếu trong q
trình phát triển mơ hình.Biểu diễn mơ hình với dữ liệu được sử dụng cho đào tạo
- Phân tích sự phát triển và độ lệch (Evolution and deviation analyst): liên quan
đến nghiên cứu dữ liệu liên quan đến thời gian thay đổi theo thời gian. Mơ hình
phân tích sự phát triển xu hướng tiến hóa trong dữ liệu, đồng ý với việc mơ tả đặc
điểm, so sánh, phân loại hoặc phân cụm dữ liệu liên quan đến thời gian. Mặt khác,
phân tích độ lệch xem xét sự khác biệt giữa các giá trị đo được và giá trị mong đợi
và cố gắng tìm ra nguyên nhân của độ lệch so với các giá trị dự đoán.
- Luật kết hợp (Associantion rules): phát hiện và đưa ra các mối liên hệ giữa các

6

giá trị dữ liệu trong cơ sở dữ liệu
- Phương pháp tìm kiếm (Search Method): Phương pháp tìm kiếm là một cách

hiệu quả và hiệu quả trong việc tìm kiếm thơng tin
1.2.3 Các lĩnh vực ứng dụng trong thực tiễn của khai phá dữ liệu

Khai phá dữ liệu là một lĩnh vực mới phát triển những thu hút đựợc khá

nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó. Sau đây là một số
lĩnh vực ứng dụng thực tế điển hình của khai phá dữ liệu :

- Phân tích dữ liệu và hỗ trợ ra quyết định
- Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân cụm ảnh
màu
- Chuẩn đoán triệu chứng, phương pháp trong điều trị y học
- Tìm kiếm, đối sánh các hệ Gene và thơng tin di truyền trong sinh học
- Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài
chính, thị trường và chứng khốn
- Phân tích dữ liệu marketing, khách hàng.
- Điều khiển và lập lịch trình
- Bảo hiểm
- Giáo dục…
1.2.4 Các kỹ thuật áp dụng trong khai phá dữ liệu

Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính: Kỹ
thuật khai phá dữ liệu mơ tả về các tính chất hoặc các đặc tính chung của dữ liệu
trong CSDL hiện có. Các kỹ thuật này gồm có:

• phân cụm (Clustering): nhóm các đối tượng tương tự nhau vào các cụm sao
cho các đối tượng thuộc cùng một lớp là tương đồng
• tổng hợp (Summerization) ): một tác vụ mô tả bổ sung liên quan đến các
phương pháp tìm mơ tả nhỏ gọn cho một tập hợp (hoặc tập hợp con) dữ liệu.
• trực quan hố (Visualization) là q trình truyền tải thơng tin theo cách mà
người xem có thể nhanh chóng và dễ dàng tiêu hóa.

7

• phân tích sự phát triển và độ lệch (Evolution and deviation analyst),

• luật kết hợp (Associantion rules) ): phát hiện và đưa ra các mối liên hệ giữa
các giá trị dữ liệu trong cơ sở dữ liệu
Kỹ thuật khai phá dữ liệu dự đốn: có nhiệm vụ đưa ra các dự đốn vào các suy
diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: phân lớp (Classification), hồi
quy (Regression)... Trong đó có ba phương pháp thơng dụng nhất là: phân cụm dữ
liệu, phân lớp dữ liệu và khai phá luật kết hợp.

- Phân cụm dữ liệu: Mục tiêu chính của phân cụm dữ liệu là nhóm các đối
tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc
cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không
tương đồng. Trong phương pháp này bạn sẽ không thể biết kết quả các người làm
cụm thu được sẽ như thế nào khi q trình bắt đầu. Vì vậy, thơng thường cần có một
chuyên gia về lĩnh vực đó để đánh giá các cụm thu được. Phân cụm dữ liệu còn là
bước tiền xử lý cho các thuật toán khai phá dữ liệu khác.

- Phân lớp dữ liệu: Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán
nhãn lớp cho các mẫu dữ liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây
dựng mơ hình và sử dụng mơ hình để phân lớp dữ liệu

- Khai phá luật kết hợp: Mục tiêu của phương pháp này là phát hiện đưa ra
mối liên hệ giữa các giá trị dữ liệu trong Cơ sở dữ liệu. Mẫu đầu ra của giải thuật
khai phá dữ liệu là luật kết hợp tìm được
1.3 Quy trình khai phá tri thức và khai phá dữ liệu
1.3.1 Quy trình khai phá tri thức

Việc khám phá tri thức thơng thường có thể mơ tả bằng sơ đồ các quy trình
sau:

8


Hình thành và định
nghĩa

bài toán.

Thu thập và tiền xử lý
dữ liệu

Khai phá dữ liệu Rút ra
các tri thức

Phân tích và kiểm định
kết quả

sử dụng các tri thức
phát

hiện được
Hình 1.1: Quy trình khai phá tri thức
Trong đó, mỗi bước là một quy trình có vai trị và nhiệm vụ khác nhau, bao
gồm:
Bước thứ nhất: là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước
này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các
phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ
liệu.
Bước thứ hai: là thu thập và xử lý thơ, cịn được gọi là tiền xử lý dữ liệu
nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu
cần thiết, bước này thường chiếm nhiều thời gian nhất trong tồn bộ quy trình phát
hiện tri thức.
Bước thứ ba: là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc

các mơ hình ẩn dưới các dữ liệu.
Bước thứ tư: là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả

9

và dự đốn. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể
được lấy trung bình trên tất cả các lần thực hiện.

Bước thứ năm: Sử dụng tri thức đã được khai phá vào thực tế. Các tri thức
phát hiện được tích hợp chặt chẽ trong hệ thống. Tuy nhiên để sử dụng được các tri
thức đó đơi khi cần đến

các chuyên gia trong lĩnh vực liên quan vì tri thức rút ra có thể chỉ mang tính
chất hỗ trợ quyết định hoặc cũng có thể được sử dụng cho quá trình khám phá tri
thức khác.

Mặc dù được tóm tắt thành 5 bước nhưng thực chất quá trình xây dựng và thực
hiện việc khám phá tri thức không chỉ tuân theo các bước cố định mà các q trình
này cịn có thể được lặp đi lặp lại ở một hoặc một số giai đoạn trước và cứ tiếp tục
như thế sẽ làm cho quá trình khai phá và tìm kiếm dữ liệu ngày càng hồn thiện hơn
3.1.2 Quy trình khai phá dữ liệu

Quy trình khai phá dữ liệu thông thường gồm 10 bước như sau:

10

Tạo tập tin Tiền xử lí, làm sạch,
dữ liệu đ ầu mã hoá

vào Rút gọn chiều


Sử dụng các tri Nghiên cứu Chọn tác vụ khai thác
thức vừa khám lĩnh vực dữ liệu

phá

Biểu diễn tri
thức

Đánh Chọn các giải thuật
giá mẫu Khai thác dữ liệu

tìm
được

Khai thác dữ liệu, tìm
kiếm tri thức

Hình 1.2: Quy trình khai phá dữ liệu
Bước 1: Nghiên cứu lĩnh vực
Ta cần nghiên cứu lĩnh vực cần sử dụng Data Mining để xác định được
những tri thức ta cần chắc lọc, từ đó định hướng để tránh tốn thời gian cho những tri
thức không cần thiết.
Bước 2: Tạo tập tin dữ liệu đầu vào
Ta cần xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính có thể lưu
trữ và xử lí.
Bước 3: Tiền xử lí, làm sạch, mã hố
Ở bước này ta tiến hành bỏ bớt những dữ liệu rườm rà, không cần thiết, tinh

11


chỉnh lại cấu trúc của dữ liệu và mã hoá chúng để tiện cho q trình xử lí.
Bước 4: Rút gọn chiều
Thông thường một tập dữ liệu có chiều khá lớn sẽ sinh ra một lượng dữ liệu

khổng lồ, ví dụ với n chiều ta sẽ có 27 tổ hợp. Do đó, đây là một bước quan trọng
giúp giảm đáng kể hao tổn về tài ngun trong q trình xử lí tri thức,

Bước 5: Chọn tác vụ khai thác dữ liệu
Để đạt được mục đích ta cần, ta cần chọn được tác vụ khai thác dữ liệu sao
cho phù hợp. Thơng thường ta có các tác vụ sau:
• Đặc trưng (Feature)
• Phân biệt (Discrimination)
• Kết hợp (Association)
• Phân lớp (Classification)
• Phân cụm (Clusterity)
• Xu thế (Trend Analysis)
• Phân tích độ lệch
• Phân tích hiếm
Bước 6: Chọn các giải thuật Khai thác dữ liệu
Lực chọn các giải thuật khai thác dữ liệu phù hợp
Bước 7: Khai thác dữ liệu, tìm kiếm tri thức
Sau khi tiến hành các bước trên thì đây là bước chính của cả q trình, ta sẽ
tiến hành khai thác và tìm kiếm tri thức.
Bước 8: Đánh giá mẫu tìm được
Ta cần đánh giá lại xem trong các tri thức tìm được, ta sẽ sử dụng được
những tri thức nào, những tri thức nào là dư thừa, không cần thiết.
Bước 9: Biểu diễn tri thức
Ta biểu diễn tri thức vừa thu thập được dưới dạng ngôn ngữ tự nhiên và hình
thức sao cho người dùng có thể hiểu được những tri thức đó.

Bước 10: Sử dụng các tri thức vừa khám phá

12

Ta có thể tham khảo tiến trình KDD (Knowledge Discovery in Databases) để
hiểu rõ hơn về Khai thác dữ liệu:

Chuẩn bị dữ liệu (data preparation), bao gồm các quá trình làm sạch dữ liệu
(data cleaning ), tích hợp dữ liệu (data integration ), chọn dữ liệu (data selection),
biến đổi dữ liệu (data transformation).

Khai thác dữ liệu (data mining): xác định nhiệm vụ khai thác dữ liệu và lựa
chọn kỹ thuật khai thác dữ liệu. Kết quả cho ta một nguồn tri thức thô .

Đánh giá (evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc
nguồn tri thức thu được.

Triển khai (deployment)
Q trình khai thác tri thức khơng chỉ là một quá trình tuần tự từ bước đầu tiên đến
bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua.

13

CHƯƠNG II: PHÂN CỤM VÀ PHÂN LỚP TRONG KHAI PHÁ DỮ LIỆU

2.1. Phân cụm và các kỹ thuật phân cụm
2.1.1 Tổng quan về phân cụm dữ liệu

Ta có định nghĩa như sau:“Phân cụm dữ liệu (Clustering) là một kỹ thuật
trong khai phá dữ liệu, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên

tiềm ẩn, quan trọng trong tập dữ liệu lớn. Từ đó cung cấp thơng tin, tri thức hữu ích
cho việc ra quyết định”.

Như vậy, phân cụm dữ liệu là quá trình chia một tập dữ liệu ban đầu thành
các cụm sao cho các phần tử trong một cụm tương tự với nhau và các phần tử trong
các cụm khác nhau sẽ phi tương tự với nhau. Số các cụm dữ liệu ở đây có thể xác
định trước theo kinh nghiệm hoặc có thể được tự động xác định.

Ví dụ: Tập hợp các quả bóng có nhiều màu sắc như hình sau:

Khi đó, những quả bóng có cùng màu sắc được phân cụm vào các nhóm dữ liệu nhỏ
hơn như sau:

Khi phân cụm phải thoả mãn có yêu cầu như sau:
• Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với những tập
dữ liệu nhỏ chứa ít hơn 200 đối tượng, tuy nhiên, một cơ sở dữ liệu (CSDL)
lớn có thể chứa tới hàng triệu đối tượng. Việc phân cụm với một tập dữ liệu
lớn có thể làm ảnh hưởng tới kết quả. Vậy làm cách nào để chúng ta có thể
phát triển các thuật tốn phân cụm có khả năng mở rộng cao đối với các
CSDL lớn.
• Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật toán
được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số). Tuy nhiên,
nhiều ứng dụng có thể địi hỏi việc phân cụm với nhiều kiểu dữ liệu khác
nhau, như kiểu nhị phần, kiểu tường minh (định danh - không thứ tự), và dữ
liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này.
• Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật tốn phân cụm xác

14

định các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách

Manhattan. Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm
kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau. Tuy nhiên, một
cụm có thể có bất cứ một hình dạng nào.
• Do đó, việc phát triển các thuật tốn có thể khám phá ra các cụm có hình
dạng bất kỳ là một việc làm quan trọng...
• Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều thuật
toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong
phân tích phân cụm (như số lượng các cụm mong muốn).
• Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những CSDL thực đều chứa
đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai. Một số
thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất
lượng phân cụm thấp.
• Ít nhạy cảm với thủ tục của các dữ liệu vào: Một số thuật toán phân cụm
nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi
được đưa ra với các thứ tự khác nhau thì với cùng một thuật tốn có thể sinh
ra các cụm rất khác nhau. Do đó, việc quan trọng là phát triển các thuật toán
mà ít nhạy cảm với thứ tự vào của dữ liệu
• Số chiều lớn: Một CSDL hoặc một kho dữ liệu có thể chứa một số chiều
hoặc một số các thuộc tính. Nhiều thuật toán phân cụm áp dụng tốt cho dữ
liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều. Người ta đánh giá
việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu có từ 3
chiều trở lên. Nó là sự thách thức với các đối tượng dữ liệu cụm trong không
gian với số chiều lớn, đặc biệt vì khi xét những khơng gian với số chiều lớn
có thể rất thưa và có độ nghiêng lớn.
• Phân cụm ràng buộc: Nhiều ứng dụng thực tế có thể cần thực hiện phân cụm
dưới các loại ràng buộc khác nhau. Một nhiệm vụ đặt ra là đi tìm những
nhóm dữ liệu có trạng thái phân cụm tốt và thỏa mãn các ràng buộc.
• Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân
cụm dễ hiểu, dễ lý giải và dễ sử dụng. Nghĩa là, sự phân cụm có thể cần
được giải thích ý nghĩa và ứng dụng rõ ràng.


15

2.1.2 Một số phương pháp phân cụm dữ liệu
2.1.2.1 Phương pháp phân cụm phân hoạch

Phương pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n phần tử
cho trước thành k nhóm dữ liệu sao cho: mỗi phần tử dữ liệu chỉ thuộc về một nhóm
dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu. Các thuật tốn
phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu tồn cục cho
vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể
được. Chính vì vậy, trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho
vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các
cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Với chiến
lược này, thông thường người ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập
dữ liệu theo phép ngẫu nhiên hoặc theo heuristic và liên tục tinh chỉnh nó cho đến
khi thu được một phần hoạch mong muốn, thoả mãn ràng buộc cho trước. Các thuật
toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm, bằng cách tính các
giá trị đo độ tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này, sau đó
thuật tốn lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị
tối thiểu. Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ
là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm. Có nhiều thuật tốn
phân cụm phân điển hình như K-means, PAM, CLARA, CLARANS... Ở phần sau
em xin lựa chọn thuật tốn K-Means để phân tích rõ hơn cũng như xây dựng
chương trình.

16

Thuật toán K-means
Bắt đầu


Dữ liệu vào danh sách đối
tượng

Khởi tạo trọng tâm k F

Tính khoảng cách các Trọng tâm
điểm đến trọng tâm không đổi

Phân cụm dựa trên trọng T
tâm gần nhất

Tính tốn lại trọng tâm Kết thúc

Hình 2.1: Sơ đồ tuật toán K-means
Thuật toán K - Means bao gồm các bước sau :
Input :Số cụm k và các trọng tâm cụm { mj}kj-1 .
Ouput :Các cụm C[ i ]( 1 ≤ i ≤ k ) và hàm tiêu chuẩn E đạt giá trị tối thiểu
Begin
Bước 1 : Khởi tạo
Chọn k trọng tâm { mj}kj ban đầu trong không gian Rd ( d là số chiều của dữ
liệu ) . Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm .
Bước 2 : Tính tốn khoảng cách

17

Đối với mỗi điểm xi ( 1 ≤ i ≤ k ), tính tốn khoảng cách của nó tới mỗi trọng
tâm mj ; j = 1̅̅̅,̅𝑘̅. Sau đó tìm trọng tâm gần nhất đối với điểm .

Bước 3 : Cập nhật lại trọng tâm

Đối với mỗi j = 1̅̅,̅𝑘̅̅cập nhật lại trọng tâm cụm m bằng cách xác định trung
bình cộng các vectơ đối tượng dữ liệu .

Điều kiện dùng : Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm
không thay đổi .

End s.

Ví dụ: Giả sử ta có 4 điểm A, B, C, D, mỗi điểm được biểu diễn bởi 2 tọa độ
X và Y như sau. Mục đích của ta là nhóm các điểm đã Cho 2 nhóm(k=2) dựa vào
các tọa độ của chúng.

Đối tượng Tọa độ X Tọa độ Y

Điểm A 1 1

Điểm B 2 1

Điểm C 4 3

Điểm D 5 4

18

Y Thuộc tính 2

4
3

2


1
Thuộc tính 1

1 2 3 4 5 X

Hình 2.2: Lặp lại 0

Bước 1: Khởi tạo tâm cho 2 nhóm. Giả sử ta chọn A là tâm của nhóm thứ
nhất (toạ độ A(1,1)) và B là tâm của nhóm thứ 2 (toạ độ B(2,1

Bước 2: Tính khoảng cách từ các đối tượng đến tâm của các nhóm

𝑫𝟎 = [0 1 3.61 5 1 0 2.83 4.24] 𝐶1 =(1,1) 𝐶2 =(2,1)

𝐴𝐵 𝐶𝐷
[1 2 4 5] 𝑋
1 1 3 4𝑌

Mỗi cột trong ma trận khoảng cách (D) là một đối tượng (cột thứ nhất tương
ứng với đối tượng A, cột thứ 2 tương ứng với đối tượng B,...). Hàng thứ nhất trong
ma trận khoảng cách biểu diễn khoảng cách giữa các đối tượng đến tâm của nhóm
thứ nhất(c1) và hàng thứ 2 trong ma trận khoảng cách biểu diễn khoảng cách của
các đối tượng đến tâm của nhóm thứ 2(c2)

Khoảng cách từ điểm C=(4,3) đến tâm c1(1,1) là 3.61 và đến tâm c2(2,1) là
2.83 được tính như sau:

19


𝐶1 = (1,1)√(4 − 1)2 + (3 − 1)2 = 3.61
𝐶2 = (2,1)√(4 − 2)2 + (3 − 1)2 = 2.83
Bước 3: Nhóm các đối tượng vào nhóm gần nhất

𝐺0 = [1 0 0 0]
0 11 1
𝐴 𝐵 𝐶 𝐷

Ta thấy rằng nhóm 1 sau vịng lặp thứ nhất 1 đối tượng A còn lại B, C, D.
Bước 4: Tính lại toạ độ tâm cho các nhóm mới dựa vào toạ độ của các đối
tượng trong nhóm. Nhóm 1 chỉ có 1 đối tượng A nên tâm nhóm 1 vẫn khơng đổi
c1(1,1). Tâm nhóm 2 được tính như sau:

2 + 4 + 5 1 + 3 + 4 11 8
𝐶2 = ( 3 , 3 ) = ( 3 , 3)
Y Thuộc tính
2

4

3

2

1

Thuộc tính
1

1 2 3 4 5 X


Hình 2.3: Lặp lại 1

Bước 5: Tính lại khoảng cách từ các đối tượng đến tâm mới

20


×