Tải bản đầy đủ

Đề thi tham khảo môn trí tuệ nhân tạo Chương trình Thạc sĩ KTĐ (1)

ĐỀ THI CAO HỌC
MÔN: TRÍ TUỆ NHÂN TẠO

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN

------------------------

Giảng viên: PGS. TS. TRẦN VĂN CHÍNH
Học viên:

CAO MINH LỘC

Lớp:

CH Mạng và Hệ Thống Điện 2007 – 2010

Bài 1. Giải bài toán phân loại đơn giản trên hình sau. Tìm trọng số và độ dốc tạo nên các
biên quyết định.


p8

p2

p7

p1

p6

p5

p3

p4

Bài 2. Cho các mẫu sau:

[

]

[

]

[

-

Mẫu [p1] và [p2] có trực giao không ?

-

Dùng quy tắc Hebb để tạo mạng giải bài toán này.

-

Thử sự làm việc của mạng với mẫu thử [pt].


]

----------------------------------------------


Bài làm
Bài 1. Giải bài toán phân loại đơn giản trên hình sau. Tìm trọng số và độ dốc tạo nên
các biên quyết định.

p8

p2

p7

p1

p6

p5

p3

p4

 Qui ước:
Hình tròn trắng tương ứng với đầu ra đích bằng 0
Hình tròn đen tương ứng với đầu ra đích bằng 1.
Từ hình vẽ ta có các tham số vào ra như sau:
{[p1] = [0 0]T; t1 = 1};

{[p2] = [2 2]T; t2 = 1};

{[p3] = [2 0]T; t3 = 1};

{[p4] = [2 -2]T; t4 = 1};

{[p5] = [0 -2]T; t5 = 1};

{[p6] = [-2 -2]T; t6 = 1};

{[p7] = [–2 0]T; t7 = 1};

{[p8] = [-2 2]T; t8 = 0};

Đặt vec tơ trọng số là [W]=[w1,1 w1,2] và độ dốc là b.
Để phân loại được các đầu vào thì véc tơ trọng số [W] = [w1,1 w1,2] phải thỏa mãn :
 Khi đưa [p] vào mạng, nếu đầu ra t = 1 thì ta có điều kiện :
[W][p] + b > 0
 Nếu đầu ra t = 0 thì ta có điều kiện :
[W][p] + b < 0
1. Đưa [p1] vào mạng:

[W].[p1]T + b > 0

=> b > 0

(1)

2. Đưa [p2] vào mạng:

[W].[p2]T + b > 0

=> 2.w1,1 + 2.w1,2 + b > 0

(2)

3. Đưa [p3] vào mạng:

[W].[p3]T + b > 0

=> 2.w1,1 + b > 0

(3)

4. Đưa [p4] vào mạng:

[W].[p4]T + b > 0

=> 2.w1,1 – 2.w1,2 + b > 0

(4)

5. Đưa [p5] vào mạng:

[W].[p5]T + b > 0

=> –2.w1,2 + b > 0

(5)


6. Đưa [p6] vào mạng:

[W].[p6]T + b ≥ 0

=> –2.w1,1 –2.w1,2 + b > 0

(6)

7. Đưa [p7] vào mạng:

[W].[p7]T + b ≥ 0

=> –2.w1,1 + b > 0

(7)

8. Đưa [p8] vào mạng:

[W].[p8]T + b < 0

=> –2.w1,1 + 2.w1,2 + b < 0

(8)

Do đó vec tơ trọng số [W]=[w1,1 w1,2] và độ dốc b phải thỏa mãn hệ bất phương trình sau :
b>0

(1)

2.w1,1 + 2.w1,2 + b > 0

(2)

2.w1,1

(3)

+b>0

2.w1,1 – 2.w1,2 + b > 0
–2.w1,2

(4)

+b>0

(5)

–2.w1,1 –2.w1,2 + b > 0
–2.w1,1

(6)

+b>0

(7)

–2.w1,1 + 2.w1,2 + b < 0

(8)

Phương trình (3) và (7) chỉ liên quan đến w1,1 :
Phương trình (5) chỉ liên quan đến w1,2 :
& Phương trình (1) chỉ liên quan đến b :

2.w1,1 + b > 0

(3)

–2.w1,1 + b > 0

(7)

–2.w1,2 + b > 0

(5)

b>0

(1)

 Như vậy ta có hình vẽ miền chọn trọng số và độ dốc b như sau:

w1,1

w1,2
(7)

(7)

b

b

(3)
(1)
(a): Miền cho phép chọn w1,1 và b

(1)
(b): Miền cho phép chọn w1,2 và b

[ Ghi chú: Trọng số và độ dốc nằm trong miền tô đậm (màu xanh như hình vẽ).]


Từ hình (a) ta chọn 1 cặp giá trị (b,w 1,1) nằm trong vùng cho phép, giả sử chọn w1,1 = 1, b = 3
nằm trong miền cho phép.
Như vậy để chọn w1,2 sao cho w1,2 và b nằm trong miền cho phép trên hình (b) đồng thời phải
thỏa mãn các bất phương trình còn lại (2), (4), (6), (8) như sau:
Từ bất phương trình (2 ): 2.w1,1 + 2.w1,2 + b > 0 => w1,2 > - 0,5.(2w1,1 + b) = - 0,5.(2 + 3) = - 2,5
Từ bất phương trình (4 ): 2.w1,1 - 2.w1,2 + b > 0 => w1,2 < 0,5.(2w1,1 + b) = 0,5.(2 + 3) = 2,5
Từ bất phương trình (6): - 2.w1,1 – 2.w1,2 + b ≥ 0 => w1,2 ≤ 0,5.(- 2w1,1 + b) = 0,5.(-2 + 3) = 0,5
Từ bất phương trình (8 ): - 2.w1,1 + 2.w1,2 + b < 0 => w1,2 < 0,5.(2w1,1 - b) = 0,5.(2 - 3) = - 0,5

