Tải bản đầy đủ (.pdf) (68 trang)

Bài giảng Học máy: Các phương pháp học có giám sát (P5) - Nguyễn Nhật Quang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (770.16 KB, 68 trang )

Học Máy
(IT 4862)

Nguyễn
ễ Nhật
hậ Quang


Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ thông tin và truyền thông
Năm học 2011-2012


Nội dung
d
môn
ô học:
h
„

Giới thiệu chung
g

„

Đánh giá hiệu năng hệ thống học máy

„

Các phương pháp học dựa trên xác suất


„

Các phương pháp học có giám sát
„

Học mạng nơron nhân tạo (Artificial neural network)

„

Các phương pháp học không giám sát

„

L cộng
Lọc
ộ tác


„

Học tăng cường
Học Máy – IT 4862

2


Mạng nơ-ron nhân tạo – Giới thiệu (1)
„

Mạng nơ-ron nhân tạo (Artificial neural network – ANN)

‰
‰

„

„

Mô phỏng các hệ thống nơ-ron sinh học (các bộ não con người)
ANN là một cấu trúc (structure/network) được tạo nên bởi một số
lượng các nơ-ron (artificial neurons) liên kết với nhau

Mỗi nơ-ron
‰

Có một đặc tính vào/ra

‰

Th hiệ
Thực
hiện một
ột tính
tí h tốn
t á cục bộ ((một
ột hàm
hà 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
Học Máy – IT 4862

3


Mạng nơ-ron nhân tạo – Giới thiệu (2)
„

ANN có thể được xem như một cấu trúc xử lý thông tin một
cách p
phân tán và song
g song
g ở mức cao

„

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ứ năng
Chức
ă (hà
(hàm mục tiê
tiêu)) của
ủ một
ột ANN đ
được xác
á đị
định
h bởi
‰

Kiến trúc (topology) của mạng nơ-ron

‰

Đặc tính vào/ra của mỗi nơ
nơ-ron
ron

‰

Chiến lược học (huấn luyện)

‰


Dữ liệu
ệ học

Học Máy – IT 4862

4


ANN – Các ứng dụng điển hình (1)
„

Xử lý ảnh và Computer vision
‰

„

Xử lý tín hiệu
‰

„

Ví dụ:
d Phâ
Phân tí
tích
h tí
tín hiệu
hiệ và
à hì
hình

h thái đị
địa chấn,
hấ động
độ đất

Nhận dạng mẫu
‰

„

Ví dụ: So khớp,
khớp tiền xử lý,
lý phân đoạn và phân tích ảnh,
ảnh computer vision,
vision
nén ảnh, xử lý và hiểu các ảnh thay đổi theo thời gian

Ví dụ: Trích chọn thuộc tính, phân loại và phân tích tín hiệu ra-đa,
ra đa, nhận
dạng và hiểu giọng nói, nhận dạng dấu vân tay, nhận dạng ký tự (chữ
hoặc số), nhận dạng mặt người, và phân tích chữ viết tay

Y tế
‰

Ví dụ: Phân tích và hiểu tín hiệu điện tim, chẩn đốn các loại bệnh, và xử
lý các ảnh trong lĩnh vực y tế

Học Máy – IT 4862


5


ANN – Các ứng dụng điển hình (2)
„

Các hệ thống quân sự
‰

„

Các hệ thống tài chính
‰

„

Ví dụ: Cài đặt song song các bài tốn thỏa mãn ràng buộc, tìm lời giải
cho
h bài toán
t á người
ời đưa
đ

hàng,
điề khiển
điều
khiể và
à khoa
kh học
h nghiên

hiê cứu
ứ về

người máy (robotics)

Các hệ thống năng lượng
‰

„

Ví dụ: Phân tích thị trường chứng khốn, đánh giá giá trị bất động sản,
kiểm tra truy cập thẻ tín dụng,
dụng kinh doanh cổ phiếu

Lập kế hoạch, điều khiển, và tìm kiếm
‰

„

Ví dụ: Phát hiện thủy lơi,
lơi phân loại nhiễu ra
ra-đa
đa

Ví dụ: Đánh giá trạng thái hệ thống, phát hiện và khắc phục sự cố, dự
đốn tải (khối lượng) cơng việc, và đánh giá mức độ an toàn

...(và
( à nhiều
ều lĩnh vực

ực bà
bài toá
toán khác!)
ác )
Học Máy – IT 4862

6


Cấu trúc và hoạt động của một nơ-ron
„

Các tín hiệu đầu vào (input
signals) của nơ-ron (xi,
i=1 m)
i=1..m)
‰

„

„

„

„

Mỗi tín hiệu đầu vào xi gắn
với một trọng số wi

Trọng

ọ g số điều chỉnh ((bias))
w0 (với x0=1)
Đầu vào tổng thể (Net
input) là một hàm tích hợp
của
ủ các
á tí
tín hiệu
hiệ đầu
đầ vào
à –
Net(w,x)

x0=1
x1
x2

xm

Hàm tác động/truyền
(Activation/transfer
function) tính giá trị đầu ra
của nơ-ron – f(Net(w,x))

w0
w1
w2

Σ


wm

Các tín
hiệu đầu
vào của
nơ-ron
Giá trị đầu ra (Output) của
( )
(x)
nơ-ron: Out=f(Net(w,x))
Học Máy – IT 4862

Giá trị
đầ ra
đầu
của
nơ-ron
(Out)

Đầu vào
tổng thể
(Net)

Hàm tác
động
(truyền)
((f))
7



Đầu vào tổngg thể và dịch chuyển
y
„

Đầu vào tổng thể (net input) thường được tính tốn bởi một
hàm tuyến tính
m

m

i =1

i =0

Net = w0 + w1 x1 + w2 x2 + ... + wm xm = w0 .1 + ∑ wi xi = ∑ wi xi
„

Ý nghĩa của tín hiệu dịch chuyển (bias) w0

→ Họ các hàm phân tách Net=w
N t 1x1 khơng thể phân tách đ
được
ợc các
ví dụ thành 2 lớp (two classes)
→ Nhưng: họ các hàm Net=w1x1+w0 có thể!
Net
Net = w1x1

Net


Net = w1x1 + w0
x1
Học Máy – IT 4862

x1
8


Hàm tác động: Giới hạn cứng (Hard-limiter)
„

Còn được gọi là hàm ngưỡng
(threshold function)

„

Giá trị đầu
ầ ra lấy
ấ một trong 2 giá trị

„

θ là giá trị ngưỡng

„

⎧1, nêu Net ≥ θ
Out ( Net ) = hl1( Net , θ ) = ⎨
0 nêu nguoc lai
⎩0,


Nhược
ợ điểm: không
g liên tục,
ụ , đạo

hàm không liên tục

Out ( Net ) = hl 2( Net , θ ) = sign( Net , θ )

Out

Binary
hard-limiter

Bipolar
hard-limiter

1

θ

0

Out
1

Net

θ


0

Net

-1
Học Máy – IT 4862

9


Hàm tác động: Logic ngưỡng (Threshold logic)

⎪ 0, if
Net < −θ
⎪⎪
1
Out ( Net ) = tl ( Net , α , θ ) = ⎨α ( Net + θ ),
) if − θ ≤ Net ≤ − θ
α

