MỤC LỤC
Mở Đầu...............................................................................2
Chương 1. Tổng quan về mạng nơ-ron và logic mờ.......4
1.1. Tổng quan về mạng nơ-ron.......................................................................................4
1.1.1. Giới thiệu về mạng nơ-ron nhân tạo..................................................................4
1.1.2. Mạng nơ-ron sinh học........................................................................................4
1.1.3. Mạng nơ-ron nhân tạo........................................................................................5
1.1.4. Định nghĩa và phân loại mạng nơ-ron nhân tạo................................................9
1.1.5. Một số ứng dụng của mạng nơ-ron..................................................................15
1.1.6. Mạng thích nghi...............................................................................................16
1.2. Tổng quan về logic mờ...........................................................................................20
1.2.1. Quá trình phát triển của logic mờ....................................................................20
1.2.1. Các khái niệm cơ bản của logic mờ.................................................................20
1.2.3. Cơ sở toán học của logic mờ............................................................................24
2.2. Tổng quan về hệ suy diễn mờ.................................................................................34
2.2.1. Hệ suy diễn mờ Mamdani................................................................................37
2.2.2. Hệ suy diễn mờ Tsukamoto.............................................................................38
2.2.3. Hệ suy diễn mờ Takagi-Sugeno.......................................................................39
2.3. Ứng dụng hệ suy diễn mờ trên cơ sở mạng thích nghi trong bài toán phân lớp ....49
2.3.1. Phát triển bài toán............................................................................................49
2.3.2. Ứng dụng hệ ANFIS trong bài toán phân lớp dữ liệu......................................51
Chương 3. Giới thiệu phần mềm MATLAB..................51
3.1. Giới thiệu chương trình mô phỏng hệ ANFIS........................................................52
3.4. Đánh giá hệ thống...................................................................................................62
3.5. Kết luận...................................................................................................................63
Mở Đầu
Ngày nay, Công nghệ thông tin đang ngày càng phát triển một cách mạnh
mẽ. Nó xâm nhập vào mọi lĩnh vực trong cuộc sống. Chính vì vậy, để có thể đem
• Chương 2: Hệ suy diễn mờ
•
Chương 3: Giới thiệu phần mềm MATLAB
2
Qua đồ án này, em xin chân thành cảm ơn: Ths. Nguyễn Thị Tuyển bộ môn
khoa học máy tính đã tận tình giúp đỡ, động viên, định hướng, hướng dẫn và tạo
mọi điều kiện để em có thể hoàn thành đồ án này.
Em xin chân thành cám ơn các thầy cô trong bộ môn khoa học máy tính
trường Đại học công nghệ thông tin và truyền thông đã quan tâm dạy dỗ và giúp
đỡ em trong suốt năm năm học vừa qua và trong quá trình làm đồ án tốt nghiệp.
Em xin cám ơn sự giúp đỡ nhiệt tình của các bạn sinh viên trong lớp KHMT đã
động viên và đóng góp nhiều ý kiến quý báu cho em trong quá trình học tập cũng
như khi làm đồ án tốt nghiệp.
Thái nguyên, tháng 6 năm 2011
3
Chương 1. Tổng quan về mạng nơ-ron và logic mờ
1.1. Tổng quan về mạng nơ-ron
1.1.1. Giới thiệu về mạng nơ-ron nhân tạo
Mạng nơron hay mạng nơron nhân tạo là sự tái tạo bằng kỹ thuật những chức
năng của hệ thần kinh con người. Trong quá trình tái tạo không phải tất cả các
chức năng của bộ não con người có đều được tái tạo, mà chỉ có những chức năng
cần thiết. Bên cạnh đó còn có những chức năng mới được tạo ra nhằm giải quyết
hoặc hoàn toàn biến mất. Qua các nhánh axon liên kết tế bào nơ-ron này với các
nơron khác, sự thay đổi trạng thái của một nơron cũng dẫn theo sự thay đổi trạng
thái của những nơron khác và do đó là sự thay đổi của toàn bộ mạng nơ-ron. Việc
thay đổi trạng thái của mạng nơron có thể thực hiện qua một quá trình “dạy” hoặc
do khả năng “học” tự nhiên
.
Cấu trúc của mạng nơron luôn luôn phát triển và thay đổi để thích nghi dần
với môi trường, làm cho cấu trúc bộ não ngày càng trở nên phức tạp sau mỗi lần
học. Một số cấu trúc của nơron được xác định trước, một số sau này mới được
hình thành và một số thì bị huỷ bỏ qua quá trình chọn lọc tự nhiên, học và thích
nghi.
Các nhà khoa học đã và đang xây dựng và phát triển các mô hình xử lý thông
tin mô phỏng hoạt dộng của bộ não người. Đó chính là mô hình mạng nơ-ron nhân
tạo.
1.1.3. Mạng nơ-ron nhân tạo
Một nơron nhân tạo phản ánh các tính chất cơ bản của nơron sinh học.
Mỗi nơron nhân tạo là một đơn vị xử lí thông tin làm cơ sở cho hoạt động của
một mạng nơron. Nó có chức năng nhận tín hiệu vào, tổng hợp và xử lý các tín
hiệu vào để tính tín hiệu ra. Dưới đây là một mô hình của một nơron nhân tạo.
5
x1
w1 j
x2 w2 j
Mw
gọi là trọng số của nơron, ta kí hiệu trọng số của nơron thứ j là qj .
Mỗi một nơron trong một mạng kết hợp các giá trị đưa vào nó thông qua các
liên kết với nơron khác, sinh ra một giá trị gọi là net . Hàm thực hiện nhiệm vụ
này gọi là hàm kết hợp (combination function), được định nghĩa bởi một luật lan
truyền cụ thể. Trong phần lớn các mạng nơron, chúng ta giả sử rằng mỗi một
6
nơron cung cấp một bộ cộng như là đầu vào cho đơn vị mà nó liên kết. Để tính
tổng hợp tín hiệu đầu vào net , ta giả định net là hàm của các tín hiệu xi và các
trọng số wij .
n
net = x1w1 j + x2 w2 j + ... + x n wnj = å xi wij .
i=1
(1.1)
Có nhiều cách để tính tổng tín hiệu vào của nơron, trên dây là cách khá đơn
giản và hữu ích khi chúng ta xây dựng một mạng có nhiều nơron.
Trường hợp wij > 0 , nơron được coi là đang ở trạng thái kích thích. Tương
tự, nếu như wij < 0 , nơron ở trạng thái kiềm chế.
Sau khi tổng hợp được tín hiệu đầu vào net , sử dụng hàm kích hoạt f biến
đổi net để thu được tín hiệu đầu ra out .
y j = out j = f ( net )
(1.2)
Tóm lại có thể xem nơron là một hàm phi tuyến nhiều đầu vào, một đầu ra.
Hàm kích hoạt phải thoả mãn các điều kiện sau:
- Tín hiệu đầu ra phải không âm với mọi giá trị của net .
function). Đầu ra của hàm này chỉ giới hạn trong hai giá trị:
ìï 1, nÕu x ³ q
f ( x ) = ïí
ïïî 0, nÕu x
lý bên trong các phần tử. Hệ thống này có thể học số liệu và có khả năng tổng quát
hoá từ các số liệu được học”.
Trong định nghĩa trên, các phần tử xử lý được nhắc đến chính là các nơron.
1.1.4.2. Phân loại
Liên kết các đầu vào và ra của nhiều nơron với nhau ta được một mạng
nơron. Nguyên lý cấu tạo của một mạng nơron bao gồm một hoặc nhiều lớp. Mỗi
lớp bao gồm nhiều nơron có cùng một chức năng trong mạng.
Mạng nơron nhân tạo có thể được chế tạo bằng nhiều cách khác nhau vì vậy
trong thực tế tồn tại rất nhiều kiểu mạng nơron nhân tạo. Dựa vào số lớp hay sự
liên kết giữa các lớp trong mạng mà người ta phân mạng nơron nhân tạo thành các
nhóm khác nhau.
• Phân loại theo số lớp
Phân loại theo số lớp thì mạng nơron nhân tạo gồm có hai nhóm: mạng một
lớp và mạng nhiều lớp.
- Mạng một lớp
Mạng một lớp cấu thành từ một lớp mạng, nó vừa là lớp vào vừa là lớp trung
gian và cũng là lớp ra. Một lớp mạng bao gồm một nhóm các nơron được tổ chức
theo một cách sao cho tất cả chúng đều nhận cùng một véc tơ
đầu vào để xử lý cùng thời điểm. Việc sản sinh ra net đầu vào, biến đổi
thành tín hiệu đầu ra out xuất hiện cùng một lúc trong tất cả các nơron.
9
y1
x1
y2
M
M
M
M
xn
M
ym
lớp
vào
lớp
ẩn
lớp
ra
Hình 1.6. Mô hình mạng 3 lớp truyền thẳng.
10
•
Phân loại theo sự liên kết giữa các lớp
M
M
M
M
M
ym
xn
Hình 1.7. Mô hình mạng nơron nhiều lớp hồi quy
11
1.1.4.3. Thủ Tục học của mạng
Như chúng ta đã biết,mục đích cuối cùng của việc nghiên cứu ra mạng nơron là huấn luyện cho mạng này biết “suy nghĩ” như não của con người. Bởi vậy
vấn đề quan trọng nhất và không thể thiếu được trong việc hình thành ra một mạng
nơ-ron đáp ứng được đầy đủ yêu cầu của con người đó là quy tắc học của mạng
nơ-ron. Chúng ta có thể chia ra làm hai loại: Học có giám sát và học không giám
sát
•
Học có giám sát
Mạng được huấn luyện bằng cách cung cấp cho nó các cặp mẫu đầu vào và
các đầu ra mong muốn. Do vậy mục đích chính của việc học có giám sát chính là
• Học không giám sát
Học mạng nơ-ron không giám sát là cách học không có sự phản hồi từ môi
trường để chỉ ra rằng đầu ra của mạng là đúng như thế nào.
Khi đó, mạng tự khám các đặc điểm,tính tương quan, hay các lớp trong dữ
liệu một cách tự động. Trong thực tế, đối với mỗi phần lớn các biến thể của học
không giám sát, các đích trùng với đầu vào. Nói một cách khác, học không giám
sát thực hiện một công việc tương tự như một mạng liên kết, cô đọng thông tin từ
dữ liệu vào.
13
Véc tơ
vào
Mạng nơ-ron
Tín hiệu ra out
Hình 1.9 : sơ dồ học không giám sát
1.1.4.4. Đặc trưng của mạng no-ron
Mô hình mạng nơ-ron là một mô hình được ứng dụng nhiều trong thực tế
cũng như đem lại những thành công to lớn trong cuộc cách mạng công nghệ máy
tính và quá trình xử lý thông tin. Sở dĩ nó có thể đem lại những lợi ích lớn như vậy
là do nó có những đặc trưng chính sau:
- Khả năng của các quá trình xử lý song song và phân tán: Có thể đưa vào
mạng một khối lượng lớn các nơ-ron liên kết với nhau theo những lược đồ với các
kiến trúc khác nhau
- Khả năng thích nghi và tự tổ chức: là khả năng xử lý thích nghi và điều
chỉnh bền vững dựa vào các thuật toán thích nghi và các quy tắc tự tổ chức.
động rất lớn đến các hoạt động kinh tế khác. Đây là hướng nghiên cứu mới đang
được các nhà khoa học quan tâm.
1.1.5.4. Mạng no-ron trong bài toán tối ưu
Vấn đề chính ở đây là tìm những thuật toán huấn luyện mạng sao cho góp
phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn cục.
15
Có thể nêu lên các bước sau đây trong việc sử dụng mạng nơron để giải các
bài toán tối ưu hoá hay còn gọi là ánh xạ các bài toán tối ưu lên mạng nơron:
- Chọn sơ đồ biểu diễn để các đầu ra của các nơron có thể giải mã thành các
nghiệm có thể của bài toán tối ưu
- Chọn hàm năng lượng sao cho cực tiểu của nó ứng với nghiệm “tốt nhất”
của bài toán cần ánh xạ
- Gán giá trị cho các tham số của hàm năng lượng - điều này sẽ xác định
các trọng số tương đối gán cho các thành phần khác nhau của hàm năng lượng
- Rút ra phương trình động học của các nơron (tương ứng với việc xác định
các trọng số liên kết và đầu vào ngoài)
- Đặt giá trị đầu cho các tín hiệu vào
Không có phương pháp trực tiếp ánh xạ các bài toán tối ưu có ràng buộc lên
mạng nơron ngoại trừ việc thêm vào hàm mục tiêu các thành phần phạt khi các
ràng buộc bị phá vỡ. Trong trường hợp hàm năng lượng được biểu diễn như tổng
có trọng của hàm mục tiêu của bài toán và các thành phần phạt.
1.1.6. Mạng thích nghi
Mạng thích nghi là một cấu trúc mạng bao gồm các nút và các liên kết trực
tiếp để liên kết giữa các nút đó với nhau. Tuy nhiên, không phải lúc nào tất cả các
nút đều là thích nghi. Đôi khi chỉ một phần các nút này phụ thuộc vào các tham số
phương.
#( L )
J p = å ( Ti, p - OiL, p )2
i=1
L
Trong đó Ti , p là thành phần thứ I của vecto đầu ra đích thứ p, Oi , p là thành
phần thứ I của vecto đầu ra thực tế có được từ vecto đầu vào thứ p. Do vậy, nếu ta
có P đầu vào thì tổng lỗi là :
p
J = å Jp
p=1
Để phát trine thủ tục học sử dụng phương pháp giảm gradient trong J trên
không gian tham số, trước tiên chúng ta đi tính tỉ lệ lỗi
¶J p
¶O
cho dữ liệu huấn
luyện thứ p và cho mỗi nút ra O. Tỷ lệ lỗi cho nút ra tại (L, i) có thể được tính theo
phương trình sau:
¶J p
L
i, p
Bây giờ nếu a là tham số của mạng thích nghi, khi đó ta có:
¶ J p ¶ O*
=å
*
¶ a O* Î S ¶ O ¶ Oa
¶J p
Trong đó,S là tập các nút có dấu ra phụ thuộc a là, khi đó đạo hàm của J
theo a là:
¶J p
¶a
¶J p
p
=
å
p=1
¶a
Và như vậy công thức cập nhật cho tham số di truyền a là:
những phần tử này có thể được xác định bởi phương pháp ước lượng bình phương
tối thiểu. Nếu tập các tham số có thể được chia thành hai tập S1 và S2 và
S = S1 Å S2
Với Å biểu diễn tổng trực tiếp, hay nói một cách khác H(f) là tuyến tính
trong các phần tử của S2 ta có:
18
H(Out) = H(F( I ,s))
Trong đó H là hàm tuyến tính của các phần tử trong S2 , khi đó với giá trị của
các phần tử của S1
Luật học lai – học trực tiếp ( On – Line learning)
Mô hình học trực tiếp là một mô hình mà các tham số được cập nhật sau mỗi
lần thực hiện. Mô hình này còn được gọi là mô hình học mẫu. Đây là một mô hình
học dùng để xác định các tham số một các trực tiếp cho hệ thống với những đặc
trưng thay đổi. Để sửa đổi luật học của nó, ta thấy rằng giảm gradient có thể được
dựa trên J p thay thế cho J. Tuy nhiên, đây không phải là gradient chuẩn dùng để
tối thiểu học J, bởi vì nếu tỷ lệ học nhỏ thì nó sẽ không xấp xỉ tới 1.
Với dãy các công thức ước lượng bình phương tối thiểu để xác định các đặc
trưng biến đổi của dữ liệu đến, chúng ta cần giảm ảnh hưởng của cặp dữ liệu cũ
khi mà luôn sẵn có cặp dữ liệu mới. Một phương pháp đơn giản là tính sai số bình
phương khi trọng số mới lớn hơn trọng số của cặp dữ liệu hiện tại, ở đây chúng ta
đưa thêm một số nhân tố l (forgetting factor) vào dãy các công thức ban đầu:
X i+ 1 = X i + Si+ 1ai+ 1 (biT+ 1 - aiT+ 1 X i )
Si ai+ 1aiT+ 1Si ]
1
Si+ 1 = [Si l
l + aiT+ 1Si ai+ 1
cứu hệ thống điều khiển mờ ở Nhật, năm 1980 hãng Smith Co. bắt đầu nghiên cứu
điều khiển mờ cho lò hơi…Những năm đầu thập kỷ 90 cho đến nay hệ thống điều
khiển mờ và mạng nơ-ron ( Fuzzy system and neural network ) được các nhà khoa
học, các kỹ sư và sinh viên trong mọi lĩnh vực khoa học kỹ thuật đặc biệt quan tâm
và ứng dụng trong sản xuất và đời sống . Tập mời và logic mờ đã dựa trên các
thong tin “ không đầy đủ, về đối tượng để điều khiển đầy đủ về đối tượng một
cách chính xác.
Các công ty của Nhật bắt đầu dung logic mờ vào kỹ thuật điều khiển từ năm
1980 nhưng do các phần cứng chuẩn tính toán theo giải thuật logic mờ rất kém nên
hầu hết các ứng dụng đều dùng các phần cứng chuyên về logic mờ. Một trong
những ứng dụng dùng logic mờ đầu tiên tại đây là nhà máy xử lý nước của Fuji
Electric vào năm 1983, hệ thống xe điện ngầm Hitachi vào năm 1987.
1.2.1. Các khái niệm cơ bản của logic mờ
Định nghĩa tập mờ
Lý thuyết tập mờ là một phương pháp luận linh hoạt, mềm dẻo trong môi
trường thông tin phức tạp, dữ kiện không chắc chắn, thiếu chính xác và biến động,
kết hợp với sự trợ giúp của các chuyên gia để đưa ra được kết quả có độ chính xác
cao nhất và tốc độ nhanh nhất [1], [2]. Lý thuyết tập mờ là sự mở rộng của lý
thuyết tập hợp kinh điển bằng cách chuyển miền giá trị của hàm thuộc từ {0,1}
thành đoạn đơn vị [0,1].
Trong tập hợp kinh điển, một tập ( rõ) là một tập hợp các đối tượng riêng
biệt. Nó được định nghĩa theo cách chia đôi các phần tử của một không gian nền
cho trước thành hai nhóm: thuộc hay không thuộc. Từ đó, một tập hợp rõ có thể
20
c nh ngha thụng qua hm c trng ca tp ú nh sau: Gi U l khụng gian
nn, hm c trng mA ( x ) ca mt tp rừ A trờn U c nh ngha nh sau:
A = { x ẻ U x thoả mãn một số tính chất nào đó}
thỡ c gi l cú tp nn U , hay c nh ngha trờn tp nn U . Vớ d tp
A = { x ẻ Ơ 9 < x < 12}
cú tp nn l tp cỏc s t nhiờn Ơ .
21
Hàm thuộc
mA ( x )
định nghĩa trên tập A , trong khái niệm kinh điển chỉ có
hai giá trị là 1 nếu x Î A hoặc 0 nếu x Ï A . Hình 1.1 mô tả hàm thuộc của hàm
mA ( x ) , trong đó tập A
được định nghĩa như sau:
A = { x Î ¡ 2 < x < 6}
Cách biểu diễn hàm phụ thuộc như vậy không phù hợp với những tập được
mô tả “mờ” như tập B gồm các số thực dương nhỏ hơn nhiều so với 6
B = { x Î ¡ x = 6} ,
có tập nền là ¡ , hoặc tập C gồm các số thực gần bằng 3 cũng có tập nền ¡
C = { x Î ¡ x » 3}
Tập B , C như vậy được gọi là các tập mờ.
Lý do là với những định nghĩa “mờ” như vậy chưa đủ để xác định được một
Ánh xạ mA được gọi là hàm thuộc (hàm phụ thuộc hay hàm thành viên ) của
tập mờ F . Tập kinh điển U được gọi là tập nền (hay tập vũ trụ) của tập mờ F .
Ví dụ một tập mờ F của các số tự nhiên nhỏ hơn 6 với hàm phụ thuộc
mF ( x ) có dạng như hình 1.2a định nghĩa trên nền U sẽ chứa các phần tử sau:
F = { ( 1, 1) ,( 2, 1) ,( 3, 0,8) , ( 4, 0,07) } .
Số tự nhiên 1 và 2 có độ phụ thuộc
mF ( 1) = mF ( 2) = 1 ,
các số tự nhiên 3 và 4 có độ phụ thuộc nhỏ hơn 1
mF ( 3) = 0,8 và mF ( 4) = 0,07 ,
23
Những số tự nhiên không được liệt kê đều có độ phụ thuộc bằng 0.
1.2.3. Cơ sở toán học của logic mờ
Logic mờ và xác suất thống kê đều nói về sự không chắc chắn. Tuy nhiên
mỗi lĩnh vực định nghĩa một khái niệm khác nhau về đối tượng
Trong xác suất thống kê sự không chắc chắn liên quan đến sự xuất hiện của
một sự kiện chắc chắn nào đó
Ví dụ : xác suất viên đạn trúng đích là 0
Bản thân sự kiện “ trúng đích” đã được định nghĩa rõ ràng, sự không chắc
chắn ở đây là có trúng đích hay không và được định lượng bởi độ xác suất ( trong
trường hợp này là 0,8). Loại phát biểu này có thể được xử lý và kết hợp với các
phát biểu khác bằng phương pháp thống kê như là xác suất có điều kiện chẳng
hạn.
Sự không chắc chắn trong từ ngữ liên quan đến ngôn ngữ của con người đó là
sự không chính xác trong các từ ngữ mà con người dùng để ước lượng vấn đề và