=>

- 2,5 < w1,2 < -0,5

Nên ta chọn w1,2 = – 1 nằm trong miền cho phép trên hình (b).
Vậy trọng số và độ dốc là: [W] = [1 – 1] , b = 3

------------------------------------*Ngoài cách trên , ta có thể giải câu 1 theo cách sau:
P8

Đường biên quyết định

P2
P7

P1
P3

P6

P5

Véctơ trọng số W
P4

Quy ước: - Dùng hàm truyền hardlim ở đầu ra.
- Đầu ra là 0 ứng với hình tròn trắng.
- Đầu ra là 1 ứng với hình tròn đen.
• Ta vẽ đường biên quyết định phân chia thành hai miền như trong hình vẽ (màu đỏ).
• Trọng số W và độ dốc b:
Theo hình vẽ ta có: [W]=[1 -1]
Với 1 điểm bất kỳ trên đường biên quyết định, ta chọn P = [-1; 2] ta có:
[W].[p] + b = 0 => b = - [W][p] = - [1 -1]. [-1; 2] =-(1*(-1)+(-1)*2)= 3


Kiểm tra (dùng Matlab: sử dụng hàm hardlim), ta có:

Tại p1 = [0 0]T: a = hardlim ([W][p1] + b)= 1
Tương tự như vậy dùng Matlab sử dụng hàm hardlim tính ra được tại p 2, p3, p4, p5, p6, p7 có
a=1 & tại p8 có a = 0.
Vậy các đầu ra đều đáp ứng giá trị mong muốn => [W]=[1 -1] & b= 3.


------------------------------------Bài 2. Cho các mẫu sau:

[

]

[

[

]

]

a. Mẫu [p1] và [p2] có trực giao không ?
Trước hết ta cần biến đổi mẫu thành véctơ.Ta gán cho ô có tô màu trị số là 1 và ô không tô
màu trị số là -1. Sau đó ta tạo thành véctơ vào bằng cách quét các cột. Các vectơ sẽ lần lượt sẽ là:
[p1] = [-1 -1 1 1] T

[p2] =[1 1 -1 1] T

[pt] = [-1 1 -1 1] T

Kiểm tra:

1
1
T
[ p1 ] [ p2 ] = [ − 1 − 1 1 1] ×   = −1 ×1 − 1 ×1 − 1 ×1 + 1 ×1 = −2
− 1
 
1
Như vậy 2 mẫu [p1] và [p2] không trực giao.
b. Dùng quy tắc Hebb để tạo mạng giải bài toán.
Mạng ta dùng có dạng như sau:

[p
]

[n
[W] ]

1
4 4×

1
4[W ] = [T][P] với:
Để tìm [W] ta dùng quy tắc Hebb:
h

T

[a]
4


1


−1 1 

−1 1 


[P]= [T] =
 1 −1



1 1 
−1 1 
2 − 2 0
2



−1 1  −1 −1 1 1  2
2 − 2 0

T
h
[W ] =[T][P] = 
=
1 −1 
 1 1 −1 1  − 2 − 2 2 0




0
0 2

0
1 1 

(*)

c. Thử sự làm việc của mạng với mẫu thử [pt].
Ta đưa [pt] = [-1 1 -1 1]T vào mạng:
 Kết quả với ma trận [Wh] tính theo Hebb:
2 − 2 0
2
2
2 − 2 0
h

[ah] = hardlims([W ].[pt]) = hardlims(
*[-1 1 -1 1] ) = [1 1 -1 1] (**)
− 2 − 2 2 0


0
0 2
0
Nhìn vào 2 dạng mẫu thử p1=[-1 -1 1 1]T & p2=[1 1 -1 1]T ta nhận thấy: mẫu thử [pt] có
khoảng cách Hamming tới [p1] là 2 và tới [p2] là 1 nên mạng nhận dạng mẫu thử như là
[p2],như vậy đáp ứng này đúng.
 Kết quả với ma trận [Wp] tính theo quy tắc giả nghịch đảo:
[Pseu] = ([p]T[p])-1[p]T
0,3333 − 0,3333
0 
 0,3333
 0,3333
0,3333 − 0,3333
0 

[Wp] = [T][Pseu] =
− 0,3333 − 0,3333 0,3333
0 


0
0
1,0000
 0
[ap]=hardlims([Wp].[pt]) = [1 1 -1 1] =>Đáp ứng này trùng với [p2] , mạng làm việc đúng.
[Ghi chú: Do các vectơ có kích thước lớn nên ta dùng Matlab để tính như sau:
clc
p1 = [-1 -1

1

1]';

p2 = [ 1

1 -1

1]';

pt = [-1

1 -1

1]';

p = [p1 p2];
wh = p*p'


ah = (hardlims(wh*pt))' (dùng quy tắc hebb)
pseu = inv(p'*p)*p';
wp = p*pseu
ap = (hardlims(wp*pt))' (dùng quy tắc giả nghịch đảo) ]



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×