1
⎪ 1, if
Net > − θ
⎪⎩
α

O t
Out


= max(0, min(1, α ( Net + θ )))
„

„

„

„

Cịn được gọi là hàm tuyến tính
bã hị
bão
hịa ((saturating
t ti linear
li
ffunction)
ti )
Kết hợp của 2 hàm tác động:
tuyến tính và giới hạn chặt
α xác định độ dốc
ố của khoảng
tuyến tính

((α >0))

1


0


(1/α)-θ

Net

1/α

Nhược điểm: Liên tục – nhưng
đ hàm
đạo
hà khơ
khơng liên
liê ttục
Học Máy – IT 4862

10


Hàm tác động:
g Xích-ma ((Sigmoidal)
g
)
Out ( Net ) = sf ( Net , α , θ ) =
„Được

dùng phổ biến nhất

„Tham

số α xác định độ dốc


1
1 + e −α ( Net +θ )

„Giá

trị đầu ra trong khoảng (0,1)

„Ưu

điểm

‰
‰

Out
1
0.5

Liên tục, và đạo hàm liên tục
Đạo hàm
Đ
hà của
ủ một
ột hàm
hà xích-ma
í h
được biểu diễn bằng một hàm
của chính nó

Học Máy – IT 4862


-θ 0

Net

11


