Professional Documents
Culture Documents
L8-Mang Noron Nhan Tao
L8-Mang Noron Nhan Tao
Phân lớp
Mạng nơron nhân tạo (Artificial neural network)
Phân cụm
Phát hiện luật kết hợp
◼ Mỗi nơ-ron
❑ Có một đặc tính vào/ra
❑ Thực hiện một tính toán cục bộ (một hàm cục bộ)
◼ Giá trị đầu ra của một nơ-ron được xác định bởi
❑ Đặc tính vào/ra của nó
❑ Các liên kết của nó với các nơ-ron khác
❑ (Có thể) các đầu vào bổ sung
◼ ANN có khả năng học (learn), nhớ lại (recall), và khái quát hóa
(generalize) từ các dữ liệu học –bằng cách gán và điều chỉnh
(thích nghi) các giá trị trọng số (mức độ quan trọng) của các
liên kết giữa các nơ-ron
◼ Chức năng (hàm mục tiêu) của một ANN được xác định bởi
❑ Kiến trúc (topology) của mạng nơ-ron
❑ Đặc tính vào/ra của mỗi nơ-ron
❑ Chiến lược học (huấn luyện)
❑ Dữ liệu học
◼ Y tế
❑ Ví dụ: Phân tích và hiểu tín hiệu điện tim, chẩn đoán các loại bệnh, và xử
lý các ảnh trong lĩnh vực y tế
◼ Năng lượng
❑ Ví dụ: Đánh giá trạng thái hệ thống, phát hiện và khắc phục sự cố, dự
đoán tải (khối lượng) công việc, và đánh giá mức độ an toàn
◼ Quân sự
❑ Ví dụ: Phát hiện thủy lôi, phân loại nhiễu ra-đa
Net = w1x1 + w0
x1 x1
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 9
Hàm tác động: Giới hạn cứng (Hard-limiter)
◼ Còn được gọi là hàm ngưỡng
1, nêu Net
(threshold function) Out ( Net ) = hl1( Net , ) =
◼ Giá trị đầu ra lấy một trong 2 giá trị 0, nêu nguoc lai
Binary
Out
Bipolar
Out
hard-limiter
hard-limiter
1
1
0 Net 0 Net
-1
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 10
Hàm tác động: Logic ngưỡng (Threshold logic)
0, if Net −
1
Out ( Net ) = tl ( Net , , ) = ( Net + ), if − Net −
1, if 1
Net −
(α >0)
= max(0, min(1, ( Net + ))) Out
1
Out ( Net ) = sf ( Net , , ) =
1 + e − ( Net + )
1 − e − ( Net + ) 2
Out ( Net ) = tanh(Net , , ) = − ( Net + )
= − ( Net + )
−1
1+ e 1+ e
Mạng hồi
quy một
tầng
Mạng lan
truyền tiến
nhiều tầng
Mạng hồi
quy nhiều
tầng
◼ 2 kiểu học này có thể được thực hiện đồng thời hoặc
riêng rẽ
◼ Phần lớn các quy tắc học trong ANN thuộc kiểu học tham
số
◼ Trong bài học này, chúng ta sẽ chỉ xét việc học tham số
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 19
Quy tắc học trọng số tổng quát
◼ Tạibước học (t), mức độ điều
chỉnh vec-tơ trọng số w tỷ lệ x0= 1
w0
thuận với tích của tín hiệu học r(t) x1 w1 a neuron
và đầu vào x(t) Out
x ... wj
w(t) ~ r(t).x(t) xj w
w(t) = .g(w(t),x(t),d(t)).x(t)
x1 w0+w1x1+w2x2=0
Đầu ra = 1
Đầu ra = -1
x2
◼ Quá trình học của perceptron nhằm xác định một vectơ trọng
số cho phép perceptron sinh ra giá trị đầu ra chính xác (-1
hoặc 1) cho mỗi ví dụ học
◼ Với một ví dụ học x được perceptron phân lớp chính xác, thì
vectơ trọng số w không thay đổi
◼ Nếu d=1 nhưng perceptron lại sinh ra -1 (Out=-1), thì w cần
được thay đổi sao cho giá trị Net(w,x) tăng lên
◼ Nếu d=-1 nhưng perceptron lại sinh ra 1 (Out=1), thì w cần
được thay đổi sao cho giá trị Net(w,x) giảm đi
Ex (w ) = (d i − Outi )
1
2 i =1
◼ Lỗi học gây ra bởi vectơ trọng số (hiện tại) w đối với
toàn bộ tập học D:
1
ED (w ) =
D
E (w )
xD
x
◼ Gradient E xác định hướng gây ra việc tăng nhanh nhất (steepest
increase) đối với giá trị lỗi E
E E E
E (w ) = , ,...,
w1 w2 wN
trong đó N là tổng số các trọng số (các liên kết) trong mạng
◼ Vectơ các giá trị đầu ra Outi (i=1..n) chính là giá trị đầu ra
thực tế của mạng, đối với vectơ đầu vào x
◼ Để xét các tín hiệu lỗi và việc lan truyền ngược của
chúng, cần định nghĩa một hàm đánh giá lỗi
1 n 1 n
E (w) = (d i − Outi ) = d i − f (Neti )
2 2
2 i =1 2 i =1
2
1 n l
= d i − f wiqOut q
2 i =1 q =1
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 37
Giải thuật BP – Lan truyền ngược (2)
◼ Theo phương pháp gradient-descent, các trọng số của các liên
kết từ tầng ẩn tới tầng đầu ra được cập nhật bởi
E
wiq = −
wiq
◼ Sử dụng quy tắc chuỗi đạo hàm đối với E/wiq, ta có
E Outi Neti
wiq = −
= d i − Outi f ' (Neti ) Outq = i Outq
Outi Neti wiq
(Lưu ý: dấu “–” đã được kết hợp với giá trị E/Outi)
◼ i là tín hiệu lỗi (error signal) của nơ-ron yi ở tầng đầu ra
E E Outi
i = − = − = d i − Outi f ' (Neti )
Neti Outi Neti
trong đó Neti là đầu vào tổng thể (net input) của nơ-ron yi ở tầng
đầu ra, và f'(Neti)=f(Neti)/Neti
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 38
Giải thuật BP – Lan truyền ngược (3)
◼ Để cập nhật các trọng số của các liên kết từ tầng đầu
vào tới tầng ẩn, chúng ta cũng áp dụng phương pháp
gradient-descent và quy tắc chuỗi đạo hàm
E E Outq Net q
wqj = − = −
wqj Out q
Net q
wqj
◼ Từ công thức tính hàm lỗi E(w), ta thấy rằng mỗi thành
phần lỗi (di-yi) (i=1..n) là một hàm của Outq
2
1 n l
E (w ) = d i − f wiq Out q
2 i =1 q =1
wqj = (d i − Outi ) f ' ( Neti ) wiq f ' (Net q ) x j
n
i =1
= i wiq f ' (Net q ) x j = q x j
n
i =1
trong đó Netq là đầu vào tổng thể (net input) của nơ-ron zq ở tầng
ẩn, và f'(Netq)=f(Netq)/Netq
◼ Dạng tổng quát của quy tắc cập nhật trọng số trong giải
thuật BP là:
wab = axb
❑ b và a là 2 chỉ số tương ứng với 2 đầu của liên kết (b→a) (từ một
nơ-ron (hoặc tín hiệu đầu vào) b đến nơ-ron a)
❑ xb là giá trị đầu ra của nơ-ron ở tầng ẩn (hoặc tín hiệu đầu vào) b,
❑ a là tín hiệu lỗi của nơ-ron a
j
Bước 5 (Kiểm tra kết thúc một chu kỳ học – epoch)
Kiểm tra xem toàn bộ tập học đã được sử dụng (đã xong một chu kỳ học – epoch)
Nếu toàn bộ tập học đã được dùng, chuyển đến Bước 6; ngược lại, chuyển đến Bước 1
Bước 6 (Kiểm tra lỗi tổng thể)
Nếu lỗi tổng thể E nhỏ hơn ngưỡng lỗi chấp nhận được (<Ethreshold), thì quá trình học kết
thúc và trả về các trọng số học được;
Ngược lại, gán lại E=0, và bắt đầu một chu kỳ học mới (quay về Bước 1)
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 44
Giải thuật BP – Lan truyền tiến (1)
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
x2 f(Net5)
f(Net3)
Out6
f(Net6)
f(Net2)
x2 f(Net5)
x1 f(Net4)
w2 x1 x1
Out6
f(Net6)
f(Net2)
w2 x2 x2
x2 f(Net5)
f(Net3)
Out2 = f ( w2 x1 x1 + w2 x2 x2 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 47
Giải thuật BP – Lan truyền tiến (4)
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
x2 w3 x1 x1 f(Net5)
w3 x2 x2 f(Net3)
Out3 = f ( w3 x1 x1 + w3 x2 x2 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 48
Giải thuật BP – Lan truyền tiến (5)
f(Net1)
w41Out1
x1 w42Out2 f(Net4)
Out6
f(Net2)
w43Out3 f(Net6)
x2 f(Net5)
f(Net3)
Out4 = f (w41Out1 + w42Out2 + w43Out3 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 49
Giải thuật BP – Lan truyền tiến (6)
f(Net1)
x1 w51Out1 f(Net4)
Out6
f(Net6)
f(Net2)
w52Out2
x2 f(Net5)
w53Out3
f(Net3)
Out5 = f ( w51Out1 + w52Out2 + w53Out3 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 50
Giải thuật BP – Lan truyền tiến (7)
f(Net1)
x1 f(Net4)
w 64Out 4
Out6
f(Net6)
f(Net2)
w65Out5
x2 f(Net5)
f(Net3)
Out6 = f ( w64Out4 + w65Out5 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 51
Giải thuật BP – Tính toán lỗi
f(Net1)
x1
6
f(Net4)
Out6
f(Net6)
f(Net2)
x2 f(Net5)
d is the desired
output value
f(Net3) E Out6
E
6 = − = − = d − Out6 f ' (Net6 )
Net6 Out6 Net6
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 52
Giải thuật BP – Lan truyền ngược (1)
f(Net1)
4
x1 f(Net4)
w64 6
Out6
f(Net6)
f(Net2)
x2 f(Net5)
f(Net3)
δ4 = f ' (Net4 )(w64δ6 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 53
Giải thuật BP – Lan truyền ngược (2)
f(Net1)
x1 f(Net4)
6
Out6
f(Net6)
5
f(Net2)
w65
x2 f(Net5)
f(Net3)
δ5 = f '(Net5 )(w65δ6 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 54
Giải thuật BP – Lan truyền ngược (3)
1
f(Net1)
w41 4
x1 w51 f(Net4)
Out6
f(Net6)
5
f(Net2)
x2 f(Net5)
4
f(Net1)
x1 w42 f(Net4)
2
Out6
f(Net6)
5
f(Net2) w52
x2 f(Net5)
f(Net3)
δ2 = f '(Net2 )(w42δ4 + w52δ5 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 56
Giải thuật BP – Lan truyền ngược (5)
4
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2) w43
5
x2 w53 f(Net5)
3
f(Net3)
δ3 = f '(Net3 )(w43δ4 + w53δ5 )
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 57
Giải thuật BP – Cập nhật trọng số (1)
1
w1x1 f(Net1)
x1 w1x2 f(Net4)
Out6
f(Net6)
f(Net2)
x2 f(Net5)
w1x1 = w1x1 + 1 x1
f(Net3)
w1x2 = w1x2 + 1 x2
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 58
Giải thuật BP – Cập nhật trọng số (2)
f(Net1)
x1 f(Net4)
w2 x1 2 Out6
f(Net6)
f(Net2)
w2 x2
x2 f(Net5)
w2 x1 = w2 x1 + 2 x1
f(Net3)
w2 x2 = w2 x2 + 2 x2
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 59
Giải thuật BP – Cập nhật trọng số (3)
f(Net1)
x1 f(Net4)
Out6
f(Net6)
f(Net2)
x2 w3x1
3
f(Net5)
w3x2 w3 x1 = w3 x1 + 3 x1
f(Net3)
w3 x2 = w3 x2 + 3 x2
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 60
Giải thuật BP – Cập nhật trọng số (4)
f(Net1)
w41 4
x1 w42 f(Net4)
Out6
w43 f(Net6)
f(Net2)
x2 f(Net5)
x1 f(Net4)
Out6
f(Net6)
5
f(Net2)
w 51
w52
x2 f(Net5)
x1 f(Net4)
w64 6
Out6
f(Net6)
f(Net2)
w65
x2 f(Net5)
f(Net3)
w64 = w64 + ηδ6Out 4
w65 = w65 + ηδ6Out5
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 63
BP: Khởi tạo giá trị của các trọng số
◼ Thông thường, các trọng số được khởi tạo với các giá trị nhỏ
ngẫu nhiên
◼ Nếu các trọng số có các giá trị ban đầu lớn
❑ Các hàm xích-ma (sigmoid functions) sẽ đạt trạng thái bão hòa sớm
❑ Hệ thống sẽ tắc ở một điểm cực tiểu cục bộ (local minimum) hoặc ở
một trạng thái không đổi (very flat plateau) gần điểm bắt đầu
◼ Các gợi ý cho w0ab (liên kết từ nơ-ron b tới nơ-ron a)
❑ Ký hiệu na là số lượng các nơ-ron ở cùng tầng với nơ-ron a
w0ab [−1/na, 1/na]
❑ Ký hiệu ka là số lượng các nơ-ron có liên kết (tiến) đến nơ-ron a
(=số lượng các liên kết đầu vào của nơ-ron a)
w0 ab [ − 3 / k a ,3 / k a ]
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 64
BP: Tốc độ học (Learning rate)
◼ Ảnh hưởng quan trọng đến hiệu quả và khả năng hội tụ của giải thuật học
BP
❑ Một giá trị lớn có thể đẩy nhanh sự hội tụ của quá trình học, nhưng có
thể làm cho hệ thống bỏ qua điểm tối ưu toàn cục hoặc rơi vào điểm tối
ưu cục bộ
❑ Một giá trị nhỏ có thể làm cho quá trình học kéo dài rất lâu
◼ Thường được chọn theo thực nghiệm (experimentally) đối với mỗi bài toán
◼ Các giá trị tốt của tốc độ học ở lúc bắt đầu (quá trình học) có thể không tốt ở
một thời điểm sau đấy
❑ Nên sử dụng một tốc độ học thích nghi (động)
◼ Sau khi cập nhật các trọng số, kiểm tra xem việc cập nhật các trọng số có
giúp làm giảm giá trị lỗi
a , if E < 0 consistently
= (a, b > 0)
-b , if E > 0
0 , otherwise.
Nhập môn Học máy và Khai phá dữ liệu –
Introduction to Machine learning and Data mining 65
BP: Momentum
◼ Phương pháp Gradient descent có
thể rất chậm nếu nhỏ, và có thể w(t’)
-E(t’+1)