Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

CHƯƠNG 3

MẠNG THẦN KINH

www.hcmute.edu.vn
PHẦN 2

MẠNG TRUYỀN THẲNG MỘT LỚP

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.1 Bài toán


2.2 Mạng truyền thẳng một lớp

2.2.1 Mạng perceptron

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.1 Bài toán

Trong dây chuyền sản xuất gạch men người ta thu thập số liệu để phát
hiện các sản phẩm bị lỗi với bảng dữ liệu như sau:

www.hcmute.edu.vn
Biên độ tín hiệu Biên độ tín hiệu Chất lượng viên gạch
475 hz 555 hz
0,958 0,003 Đạt
1,043 0,001 Đạt
1,907 0,003 Đạt
0,78 0,002 Đạt
0,579 0,001 Đạt
0,003 0,105 Không đạt
0,001 1,748 Không đạt
0,014 1,839 Không đạt
0,007 1,021 Không đạt
0,004 0,214 Không đạt
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:

Cấu trúc mạng


w11
x1 y1

xj yi

xm w yn
nm

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

• Hàm tổng hợp: tuyến tính


m
net i   w ij x j (i  1, n)
j1

• Hàm kích hoạt: hàm nấc

1 khi net i  0
y i  step(net i )   (i  1, n)
0 khi net i  0
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

