Quá trình phát hiện tri thức gồm một số bước sau: - Làm sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu không cần thiết - Tích hợp dữ liệu: Các nguồn dữ liệu khác nhau tích hợp lại - Lựa c
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH
Môn học KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Đề tài
TÌM HIỂU THUẬT TOÁN GOM CỤM K-MEAN
VÀ CÀI ĐẶT CHƯƠNG TRÌNH MINH HỌA
Giảng viên hướng dẫn : PGS.TS Đỗ Phúc Học viên thực hiện : Bùi Thị Hoàng Anh
Mã số : CH1101065 Lớp : Cao học – CNTT K6
HCM, 11/2012
Trang 2LỜI NÓI ĐẦU 1
NỘI DUNG 2
Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 2
1.1 Giới thiệu về khám phá tri thức 2
1.2 Khai phá dữ liệu và các khái niệm liên quan 3
1.2.1 Khái niệm khai phá dữ liệu 3
1.2.2 Các hướng tiếp cận trong khai phá dữ liệu 3
1.2.2 Các lĩnh vực ứng dụng 4
Chương 2: PHÂN CỤM DỮ LIỆU VÀ THUẬT TOÁN K-MEANS 5
2.1 Khái quát gom cụm dữ liệu 5
2.1.1 Khái niệm 5
2.1.2 Chuẩn hóa các độ đo 6
2.1.3 Một số ứng dụng của gom cụm dữ liệu 7
2.1.4 Một số kỹ thuật tiếp cận trong cụm dữ liệu 7
2.2 Gom cụm phân hoạch 9
2.3 Thuật toán K-Means 10
2.3.1 Thuật toán 10
2.3.2 Ví dụ minh họa 10
Chương 3: CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN K-MEANS 15
3.1 Chương trình thử nghiệm thuật toán K-Means 15
3.2 Chương trình ứng dụng thuật toán K-Means trong bài toán phân đoạn ảnh
16 KẾT LUẬN 20
TÀI LIỆU THAM KHẢO 21
PHỤ LỤC 22
Trang 3LỜI NÓI ĐẦU
Trong vài thập niên gần đây, công nghệ thông tin được ứng dụng rộng rãi trong nhiều lĩnh vực: tài chính, sản xuất, kinh doanh, truyền thông,
y tế, Sự phát triển không ngừng của ngành công nghệ thông tin và các lĩnh vực liên quan dẫn đến hệ quả là khối lượng thông tin lưu trữ ngày càng lớn Sự bùng nổ về dữ liệu dẫn đến yêu cầu cấp thiết là cần có những
kĩ thuật và công cụ tự động trích chọn ra những thông tin có ý nghĩa từ cơ
sở dữ liệu để từ đó 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ự đoán,… Hướng nghiên cứu Khai phá dữ liệu (Data mining)
đã ra đời nhằm giải quyết các yêu cầu thực tiễn đó Khai phá dữ liệu được chia nhỏ thành các hướng nghiên cứu chính như sau: mô tả khái niệm, luật kết hợp, phân lớp dữ liệu, gom cụm dữ liệu, khai phá chuỗi,
Có nhiều thuật toán giải quyết vấn đề gom cụm dữ liệu Tuy nhiên trong khuôn khổ bài thu hoạch luận này, em chỉ đi sâu tìm hiểu thuật toán K-Means và từ đó xây dựng hai chương trình ứng dụng có sử dụng thuật toán K-Means để giải quyết bài toán ban đầu Chương trình thứ nhất mô phỏng chi tiết các bước thực hiện của thuật toán K-Means sau khi người dùng nhập dữ liệu ban đầu Chương trình thứ hai giải quyết vấn đề phân đoạn ảnh theo màu sắc
Thông qua bài thu hoạch, em xin gởi lời cảm ơn chân thành đến PGS.TS Đỗ Phúc, người thầy đã rất nhiệt tình trong công tác giảng dạy và tận tâm truyền đạt các kiến thức quý báu về môn học Data Mining cho chúng em
Trang 4NỘI DUNG
Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu về khám phá tri thức
Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử dụng thông tin một cách có hiệu quả Điều đó có nghĩa là từ các dữ liệu sẵn có, phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và những yếu tố tác động
lên chúng Thực hiện công việc đó chính là thực hiện quá trình phát hiện tri thức trong cơ sở dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức chính là kỹ thuật khai phá dữ liệu
Quá trình phát hiện tri thức gồm một số bước sau:
- Làm sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu không cần thiết
- Tích hợp dữ liệu: Các nguồn dữ liệu khác nhau tích hợp lại
- Lựa chọn dữ liệu: Các dữ liệu có liên quan đến quá trình phân tích được lựa chọn từ cơ sở dữ liệu
- Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
- Khai phá dữ liệu: Là một trong những bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để lựa chọn ra những mẫu dữ liệu
- Ước lượng mẫu: Quá trình đánh giá kết quả thông qua một độ đo nào đó
- Biểu diễn tri thức: Biểu diễn các kết quả một cách trực quan cho người dùng
Trang 51.2 Khai phá dữ liệu và các khái niệm liên quan
1.2.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu được định nghĩa như một quá trình chắt lọc hay khám phá tri thức từ một lượng lớn dữ liệu Thuật ngữ Data Mining ám chỉ việc tìm một tập nhỏ có giá trị từ một lượng lớn các dữ liệu thô Khai phá
dữ liệu chỉ là một bước trong quá trình phát hiện tri thức
1.2.2 Các hướng tiếp cận trong khai phá dữ liệu
Khai phá dữ liệu được chia nhỏ thành một số hướng chính như sau:
Mô tả khái niệm (concept description): thiên về mô tả, tổng hợp
và tóm tắt khái niệm
Ví dụ: tóm tắt văn bản
Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá đơn giản
Ví dụ: “50% những người mua máy tính thì cũng mua máy in”
Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tài chính & thị trường chứng khoán,…
Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết trước
Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết
Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), Người ta còn gọi phân lớp là học có giám sát (học có thầy)
Gom cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước Người ta còn gọi gom cụm là học không giám sát (học không thầy)
Trang 6 Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian
Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao
1.2.3 Các lĩnh vực ứng dụng
Khai phá dữ liệu tuy là một hướng tiếp cận mới nhưng thu hút được
sự quan tâm của rất nhiều nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của nó
Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)
Điều trị y học (medical treatment)
Text mining & Web mining
Tin-sinh (bio-informatics)
Tài chính và thị trường chứng khoán (finance & stock market)
Bảo hiểm (insurance): nhận dạng các nhóm công ty có chính sách bảo hiểm mô tô với chi phí đền bù trung bình cao
Tiếp thị: khám phá các nhóm khác hàng phân biệt trong CSDL mua hàng
Sử dụng đất: nhận dạng các vùng đất sử dụng giống nhau khi khảo sát CSDL quả đất
Hoạch định thành phố: nhận dạng các nhóm nhà cửa theo loại nhà, giá trị và vị trí địa lý
Trang 7Chương 2: GOM CỤM DỮ LIỆU
VÀ THUẬT TOÁN K-MEANS
2.1 Khái quát gom cụm dữ liệu
2.1.1 Khái niệm
Gom cụm là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu thỏa mãn:
a Các đối tượng trong một cụm “tương tự” nhau
b Các đối tượng khác cụm thì “không tương tự” nhau
Mục đích của gom cụm là xác định được bản chất của việc nhóm các đối tượng trong một tập dữ liệu không có nhãn Gom cụm không dựa trên một tiêu chuẩn chung nào, mà dựa vào tiêu chí do người dùng cung cấp trong từng trường hợp
Thế nào là một gom cụm tốt?
Một phương pháp tốt sẽ tạo ra các cụm có chất lượng cao với:
- Tương tự cao cho trong lớp (intra-class)
- Tương tự thấp giữa các lớp (inter-class)
Chất lượng của kết quả gom cụm phụ thuộc vào:
- Độ đo tương tự sử dụng
- Cài đặt độ đo tương tự
Chất lượng của phương pháp gom cụm cũng được đo bởi khả năng phát hiện vài hay tất cả các mẫu bị che (hidden patterns)
Tương tự và bất tương tự giữa hai đối tượng
Không có định nghĩa duy nhất về sự tương tự và bất tương tự giữa các đối tượng dữ liệu
Định nghĩa về tương tự và bất tượng tự giữa các đối tượng tùy thuộc vào:
- Loại dữ liệu khảo sát
- Loại tương tự cần thiết
Trang 8 Tương tự/ Bất tượng tự giữa đối tượng thường được biểu diễn qua độ đo khoảng cách d(x,y)
Lý tưởng, mọi độ đo khoảng cách phải là một và phải thỏa các điều kiện sau:
Các loại dữ liệu trong phân tích cụm
2.1.2 Chuẩn hóa các độ đo
Tính sai biệt tuyệt đối trung bình
với và
Tính độ đo chuẩn (z-score)
Một nhóm các độ đo khoảng cách phổ biến cho biến tỉ lệ theo khoảng là khoảng cách Minkowski
) , ( ) , ( ) , ( 4.
) , ( ) , ( 3.
iff 0 ) , ( 2.
0 ) , ( 1.
z y d y x d z x d
x y d y x d
y x y
x d
y x d
|
|
|(|
2 1
1
nf f f
f
f if
m x
p p
q q
j
x i
x j
x i
x j
x i x j
i
2 2 1
Trang 9với i = (xi1, xi2, …, xip) và j = (xj1, xj2, …, xjp) là các đối tượng
dữ liệu p-chiều và q là số nguyên dương
Nếu q = 1, độ đo khoảng cách là Manhattan
Nếu q = 2, độ đo khoảng cách là khoảng cách Euclidean
2.1.3 Một số ứng dụng của gom cụm dữ liệu
Kỹ thuật gom cụm có thể áp dụng trong rất nhiều lĩnh vực như:
Thương mại: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng, ) sử dụng sản phẩm của công ty để có chiến lược kinh doanh hiệu quả hơn
Sinh học: Phân nhóm động vật và thực vật dựa vào các thuộc tính của chúng
Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả
Tài chính, bảo hiểm: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng của khách hàng, phát hiện gian lận tài chính
World wide web: Phân loại tài liệu ,phân loại người dùng web
Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý, nhằm cung cấp thông tin cho quy hoạch đô thị
Nghiên cứu trái đất: Gom cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho nhân dạng các vùng nguy hiểm
2.1.4 Một số kỹ thuật tiếp cận trong gom cụm dữ liệu
Gom cụm dựa trên phân hoạch
Phương pháp gom cụm phân hoạch nhằm phân một tập dữ liệu
|
|
|
|
|
| ) , (
2 2 1
1 x j x i x j x ip x jpi
x j i
)
|
|
|
|
| (|
) ,
22
21
1 x j x i x j x ip x jpi
x j
i
Trang 10có 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
Gom cụm dữ liệu phân cấp
Gom cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy
Gom cụm dữ liệu dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một cụm dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp gom cụm dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ Tuy vậy, việc xác định các tham số mật độ của thuật toán rất khó khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả gom cụm dữ liệu
Gom cụm dữ liệu dựa trên lưới
Kỹ thuật gom cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã dử dụng phương pháp gom cụm dựa trên lưới Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để PCDL, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Thí dụ như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng
Trang 11Một số thuật toán PCDL dựa trên cấu trúc lưới điển hình là: STING, WAVECluster, CLIQUE,…
2.2 Gom cụm phân hoạch
Gom cụm phân hoạch là phân một tập dữ liệu có n phần tử cho trước thành k tập con dữ liệu (k ≤ n), mỗi tập con biểu diễn một cụm
Các cụm hình thành trên cơ sở làm tối ưu giá trị hàm đo độ tương tự sao cho:
i) Các đối tượng trong một cụm là tương tự
ii) Các đối tượng trong các cụm khác nhau là không tương tự nhau
Đặc điểm:
- Mỗi đối tượng chỉ thuộc về một cụm
- Mỗi cụm có tối thiểu một đối tượng
Tối ưu toàn cục: Liệt kê theo lối vét cạn tất cả các phân hoạch Một số thuật toán điển hình:
- K-mean (MacQueen’67): mỗi cụm được đại diện bằng tâm của cụm
- K-medoids (Kaufman & Rousseeuw’87): mỗi cụm được đại
diện bằng một trong các đối tượng của cụm
2.3 Thuật toán k-means
Thuật toán k-means là thuật toán gom cụm lặp đơn giản Nó phân mảnh tập dữ liệu cho trước thành k cụm, giá trị k do người dùng xác định Thuật toán dễ thực hiện, thi hành nhanh, dễ thích nghi và phổ biến trong thực tế Đây là một trong những thuật toán kinh điển trong khai thác dữ liệu
K-means được nhiều nhà nghiên cứu khám phá thông qua nhiều cách khác nhau, đáng chú ý nhất là Lloyd (1957, 1982), Forgey (1965), Friedman và Rubin (1967) và McQueen (1967) Jain và Dubes mô tả lịch
Trang 12sử means theo nhiều biến thể Gray và Neuhoff cung cấp nền tảng cho means diễn ra trong ngữ cảnh lớn hơn trên các thuật toán leo đồi
k-2.3.1 Thuật toán
Đầu vào của thuật toán: số k cụm k, và CSDL có n đối tượng
Thuật toán gồm 4 bước:
i) Phân hoạch đối tượng thành k tập con/cụm khác rỗng ii) Tính các điểm hạt giống làm centroid (trung bình của các đối tượng của cụm) cho từng cụm trong cụm hiện hành iii) Gán từng đối tượng vào cụm có centroid gần nhất
iv) Quay về bước 2, chất dứt khi không còn phép gán mới
2.3.2 Ví dụ minh họa
Bước 1:
Lập bảng ma trận U0 gồm 2 hàng (2 cụm) và 4 cột (4 điểm); gán ngẫu nhiên các giá trị 0 hoặc 1 cho từng điểm Xi đối với cụm mà nó thuộc vào
Bước 3: Tính khoảng cách các điểm Xi so với các vector trọng tâm
Giả sử bình phương của số x ký hiệu là sqr(x), căn bậc hai của x ký hiệu là sqrt(x)
Trang 13Lặp lại bước 2 đối với U1: Tìm các vector trọng tâm
* Gọi V1 là vector trọng tâm của cụm C1
V11 = (m11*X11 + m12*X21 + m13*X31 + m14*X41) / (m11+m12+m13+m14)
= (1*1 + 0*2 + 0*4 + 0*5)/(1+0+0+0) = 1/1 = 1.0
V12 = (m11*X12 + m12*X22 + m13*X32 + m14*X42) / (m11+m12+m13+m14)
= (1*1 + 0*1 + 0*3 + 0*4)/(1+0+0+0) = 1/1 = 1.0
Vậy V1 = (1.0, 1.0)
* Gọi V2 là vector trọng tâm của cụm C2
V21 = (m21*X11 + m22*X21 + m23*X31 + m24*X41) / (m21+m22+m23+m24)
= (0*1 + 1*2 + 1*4 + 1*5)/(0+1+1+1) = 11/3 = 3.67
V22 = (m21*X12 + m22*X22 + m23*X32 + m24*X42) / (m21+m22+m23+m24)
= (0*1 + 1*1 + 1*3 + 1*4)/(0+1+1+1) = 8/3 = 2.67
Vậy V2 = (3.67, 2.67)
Bước 3: Tính khoảng cách các điểm Xi so với các vector trọng tâm
Trang 14Lặp lại bước 2 đối với U2: Tìm các vector trọng tâm
* Gọi V1 là vector trọng tâm của cụm C1
V11 = (m11*X11 + m12*X21 + m13*X31 + m14*X41) / (m11+m12+m13+m14)
= (1*1 + 1*2 + 0*4 + 0*5)/(1+1+0+0) = 3/2 = 1.5
V12 = (m11*X12 + m12*X22 + m13*X32 + m14*X42) / (m11+m12+m13+m14)
= (1*1 + 1*1 + 0*3 + 0*4)/(1+1+0+0) = 2/2 = 1.0
Vậy V1 = (1.5, 1.0)
* Gọi V2 là vector trọng tâm của cụm C2
V21 = (m21*X11 + m22*X21 + m23*X31 + m24*X41) / (m21+m22+m23+m24)
= (0*1 + 0*2 + 1*4 + 1*5)/(0+0+1+1) = 9/2 = 4.5
Trang 15V22 = (m21*X12 + m22*X22 + m23*X32 + m24*X42) / (m21+m22+m23+m24)
Trang 162 Hiệu suất tương đối: O(tkn), với n là số đối tượng, k là số cụm, và
t là số lần lặp Thông thường k, t << n
3 Bảo đảm hội tụ sau một số bước lặp hữu hạn
4 Thường kết thúc ở điểm tối ưu cục bộ; có thể tìm được tối ưu toàn cục dùng các kỹ thuật như thuật toán di truyền
B Nhược điểm
1 Có thể áp dụng chỉ khi xác định được trị trung bình của các đối tượng
2 Cần chỉ định trước k, số các cụm
3 Không thể xử lý dữ liệu chuỗi và outliers
4 Không phù hợp để khám phá các cụm với dạng không lồi hay cụm có kích thước khác nhau
2.3.4 Ứng dụng của thuật toán K-Mean
Gom cụm tài liệu web
1 Tìm kiếm và trích rút tài liệu
2 Tiền xử lý tài liệu: Quá trình tách từ và vecto hóa tài liệu: tìm kiếm và thay thế các từ bới chỉ số của từ đó trong từ điển Biểu diễn dữ liệu dưới dạng vectơ
3 Áp dụng K-Mean
Kết quả trả về là các cụm tài liệu và các trọng tâm tương ứng
Phân vùng ảnh
Trang 17Chương 3: CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN
- Nhập số liệu đầu vào:
Số cụm k
Tọa độ các điểm
Tọa độ vector trọng tâm ban đầu (nếu có)
Ma trận phân hoạch ban đầu (nếu có)
- Thực thi thuật toán K-Means
Trang 183.1.3 Hướng dẫn sử dụng
- Bước 1: Nhập số cụm và số điểm vào các ô nhập tương ứng
- Bước 2: Nhập tọa độ các điểm vào các ô nhập tọa độ điểm
- Bước 3 (không bắt buộc): Nếu bài toán có cho trước vector trọng
tâm thì click vào ô chọn Cho trước vector trọng tâm, sau đó
nhập tọa độ các vector trọng tâm
- Bước 4 (không bắt buộc): Nếu bài toán có cho trước ma trận
phân hoạch thì click vào ô chọn Cho trước ma trận phân hoạch,
sau đó click vào các ô tương ứng để đánh dấu các điểm (cột) cho trước thuộc cụm (dòng) nào Ví dụ: ô (3,2) được đánh dấu thì có nghĩa là điểm X3 thuộc cụm 2
- Bước 5: Nhấn nút Run, chương trình sẽ hiển thị chi tiết các bước tính toán theo thuật toán trong khung Description
3.2 Chương trình phân đoạn ảnh bằng thuật toán K-Means
3.2.1 Bài toán phân đoạn ảnh
Tầm quan trọng và những khó khăn của việc gom nhóm các đối tượng mang tính tri giác của con người từ lâu đã được nghiên cứu nhiều trong các lĩnh vực của thị giác máy tính đặc biệt trong lĩnh vực của xử lí ảnh Và phân đoạn ảnh đã có những ứng dụng mạnh mẽ và rộng rãi trong các bài toán phân tích và hiểu ảnh tự động, nhưng nó cũng là một bài toán khó mà đến bây giờ các nhà khoa học vẫn chưa giải quyết được một cách
Trang 19hoàn toàn thấu đáo Làm thế nào để phân chia một ảnh thành các tập con Những cách khả thi để có thể làm được điều đó Đó là những câu hỏi mà người ta đã đặt ra từ lâu và mong muốn tìm được câu trả lời
Trong khoảng 30 năm trở lại đây đã có rất nhiều các thuật toán được
đề xuất để giải quyết bài toán phân đoạn ảnh Các thuật toán hầu hết đều dựa vào hai thuộc tính quan trọng của mỗi điểm ảnh so với các điểm lân cận của nó, đó là: sự khác (dissimilarity) và giống nhau (similarity) Các phương pháp dựa trên sự giống nhau của các điểm ảnh được gọi là phương pháp miền (region-based methods), còn các phương pháp dựa trên sự khác nhau của các điểm ảnh được gọi là các phương pháp biên (boundary-based methods)
Trong phạm vi bài thu hoạch này em xin phép được trình bày thuật toán K-means để giải quyết bài toán phân đoạn ảnh như sau:
3.2.2 Giới thiệu chương trình
- Chương trình này trình bày kết quả thực nghiệm gom cụm hình ảnh theo màu sắc trên cơ sở thuật toán gom cụm K-Means Chương trình cài đặt được viết trên ngôn ngữ lập trình C# trên nền tảng Net Framework của Microsoft Chương trình đã thực thi được và cho kết quả gom cụm theo màu sắc của hình ảnh đưa vào Tuy nhiên, do thời gian hạn chế nên chương trình chỉ dừng lại ở mức độ gom cụm hình ảnh theo màu sắc Các chức năng chính của chương trình bao gồm:
Trang 20- Nhập số liệu đầu vào:
Trang 213.2.4 Hướng dẫn sử dụng
- Bước 1: Nhập số cụm
- Bước 2: Click nút Load Image để chọn file hình cần phân đoạn
ảnh
- Bước 3: Nhấn nút Start, chương trình sẽ lần lược hiển thị chi tiết
các bước phân đoạn màu của hình ảnh được chọn
3.2.5 Hướng dẫn cài đặt
Mở file CH1101065 _ K-Means_XuLyAnh.exe trong CD đính kèm,
thư mục: X:\ K-Means - XuLyAnh\CVKMeans\bin\Debug
3.2.6 Source code
Xem phụ lục 2
Trang 22KẾT LUẬN
Trong quá trình nghiên cứu và hoàn thành bài thu hoạch, em đã có dịp tìm hiểu, đi sâu nghiên cứu kỹ hơn về data mining Đây là một hướng nghiên cứu khá thú vị Do thời gian hạn chế nên phạm vi bài thu hoạch chỉ giới hạn trong việc tìm hiểu kỹ thuật gom cụm, đặc biệt là kỹ thuật gom cụm phân hoạch với thuật toán K-Means
Đề tài này có thể mở rộng nghiên cứu, tìm hiểu, cài đặt thêm một số
thuật toán gom cụm khác như: k-modes, k-prototype, Đặc biệt "Chương trình demo ứng dụng thuật toán K-Means trong phân đoạn ảnh" có thể
được phát triển thành phần mềm xử lý ảnh chụp từ máy CT phục vụ cho
công tác chẩn đoán bệnh trong y học
Trang 23TÀI LIỆU THAM KHẢO
1 TS Đỗ Phúc, Giáo trình khai thác dữ liệu, Nhà xuất bản Đại Học
Quốc Gia TP.HCM, 2006
2 TS Đỗ Phúc, Bài giảng Môn học Khai Phá Dữ Liệu, Trường Đại Học
Công Nghệ Thông Tin, 2007
3 http://www.google.com.vn/url?sa=t&rct=j&q=&esrc=s&source=web
&cd=1&ved=0CC4QFjAA&url=http%3A%2F%2Ffit.hcmup.edu.vn
%2F~haits%2FXu%2520Ly%2520Anh%2FPhan%2520doan%2520a nh.doc&ei=PyivUKWpN8PpiAeQ0IDQAg&usg=AFQjCNG9xDWo wKHDvPM0YpWEiU7TnhWHcw&sig2=Vtk0lDYicUPuBZQZOtny GA
Trang 24PHỤ LỤC
Phụ lục 1: Source code chương trình demo thuật toán k_means
Option Explicit
Dim Bound() As Currency
Private Sub chkBietMaTran_Click()
Dim i, j As Byte
Dim k As Byte
Dim n As Byte
If Trim(txtSoCum.Text) = "" Then Exit Sub
If Trim(txtSoDiem.Text) = "" Then Exit Sub
Trang 25If Trim(txtSoCum.Text) = "" Then Exit Sub Call Hide_Vector
If chkBietTrongTam.Value <> 0 Then
For i = 0 To Val(txtSoCum.Text) - 1 V1(i).Visible = True