Trong quá trình tìm hiểu và hoàn thành luận văn tốt nghiệp với đề tài
“Nghiên cứu một số phương pháp phân cụm mờ và ứng dụng”, dù đã đạt
được những kiến thức nhất định, nhưng em nhận thấy phân cụm dữ liệu trong
KPDL nói chung và phân cụm dữ liệu mờ nói riêng là một lĩnh vực nghiên
cứu rộng lớn, nhiều triển vọng. Đề tài đã cố gắng tập trung tìm hiểu, nghiên
cứu và trình bày được một số kỹ thuật và thuật toán phân cụm dữ liệu phổ
biến, một số kỹ thuật phân cụm mờ và mô hình mạng nơron đa khớp dùng cho
phân cụm mờ trong KPDL hiện nay, trình bày một số cải tiến của thuật toán
phân cụm mờ(FCM-Cải tiến) dựa trên các phương pháp đã có, cài đặt thử
nghiệm thuật toán phân cụm mờ(FCM) với ứng dụng phân cụm các điểm màu
và thực hiện cài đặt ứng dụng của thuật toán FCM-Cải tiến đối với việc phân
cụm màu trong bài toán nhận dạng ảnh màu.
90 trang |
Chia sẻ: lylyngoc | Lượt xem: 2646 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Nghiên cứu một số phương pháp phân cụm mờ và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bởi Trung tâm Học liệu – Đại học Thái Nguyên
Điểm
jx
đƣợc gọi là nằm trong lân cận của xi nếu
jx
nằm trong hình
hộp p chiều bán kính r của xi .
Tính độ đậm đặc của các điểm dữ liệu.
Độ đậm đặc của
t t
i xx C
, ký hiệu là
( )
t t
i iD x
, là số điểm dữ liệu nằm
trong lân cận của
t
ix
.
1
( )
b
t t t t
i i j i
j
D x u r x x
, với 1, 0
( )
0, 0
z
u z
z
. (14)
Khi đó, thuật toán 1 đƣợc triển khai theo các bƣớc sau:
THUẬT TOÁN 1
Bƣớc 1: Tính
1
1
n
z x
i jin j
và độ lệch tiêu chuẩn
21
1
n
s x z
i ji in j
, i=1,2,..p.
Tính bán kính
1
min i
i p
r s
.
Bƣớc 2: Tính độ đậm đặc của các điểm dữ liệu Di là số điểm dữ
liệu nằm trong hình hộp p chiều bán kính r của
ix X
:
1
( )
n
j i
j
u r x x
.
Bƣớc 3: Tìm điểm
ix X
sao cho nó có độ đặc lớn nhất.
Bƣớc 4: Tính CC = {xj: xj nằm trong hình hộp p chiều bán kính r
của xi} và \X X CC . (* ở đây CC là tập tất cả các điểm dữ liệu nằm
trong hình hộp p chiều bán kính r của điểm dữ liệu xi *)
Bƣớc 5: Nếu
X
thì dừng. Ngƣợc lại, thì quay lên bƣớc 2.
51
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Trong trƣờng hợp mẫu dữ liệu lớn thì chúng ta chia tập dữ liệu ra thành
các tập dữ liệu nhỏ hơn. Sau đó mới áp dụng thuật toán 1 cho từng mẫu dữ
liệu mới thu đƣợc sau khi đã phân chia.
Sau khi chạy xong thuật toán 1, thì ta sẽ có đƣợc một tập các điểm dữ
liệu làm ứng viên cho việc chọn các trung tâm của các cụm. Nếu tập này lớn
thì chúng ta lại áp dụng lại thuật toán 1 một lần nữa. Điều này đƣợc thể hiện
thông qua thuật toán 2.
3.2.3.2. Thuật toán 2: Thuật toán lƣợc bớt các ứng viên
Sau khi chạy xong thuật toán 1. Thì từ tập dữ liệu X ban đầu, chúng ta
đã chọn ra đƣợc nc các điểm dữ liệu làm ứng viên.
Giả sử
xC
= {xj: xj là điểm dữ liệu ứng viên,
1.. ci n
}. Khi nc mà lớn
thì ta sử dụng thuật toán 1 cho tập dữ liệu mới là Cx. Kết quả ta thu đƣợc tập
dữ liệu mới là
, 1,2,..,px j pC x j n
. Sau khi đã chạy xong thuật toán 2, ta có
đƣợc tập dữ liệu mới. Khi đó, ta chuyển sang thuật toán 3 để tìm các điểm dữ
liệu làm trung tâm của các cụm, đây là những điểm dữ liệu mà làm min hàm
mục tiêu.
3.2.3.3. Thuật toán 3: Thuật toán chọn các ứng viên làm cực tiểu HMT
Sau khi kết thúc thuật toán 1 và thuật toán 2 thì ta thu đƣợc tập các
điểm dữ liệu làm ứng viên cho trung tâm các cụm là
1 2, ,..., p
p
c nC cc cc cc
.
Trong thuật toán FCM, ta dùng hàm mục tiêu
( , )J u v
2
1 1
( , )
pnn
m
ji i j
i j
J u v x cc
(15)
Ta thay thế hàm mục tiêu này bằng hàm mục tiêu mới
*
FCMJ
đƣợc xác
định nhƣ sau: 2
*
1 1
.
qn
m c
FCM ji i j cc
i j
J Jx cc
(16)
52
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
với 2
1 1
q q
c
cc i j
i j i
J cc cc
(17)
và
2
1
1
2
1
1
ji
c
q
i j
m
ck
i k
x cc
x cc
(18)
Thông thƣờng ta hay chọn m = 2. Do các cụm có thể rất gần nhau nên
ta dùng JCC có thêm trọng số 1 để có thể phân biệt đƣợc các cụm này
trong trƣờng hợp chúng khá gần nhau.
Khi đó, thuật toán 3 đƣợc triển khai theo các bƣớc sau:
THUẬT TOÁN 3
Bƣớc 1: q = 1, gán
**
FCMJ
,
1
.
Bƣớc 2: gán
c
qcc cc
,
p
ccc C
.
Bƣớc 3: Tính độ thuộc
2
1
1
2
1
1
ji
c
q
i j
m
c
k
i k
x cc
x cc
,
1ji
,
i=1, 2, .., n và j = 1, 2, .., q.
Tính
*
FCMJ
theo công thức (17)
Bƣớc 4: Nếu
* **
FCM FCMJ J
thì gán
** *
:FCM FCMJ J
và q:=q+1;
Bƣớc 5: Nếu
1pn
thì dừng với q:=q-1. Ngƣợc lại thì quay
lên bƣớc 2 với
: 1
.
3.2.3.4. Thuật toán 4:Gán các trung tâm có liên kết “gần gũi” vào 1 cụm
Sau khi kết thúc thuật toán 3, ta có một số hữu hạn các điểm dữ liệu
đƣợc chọn làm trung tâm của các cụm. Đó là:
1 2, ,..., ,c c ch pcc cc cc h n
.
53
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Bây giờ ta kiểm tra xem các cụm có thể kết nối lại đƣợc với nhau hay
không. Điều này đƣợc thực hiện nhờ thuật toán 4. Thuật toán này đƣợc triển
khai nhƣ sau:
Việc 1: Tìm đƣờng dây có thể nối
c
icc
và
c
jcc
(đường dây này phụ thuộc
vào trường hợp cụ thể để ta chọn, chẳng hạn nếu là lông mày, ta sẽ tìm một đường
cong parabol, con mắt ta có thể dùng hình elip…)
Giả sử có những điểm nằm trên đƣờng dây nối
c
icc
và
c
jcc
là:
1 2, ,.., kv v v
sao cho:
1 2 1 1...
c c
i k k j kv cc v v v v cc v
1
c c
i jcc cc
k
Sau đó, ta tiến hành tính độ đậm đặc của các điểm này:
1
( )
i
n
c
cc l i
l
D u r x cc
(19)
1
( )
j
n
c
cc l j
l
D u r x cc
(20)
1
( ), 1,...,
a
n
v l i
l
D u r x v a k
(21)
Nếu các điểm dữ liệu này thỏa mãn với mọi l = 1, 2, …, k đối với tất cả
max( , )
4
i j
l
cc cc
v
D D
D
thì ta xác định hai cụm này có thể kết nối đƣợc.
Việc 2: Ta nối 2 trung tâm và dùng luật bắc cầu để nối tiếp chúng
vào một cụm.
Chẳng hạn, nếu (
c
icc
và
c
jcc
là kết nối đƣợc) và (
c
jcc
và
c
kcc
là kết nối đƣợc)
thì
c
icc
,
c
jcc
và
c
kcc
là kết nối đƣợc và các trung tâm này đƣợc gán vào cùng
một cụm.
Khi đó, thuật toán 4 đƣợc thể hiện chi tiết qua các bƣớc sau:
54
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
THUẬT TOÁN 4
Việc thứ nhất:
Bƣớc 1: gán
, 1,...,cl lCluster cc l h
.
Bƣớc 2: Ta tạo ra index1 và index2 đều là mảng một chiều cỡ h.
Khởi tạo tất cả các phần tử của mảng này với giá trị 0.
Bƣớc 3: Đặt i:=1; j:=i+1;
Bƣớc 4: Tìm các điểm nằm trên đƣờng dây nối
c
icc
và
c
jcc
(thường đường dây này dựa vào đặc điểm của đường cong cần nhận dạng,
chẳng hạn lông mày thì ta dùng một đường cong parabol) là
1 2, ,.., kv v v
sao cho:
1 2 1 1...
c c
i k k j kv cc v v v v cc v
1
c c
i jcc cc
k
Bƣớc 5: Tính độ đậm đặc của các điểm dữ liệu ở bƣớc 4:
1
( )
i
n
c
cc l i
l
D u r x cc
1
( )
j
n
c
cc l j
l
D u r x cc
1
( ), 1,...,
a
n
v l a
l
D u r x v a k
Bƣớc 6:
IF
1
k
a
( max( , )
4
i j
a
cc cc
v
D D
D
)THEN
If (index1[i]=0) and (index2[j]=0) then
Begin
cluster cluster cluster
j j i
;
Index1[i]:=j;
Index2[j]:=i;
55
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
End
Else if (
1 0) 2 0index i and index j
then
Begin
max( , 1 )j index icluster
=
max( , 1 )j index icluster
max( , 2 )i index jcluster
;
1 max( , 1 )index i j index i
;
2index j i
;
End
Else if ((
2 0) 1 0index j and index i
then
Begin
1 2index index j
cluster
=
1 2index index j
cluster
;icluster
1index i 1 2index index j
;
End
Else if (
( 1 0) ( 2 0)index i and index j
then
Begin
temp:=
1 2index index j
;
max( 1 , )index i tempcluster max( 1 , )index i tempcluster
min( 1 , )index i tempcluster
;
1 : max( 1 , );index i index i temp
End
Else (* của IF đầu tiên *)
begin
ci icluster cc
và
cj jcluster cc
End;
Bƣớc 7: IF
( ) ( )i h and j h
THEN j:=j+1 và quay trở lại bƣớc 4
ELSE if
( )i h
then quay trở lại bƣớc 4
ELSE i:=i+1,j:=j+1 và quay trở lại bƣớc 4
56
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Việc thứ hai:
Bƣớc 1: i:=1;FC:=
;
Bƣớc 2: IF
1 0index i
then
Begin
h:=h-1; xóa
icluster
;
FC:=FC
i
;
End;
Bƣớc 3: i:=i+1;
Bƣớc 4: IF i
h
THEN quay lại bƣớc 2
ELSE dừng lại .
3.2.3.5. Tổng kết thuật toán FCM-Cải tiến
Từ chi tiết của 4 thuật toán nhỏ trên, ta có thể tổng hợp thuật toán
FCM-Cải tiến một cách tổng quát thông qua các bƣớc cụ thể nhƣ sau:
THUẬT TOÁN FCM-CẢI TIẾN
Cho tập dữ liệu
1 2, ,.., nX x x x
,
,..1, niRx pi
và
*, Npn
Thuật toán FCM-Cải tiến đƣợc thực hiện thông qua các bƣớc sau:
Bƣớc 1: Nếu n là lớn thì chạy thuật toán 1 để có đƣợc tất cả các
điểm có khả năng làm trung tâm cụm, ngƣợc lại thì chạy bƣớc 3.
Bƣớc 2: Nếu sau khi chạy thuật toán 1 mà số điểm làm ứng viên
lớn thì ta chạy thuật toán 2 để rút gọn bớt số các điểm ứng viên làm các
trung tâm của các cụm.
Bƣớc 3: Chạy thuật toán 3 để tìm các điểm làm trung tâm cụm.
Bƣớc 4: Chạy thuật toán 4 để nối các trung tâm cụm có liên hệ
“gần gũi” vào một cụm.
57
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Sau khi bƣớc 4 kết thúc, ta sẽ có tập các trung tâm của các cụm.
Bƣớc 5: (có thể nhảy tới bƣớc 6)
Chạy thuật toán FCM với tập các trung tâm của các cụm, sau đó
dừng lại.
Bƣớc 6: Tính các độ thuộc của các điểm dữ liệu còn lại:
Gọi
ij
là độ thuộc của xi vào
c
jcc
.
Ta có:
ij
n
k
m
c
ki
c
ji
ccx
ccx
1
1
1
2
2
)(
1
Tóm lại, phân cụm mờ là một sự mở rộng của PCDL bằng cách thêm
vào yếu tố quan hệ giữa các phần tử và các cụm dữ liệu thông qua các trọng
số trong ma trận U. Bằng cách này, có thể khám phá ra các cụm dữ liệu phức
tạp theo cách mềm dẻo từ một tập dữ liệu đã cho. Thuật toán phân cụm mờ là
một cách thức mở rộng cho các thuật toán phân cụm rõ nhằm khám phá ra các
cụm dữ liệu chồng lên nhau trên các tập dữ liệu có kích thƣớc lớn, nhiều
chiều và nhiều nhiễu...
58
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
CHƢƠNG 4
MÔ HÌNH MẠNG NƠRON ĐA KHỚP
DÙNG CHO PHÂN CỤM MỜ
4.1. Tổng quan về mạng Nơron ....................................................................................
4.2. Cấu trúc mạng Nơron .............................................................................................
4.2.1. Hàm kích hoạt .................................................................................................
4.2.2. Liên kết mạng ..................................................................................................
4.2.3. Bài toán huấn luyện mạng ...............................................................................
4.3. Mạng HOPFIELD ..................................................................................................
4.3.1. Huấn luyện mạng ............................................................................................
4.3.2. Sử dụng mạng ..................................................................................................
4.4. Mạng Nơron đa khớp dùng cho phân cụm .............................................................
4.4.1. Xây dựng lớp mạng Layer1 cho tối ƣu các trung tâm cụm .............................
4.4.2. Xây dựng lớp mạng Layer2 cho tối ƣu các độ thuộc ......................................
4.5. Sự hội tụ của FBACN ............................................................................................
4.5.1. Chứng minh sự hội tụ của FBACN .................................................................
4.5.2. Sự hội tụ FBACN liên tục của Layer1 ............................................................
4.5.3. Giải thuật của FBACN và FBACN với việc học ............................................
58
61
61
61
61
62
62
63
63
65
68
72
72
74
75
Thuật toán FCM-Cải tiến đã khắc phục đƣợc một số hạn chế của thuật
toán FCM và εFCM. Tuy nhiên nó lại có nhƣợc điểm là mỗi khi có yêu cầu
phân cụm thì thuật toán sẽ chạy từ đầu, các kết quả của các mẫu trƣớc là
không sử dụng đƣợc cho lần sau nên thời gian chạy khá lớn nếu nhƣ kích
thƣớc mẫu lớn. Vì vậy, trong chƣơng này, chúng ta nghiên cứu một mô hình
mạng Nơron đa khớp dùng cho bài toán phân cụm mờ (a fuzzy bi-directional
associative clustering network –FBACN). Mạng Nơron này chủ yếu dựa vào
tài liệu của hai tác giả Chih-Hsiu Wei, Chin - Shyurng Fahn.
4.1. Tổng quan về mạng Nơron
Trƣớc hết chúng ta ai cũng biết rằng tri thức của loài ngƣời cho đến nay
hết sức phong phú, sâu rộng và đa dạng. Nó bao gồm những hiểu biết của
chúng ta từ thế giới vi mô nhƣ nguyên tử, điện tử, hạt nhân, các hạt cơ bản, ...
59
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
đến những hiểu biết vĩ mô về trái đất, về hệ mặt trời, hệ thiên hà, ... . hiểu biết
về thế giới tự nhiên và xã hội, về các nghành khoa học, kỹ thuật khác nhau
nhƣ: toán, lý, hóa, công nghệ thông tin và cả những hiểu biết về bản thân con
ngƣời. Thế nhƣng có một điều mà có vẻ nhƣ là một nghịch lý đó là chúng ta
biết "rất ít" về chính bộ não của chúng ta.
Hơn nữa do nhu cầu ngày càng cao trong việc giải quyết các vấn đề phức tạp
và do bản chất của con ngƣời là không muốn bằng lòng với hiện tại mà luôn
muốn vƣơn tới những gì cao hơn, hoàn thiện hơn. Có lẽ chính vì những điều
trên mà thuật ngữ "mạng Nơron" hoặc "mạng Nơron nhân tạo" đã ra đời. Các
thuật ngữ đó nói đến một nghành kỹ thuật mới mà nó đòi hỏi kiến thức từ
nhiều nghành khoa học khác nhau nhƣ toán học, vật lý học, hóa học, sinh vật
học, tâm lý học, thần kinh học, ... và tất cả chỉ nhằm làm sao tạo ra những
chiếc máy tính hoạt động giống nhƣ " bộ não " của chính chúng ta.
Mạng Nơron nhân tạo hay thƣờng đƣợc gọi ngắn gọn là mạng Nơron là
một mô hình toán học hay mô hình tính toán đƣợc xây dựng dựa trên các
mạng Nơron sinh học. Nó gồm có một nhóm các Nơron nhân tạo(nút) nối với
nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới
tại các nút. Trong nhiều trƣờng hợp, mạng Nơron nhân tạo là một hệ thống
thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay
bên trong chảy qua mạng trong quá trình học.
Trong thực tế sử dụng, nhiều mạng Nơron là các công cụ mô hình hóa
dữ liệu thống kê phi tuyến. Chúng có thể đƣợc dùng để mô hình hóa các mối
quan hệ phức tạp giữa dữ liệu vào và kết quả hoặc để tìm kiếm các dạng mẫu
trong dữ liệu.
60
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 4.1: Mô hình mạng Nơron
Mạng Nơron nhân tạo (Artificial Neural Network) là một mô hình toán
học bao gồm các nút xử lý thông tin cơ sở (gọi là đơn vị xử lý hoặc Nơron) có
mối liên hệ tƣơng hỗ cao, tiến hành xử lý thông tin song song và phân tán có
năng lực tính toán mạnh (ví dụ hiện nay nó có thể học, nhớ và suy diễn từ mẫu
dữ liệu...). Mỗi liên kết giữa hai Nơron kèm theo một trọng số nào đó, đặc
trƣng cho đặc tính kích hoạt/ức chế giữa các Nơron. Có thể xem trọng số là
phƣơng tiện để lƣu giữ thông tin dài hạn trong mạng Nơron và nhiệm vụ của
quá trình huấn luyện (hay còn gọi là quá trình học) mạng là cập nhật các trọng
số khi có thêm thông tin về các mẫu học, hay nói cách khác, các trọng số
đƣợc điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn phù
hợp với môi trƣờng đang xem xét. Vì vậy, cấu trúc của mạng Nơron chủ yếu
đƣợc đặc trƣng bởi loại của các Nơron và mối liên hệ xử lý thông tin giữa
chúng và do đó, mạng Nơron có rất nhiều ứng dụng trong nhiều lĩnh vực nhƣ
nhận dạng, phân lớp ảnh, phân tích - nén dữ liệu, các bài toán tối ƣu, dự báo,
chuẩn đoán,… Và xu thế hiện đại đó là sự kết hợp mạng Nơron với logic mờ.
61
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4.2. Cấu trúc mạng Nơron
4.2.1. Hàm kích hoạt
Hàm kích hoạt của từng Nơron trong mạng Nơron đóng vai trò quan
trọng trong sự liên kết giữa các Nơron. Hàm này đặc trƣng cho mức độ liên
kết giữa các Nơron.
Trong lý thuyết mạng Nơron, phép tổng hợp các tín hiệu đầu vào
thƣờng đƣợc kí hiệu dƣới dạng:
1
n
j i ji
i
net x
với
1..,j j nx
là các tín hiệu
vào.
1( ,..., )ji j jn
là trọng số, n là số tín hiệu đầu vào. Đầu ra của Nơron j
thƣờng đƣợc kí hiệu là outj hoặc fj, đƣợc gọi là hàm kích hoạt.
1
( ( ) )
n
j j i i
i
out f f x t
, với
là ngƣỡng kích hoạt Nơron, t là thời gian, f
là hàm kích hoạt.
4.2.2. Liên kết mạng
Sự liên kết trong mạng Nơron tuỳ thuộc vào nguyên lý tƣơng tác giữa
đầu ra của từng Nơron riêng biệt với các Nơron khác và tạo ra cấu trúc mạng
Nơron. Về nguyên tắc sẽ có rất nhiều kiểu liên kết giữa các Nơron nhƣng
trong thực tế ta thƣờng gặp các dạng nhƣ: Mạng truyền thẳng và mạng hồi
quy....
4.2.3. Bài toán huấn luyện mạng
Bài toán huấn luyện mạng là quá trình giải bài toán tối ƣu hóa tham số
của mạng, chủ yếu là các trọng số liên kết mạng và cấu trúc các dạng liên kết
của các Nơron, giữa các lớp dựa trên thông tin có trong hệ thống.
Thƣờng thì quá trình huấn luyện mạng nơtron(hay còn gọi là thuật học)
đƣợc thực hiện qua phép so sánh đầu ra của mạng với tín hiệu chỉ đạo.
Mô hình học có giám sát đƣợc mô phỏng nhƣ Hình 4.2 dƣới đây:
62
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 4.2: Mô hình học có giám sát
Sai số e = y-d là cơ sở để huấn luyện mạng.
Tiếp theo chúng ta tìm hiểu một mô hình mạng Nơron đƣợc áp dụng rất
nhiều là mạng Hopfield.
4.3. Mạng HOPFIELD
Năm 1982 nhà vật lý ngƣời Mỹ J.J Hopfield đã đề xuất ra mô hình
mạng Nơron (Neural Network - NN) cho phép tạo ánh xạ dữ liệu từ tín hiệu
vào sang tín hiệu ra theo kiểu tự kết hợp, tức là nếu tín hiệu vào là X thuộc
miền giá trị D nào đó thì kết quả Y cũng phải thuộc miền D đó. Nhờ vậy, mà
một véctơ tín hiệu vào X bị thiếu thông tin hoặc bị biến dạng có thể đƣợc
phục hồi về dạng nguyên bản của mình.
Trong ứng dụng, mạng Hopfield đã mô phỏng đƣợc khả năng tự kết
hợp của bộ não con ngƣời. Ngoài ra, với một số cải biên mạng Hopfield còn
đƣợc dùng để giải quyết các bài toán tối ƣu, bài toán xử lý dữ liệu trong điều
khiển tự động...
4.3.1. Huấn luyện mạng
Mạng Hopfield học dựa trên nguyên tắc học có giám sát. Giả sử có p
mẫu học tƣơng ứng với các véctơ tín hiệu vào Xs, với s = 1, 2, .., p. Mạng
Hopfield sẽ xác định ma trận trọng số W sao cho:
Xs = Tinh(Xs,W) với mọi s =1, 2, ..p.
Với ma trận trọng số W đƣợc xác định nhƣ sau:
63
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
0
. ,
,
p
sj si
sji
i j
x x if i j
với Xs=(xs1,..,xsm)
4.3.2. Sử dụng mạng
Giả sử ta đƣa vào mạng tín hiệu vào là véctơ X.
Sử dụng mạng để tính đầu ra tƣơng ứng với tín hiệu vào X là quá trình
lặp gồm các bƣớc:
1. Ban đầu, đặt X(0)=X. Gọi Y(1) là véctơ tín hiệu ra tƣơng ứng với một
lần cho X(0) lan truyền trong mạng.
Y
(1)
= out
(1)= Tính (HF, X(0)).
2. Nếu (0) (0)
Y X
thì tiếp tục lặp với bƣớc t = t+1 và X(t+1)=Y(1). Ngƣợc
lại thì dừng.
Tiếp theo chúng ta nghiên cứu một mô hình mạng Nơron dùng cho
phân cụm mờ, đó là mạng Nơron đa khớp.
4.4. Mạng Nơron đa khớp dùng cho phân cụm
Một vài năm trƣớc, các hệ thống Nơron động(đôi khi gọi là mạng Nơron
hồi quy) đƣợc sử dụng nhiều trong các quá trình xử lý thông tin.
64
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 4.3: Mô hình FBACN
Cấu trúc của mạng Nơron đa khớp-FBACN đƣợc đƣa ra nhƣ hình 4.3.
Lớp hồi quy Layer1 đƣợc thực hiện bởi một mạng Hopfield để tối ƣu hoá các
trung tâm cụm. Trong khi đó lớp hồi quy Layer2 đƣợc thực hiện bởi một
mạng Nơron đa khớp nối để tối ƣu các độ thuộc. Kết hợp Layer1 và Layer2
tạo thành lớp hồi quy 3, lớp này làm nên cấu trúc động của mạng.
Hoạt động của FBACN đƣợc mô tả nhƣ sau: Thứ 1 là khởi tạo ngẫu
nhiên các trung tâm cụm và độ thuộc thành viên của Layer1 và Layer2 tƣơng
ứng. Thứ 2, khởi tạo các độ thuộc thành viên trong Layer2 sẽ đƣợc truyền
sang Layer1. Thứ 3, dựa trên việc nhận đƣợc các độ thuộc thành viên, Layer1
thực hiện quá trình hồi quy để thu đƣợc các trung tâm cụm tối ƣu mới. Thứ 4,
các trung tâm cụm mới của Layer1 truyền sang Layer2. Thứ 5, dựa trên việc
nhận đƣợc các trung tâm cụm mới, thực hiện quá trình hồi quy để thu đƣợc độ
thuộc thành viên tối ƣu mới. Việc hoàn tất quá trình trên từ bƣớc 2 đến bƣớc 5
đƣợc gọi là quá trình lặp. Quá trình lặp diễn ra cho tới khi nào đạt tới một tiêu
chuẩn tới hạn.
65
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4.4.1. Xây dựng lớp mạng Layer1 cho tối ƣu các trung tâm cụm
Lớp Layer1 của FBACN có thể sử dụng mạng Hopfield hoặc mạng
Nơron đa khớp tuỳ thuộc vào các ràng buộc của FC-partition (FC- fuzzy c).
Nếu ràng buộc làm cho hàm mục tiêu có dạng bậc cao, hoặc dạng logarithm,
hoặc dạng sin, v.v.. thì ta sử dụng mạng Nơron đa khớp thay vì dùng mạng
Hopfield đơn giản.
Hình 4.4: Mô hình Lớp Layer1 của FBACN
Gọi
ji
là trọng số kết nối hoạt động của Nơron j với Nơron vào i. Tất cả
các đầu vào đến Nơron thứ j đƣợc kí hiệu là ij. Khi đó, tổng hợp các tín hiệu
đầu vào đối với Nơron j là:
1
n
j i ji j
i
net v i
(1). Với vi là đầu ra của Nơron
i, f là hàm đơn điệu tăng và liên tục.
Ta có hàm kích hoạt
2
( ) 1
1 exp( . )
j
j
f net
r net
(2). ở đây, ngƣỡng
r > 0 làm tăng tính thích nghi và khả năng tính toán của mạng Nơron.
Giả sử g là chỉ số đệ quy và khi đó
66
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
( 1) ( ) ( )
1
( ) ( . )
s
g g g
j j ji i j
i
v f net f v i
(3)
Khi đó, ta có thể diễn tả mạng Nơron thông qua ma trận NET sau:
NET = WV + I (4)
với
1
2
s
net
net
NET
net
,
11 1
21 2
1
s
s
s ss
W
,
1
2
s
v
v
V
v
và
1
2
s
i
i
I
i
Để đánh giá tính ổn định của hệ thống trong hình 4.4, chúng ta dùng
hàm tính toán năng lƣợng CEF(computational energy function-CEF).
Ta có CEF(E) là: 1
. . .
2
T TE V W V I V
(5)
Hay cụ thể hơn là:
1 1 12
1
. .
s s
ji i j j j
j i j
s
E v v i v
(6)
Trong công thức (6) thì E là dạng toàn phƣơng. Vì vậy, trong mạng Nơron
động này ta có thể dùng hàm mục tiêu dạng toàn phƣơng để tối ƣu hóa các
tham số.
Tiếp theo, ta sẽ lý giải sự phù hợp giữa hàm mục tiêu của FC-partion và
hàm tính toán năng lƣợng của FBACN.
Ta có hàm mục tiêu của FC-partion là:
,
1 1
( ; ) 2 ( )
n c
T T T m
m k k i k i i i k
k i
z U v x x v x v v u
(7)
Trong Layer1 của FBACN, các tham số tối ƣu là các trung tâm cụm vi.
Các độ thuộc mới ui,k đƣợc thực hiện từ lớp 2 tới Layer1 sẽ kích hoạt hồi quy
trong Layer1 để tối ƣu vi. Ngoài ra, ui,k tạm thời coi là các hằng số trong khi
hồi quy trong Layer1. Từ định nghĩa của hàm mục tiêu, các véctơ trung tâm
của các cụm
p
ipiii Rvvvv ),..,,( 21
là véctơ p chiều. Vì vậy, ta phải khai triển
67
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
(7) để khử biểu thức véctơ trƣớc khi nó đƣợc đem so sánh với hàm tính toán
năng lƣợng thăng giá trị. Thăng giá trị đƣợc khai triển trong công thức (7) với
lần khử đầu tiên là:
2
, , , ,
1 1 1
( ; ) 2 . ( )
pn c
m
m i l k l i l i k
k i l
z U v v x v u
(8)
Quan sát (6) và (8) ta thấy sự khác nhau chính giữa hai công thức này
là cách ký hiệu khác nhau. Trong mạng Nơron, thì các hoạt động ra của các
Nơron đƣợc ký hiệu một cách duy nhất bằng một ký hiệu dƣới dòng. Chẳng
hạn, hoạt động ra vi với si ...1 . Tuy nhiên, sau khi khai triển hàm mục tiêu
của FC-pariton, có 2 từ viết dƣới dòng trong tham số vi,l, với
1..1, 1..l i c
.
Để thống nhất trong cách thể hiện, ta ký hiệu lại nhƣ sau:
, ( 1).i l i p lv v
(9)
Khi đó, ta viết lại biểu thức (8) nhƣ sau:
, ( 1) ,
1 1 1
( ; ) [ 2( ) . .
pn c
m
m i k i p l k l
k i l
z U v u v x
2
, ( 1)( ) . ]
m
j k i p lu v
(10)
Số Nơron s trong Layer1 ở (6) là
c p
.
Ta có
1
2
c p
i
i
I
i
,với
( 1) , ,
1
2 .
n
m
i p l i k k l
k
i u x
,
1.. 1..i c và l p
(11)
và các phần tử của ma trận W đƣợc xác định bởi:
/ ,
1
2 ,
0,
n
m
i p k
kji
u i j
i j
,
, 1..i j c n
(12)
với ký hiệu | x | là cách lấy số nguyên cao hơn và gần nhất so với x.
68
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Quá trính tối ƣu của Layer1:
Mục tiêu của mạng hồi quy là làm cho hàm mục tiêu xấp xỉ tới giá trị
nhỏ nhất. Do W là ma trận đối xứng nên WT=W, ta lấy gradient của véctơ
năng lƣợng trong (5) ta đƣợc:
1
( ). .
2
T
E W W V I W V I NET
(13)
và
( ) . ( )T TE E V NET V
1
.
s
j j
j
net v
(14)
Tiếp theo, chúng ta xây dựng hàm kích hoạt (liên tục hoặc rời rạc) f
đƣợc sử dụng ở trong Layer1 của FBACN theo công thức sau:
( ) ( )
( 1) ( )
( )
, 0
( )
, 0
g g
j j jg g
j g g
j j j
v if net
v f net
v if net
(15)
với
j
là giá trị dƣơng nhỏ nhất để điều chỉnh vj. Ta thấy khi
( ) 0gjnet
thì
( 1) ( )g g
j j j jv v v
>0,
1
. 0
s
j j
j
E net v
.
Trong kiểu kiến trúc này, thì sự cập nhật hệ số
j
với giá trị không hạn
chế. Theo phƣơng pháp mà ta đã thiết kế thì cách lựa chọn giá trị của nó là
phù hợp với tiến triển của Layer1.
4.4.2. Xây dựng lớp mạng Layer2 cho tối ƣu các độ thuộc
Lớp mạng Layer2 của FBACN có chức năng là tối ƣu hóa lớp các độ
thuộc. Ta có thể coi các vi là các hằng số tạm thời trong khi lớp Layer2 hồi
quy. Ta có tập
2
,k i i kx v d
. Khi đó, công thức:
2
,
1 1
( ; )
c n m
m i k k i
i k
z U v u x v
đƣợc viết lại là
, ,
1 1
( )
c n
m
i k i k
i k
u d
.
Khi đó, bài toán tối ƣu trong lớp Layer2 của FBACN là: làm min
, ,
1 1
( ) .
c n
m
i k i k
i k
u d
với ràng buộc
,
1
1, 1..
c
i k
i
u k n
.
69
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Theo công thức Lagrange thì ta có thể phát biểu lại bài toán nhƣ sau:
2
, , ,
1 1 1
( ) 1
n c c
m
i k i k i k
k i i
u d u
(16)
với
là tham số Lagrange (thƣờng
10000 100000 ).
Ta ký hiệu lại
, ( 1).i k k c iu u
và
, ( 1).i k k c id d
(17)
Khi đó, ta có thể biểu diễn lại hàm mục tiêu là:
2
( 1). ( 1). ( 1).
1 1 1
( ) . ( 1)
n c c
m
k c i k c i k c i
k i i
u d u
(18)
Trong công thức (18) thì số hạng có bậc cao nhất là
( 1).( )
m
k c iu
(thông thường
ta chọn m=2) với k=1, 2, ..,n và i = 1, 2, ..., c. Nhƣng mạng Hopfield chỉ phù
hợp với bài toán tối ƣu bậc hai. Vì vậy, ta phát triển mạng Nơron đa khớp cho
các bài toán tối ƣu chung. Tức mạng Nơron đa khớp có thể giải quyết đƣợc
với bất kỳ hàm mục tiêu bậc cao có ràng buộc nào.
Mô hình mạng Nơron đa khớp đơn giản đƣợc sử dụng cho Layer2 nhƣ sau:
Hình 4.5: Mô hình Lớp Layer2 của FBACN
Tính động của mạng Nơron đa khớp trong hình 4.5 là:
70
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
( 1) ( ) ( ) ( )
1
( ) ( ( . . ) )
S
g g g g
j j ji i ji i j
i
u f net f u z u i
, với j=1, 2, ..., s. (19)
Ta có ma trận đầu vào mạng:
. .NET WU ZU I
(20)
Với
11 12 1
21 22 2
1 2
s
s
s s ss
z z z
z z z
Z
z z z
và
1
2
S
u
u
U
u
1
1
2
1
1
)1(
m
nxc
m
m
m
u
u
u
U
, m > 1 và U(1) = U (21)
Ta ký hiệu chuyển vị của U(m-1) là:
( 1)
T
mU
. Khi đó, hàm tính toán năng
lƣợng của mạng Nơron sẽ đƣợc tính bởi công thức:
IUUZUU
m
E TTTm ...
2
1
-W.U.
1
)1(
(22)
Với số lƣợng Nơron s trong lớp Layer2 là
n c
. Ta có thể tính toán các phần
tử của ma trận W, Z và I nhƣ sau:
1
2
0 0
0 0
0 0 c n
d
d
W m
d
tức là các phần tử
của W đƣợc tính theo công thức sau:
,
0 ,
md i j
i
ji i j
,
, 1,2,..i j c n
(23)
Z là ma trận cỡ
( ) ( )c n c n
và đƣợc xác định nhƣ sau:
2 ( 1). .
0
,
,
ji
i i
c j c
c c
if
z
với i,j = 1, 2, ..., c n . (24)
Và ma trận I là ma trận một chiều cỡ
c n
và đƣợc xác định nhƣ sau:
otherwise
71
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
2
2
I
Do ma trận trọng số W là đối xứng (W được gọi là đối xứng nếu A. W.B =
B.W.A), vì vậy hàm tính toán năng lƣợng ở (22) đƣợc biểu diễn là:
IUUZUU
m
E TTT ...
2
1
W.U.
1
1)-(m
(25)
U có thể điều chỉnh hai ma trận trọng số W và Z. Khi đó, ma trận
NET của mạng Nơron đa khớp đƣợc xác định nhƣ sau:
1. .mNET WU ZU I
Gọi h là hàm số xác định bởi:
1)( mjj uuh
(26). Khi đó, h đƣợc gọi là hàm để
tính
1m
ju
Và tính động của lớp Layer2 đƣợc thể hiện ở công thức:
( 1) ( )
( )
g g
u f net
j j
( ) 1 ( )
1
( ( ( ) ) )
s
g m g
ji j ji j j
i
f u z u i
(27)
Với
net j
là tổng đầu vào của Nơron thứ j và đƣợc tính bởi công thức:
jiji
m
iji
s
i
j iuzunet
)..( 1
1
(28)
Theo công thức (25), ta có gradient năng lƣợng
E
:
sjiuzu
u
E s
i
jiji
m
iji
j
..1),)..((
1
1
với s =
n c
(29)
Từ (28) và (29) ta có
, 1..
E
net j s
ju
j
(30)
Quá trình tối ƣu của Layer2
Khi hàm mục tiêu (18) đƣợc cân bằng với hàm tính toán năng lƣợng
(25) và gradient tính toán năng lƣợng đƣợc liên kết với giá trị net vào, kết
quả tối ƣu dần đạt đƣợc khi mạng tiến triển. Từ khái niệm năng lƣợng, hàm
72
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
rời rạc f là hàm kích hoạt của mạng Nơron đa khớp đƣợc xây dựng giống
nhƣ của lớp thứ nhất:
Vectơ năng lƣợng gradient đƣợc tính toán liên quan đến uj:
j
j
net
u
Hàm kích hoạt rời rạc đƣợc đƣa ra :
( ) ( )
( 1) ( )
( )
0,
( )
,
g g
j j jg g
j j
g
j j
if net
otherwise
u
u f net
u
(31)
Với vectơ năng lƣợng gradient luôn âm và công thức (31), đảm bảo
mạng Layer2 sẽ tối ƣu trong quá trình tiến hoá.
4.5. Sự hội tụ của FBACN
4.5.1. Chứng minh sự hội tụ của FBACN
Một yếu tố quan trọng cho mạng hồi quy đó là khả năng ổn định của
mạng. Trƣớc khi đƣa ra tính ổn định của mạng FBACN, chúng ta sẽ bắt đầu
với một vài định nghĩa về không gian Metric và định lý đƣa ra bởi Steck và
sau đó là một định lý hội tụ phổ quát.
Định nghĩa 1: Trong không gian Metric cho tập X và hàm d:
X X R
thỏa mãn các điều kiện:
1)
( , ) 0, ,d x y x y X
2)
( , ) 0d x y x y
3)
( , ) ( , ), ,d x y d y x x y X
4)
( , ) ( , ) ( , )d x z d x y d y z , ,x y z X
Định nghĩa 2: Cho X là không gian Metric với khoảng cách d và
: X X
. Điểm x đƣợc gọi là điểm cố định của
nếu
( )x x
.
Định nghĩa 3: Ánh xạ
là co nếu tồn tại c*, với *0 1c sao cho:
),(.)(),( * yxdcyxd
,
Xyx ,
(32)
73
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Nếu
thỏa mãn (32) thì
chỉ có 1 điểm cố định. Thật vậy, giả sử có 2
điểm cố định x và y. Khi đó theo (32) ta có: *( , ) . ( , )d x y c d x y . Vì vậy,
d(x,y)=0, nên x = y.
Vậy ta có thể khái quát điều trên thông qua định lý sau:
Định lý về ánh xạ co(ánh xạ thu gọn-AXC): Ánh xạ co của không gian
Metric đầy đủ có duy nhất một điểm cố định.
Định lý 1: Cho mạng Nơron nhân tạo hồi quy kết nối đầy đủ gồm các
Nơron s với kích hoạt động
s
i
j
g
iji
g
j inetfnet
1
)()1( )(.
(33), với f là một
hàm có giới hạn, liên tục và có giá trị thực, hàm có đạo hàm có giới hạn và
nếu thỏa mãn:
s
cf ji
1**
max
'
,
sji ..1&
(34) thì mạng hội tụ đến một
điểm cố định duy nhất đối với bất kỳ một giá trị khởi tạo nào của mạng.
Bổ đề: với mỗi hàm f thỏa mãn điều kiện giả thuyết, thì với bất kỳ
,x y R
ta có
'( ) ( ) maxf x f y f x y
(35)
Dựa vào các định nghĩa, định lý và bổ đề ở trên, một định lý hội tụ phổ
biến cho mạng Nơron đa khớp nối đƣợc đƣa ra nhƣ sau:
Định lý 2(đối với mạng Nơron đa khớp nối): Ứng với mỗi mạng Nơron đa
khớp nối gồm s Nơron có hai trọng số
ji
và
jiz
với tính động kích hoạt sau:
( 1) ( ) 1 ( )
1
( ( )) ( )
S
g g m g
j ji j ji j j
i
net f net z f net i
(36)
ở đây f là hàm có giới hạn, liên tục và có giá trị thực. Nếu f thỏa mãn điều
kiện:
1 ' **
max
1
( )m ji jif z c
s
, (với i, j = 1, 2, ..., s) (37) thì mạng hội tụ
đến một giá trị cố định duy nhất đối với với mọi giá trị khởi đầu của mạng.
Chứng minh: Theo định lý về ánh xạ co, để chứng minh FBACN là hội
tụ đến một điểm duy nhất thì chúng ta phải chỉ ra tồn tại một hằng số
74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
c*
(0,1)
sao cho với mọi giá trị
1 2( , ,..., )
S
Snetx netx netx netx
và
1 2( , ,..., )
S
Snety nety nety nety
thì
),(.)(),( * netynetxdcnetynetxd
(38)
Ta định nghĩa hàm số:
s
j
s
i
jiji
m
ijis inetfznetfnetnetnetnet
1 1
1
21 ))(.))(((),...,,()( (39)
Với không gian s là đầy đủ với Metric đã lựa chọn, thì ta có:
( , )
1
s
d netx nety netx nety netx nety
i ii
,
, snetx nety
(40)
Ta có :
( ( ), ( )) ( ) ( ) d netx nety netx nety
=
1 1
1 1
( ( )) ( ( )) ( ) ( )
S S
m m
i i ji i i ji
j i
f netx f nety f netx f nety z
' 1 ' '
max max
1 1
( )
S S
m
i i ji i i ji
j i
f netx nety f netx nety z
(41)
**
1 1
S S
i i
i j
netx nety c
=
*. ( , )c d netx nety
(42)
với
* ** **
1
.
S
j
c c s c
. Theo (37) thì
** (0,1)c
(43)
Theo (42) và (43) thì ánh xạ là ánh xạ co. Do đó, theo điều kiện của
(37) thì mạng Nơron đang xét là hội tụ về một điểm duy nhất.
4.5.2. Sự hội tụ FBACN liên tục của Layer1
Hàm kích hoạt của Layer1 đƣợc xây dựng nhƣ sau:
2
( ) ( )
1 exp( . )
j
f net v
j j jr net
j j
(44)
Với
j
và
r
j
là các số thực dƣơng. Ta cần tìm giá trị max của đạo hàm
cấp 1 của (44). Ta biết rằng đạo hàm cấp 1 của hàm f là cực đại tại x nếu đạo
75
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
hàm cấp 2 của hàm f tại x là bằng 0. Giả sử
''( ) 0f net
j
thì ta có netj=0. Vì
vậy, giá trị max của
'
f
là đạt cực đại địa phƣơng tại netj = 0 và giá trị đó là
.
' '( )max
2
r
j j
f f net
j
(45)
Mặt khác
2 0n
ji
nên ta có
' '0 2 . 2 . .max maxf n f n rji j j
(46)
Ta có 1 1
. .
. .
n r r
j j js s n
j
(47) với s là số lƣợng Nơron có trong mạng
và
s c p
trong lớp Layer1. Vì thế ta chọn 1
. .
r
j n s
j
, và vì vậy ta có thể
tìm đƣợc một hằng số
** (0,1)c
sao cho 1' **
maxf cji s
(48) Điều
này thỏa mãn điều kiện của định lý 1 nên ta có mạng là hội tụ đến một điểm.
Kết luận: Quá trình tính toán và chứng minh, ta có đƣợc kết quả sau:
Với Layer1, mạng thoả mãn giả thuyết của định lý 1, nên mạng hội tụ
Với Layer2, mạng thoả mãn giả thuyết của định lý 2, nên mạng hội tụ
4.6. Giải thuật của FBACN và FBACN với việc học
Giải thuật của FBACN đƣợc thực hiện qua các bƣớc sau:
GIẢI THUẬT CỦA FBACN
1) Thiết lập các giá trị c, m, λ, ε và các hệ số iδv, iδu trong lớp Layer1
và Layer2 tƣơng ứng.
2) Đặt hệ số ổn định
v
và
u
cho Layer1 và Layer2 tƣơng ứng.
3) Khởi tạo ngẫu nhiên các trung tâm cụm
( 1). ,i p lv
i=1, 2, ..., c và
l = 1, 2.., n trong Layer1 và lớp thành viên
,i k fcu M
với k=1, 2,
76
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
...,n và i = 1, 2, ...,c trong Layer2.
4) Cập nhật các hệ số
iv v
j
và
iu u
j
và giá trị mạng ban đầu
(0) 0net
j
với j =1, 2, ..., s
(s=c.p trong Layer1 và s=n.c trong Layer2).
5) Thiết lập chỉ số hồi quy g =1 cho Layer1.
6) Trong Layer1, tính ma trận trọng số W theo công thức (12), ma trận
tín hiệu vào bên ngoài I theo công thức (11), và giá trị mạng NET
theo công thức (4).
7) For j = 1 to s do
if
( ) ( 1). 0g gj jnet net
then
: / 2
j j
v v
;
8) For j = 1 to s do
if
( ) 0gjnet
then
:j j
j
v v v
else
:j j
j
v v v
9) if
(( )&( )&...&( )
1 2
v v v v v vs
then goto 10)
else {g:= g+1; goto 6)}.
10) Đặt chỉ số hồi quy g=1 cho Layer2.
11) Trong Layer2, tính ma trận trọng số W theo công thức (23), ma
trận trọng số Z theo công thức (24) và
TI 2,...,2,2
và ma trận
IUZNET m .W.U 1
.
12) For j = 1 to s do
if
( ) ( 1)
. 0
g g
net net
j j
then
: / 2u u
j j
;
13) For j = 1 to s do
if
( )
0
g
net
j
then
:u u uj j j
77
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
else
u : u uj j j
14) if
(( )&( )&...&( )
1 2
u u u u u us
then goto 15)
else {g:= g+1; goto 11)}.
15) if
( ) ( 1)g g
U U
then Stop else goto 4
Đối với FBACN với việc học thì thuật toán tƣơng tự nhƣ của FBACN,
nhƣng từ bƣớc 10 đến bƣớc thứ 14 thì đƣợc thay bằng 10’ đến 17’. Trƣớc hết
ta định nghĩa một số tham số: p0 là hằng số tỉ lệ xác suất nằm trong [0,1], sử
dụng để tính xác suất. EquiCycle là chu kỳ thăng bằng ấm(có nghĩa là khi vòng
lặp đang xử lý cần giữ thăng bằng ấm tại nhiệt độ T). Tstart là nhiệt độ xung
quanh, Tstop là nhiệt độ dừng(tức dừng việc học) và Tstep là tổng nhiệt độ thấp
hơn trong mỗi vòng lặp.
Giải thuật của FBACN với việc học đƣợc thực hiện nhƣ sau:
GIẢI THUẬT CỦA FBACN VỚI VIỆC HỌC
1’ -> 9’ = 1 -> 9 của FBACN
10’) Đặt T = Tstart.
11’) Đặt chỉ số hồi quy g = 1 cho Layer2.
12’) Trong Layer2, tính giá trị của ma trận trọng số W theo công thức
(23), ma trận trọng số Z theo công thức (24) và ma trận tín hiệu
vào từ bên ngoài I và ma trận giá trị mạng NET.
13’) if g EquiCycle then
{ For j =1 to s do
{ Tính xác xuất
( ) 0
/1 .
g
j
j
j
T
p
p
e net u
;
78
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
( ) ( 0,1 )gja Rand }}
esle {
For j =1 to s do {
( ) ( )
0; 1
g g
p a
j j
}};
14’) for j = 1 to s do
if
( ) ( 1) ( 1) ( 1)
(( . ) 0)&( . 0))
g g g g
net net a p
j j j j
then
: / 2u u
j j
15’) for j =1 to s do {
if
( ) ( )g g
a p
j j
then { if Rand([0,1]) 0.5 then
:u u uj j j
else
:u u uj j j
}
else { if
( )
0
g
net
j
then
:u u uj j j
else
:u u uj j j
}}
16’) if 1 2(( )&( )&...&( )su u u u u u then goto 17’)
else {g:= g+1; goto 12’)}.
17’) if T>Tstop then {T:=T-Tstep; goto 11’)} else goto 18’).
18’) if
( ) ( 1)g g
U U
then Stop else goto 4)
79
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
CHƢƠNG 5
CÀI ĐẶT THỬ NGHIỆM VÀ ỨNG DỤNG
5.1. Cài đặt thử nghiệm thuật toán FCM ........................................................................
5.2. Ứng dụng thuật toán FCM-Cải tiến vào nhận dạng ảnh ..........................................
79
82
Chƣơng này trình bày kết quả xây dựng chƣơng trình thử nghiệm của
thuật toán FCM và ứng dụng thuật toán FCM-Cải tiến vào quá trình nhận
dạng ảnh.
5.1. Cài đặt thử nghiệm thuật toán FCM
FCM là một thuật toán đƣợc áp dụng khá nhiều trong phân cụm dữ liệu
vì hiệu năng và tính hiện thực của nó khá tốt. Thuật toán FCM đƣợc bắt đầu
bằng cách chọn C cụm và chọn ngẫu nhiên c điểm làm trung tâm cụm hoặc
chọn phân hoạch ngẫu nhiên C cụm và tính trọng tâm của từng cụm này. Nếu
số lƣợng dữ liệu nhỏ hơn số cụm thì ta gán mỗi dữ liệu là một trọng tâm của
cụm, mỗi trọng tâm sẽ có 1 số cụm. Nếu số lƣợng dữ liệu lớn hơn số cụm, với
mỗi dữ liệu, ta tính toán độ tƣơng tự có trọng số giữa điểm đó và trọng tâm
cụm và lấy khoảng cách tối thiểu. Dữ liệu này thuộc về cụm có khoảng cách
tối thiểu tới dữ liệu đó. Khi chúng ta không chắc chắn về vị trí của trọng tâm,
ta cần điều chỉnh vị trí trọng tâm dựa vào dữ liệu đã cập nhật hiện tại. Sau đó,
ta gán tất cả dữ liệu tới trọng tâm mới này. Quá trình này đƣợc lặp lại cho tới
khi không còn dữ liệu di chuyển sang cụm khác. Về mặt toán học, vòng lặp
này có thể chứng minh là hội tụ cực tiểu cục bộ.
Quá trình cài đặt của thuật toán đƣợc mô phỏng thông qua giao diện
của chƣơng trình nhƣ Hình 5.1 và Hình 5.2 dƣới đây:
Ngôn ngữ sử dụng là Visual C++ 6.0
Tham số ban đầu: Số cụm = 3, tham số mũ m = 2
Dữ liệu đầu vào là các điểm màu khác nhau
80
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 5.1: Giao diện của chƣơng trình khi khởi động
Khi ngƣời sử dụng nhập số cụm vào khung “Nhập số cụm”, kích chuột
vào khung chƣơng trình để tạo ra các điểm của cụm, vị trí của các điểm đƣợc
thể hiện ở khung “Toạ độ xy”. Chƣơng trình sẽ tự động tạo ra các cụm dữ
liệu bằng cách tối giản tổng bình phƣơng các khoảng cách giữa dữ liệu và
trọng tâm cụm tƣơng ứng khi ta kích chuột vào khung chƣơng trình để tạo ra
mỗi điểm. Mỗi điểm và tọa độ của nó biểu thị cho một đối tƣợng với mô tả
hai thuộc tính của đối tƣợng đó là màu sắc của điểm và số nhãn biểu thị cho
cụm.
81
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Dƣới đây là hình ảnh thu đƣợc khi chạy chƣơng trình với số cụm nhập vào là
8 cụm..
Hình 5.2: Giao diện của chƣơng trình khi làm việc
Chƣơng trình tự động phân thành 8 cụm thông qua số màu hiện trong
từng cụm và tâm của mỗi cụm.
82
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5.2. Ứng dụng thuật toán FCM-Cải tiến vào nhận dạng ảnh
Bài toán nhận dạng chính là quá trình phân loại các đối tƣợng đƣợc
biểu diễn theo một mô hình nào đó và gán cho chúng vào một lớp dựa theo
các quy luật và các mẫu chuẩn. Nhận dạng có rất nhiều ứng dụng, đƣợc áp
dụng vào rất nhiều lĩnh vực, chẳng hạn nhƣ nhận dạng vân tay, nhận dạng chữ
viết, nhận dạng ảnh… Và phân cụm màu là một bƣớc rất quan trọng trong quá
trình nhận dạng ảnh.
Do số lƣợng điểm ảnh là rất lớn, thƣờng trên 80.000 điểm ảnh và số
lƣợng màu của mẫu dữ liệu ảnh là phụ thuộc vào độ sắc nét của ảnh. Nếu ảnh
có chất lƣợng càng tốt thì số lƣợng màu càng lớn, nhƣng dù ảnh có chất lƣợng
nhƣ thế nào đi nữa thì số lƣợng màu vẫn lớn. Mặt khác, trong nhận dạng ảnh,
chúng ta chỉ quan tâm tới một số yếu tố nhất định, chẳng hạn nhƣ mắt, lông
mày, miệng và da,... nên số lƣợng màu mà ta quan tâm cũng không lớn lắm,
vì vậy áp dụng thuật toán FCM-Cải tiến vào việc phân cụm màu trong nhận
dạng ảnh là một ứng dụng rất cần thiết trong bài toán này.
Quá trình ứng dụng của thuật toán FCM-Cải tiến đƣợc mô phỏng thông
qua giao diện của chƣơng trình với Hình 5.3, Hình 5.4 và Hình 5.5 dƣới đây:
Ngôn ngữ sử dụng là Visual C++ 6.0
Tham số ban đầu: Khai báo mảng lƣu trữ số lƣợng màu của ảnh, mảng
lƣu trữ số trung tâm của cụm, số lƣợng cụm, tham số mũ.
Dữ liệu đầu vào là một File ảnh màu(Bitmap)
Dữ liệu đầu ra là một ảnh màu đã đƣợc nhận dạng với số cụm màu đã
đƣợc thuật toán FCM-Cải tiến thực hiện phân cụm.
83
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 5.3: Giao diện của chƣơng trình khi khởi động
Khi chƣơng trình khởi động xong, ta chọn một ảnh nguồn để thực hiện
bằng cách ấn vào nút “Mở File Ảnh” và chọn một ảnh cần thực hiện nhƣ Hình
5.4 dƣới đây:
84
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 5.4: Giao diện của chƣơng trình khi chọn ảnh để phân cụm
Sau khi chọn xong, ta ấn vào nút “Thực hiện phân cụm”. Chƣơng trình sẽ
thực hiện quá trình nhận dạng và phân cụm màu theo thuật toán FCM-Cải tiến
và hiển thị kết quả ở khung “Ảnh Đích” nhƣ Hình 5.5 dƣới đây.
85
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 5.5: Giao diện của chƣơng trình khi thực hiện phân cụm
86
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
KẾT LUẬN
Trong quá trình tìm hiểu và hoàn thành luận văn tốt nghiệp với đề tài
“Nghiên cứu một số phương pháp phân cụm mờ và ứng dụng”, dù đã đạt
đƣợc những kiến thức nhất định, nhƣng em nhận thấy phân cụm dữ liệu trong
KPDL nói chung và phân cụm dữ liệu mờ nói riêng là một lĩnh vực nghiên
cứu rộng lớn, nhiều triển vọng. Đề tài đã cố gắng tập trung tìm hiểu, nghiên
cứu và trình bày đƣợc một số kỹ thuật và thuật toán phân cụm dữ liệu phổ
biến, một số kỹ thuật phân cụm mờ và mô hình mạng nơron đa khớp dùng cho
phân cụm mờ trong KPDL hiện nay, trình bày một số cải tiến của thuật toán
phân cụm mờ(FCM-Cải tiến) dựa trên các phƣơng pháp đã có, cài đặt thử
nghiệm thuật toán phân cụm mờ(FCM) với ứng dụng phân cụm các điểm màu
và thực hiện cài đặt ứng dụng của thuật toán FCM-Cải tiến đối với việc phân
cụm màu trong bài toán nhận dạng ảnh màu.
Tuy nhiên, do những hạn chế về tài liệu và thời gian nên em mới chỉ
tìm hiểu đƣợc một số kỹ thuật điển hình trong phân cụm và đặc biệt là phân
cụm mờ, cài đặt và thử nghiệm một số thuật toán ứng dụng .... nhƣng còn
một số kỹ thuật khác vẫn chƣa đƣợc tìm hiểu và khai thác, cài đặt thử nghiệm
chƣa áp dụng đƣợc cho bài toán phân cụm tổng quát....
Trong thời gian tới em sẽ tiếp tục nghiện cứu thêm một số kỹ thuật
phân cụm và đặc biệt là các thuật toán phân cụm mờ kết hợp song song ứng
dụng vào một số bài toán thực tế ở Việt Nam hiện nay và hy vọng sẽ dần đƣa
những kiến thức đã có từ đề tài này sớm trở thành thực tế, phục vụ cho cuộc
sống con ngƣời chúng ta.
Học viên thực hiện
An Hồng Sơn
87
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
TÀI LIỆU THAM KHẢO
Tài liệu Tiếng Việt:
1. Phan Đình Diệu (1999), “Lô Gích trong Các Hệ Tri Thức”, NXB
Đại học Quốc gia Hà Nội, Hà Nội.
2. Nguyễn Trọng Thuần, “Điều khiển Logic và ứng dụng”, Nhà xuất
bản Khoa học và Kỹ thuật, 2004.
3. Bùi Công Cƣờng và Nguyễn Doãn Phƣớc, “Hệ mờ, mạng nơron và
ứng dụng ”, NXB Khoa học và kỹ thuật, 2006.
4. Vũ Thanh Nguyên, “Ứng dụng logic mờ, mạng nơron mờ, hệ các
luật mờ phân tích dự báo các mặt hàng chiến lược”, Hội thảo khoa
học Hệ mờ, mạng nơron và ứng dụng, lần 1, Hà nội 8-9/11/2006.
5. Ngô Quốc Tạo, “Giáo trình Xử Lý Ảnh”, Lớp CHCLC-ĐH Công
Nghệ-ĐHQG Hà Nội 2001-2002.
6. Ngô Quốc Tạo, “Bài giảng môn Data Mining”, Lớp CHK5-ĐH Thái
Nguyên 2006-2008.
7. Ngô Quốc Tạo, “Bài giảng môn Xử Lý Ảnh”, Lớp CHK5-ĐH Thái
Nguyên 2006-2008.
Tài liệu Tiếng Anh:
8. Daniel T. Larose, “Discovering Knowledge in Data: An
Introduction toData Mining”, ISBN 0-471-66657-2 CopyrightC
2005 John Wiley & Sons, Inc.
9. A. Arning, R. Agrawal, and P. Raghavan. Alinear method for
deviation detection in larger databases, “In Proc. 1996 Int. Conf.
Data Mining and Knowledge Discovery (KDD-96)”, Portland,
Oregon, August 1996.
88
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10. P.S. Bradley, U. Fayyad, C. Reina, Scaling Clustering Algorithms
to Large Databases, “In Proc of 4th International conference on
Knowledge Discovery and Dala Mining (Kdd-98)”, New York. 1998.
11. D. Fisher, “Knowledge acquisition via incremental conceptual
clustering, In Machine Learning”, 2 pp. 139-/72, 1987.
12. D. Gibson, J. Kleinberg, P. Raghavan, “Clustering Categorical
Data: An Approach Based on Dynamical Systems”, VLDB Journal 8
(3-4) pp. 222-236, 2000.
13. J. Han, M. Kamber, “Data Mining Concepts and Techniques”,
Morgan Kaufmann Publishers, 2001.
14. A.K. Jain, R.C. Dubes, “Algorithms for clustering data”, Ptentice
Hall, Englewood Cliffs, NJ, 1988.
15. R.A. Jarvis, E.A. Patrick, “Clustering using a similarity measure
based on shared near neighbors”, IEEE Transactions on Computers
C22, pp. 1025-1034, 1973.
16. M. Manago, Y. Kodratoff, “Inđuction of Decision Trees from
Complex Structuted Data, In Knowledge Discovery in Databases”,
AAAI/Th MIT press, pp. 289-306, 1991.
17. J.C.Bezdek, “Pattern Recognition with fuzzy Objective Function
Algorithms”, New York, Plenum, 1981.
18. W.Pedrycz, “Algorithms of fuzzy clustering with partial
supervision”, Pattern Recognition, vol. 23, pp.121-146, 1990.
19. M.P.Windham, “Cluster validity for fuzzy clustering algorithms”,
“Fuzzy Sets and System”, vol. 3, pp. 177-183, 1981.
20. W.Pedrycz, “Algorithms of fuzzy clustering with partial
supervision”, Pattern Recognition, vol. 23, pp.121-146, 1990.
89
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
21. G.Bueno, R.Gonzalez, J.Gonzalez, and M.Garcia-Rojo, “Fuzzy
colour C-means clustering for pattern segmentation in histological
images”, The 3rd European Medical and Biological Engineering
Conference, 2005.
22. Chih-Hsiu Wei, Chin - Shyurng Fahn, “The multisynapse neural
network and its application to fuzzy clustering”.
23. J.H.Wang and C.Y.Peng, “Optimal clustering using neural
network”, in Proc. IEEE Int. Conf. Syst., Man, Cybern., vol.2, 1998,
pp.1625-1630.
24. Y.Guo, X.Yin, and W.Gong, “ART2 neural network clustering for
hierarchical simulation”, in Proc. SPIE Int. Soc.Opt.Eng., vol.
2.1998, pp.35-48.
25. M.F.Augusteijn and U.J.Steck, “Supervised adaptive clustering: A
hybrid neural network clustering algorithm”, neural
Comput.Applicat., vol.7,no. 1, pp.78-89, 1998.
26. E. C. Tsao, J. C. Bezdek, and N. R. Pal, “Fuzzy Kohonen
clustering network”, Patterm recognition, vol.27, no.5, pp.757-764,
1994.
27. J. Lin, K. Cheng, and C.Mao, “A fuzzy Hopfield neural
network for medical image segmentation”, IEEE Trans. Nuclear
Sci., vol.43, 1996.
28. Hathaway R.J and Bezdek J.CNTT (2000), “Generalized
fuzzy c-means clustering Strategies using LP Norm Distances”,
IEEE Trans.Fuzzy Syst, No 5, pp.576-582.
29. J.E.Steck and S.N.Balakrishnan, “Use of Hopfield newral networks
in optimal guidance”, IEEE Trans. Aerosp.Electron. Syst., vol.30,
no.1, pp 287-293, Jan.1994.
Các file đính kèm theo tài liệu này:
- lv_08_cntt_kh_ahs_4345.pdf