Bài toán:

 Cho K maãu döõ lieäu vaøo – ra nhö sau:


 {(x(1), d(1); (x(2), d(2);…;(x(K), d(K))}
Trong ñoù: x = [x1, x2, …, xm]T laø veùctô tín hieäu vaøo
d=[d1, d2, …, dn]T laø veùctô ngoõ ra mong muoán cuûa maïng.
m laø soá ngoõ vaøo; n laø soá ngoõ ra.
Hãy huấn luyện mạng perceptron học bài toán trên.

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Nguyên tắc học tổng quát: nguyên tắc học sửa sai (Error Correction Learning
Rules)
Tín hiệu học: sai số giữa ngõ ra mong muốn và ngõ ra thực tế của mạng

w ij (k 1)  w ij (k )  w ij (k )
w ij (k )  [d i (k )  y i (k )]x j (k )

𝑑𝑖 𝑘 − 𝑦𝑖 (𝑘) là tín hiệu học của mạng perceptron

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Thuật toán học perceptron
Bước 1: Chọn tốc độ học  > 0.

Böôùc 2: Khôûi ñoäng:


- Gaùn sai soá E = 0
- Gaùn bieán chaïy k = 1
- Gaùn caùc veùc tô troïng soá baèng giaù trò ngaãu nhieân nhoû baát kyø

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:

Böôùc 3: Quaù trình huaán luyeän baét ñaàu, tính:


m
net i   w ij x j (i  1, n)
j1

1 khi net i  0
y i  step(net i )   (i  1, n)
0 khi net i  0

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:

Bước 4: Cập nhật vec tơ trọng số

w ij (k 1)  w ij (k )  w ij (k )
w ij (k )  [d i (k )  y i (k )]x j (k )
Bước 5: Tính sai số tích lũy
n
1
E  E   ( d i  yi ) 2

2 i 1
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:

Bước 6: - Nếu k < K thì gán k = k+1 và quay lại Bước 3.


- Nếu k = K thì tiếp tục Bước 7

Bước 7: Kết thúc một chu kỳ huấn luyện (epoch)


- Nếu E = 0 thì kết thúc quá trình học.
- Nếu E  0 thì gán E = 0, k = 1 và trở lại Bước 3 bắt đầu 1
chu kỳ huấn luyện mới (trọng số bắt đầu tại mẫu 1 của chu kỳ mới chính
là trọng số cuối cùng được cập nhật của chu kỳ trước đó)

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Ví dụ 1: Huấn luyện mạng Perceptron học bài toán phân loại sau

x1 x2 d  x1 or x 2 Cho  = 1
0 0 1
Các trọng số ban đầu được thiết
0 1 0 lập theo công thức
1 0 1
𝑖+𝑗
1 1 1 𝑤𝑖𝑗 = (−1)𝑖+𝑗
10

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Giải:

Cấu trúc mạng x0=-1


𝒘𝟏𝟎

𝒘𝟏𝟏
x1 0 y
𝒘𝟏𝟐
x2

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Khởi động

 = 1, E=0, k=1 (biến chạy), K=4 (tổng số mẫu)

𝑤10 1 −0.1
Trọng số ban đầu: 𝑤 1 = 𝑤11 1 = 0.2
𝑤12 1 −0.3

Quá trình huấn luyện bắt đầu

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
𝑥0 1 −1
Mẫu 1: 𝑥 1 = 𝑥1 1 = 0 , d(1)=1
𝑥2 1 0

𝑛𝑒𝑡1 = 𝑤 1 𝑇 𝑥 1 =0.1
𝑦(1) = 𝑠𝑡𝑒𝑝(𝑛𝑒𝑡1 ) = 1
Cập nhật
−0.1 −1 −0.1
w 2 = 𝑤 1 + 𝜂 𝑑 1 − 𝑦(1) 𝑥(1) = 0.2 +1(1-1) 0 = 0.2
−0.3 0 −0.3
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Sai số tích lũy:

𝐸 = 𝐸 + 0.5[𝑑 1 − 𝑦 1 ]2 = 0
𝑥0 2 −1
Mẫu 2: 𝑥 2 = 𝑥1 2 = 0 , d(2)=0
𝑥2 2 1
𝑇
−0.1 −1
𝑛𝑒𝑡1 = 𝑤 2 𝑇 𝑥 2 = 0.2 0 = −0.2 𝑦(2) = 𝑠𝑡𝑒𝑝(𝑛𝑒𝑡1 ) = 0
−0.3 1
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Cập nhật
w 3 =𝑤 2 +𝜂 𝑑 2 −𝑦 2 𝑥 2 =𝑤 2 =

Làm tiếp tục: đến hết chu kỳ (mẫu 4) và huấn luyện đến khi E=0 thì dừng

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Mạng học thành công với cấu trúc mạng như sau

x1
1,2

-0,1 y
-0,3
x2
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron x1
1,2
Net=1,2x1-0,3x2+0.1
-0,1 y
y=1 nếu net>0 -0,3
y=0 nếu net<=0
x2

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Lập trình Matlab

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
Khả phân tuyến tính:
S: tập hợp mẫu vec tơ vào
Xét mạng 1 nơ ron S0: tập hợp mẫu vec tơ vào khi d=0

S1: tập hợp mẫu vec tơ vào khi d=1

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

một đường thẳng (mạng có 2 tín hiệu vào)


Nếu tồn tại một mặt phẳng (mạng có 3 tín hiệu vào)

một siêu phẳng (mạng có nhiều hơn 3 tín hiệu vào)

Phân chia không gian vec tơ vào thành 2 miền riêng biệt: bài toán được gọi
là khả phân tuyến tính

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

Với mạng nhiều nơ ron: được gọi là khả phân tuyến tính nếu bài toán khả
phân tuyến tính với từng nơ ron trong mạng
x2
Ví dụ: xét bài toán XOR
x1 x2 d
0 0 0 x1
0 1 1
1 0 1
1 1 0 Bài toán không khả phân tuyến tính
www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

Ví dụ: xét bài toán 𝑑 = 𝑥1 𝑜𝑟 𝑥2


x2
x1 x2 d
0 0 1
0 1 0
x1
1 0 1
1 1 1

Bài toán khả phân tuyến tính

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron
• Với mạng perceptron có 2 ngõ vào ta có:
1 𝑛ế𝑢 𝑥1 𝑤1 + 𝑥2 𝑤2 − 𝜃 > 0
𝑓 𝑥1 𝑤1 + 𝑥2 𝑤2 − 𝜃 =
0 𝑛ế𝑢 𝑥1 𝑤1 + 𝑥2 𝑤2 − 𝜃 ≤ 0

Đường thẳng phân chia hai mặt phẳng là: 𝑥1 𝑤1 + 𝑥2 𝑤2 − 𝜃 = 0

• Tổng quát với mạng có m ngõ vào ta có mặt phẳng hoặc siêu mặt phẳng phân
chia 2 miền S0 và S1:

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

Trường hợp hội tụ Trường hợp không hội tụ

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

Định lý hội tụ perceptron: nếu bài toán là khả phân tuyến tính thì thuật
toán học perceptron sẽ lặp lại một số hữu hạn lần

Ứng dụng: bài toán phân loại đơn giản

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron

Ví dụ: dây chuyền phân loại chuối và táo

www.hcmute.edu.vn
Phần 2: Mạng truyền thẳng một lớp

2.2 Mạng truyền thẳng một lớp:


2.2.1 Mạng perceptron Hình dạng: 1 tròn; -1 elip
Độ nhám : 1 bóng; -1 nhám
• Vector ngõ vào: Khối lượng: 1 Khối lượng>20g;
-1 khối lượng <20g

• Ta xét hai vector mẫu và ngõ ra tương ứng:

Chuối Táo

www.hcmute.edu.vn

You might also like