Môn: Trí tuệ nhân tạo Chương trình Thạc sĩ Kỹ thuật điện.Giáo viên: TS.Trần Văn Chính Trường Đại học Bách khoa Đà NẵngKhảo sát không gian số phức X có cơ sở là (1 + j) và (1 j). Gọi phép biến đổi tuyến tính A là phép nhân với (1 + j), nghĩa là A(x) = (1 + j)x. Tìm ma trận biến đổi liên quan với tập hợp cơ sở trên.
Trang 1ĐẠI HỌC ĐÀ NẴNG ĐỀ THI CAO HỌC
TRƯỜNG ĐẠI HỌC BÁCH KHOA MÔN: TRÍ TUỆ NHÂN TẠO 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
p3
p5 p6
p1
p4 p7
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]
Trang 2
- -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.
p3
p5 p6
p1
p4 p7
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)
Trang 36 Đư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 :
2.w1,1 + 2.w1,2 + b > 0 (2)
2.w1,1 – 2.w1,2 + b > 0 (4)
–2.w1,1 –2.w1,2 + b > 0 (6) –2.w1,1 + 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 : 2.w1,1 + b > 0 (3)
–2.w1,1 + b > 0 (7) Phương trình (5) chỉ liên quan đến w1,2 : –2.w1,2 + b > 0 (5)
& Phương trình (1) chỉ liên quan đến b : b > 0 (1)
Như vậy ta có hình vẽ miền chọn trọng số và độ dốc b như sau:
(3)
(1) (1)
(a): Miền cho phép chọn w1,1 và b (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,w1,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
Trang 4P 1 Đường biên quyết định
Véctơ trọng số W
P 2
P 3
P 4
P 5
P 6
P 7
P 8
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:
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 p 1 = [0 0] T : a = hardlim ([W][p 1 ] + 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 , p 3 , p 4 , p 5 , p 6 , p 7 có a=1 & tại p 8 có a = 0.
Vậy các đầu ra đều đáp ứng giá trị mong muốn => [W]=[1 -1] & b= 3.
Trang 5
-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 1
1 1 1 1 1
2
p
p T
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:
Để tìm [W] ta dùng quy tắc Hebb: [Wh] = [T][P]T với:
[P]= [T] =
1 1 1 1
1 1 1 1
[W]
[p]
44
41
41 4
Trang 6[Wh] =[T][P]T =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
=
2 0 0 0
0 2 2 2
0 2 2 2
0 2 2 2
(*)
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:
[ah] = hardlims([Wh].[pt]) = hardlims(
2 0 0 0
0 2 2 2
0 2 2 2
0 2 2 2
*[-1 1 -1 1] ) = [1 1 -1 1] (**)
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
[Wp] = [T][Pseu] =
0000 , 1 0
0 0
0 3333
, 0 3333 , 0 3333 , 0
0 3333 , 0 3333 , 0 3333 , 0
0 3333 , 0 3333 , 0 3333 , 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) ]