Hàm tác động: Hyperbolic tangent
1 − e −α ( Net +θ )
2
Out ( Net ) = tanh(( Net , α , θ ) =
=
−1
−α ( Net +θ )
−α ( Net +θ )
1+ e
1+ e
„

Cũng hay được sử dụng

„

Tham số α xác định độ dốc

„

Giá trị đầu ra trong khoảng (-1,1)


„

Ưu điểm
‰
‰

Liên tục, và đạo hàm liên tục
Đạo hàm của một hàm tanh có thể
được biểu diễn bằng một hàm của
chính nó

Học Máy – IT 4862

Out

1



0

Net

-1

12


ANN – Kiến trúc mạng (1)
„ Kiến


Số lượng các tín hiệu đầu vào và đầu ra
‰ Số lượng các tầng
‰ Số lượng các nơ-ron trong mỗi tầng
‰ Số lượng các trọng số (các liên kết) đối
với mỗi
ỗ nơ-ron
‰ Cách thức các nơ-ron (trong một tầng,
hoặc giữa các tầng) liên kết với nhau
‰ Những
Nhữ nơ-ron nào
à nhận
hậ các
á tí
tín hiệu
hiệ
điều chỉnh lỗi
‰

„ Một

bias

trúc của một ANN được x/đ bởi:

ANN phải có

Một tầng
ầ đầu
ầ vào (input layer)

‰ Một tầng đầu ra (output layer)
‰ Không, một, hoặc nhiều tầng ẩn (hidden
l
layer(s))
( ))
‰

Học Máy – IT 4862

input
p
hidden
layer
output
layer
output
p
Ví dụ: Một ANN với một tầng ẩn
• Đầu vào: 3 tín hiệu
• Đầu ra: 2 giá trị
• Tổng cộng, có 6 neurons
- 4 ở tầng ẩn
- 2 ở tầng đầu ra
13


ANN – Kiến trúc mạngg (2)
( )
„


Một tầng (layer) chứa một nhóm các nơ-ron

„

Tầng ẩn (hidden layer) là một tầng nằm ở giữa tầng đầu
vào (input layer) và tầng đầu ra (output layer)

„

Các nút

út ở tầng
tầ ẩn
ẩ (hidden
(hidd nodes)
d ) khơng
khơ tương
t
tá trực
tác
t
tiếp với mơi trường bên ngồi (của mạng nơ-ron)

„

Một ANN được gọi là liên kết đầy đủ (fully connected)
nếu mọi đầu ra từ một tầng liên kết với mọi nơ-ron của
tầng kế tiếp

Học Máy – IT 4862


14


ANN – Kiến trúc mạngg (3)
( )
„

Một ANN được gọi là mạng lan truyền tiến (feedforward network) nếu khơng có bất kỳ đầu ra của một
nút là đầu vào của một nút khác thuộc cùng tầng (hoặc
thuộc một tầng phía trước)

„

Khi các đầu ra của một nút liên kết ngược lại làm các đầu
vào của một nút thuộc cùng tầng (hoặc thuộc một tầng
phía trước),
trước) thì đó là một mạng phản hồi (feedback
network)
‰

„

Nếu phản hồi là liên kết đầu vào đối với các nút thuộc cùng tầng,
thì đó là phản hồi bên (lateral feedback)

Các mạng phản hồi có các vịng lặp kín (closed loops)
được gọi là các mạng hồi quy (recurrent networks)
Học Máy – IT 4862


15


Kiến trúc mạngg – Ví dụ
Mạng lan
truyền tiến
một tầng


Một nơ-ron với
phản hồi đến
p
chính nó
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

Học Máy – IT 4862

16



ANN – Các quy tắc học
„

2 kiểu học trong các mạng nơ-ron nhân tạo
‰

‰

Học tham số (Parameter learning)
→ Mục tiêu là thay đổi thích nghi các trọng số (weights) của các
liên kết trong mạng nơ-ron
Học cấu trúc (Structure learning)
→ Mục tiêu là thay đổi thích nghi cấu trúc mạng, bao gồm số
lượng các nơ-ron và các kiểu liên kết giữa chú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ố

Học Máy – IT 4862

17


Quyy tắc học trọngg số tổngg quát
Q
q
„ Tại

bước học (t), mức độ điều
chỉnh vec
vec-tơ
tơ trọng số w tỷ lệ
thuận với tích của tín hiệu học r(t)
và đầu vào x(t)
Δw(t) ~ r(t).x(t)
Δw(t) = η.r(t).x(t)
trong đó η (>0) là tốc độ học
(learning rate)

