3.1.1 Giới thiệu
Màu sắc là một loại dữ liệu tự nhiên và tập hợp của chúng tạo nên thế
giới mà ta quan sát được bằng mắt. Trong quá trình phát triển công nghệ, con
người đã liên tục mã hóa và sử dụng màu sắc trong máy tính ngày một nhiều
hơn. Khi dữ liệu đa phương tiện bùng nổ thì màu sắc cũng theo đó trở thành
một loại dữ liệu phổ biến và thông dụng bậc nhất trong kho dữ liệu của con
người. Trong bài toán này chỉ lấy ví dụ minh họa về phân cụm màu sắc cho
khả năng của mạng SOM cho sự phân loại dữ liệu tự nhiên. Đối tượng mang
cụ thể cho loại dữ liệu này là ảnh số. Một loại dữ liệu phổ biến từ khi máy
tính phát triển và đồng hành cùng con người.
Ảnh số là một ma trận các điểm ảnh và như vậy các đối tượng trong
ảnh số cũng sẽ được mô tả bởi một tập các điểm ảnh. Vậy màu sắc là một cơ
sở đơn giản giúp chúng ta có thể phân cụm được những điểm ảnh của cùng
một đối tượng có trên ảnh số. Xét chi tiết trên mỗi điểm ảnh (Pixel) là những
kiểu dữ liệu đặc trưng cho màu sắc. Trong ảnh nhị phân chỉ có 2 màu đen
trắng, trong ảnh đa cấp xám có 256 cấp xám tương ứng với 256 màu, trong
ảnh định dạng thông thường được sử dụng rộng rãi hiện nay mỗi điểm ảnh là
sự kết hợp của 3 màu Red, Green, Blue (định dạng RGB), như vậy có
256*256*256=16777216 màu sắc khác nhau. Nhiệm vụ đặt ra là phân biệt các
tập điểm ảnh cùng màu và chỉ ra sự tương đồng về màu sắc giữa chúng. Đây
là cơ sở cho quá trình nhận dạng các phân vùng đối tượng ảnh dựa theo màu
sắc và việc phát triển này hướng tới khả năng phân cụm đối tượng và tách
chúng ra khỏi ảnh để thực hiện quá trình tiếp theo là nhận dạng đối tượng trên
Trong ảnh màu thông tin về các đối tượng là đầy đủ và màu sắc là cơ sở
chủ yếu để phân định giữa các đối tượng. Vì lý do đó mà việc phân loại các
đối tượng trên ảnh sẽ dựa trên sự biến thiên về màu của các vùng đối tượng.
Từ đó đòi hỏi một giải thuật xử lý được những dữ liệu màu sắc và phân loại
chúng một các chính xác. Tuy nhiên việc kết hợp của 3 màu cơ bản là Red,
Green, Blue lại tạo vô số màu sắc khác nhau. Đây là nguyên nhân cho việc
ứng dụng mạng SOM vào việc phân cụm dữ liệu trên ảnh số, mạng này có
khả năng xác định những mối quan hệ giữa những điểm ảnh và phân chúng
vào những nhóm hợp lý.
3.1.2. SOM cho phân cụm ảnh
Thiết kế mạng
Mạng SOM gồm 2 lớp nơron: một lớp đầu vào và một lớp Kohonen.
Mỗi một nơron được thiết kế với mục đích phân cụm dữ liệu trên ảnh số và
đơn vị cho các đầu vào là các điểm ảnh ở định dạng RGB. Vì vậy mỗi nơron
sẽ được thiết kế một trọng số mô tả giá trị màu điểm ảnh truyền vào gồm 3
trọng số kiểu byte mô tả Red, Green, Blue.
Việc khởi tạo mạng SOM được thực hiện khởi tạo ngẫu nhiên cho mỗi
nơron. Khi được khởi tạo mạng sẽ là một tập hợp của rất nhiều màu sắc và
chúng chưa được phân thành các nhóm. Giải thuật huấn luyện mạng có thể
được chia thành 2 phương pháp:
- Huấn luyện ngẫu nhiên: Tạo một tập dữ liệu ngẫu nhiên và cho mạng
tự học. Phương pháp này tạo ra một mạng có khả năng phân biệt hầu hết các
màu sắc, tập các nhóm màu sắc này sẽ biến thiên trong khoảng màu nhìn thấy
được của cong người. Tuy nhiên khi ứng dụng mạng huấn luyện kiểu này vào
một bức ảnh cụ thể chưa thu được kết quả như mong đợi.
- Huấn luyện có chủ đích: Khi sử dụng mạng để phân loại dữ liệu trên
dụng chính những điểm ảnh có sẵn trong bức ảnh đầu vào làm tập huấn luyện.
Khi đó mạng được huấn luyện sẽ chuyên phân cụm những điểm ảnh trên ảnh
đầu vào hoặc những bức ảnh có cấu hình tương tự.
Vì mạng là tự học nên ta không cần giám sát trong quá trình học của
mạng và thuật toán huấn luyện được định sẵn cho mục đích sử dụng mạng.
Thuật toán học mạng
Thuật toán học SOM được chia làm 5 bước cơ bản như sau: Bước 1: Xác định cấu hình mạng, và các tham số.
Bước 2: Khởi tạo ngẫu nhiên trọng số của các nơron lớp Kohonen
Lặp lại
Bước 3: Đọc mẫu học v, đưa vào lớp vào. Bước 4: Tìm nơron chiến thắng (BMU) trong lớp Kohonen (gần với mẫu học v nhất) Bước 5: Cập nhật trọng số các nơron nằm trong bán kính lân cận với BMU.
Cho đến khi thỏa mãn điều kiện dừng.
Các điểm cần lưu ý trong thuật toán học:
a) Khởi tạo các tham số: SOM bị ảnh hưởng rất nhiều bởi quá trình lựa
chọn các tham số của mạng. Các tham số này bao gồm: kích thước của bản đồ
(Width/Height), số lần lặp (N), bán kính khởi tạo (σ0), giá trị khởi tạo cho tốc độ học (L0). Thực tế không có một hướng dẫn cụ thể cho việc lựa chọn các tham số này ứng với các bài toán áp dụng SOM, do vậy, việc “thử sai” (trial
and error) là cần thiết nhằm xác định tập các giá trị thích hợp ứng với tập dữ
liệu đầu vào.
b) Xác định BMU: Để chọn BMU sử dụng một trong ba hàm khoảng cách là Euclidian (thường dùng), Manhattan, và Vector Dot Product.
Duyệt tất cả các nút và tính khoảng cách Euclide (Dist) giữa vector
trọng số (w) của mỗi nút và vector nhập hiện hành (v). Nút có vector trọng số gần nhất với giá trị của vector nhập sẽ được chọn là BMU.
( )2 0 is w n i i i D t v = = å - (4.1)
c) Xác định bán kính lân cận và cập nhật trọng số các nơron lân cận của BMU:
Trọng số của phần tử lân cận được xác định ở bước trên bao gồm cả
BMU sẽ được điều chỉnh để chúng có giá trị gần giống với giá trị của vector
nhập hơn. Phần tử càng gần BMU thì trọng số của nó sẽ càng dễ bị thay đổi
nhiều hơn. Các vector trọng số sẽ được tính theo công thức:
W (t +1) = W (t) + Θ(t)L(t)(V (t) −W (t)) (4.2)
Θ(t): Hàm nội suy theo thời gian học, nó thể hiện sự tác động của
khoảng cách đối với quá trình học và được tính theo công thức sau:
(4.3)
dist: Khoảng cách từ một nơron đến nơron chiến thắng
t: Bước lặp hiện tại
L: Tốc độ học (sẽ giảm dần theo số lần lặp)
- Biểu thức trên cho thấy trọng số của mỗi nút sau khi hiệu chỉnh chính
là giá trị trọng số cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng số
W và vector nhập V theo hệ số tốc độ học
- Hàm nội suy tốc độ học L (t) cho mỗi bước lặp được tính theo công
thức sau:
L0: giá trị khởi tạo ban đầu của tốc độ học.
- Càng tiến gần về điểm giữa thì tốc độ học càng giống với hàm mũ nội
suy của phép co. Tốc độ học sẽ được nội suy dần theo tốc độ học và giá trị của
hàm sẽ tiến dần về không khi số lần lặp đạt tới những bước cuối cùng.
d) Điều kiện dừng: Có thể dựa trên số lần lặp hay số mẫu học hay độ cân bằng
của mạng (các trọng số thay đổi dưới một ngưỡng nhất định) [1], [3], [4].
3.2 Giới thiệu môi trường cài đặt
Phần cứng: Một máy tính Pentium V trở lên.
Card đồ họa 512MB. Ổ cứng 1GB.
Phần mềm: Chương trình được cài đặt trên ngôn ngữ lập trình C# của
Microsoft
3.3. Cài đặt và sử dụng 3.3.1. Cài đặt 3.3.1. Cài đặt
Hình 3.1. Giải nén file ‘PHANCUMANH.rar’ và mở file ‘setup_PHANCUMANH’
Hình 3.3. Bắt đầu quá trình cài đặt
Hình 3.5.Chương trình đã cài đặt xong và file chạy chương trình nằm trên màn hình destop ‘WindowsFormsApplication1.exe’
3.3.2. Sử dụng
Hình 3.7.Nhấn nút chọn ảnh để phân cụm ảnh được chọn
Hình 3.9. Phân cụm ảnh ngẫu nhiên với Ngang 20, dọc 30 và ngưỡng là 500
3.4. So sánh SOM với các phương pháp phân cụm khác 3.4.1. Thuật toán K-means 3.4.1. Thuật toán K-means
Ưu điểm:
Độ phức tạp nhỏ: O(nkd.t), với d là số chiều, t số vòng lặp.
K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.
Nhược điểm:
K-means không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp, chỉ áp dụng với dữ liệu số. Nó không khắc phục được nhiễu và các phần tử ngoại lai.
Chất lượng phân cụm phụ thuộc vào nhiều tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu.
Số lượng và các tham số là do người dùng nhập, nên nếu đầu vào khác nhau thì kết quả các cụm sẽ khác nhau
3.4.2. Phân cụm mờ
Ưu điểm:
Áp dụng thành công trong giải quyết một số lớn các bài toán Phân cụm dữ liệu như trong nhận dạng mẫu, xử lý ảnh, y học,…
Nhược điểm:
Lớn nhất của thuật toán FCM là nhạy cảm với các nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực của cụm. Do đó các cụm dữ liệu được khám phá có thể rất lệch so với các cụm trong thực tế.Việc khử nhiễu và phần tử ngoại lai là một vấn đề cần phải được giải quyết.
3.4.3. Mạng noron Kohonen (SOM)
Ưu điểm:
Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong mạng nơron. Một mạng nơron như vậy có thể được luyện để tìm ra các quy
luật và các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo. Các nơron của mạng thông qua quá trình luyện cạnh tranh để nhận ra một nhóm các đối tượng đầu vào tương đương nhau. Mục đích chính của việc luyện trong mạng nơron Kohonen là gom cụm các vector đầu vào cùng loại.
Các thuộc tính cơ bản nhằm phân biệt SOM với các mạng nơron khác là nó sử dụng ký số thay cho ký tự không tham số, và học không giám sát. Phương pháp dùng số tự nhiên cho phép SOM xem xét, xử lý dữ liệu số tự nhiên thống kê được và nhằm để biểu diễn các mối quan hệ đã được chọn lọc. Bởi do SOM không yêu cầu học có giám sát và là một dạng không tham số cho nên nó có thể tìm ra những cấu trúc không hề mong muốn từ dữ liệu đã cho.
Nhược điểm:
Khó khăn thứ nhất là việc phát hiện số lượng và biên cụm theo nội dung của ảnh: nếu áp dụng thuật toán tích tụ cần biết trước số cụm cần hình thành; còn áp dụng thuật toán loang thường thất bại do khó xác định được ranh giới chính xác giữa các cụm khi các điểm màu trên ảnh có sự biến thiên nhỏ.
Khó khăn thứ hai là tốc độ hội tụ của giải thuật chậm do khối lượng tính toán lớn. Xét một mạng SOM với kích thước 20x30=600 nơron, độ phân giải của bức ảnh đầu vào được tính bằng đơn vị megapixel tức là có tới hàng triệu điểm ảnh. Như vậy riêng trong quá trình huấn luyện, việc tìm BMU đã phải duyệt qua khoảng 600 triệu lần các nơron. Ngoài ra, các thuật toán để hình thành cụm cũng đòi hỏi số lần lặp tương đối lớn. Để khắc phục hai hạn chế đó cần một giải pháp hình thành cụm phù hợp và tăng tốc độ giải thuật.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Mạng nơron là một lĩnh vực nghiên cứu tương đối rộng và đòi hỏi
nhiều công sức và nỗ lực trong quá trình nghiên cứu. Bên cạnh đó việc cài
đặt và ứng dụng mạng nơron gặp nhiều khó khăn do độ phức tạp tương đối
cao của giải thuật. Vì lí do đó trong khuôn khổ đồ án chỉ hướng tới mạng
nơron dùng để phân cụm dữ liệu ảnh là mạng SOM để nghiên cứu và phát
triển. Thực tế đã chứng minh mạng SOM có rất nhiều ứng dụng và việc
nghiên cứu khai thác mạng này sẽ đem lại nhiều kết quả thực tiễn.
1. Luận văn đã thực hiệnđược kết quả sau:
- Giới thiệu tổng quan vềcác phương pháp phân cụm dữ liệu.
- Trình bày một cách tổng quát về mô hình mạng nơron và ứng dụng
mạng nơron trong khai phá dữ liệu. Trình bày một cách hệ thống các giải
pháp học mạng nơron không giám sát và có giám sát.
- Nghiên cứu, phân tích việc sử dụng thuật toán SOM giải quyết bài
toán phân cụm màu ảnh theo mô hình mạng nơron.
- Xây dựng được chương trình phân cụm ảnh với ảnh đầu vào có kích
thước 40x40=1600 nơron. Mỗi nơron có chứa một vector trọng số tương ứng
với giá trị RGB của nó. Trọng số nơron được khởi tạo ngẫu nhiên. Sau khi thực hiện phân cụm sử dụng thuật toán SOM.
2. Hạn chế
Phân cụm dữ liệu và ứng dụng mạng nơron vào phân cụm dữ liệu là hướng nghiên cứu cần thiết và quan trọng. Tuy nhiên đây cũng là một mảng rất rộng, bao hàm nhiều phương pháp, kỹ thuật và hình thành nhiều nhóm khác nhau.
Trong quá trình nghiên cứu, thực hiện luận văn mặc dù đã cố gắng tập trung nghiên cứu và tham khảo nhiều tài liệu, bài báo, tạp chí khoa học trong
và ngoài nước, nhưng do trình độ còn có nhiều giới hạn không thể tránh khỏi thiếu sót và hạn chế. Em rất mong được sự chỉ bảo đóng góp nhiều hơn nữa của các thầy, cô giáo, đồng nghiệp, các nhà khoa học…
3. Hướng phát triển
- Tiếp tục nghiên cứu thêm về lý thuyết về phân cụm dữ liệu, mạng nơron.
- Xây dựng, phát triển thêm các kỹ thuật, ứng dụng của Phân cụm dữ liệu, ứng dụng của mạng nơron trong phân cụm dữ liệu nói riêng và trong các lĩnh vực khác.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Lê Bá Dũng, Bài giảng cao học Mạng nơ–ron và ứng dụng, ĐHCNTT và TT, Đại Học Thái Nguyên.
[2] Đỗ Phúc, Giáo trình khai thác dữ liệu, NXB Đại học quốc gia TP HCM, 2005.
[3] Bùi Công Cường và Nguyễn Doãn Phước, (2006), Hệ mờ, mạng nơron
và ứng dụng, NXB Khoa học và Kỹ thuật.
[4] Nguyễn Đình Thúc, (2000), Trí tuệ nhân tạo – Mạng nơron – Phương pháp và ứng dụng, NXB Giáo dục.
Tiếng Anh
[5] A.K. Jain, R.C. Dubes, (1988), Algorithms for clustering data, Ptentice
Hall, Englewood Cliffs, NJ.
[6] W.Pedrycz, (1990) Algorithms of fuzzy clustering with partial supervision, Pattern Recognition, vol. 23, pp.121-146.
[7] J. Han, M. Kamber, (2001), Data Mining Concepts and Techniques, Morgan Kaufmann Publishers.