„ Tín

hiệu học r là một hàm của w,
x, và giá trị đầu ra mong muốn d
r = g(w,x,d)

„ Quy


tắc học trọng số tổng quát
Δw(t) = η.g(w(t),x(t),d(t)).x(t)
Học Máy – IT 4862

x0= 1
x1
x

...

xj
...

xm

w0
a neuron

w1
wj
wm

Out

Δw
x
η

Learning

signal
generator

d

Lưu ý: xj có thể là:
• một tín hiệu đầu vào, hoặc
• một giá trị đầu ra của một nơron khác

18


Perceptron
„

„

Một perceptron là một kiểu
giản nhất của ANNs
đơn g
(chỉ gồm duy nhất một nơron)
Sử dụng hàm tác động
giới hạn chặt

⎛ m


Out = sign( Net ( w, x) ) = sign⎜ ∑ w j x j ⎟⎟
⎝ j =0


„

x0=11
x1
x2

xm

w0
w1
w2

Σ

Out

wm

Đối với một
ộ ví dụ
ụ x,, giá
g trịị
đầu ra của perceptron là
‰

1, nếu Net(w,x)>0

‰

-1,

1 nếu
ế ngược lại
l i
Học Máy – IT 4862

19


Perceptron
p
– Minh họa
Mặt phẳng phân tách
x1

w0+w1x1+w2x2=0

Đầu ra = 1

Đầu ra = -1
1
x2

Học Máy – IT 4862

20


Perceptron
p
– Giải thuật học

„

Với một tập các ví dụ học D= {(x,d)}
x là vectơ đầu vào
‰ d là giá trị đầu ra mong muốn (-1 hoặc 1)
‰

„

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
1
hoặc 1) cho mỗi ví dụ học

„

Với một
ộ ví dụ
ụ học
ọ x được
ợ p
perceptron
p
p
phân lớp
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)
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 thayy đổi sao cho giá
g trị Net(w,x)
(
)g
giảm đi
Học Máy – IT 4862

21


Perceptron
p
_incremental(D,
( , η)
Initialize w (wi ← an initial (small) random value)
do
for each training instance (x,d)∈D
Compute the real output value Out
if (Out≠d)
w ← w + η(d-Out)x
end for
until all the training instances in D are correctly classified
return w


Học Máy – IT 4862

22


Perceptron
p
_batch(D,
( , η)
Initialize w (wi ← an initial (small) random value)
do
∆w ← 0
for each training instance (x,d)∈D
Compute the real output value Out
if (Out≠d)
∆w ← ∆w + η(d-Out)x
η(d Out)x
end for
w ← w + ∆w
until all the training instances in D are correctly classified
return w
Học Máy – IT 4862

23


Perceptron
p
– Giới hạn

„

Giải thuật học cho perceptron được chứng
minh là hội tụ (converge) nếu:
‰

‰

Các ví dụ học là có thể phân tách tuyến
tính (linearly separable)
Sử dụng một tốc độ học η đủ nhỏ

„

Giải thuật học perceptron có thể khơng hội
tụ nếu như các ví dụ học khơng thể phân
tách tuyến tính (not linearly separable)

„

Khi đó, áp dụng quy tắc delta (delta rule)
‰

‰

Một
ộ perceptron
p
p
khơng

g
thể phân lớp chính xác
đối với tập học này!

Đảm bảo hội tụ về một xấp xỉ phù hợp
nhất của hàm mục tiêu
Quy tắc delta sử dụng chiến lược
gradient descent để tìm trong khơng gian
giả thiết (các vectơ trọng số) một vectơ
trọng số
ố phù hợp nhất
ấ với các ví dụ học
Học Máy – IT 4862

24


Hàm đánh ggiá lỗi ((Error function))
„

Xét một ANN có n nơ-ron đầu ra

„

Đối với
ới một
ột víí dụ
d học
h (x,d),
( d) giá

iá ttrịị lỗi học
h (training
(t i i error))
gây ra bởi vectơ trọng số (hiện tại) w:
2

n

1
Ex (w ) = ∑ (d i − Outi )
2 i =1
„

Lỗi học
h gây
â ra bởi vectơ
t trọng
t
số
ố (hiệ
(hiện tại)
t i) w đối với
ới
toàn bộ tập học D:

1
ED (w ) =
D

∑ E (w )


x∈D

x

Học Máy – IT 4862

25


×