You are on page 1of 82

AI

Bài 6 (tiếp):

CÔNG NGHỆ
TRÍ TUỆ NHÂN TẠO - HỌC MÁY
HỌC MÁY (Machine learning)

1. Học máy …?

2. Nguyên liệu của ML

3. Các phương pháp học máy

2
HỌC MÁY (Machine learning)

Học máy

Học máy hay còn được biết đến với cái tên Machine Learning là
một nhánh nhỏ của ngành trí tuệ nhân tạo (AI) và khoa học máy
tính. Nó tập trung vào việc xử lý data và thuật toán để bắt chước
cách mà con người học. Từ đó cải thiện độ chính xác của các dự
đoán mà nó đưa ra.

3
HỌC MÁY (Machine learning)

Nguyên liệu của ML:


Dữ liệu (data): Bạn muốn phát hiện spam? Hãy thu thập các
tin nhắn spam trong thực tế.
Bạn muốn dự đoán giá cổ phiếu? Hãy thu thập lịch sử giá.
Bạn muốn biết người dùng thích gì? Hãy phân tích hành vi
của họ trên Facebook .
Dữ liệu càng đa dạng, kết quả càng chính xác
❑Thu thập dữ liệu:
o Thu thập thủ công
o Thu thập tự động

4
HỌC MÁY (Machine learning)

Nguyên liệu của ML:


các đặc trưng (features): còn được biết đến với tên gọi là tham
số (parameters) hoặc các biến (variables)
Các đặc trưng có thể kể đến như túi tiền của người ăn với bài
toán đi chợ cho bữa lẩu, hay giới tính với bài toán phân tích
sở thích người dung,…
Nếu đầu vào là bức ảnh? Chúng ta không thể coi mỗi pixel
ảnh là một đặc trưng được…..

5
HỌC MÁY (Machine learning)

Nguyên liệu của ML:


Thuật toán (algorithm): Mỗi bài toán đều có cách giải riêng
của nó. Phương pháp bạn chọn sẽ ảnh hưởng đến độ chính
xác (precision) , độ hiệu quả (performance), và quy mô
của mô hình cuối (final model) ->đã “học” được để giải
quyết bài toán đó

6
HỌC MÁY (Machine learning)

Một số khái niệm:


– Trí tuệ nhân tạo (Artificial Intelligence): là tên gọi của cả một lĩnh vực
nghiên cứu khoa học, tương tự như sinh học hay hoá học,...
– Học máy (Machine Learning): là một phần của trí tuệ nhân tạo. Một
phần quan trọng, nhưng không phải tất cả.
– Mạng neuron (Neural Networks – NN): là một trong những nhóm
thuật toán học máy.
– Học sâu (Deep Learning- DL): một phương pháp hiện đại để xây dựng,
huấn luyện và ứng dụng các mạng neuron. Cơ bản là, nó là một kiểu kiến
trúc mới.
(Thực tế là không ai tách riêng deep learning với các kiểu network truyền
thống)
7
HỌC MÁY (Machine learning)

Một số khái niệm:


Mối quan hệ của AI – ML – NN - DL

8
HỌC MÁY (Machine learning)

Một số khái niệm:


Bốn hướng chính để giải một bài toán sử dụng học máy:

9
HỌC MÁY (Machine learning)

Một số khái niệm: (Bốn hướng chính …)


Classical ML (học máy cổ điển): sử dụng các thuật toán học máy truyền
thống, rất hiệu quả với những bài toán có dữ liệu đơn giản và các feature
rõ rang
Reinforcement learning (Học củng cố – RL): dùng cho những bài toán
mà bạn không có dữ liệu đầu vào, nhưng bạn có một môi trường để thoải
mái khám phá
Ensemble learning (mô hình học máy kết hợp): Mô hình này dung khi
so sánh nhiều mô hình trên 1 bài toán cụ thể, với cùng một tập dữ liệu đầu
vào, để chọn ra mô hình cho độ chính xác cao nhất
neural networks và deep learning: Sử dụng mô hình này khi bài toán có
dữ liệu đầu vào phức tạp (ví dụ như với 100 Gb ảnh, mỗi tấm có độ phân
10

giải hàng ngàn pixel), những đặc trưng không rõ ràng


HỌC MÁY (Machine learning)

11
HỌC MÁY (Machine learning)

◼ Các định nghĩa về Học máy (Machine learning)


→ Một quá trình nhờ đó một hệ thống cải thiện hiệu suất (hiệu quả hoạt
động) của nó [Simon, 1983]
→ Một quá trình mà một chương trình máy tính cải thiện hiệu suất của
nó trong một công việc thông qua kinh nghiệm [Mitchell, 1997]
→ Việc lập trình các máy tính để tối ưu hóa một tiêu chí hiệu suất dựa
trên các dữ liệu ví dụ hoặc kinh nghiệm trong quá khứ [Alpaydin,
2004]

◼ Biểu diễn một bài toán học máy [Mitchell, 1997]


Học máy = Cải thiện hiệu quả một công việc thông qua kinh nghiệm
• Một công việc (nhiệm vụ) T
• Đối với các tiêu chí đánh giá hiệu suất P
• Thông qua (sử dụng) kinh nghiệm E
12
HỌC MÁY (Machine learning)

Các ví dụ của bài toán học máy (1)


Bài toán lọc các trang Web theo sở
thích của một người dùng
◼ T: Dự đoán (để lọc) xem những trang
Web nào mà một người dùng cụ thể
thích đọc
Interested?
◼ P: Tỷ lệ (%) các trang Web được dự
đoán đúng
◼ E: Một tập các trang Web mà người
dùng đã chỉ định là thích đọc và một tập
các trang Web mà anh ta đã chỉ định là
không thích đọc

13
HỌC MÁY (Machine learning)

Các ví dụ của bài toán học máy (2)


Bài toán phân loại các trang Web theo các chủ đề
◼ T: Phân loại các trang Web theo các chủ đề đã định trước
◼ P: Tỷ lệ (%) các trang Web được phân loại chính xác
◼ E: Một tập các trang Web, trong đó mỗi trang Web gắn với một
chủ đề

Which
cat.?

14
HỌC MÁY (Machine learning)

Các ví dụ của bài toán học máy (3)


Bài toán nhận dạng chữ
viết tay
◼ T: Nhận dạng và phân loại các
từ trong các ảnh chữ viết tay
◼ P: Tỷ lệ (%) các từ được nhận Which word?
dạng và phân loại đúng
◼ E: Một tập các ảnh chữ viết
tay, trong đó mỗi ảnh được gắn we do in the right way
với một định danh của một từ

15
HỌC MÁY (Machine learning)

Các ví dụ của bài toán học máy (4)


Bài toán robot lái xe tự động
◼ T: Robot (được trang bị các
camera quan sát) lái xe tự động
trên đường cao tốc
◼ P: Khoảng cách trung bình mà Which steering
robot có thể lái xe tự động command?
trước khi xảy ra lỗi (tai nạn)
Go Move Move Slow Speed
◼ E: Một tập các ví dụ được ghi straight left right down up
lại khi quan sát một người lái xe
trên đường cao tốc, trong đó
mỗi ví dụ gồm một chuỗi các
ảnh và các lệnh điều khiển xe

16
HỌC MÁY (Machine learning)

Quá trình học máy


Tập học
(Training set)

Huấn luyện
Tập dữ liệu
hệ thống
(Dataset)

Tập tối ưu
(Validation set)
Tối ưu hóa
các tham số
của hệ thống

Tập thử nghiệm


(Test set)
Thử nghiệm
hệ thống
đã học

17
HỌC MÁY (Machine learning)

Học có vs. không có giám sát


◼ Học có giám sát (supervised learning)
 Mỗi ví dụ học gồm 2 phần: mô tả (biểu diễn) của ví dụ học, và
nhãn lớp (hoặc giá trị đầu ra mong muốn) của ví dụ học đó
 Bài toán học phân lớp (classification problem)
D_train = {(<Biểu_diễn_của_x>, <Nhãn_lớp_của_x>)}
 Bài toán học dự đoán/hồi quy (prediction/regression problem)
D_train = {(<Biểu_diễn_của_x>, <Giá_trị_đầu_ra_của_x>)}

◼ Học không có giám sát (unsupervised learning)


 Mỗi ví dụ học chỉ chứa mô tả (biểu diễn) của ví dụ học đó - mà
không có bất kỳ thông tin nào về nhãn lớp hay giá trị đầu ra mong
muốn của ví dụ học đó
 Bài toán học phân cụm (Clustering problem)
Tập học D_train = {(<Biểu_diễn_của_x>)}

18
HỌC MÁY (Machine learning)

Bài toán học máy–Các thành phần chính (1)


◼ Lựa chọn các ví dụ học (training/learning examples)
• Các thông tin hướng dẫn quá trình học (training
feedback) được chứa ngay trong các ví dụ học, hay là
được cung cấp gián tiếp (vd: từ môi trường hoạt động)
• Các ví dụ học theo kiểu có giám sát (supervised) hay
không có giám sát (unsupervised)
• Các ví dụ học phải tương thích với (đại diện cho) các ví
dụ sẽ được sử dụng bởi hệ thống trong tương lai (future
test examples)

◼ Xác định hàm mục tiêu (giả thiết, khái niệm) cần học
• F: X → {0,1}
• F: X → {Một tập các nhãn lớp}
• F: X → R+ (miền các giá tri số thực dương)
19
• …
HỌC MÁY (Machine learning)

Bài toán học máy–Các thành phần chính (2)

◼ Lựa chọn cách biểu diễn cho hàm mục tiêu cần học
• Hàm đa thức (a polynomial function)
• Một tập các luật (a set of rules)
• Một cây quyết định (a decision tree)
• Một mạng nơ-ron nhân tạo (an artificial neural network)
• …
◼ Lựa chọn một giải thuật học máy có thể học (xấp xỉ)
được hàm mục tiêu
• Phương pháp học hồi quy (Regression-based)
• Phương pháp học quy nạp luật (Rule induction)
• Phương pháp học cây quyết định (ID3 hoặc C4.5)
• Phương pháp học lan truyền ngược (Back-propagation)
• … 20
HỌC MÁY (Machine learning)

Các vấn đề trong Học máy (1)


◼ Giải thuật học máy (Learning algorithm)
• Những giải thuật học máy nào có thể học (xấp xỉ) một hàm
mục tiêu cần học?

• Với những điều kiện nào, một giải thuật học máy đã chọn
sẽ hội tụ (tiệm cận) hàm mục tiêu cần học?

• Đối với một lĩnh vực bài toán cụ thể và đối với một cách
biểu diễn các ví dụ (đối tượng) cụ thể, giải thuật học máy
nào thực hiện tốt nhất?

21
HỌC MÁY (Machine learning)

Các vấn đề trong Học máy (2)


◼ Các ví dụ học (Training examples)
• Bao nhiêu ví dụ học là đủ?

• Kích thước của tập học (tập huấn luyện) ảnh hưởng thế
nào đối với độ chính xác của hàm mục tiêu học được?

• Các ví dụ lỗi (nhiễu) và/hoặc các ví dụ thiếu giá trị thuộc


tính (missing-value) ảnh hưởng thế nào đối với độ chính
xác?

22
HỌC MÁY (Machine learning)

Các vấn đề trong Học máy (3)


◼ Quá trình học (Learning process)
• Chiến lược tối ưu cho việc lựa chọn thứ tự sử dụng (khai
thác) các ví dụ học?

• Các chiến lược lựa chọn này làm thay đổi mức độ phức
tạp của bài toán học máy như thế nào?

• Các tri thức cụ thể của bài toán (ngoài các ví dụ học) có
thể đóng góp thế nào đối với quá trình học?

23
HỌC MÁY (Machine learning)
Các vấn đề trong Học máy (4)
◼ Khả năng/giới hạn học (Learning capability)
• Hàm mục tiêu nào mà hệ thống cần học?
 Biểu diễn hàm mục tiêu: Khả năng biểu diễn (vd: hàm tuyến
tính / hàm phi tuyến) vs. Độ phưc tạp của giải thuật và quá
trình học
• Các giới hạn (trên lý thuyết) đối với khả năng học của các giải thuật
học máy?
• Khả năng khái quát hóa (generalize) của hệ thống từ các ví dụ học?
 Để tránh vấn đề “over-fitting” (đạt độ chính xác cao trên
tập học, nhưng đạt độ chính xác thấp trên tập thử
nghiệm)
• Khả năng hệ thống tự động thay đổi (thích nghi) biểu diễn (cấu trúc)
bên trong của nó?
 Để cải thiện khả năng (của hệ thống đối với việc) biểu diễn
và học hàm mục tiêu
24
HỌC MÁY (Machine learning)
Vấn đề over-fitting (1)
◼ Một hàm mục tiêu (một giả thiết) học được h sẽ được gọi
là quá khớp/quá phù hợp (over-fit) với một tập học nếu
tồn tại một hàm mục tiêu khác h’ sao cho:
• h’ kém phù hợp hơn (đạt độ chính xác kém hơn) h đối
với tập học, nhưng
• h’ đạt độ chính xác cao hơn h đối với toàn bộ tập dữ
liệu (bao gồm cả những ví dụ được sử dụng sau quá
trình huấn luyện)

◼ Vấn đề over-fitting thường do các nguyên nhân:


• Lỗi (nhiễu) trong tập huấn luyện (do quá trình thu thập/xây
dựng tập dữ liệu)
• Số lượng các ví dụ học quá nhỏ, không đại diện cho toàn
bộ tập (phân bố) của các ví dụ của bài toán học 25
HỌC MÁY (Machine learning)

Vấn đề over-fitting (2)


◼ Giả sử gọi D là tập toàn bộ các ví dụ, và D_train là tập
các ví dụ học

◼ Giả sử gọi ErrD(h) là mức lỗi mà giả thiết h sinh ra đối


với tập D, và ErrD_train(h) là mức lỗi mà giả thiết h sinh
ra đối với tập D_train

◼ Giả thiết h quá khớp (quá phù hợp) tập học D_train
nếu tồn tại một giả thiết khác h’:
• ErrD_train(h) < ErrD_train(h’), và
• ErrD(h) > ErrD(h’)

26
HỌC MÁY (Machine learning)

Vấn đề over-fitting (3)


◼ Trong số các giả thiết (hàm mục tiêu)
học được, giả thiết (hàm mục tiêu) nào Hàm mục tiêu f(x) nào
khái quát hóa tốt nhất từ các ví dụ học? đạt độ chính xác cao
Lưu ý: Mục tiêu của học máy là để nhất đối với các ví dụ
đạt được độ chính xác cao trong sau này?
dự đoán đối với các ví dụ sau này, f(x)
không phải đối với các ví dụ học

◼ Occam’s razor: Ưu tiên chọn hàm


mục tiêu đơn giản nhất phù hợp (không
nhất thiết hoàn hảo) với các ví dụ học
→ Khái quát hóa tốt hơn
→ Dễ giải thích/diễn giải hơn
x
→ Độ phức tạp tính toán ít hơn

27
HỌC MÁY (Machine learning)

Vấn đề over-fitting – Ví dụ
Tiếp tục quá trình học cây quyết định sẽ làm giảm độ chính xác đối
với tập thử nghiệm mặc dù tăng độ chính xác đối với tập học

[Mitchell, 1997]

28
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
Quan sát một ví dụ
cụ thể, nhiệm vụ
của chúng ta trong
ví dụ này là xây
dựng các quy luật
để có thể kết luận
một người như thế
nào khi đi tắm biển
thì bị cháy nắng.

29
HỌC MÁY (Machine learning)

Học bằng cách xây dựng cây quyết định


Ta gọi tính chất cháy nắng hay không cháy nắng là thuộc
tính quan tâm (thuộc tính mục tiêu). Như vậy, trong trường
hợp này, tập R của chúng ta chỉ gồm có hai phần tử {"cháy
nắng", "bình thường"}.
Còn tập P là tất cả những người được liệt kê trong bảng
dưới (8 người).
Chúng ta quan sát hiện tượng cháy nắng dựa trên 4 thuộc
tính sau :
- Chiều cao (cao, trung bình, thấp),
- Màu tóc (vàng, nâu, đỏ)
- Cân nặng (nhẹ, TB, nặng),
- Dùng kem (có, không),.
Ta gọi các thuộc tính này gọi là thuộc tính dẫn xuất.

30
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
Ý tưởng đầu tiên của phương pháp này là tìm cách phân
hoạch tập P ban đầu thành các tập Pi sao cho tất cả các
phần tử trong các tập Pi đều có chung thuộc tính mục tiêu.

Sau khi đã phân hoạch xong tập P thành tập các phân
hoạch Pi được đặc trưng bởi thuộc tính đích ri (ri ∈R), bước
tiếp theo là ứng với mỗi phân hoạch Pi ta xây dựng luật Li :
GTi -> ri trong đó các GTi là mệnh đề được hình thành bằng
cách kết hợp các thuộc tính dẫn xuất.
31
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
1. Phương pháp Đâm chồi

Bây giờ bạn hãy quan sát thuộc tính đầu tiên – màu tóc.
Nếu dựa theo màu tóc để phân chia ta sẽ có được 3 phân
hoạch khác nhau ứng với mỗi giá trị của thuộc tính màu
tóc. Cụ thể là :

Pvàng = { Sarah, Dana, Annie, Kartie }


Pnâu = { Alex, Peter, John }
Pđỏ = { Emmile }

* Những người bị cháy nắng được gạch dưới và in đậm.

32
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
1. Phương pháp Đâm chồi

Thay vì liệt kê ra như trên, ta dùng sơ đồ cây để tiện mô tả


cho các bước phân hoạch sau :

Pđỏ
Pvàng
Pnâu

33
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
1. Phương pháp Đâm chồi
Quan sát hình trên ta thấy rằng phân hoạch Pnâu và Pđỏ
thỏa mãn được điều kiện "có chung thuộc tính mục tiêu"
(Pnâu chứa toàn người không cháy nắng, Pđỏ chứa toàn
người cháy nắng).
Còn lại tập Pvàng là còn lẫn lộn người cháy năng và
không cháy nắng.
Ta sẽ tiếp tục phân hoạch tập này thành các tập con. Bây
giờ ta hãy quan sát thuộc tính chiều cao. Thuộc tính này
giúp phân hoạch tập Pvàng thành 3 tập con :
PVàng, Thấp = {Annie, Kartie},
PVàng, T.Bình= {Sarah}
và PVàng,Cao= { Dana }

34
HỌC MÁY (Machine learning)
Học bằng các xây dựng cây quyết định
1. Phương pháp Đâm chồi
Nếu nối tiếp vào cây ở hình trước ta sẽ có hình ảnh cây
phân hoạch như sau :

35
HỌC MÁY (Machine learning)
Học bằng các xây dựng cây quyết định
1. Phương pháp Đâm chồi
• Quá trình này cứ thế tiếp tục cho đến khi tất cả các nút
lá của cây không còn lẫn lộn giữa cháy nắng và không
cháy nắng nữa.
• Chúng ta cũng thấy rằng, qua mỗi bước phân hoạch cây
phân hoạch ngày càng "phình" ra. Chính vì vậy mà quá
trình này được gọi là quá trình "đâm chồi".
• Cây mà chúng ta đang xây dựng được gọi là cây định
danh.

36
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2. Phương án chọn thuộc tính phân hoạch
Vấn đề mà chúng ta gặp phải cũng tương tự như bài toán
tìm kiếm : "Đứng trước một ngã rẽ, ta cần phải đi vào
hướng nào?".
2.1. Quinlan
Quinlan quyết định thuộc tính phân hoạch bằng cách xây
dựng các vector đặc trưng cho mỗi giá trị của từng thuộc
tính dẫn xuất và thuộc tính mục tiêu. Cách tính cụ thể như
sau :

37
HỌC MÁY (Machine learning)
Học bằng các xây dựng cây quyết định
2.1. Quinlan

VA(j) = (T(j, r1), (j, r2),…., T(j, rn))

38
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan

✓ Như vậy nếu một thuộc tính A có thể nhận một


trong 5 giá trị khác nhau thì nó sẽ có 5 vector
đặc trưng.
✓ Một vector V(Aj ) được gọi là vector đơn vị nếu
nó chỉ có duy nhất một thành phần có giá trị 1
và những thành phần khác có giá trị 0.
✓ Thuộc tính được chọn để phân hoạch là thuộc
tính có nhiều vector đơn vị nhất.

39
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan (ví dụ)

40
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan
Trở lại ví dụ của chúng ta, ở trạng thái ban đầu (chưa phân hoạch)
chúng ta sẽ tính vector đặc trưng cho từng thuộc tính dẫn xuất để
tìm ra thuộc tính dùng để phân hoạch.
Đầu tiên là thuộc tính màu tóc. Thuộc tính màu tóc có 3 giá trị khác
nhau (vàng, đỏ, nâu) nên sẽ có 3 vector đặc trưng tương ứng là :
VTóc (vàng) = ( T(vàng, cháy nắng), T(vàng, không cháy
nắng) )
Số người tóc vàng là : 4
Số người tóc vàng và cháy nắng là : 2
Số người tóc vàng và không cháy nắng là : 2
Do đó :

VTóc(vàng) = (2/4 , 2/4) = (0.5, 0.5)

41
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan
Tương tự
VTóc(nâu) = (0/3, 3/3) = (0,1) (vector đơn vị)
Số người tóc nâu là : 3
Số người tóc nâu và cháy nắng là : 0
Số người tóc nâu và không cháy nắng là : 3
VTóc(đỏ) = (1/1, 0/1) = (1,0) (vector đơn vị)
Tổng số vector đơn vị của thuộc tính tóc là 2

42
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan
Các thuộc tính khác được tính tương tự, kết quả như sau :
VC.Cao(Cao) = (0/2,2/2) = (0,1)
VC.Cao(T.B) = (2/3,1/3)
VC.Cao(Thấp) = (1/3,2/3)

VC.Nặng (Nhẹ) = (1/2,1/2)


VC.Nặng (T.B) = (1/3,2/3)
VC.Nặng (Nặng) = (1/3,2/3)

VKem (Có) = (3/3,0/3) = (1,0)


VKem (Không) = (3/5,2/5)

43
HỌC MÁY (Machine learning)
Học bằng cáchxây dựng cây quyết định
2.1. Quinlan
Như vậy thuộc tính màu tóc có số vector
đơn vị nhiều nhất nên sẽ được chọn để
phân hoạch.
Sau khi phân hoạch theo màu tóc xong, chỉ
có phân hoạch theo tóc vàng (Pvàng) là
còn chứa những người cháy nắng và không
cháy nắng nên ta sẽ tiếp tục phân hoạch
tập này.
Ta sẽ thực hiện thao tác tính vector đặc
trưng tương tự đối với các thuộc tính còn
lại (chiều cao, cân nặng, dùng kem).
Trong phân hoạch Pvàng, tập dữ liệu của
chúng ta còn lại như bảng bên

44
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan
VC.Cao(Cao) = (0/1,1/1) = (0,1)
VC.Cao(T.B) = (1/1,0/1) = (1,0)
VC.Cao(Thấp) = (1/2,1/2)

VC.Nặng (Nhẹ) = (1/2,1/2)


VC.Nặng (T.B) = (1/2,1/2)
VC.Nặng (Nặng) = (0,0)

VKem (Có) = (0/2,2/2) = (0,1)


VKem (Không) = (2/2,0/2) = (1,0)

45
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.1. Quinlan
• 2 thuộc tính dùmg kem và
chiều cao đều có 2 vector
đơn vị.
• Tuy nhiên, số phân hoạch
của thuộc tính dùng kem là
ít hơn nên ta chọn phân
hoạch theo thuộc tính
dùng kem.
• Cây định danh cuối cùng
của chúng ta sẽ như sau :

46
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
2.2 Độ đo hỗn loạn
Thay vì phải xây dựng các vector đặc trưng như phương
pháp của Quinlan, ứng với mỗi thuộc tính dẫn xuất ta chỉ
cần tính ra độ đo hỗn loạn và lựa chọn thuộc tính nào có
độ đo hỗn loại là thấp nhất. Công thức tính như sau :
Trong đó :
bt là tổng số phần tử có trong phân
hoạch
bj là tổng số phần tử có thuộc tính
dẫn xuất A có giá trị j.
bri : tổng số phần tử có thuộc tính
dẫn xuất A có giá trị j và thuộc tính
mục tiêu có giá trị i.

47
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
3. Phát sinh tập luật

Nguyên tắc phát sinh tập luật từ cây định danh khá đơn giản.
Ứng với mỗi nút lá, ta chỉ việc đi từ đỉnh cho đến nút lá đó và
phát sinh ra luật tương ứng.
Cụ thể là từ cây định danh kết quả ở cuối phần.
Ta có các luật sau (xét các nút lá từ trái sang phải)

(Màu tóc vàng) và (có dùng kem) -> không cháy nắng
(Màu tóc vàng) và (không dùng kem) -> cháy nắng
(Màu tóc nâu) -> không cháy nắng
(Màu tóc đỏ) -> cháy nắng

Chúng ta hãy thực hiện bước cuối cùng là tối ưu tập luật.
48
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
Ví dụ:
Cho CSDL sau

49
HỌC MÁY (Machine learning)
Học bằng cách xây dựng cây quyết định
Ví dụ:

50
HỌC MÁY (Machine learning)
Phân lớp Naïve Bayes

◼ Là các phương pháp học phân lớp có giám sát và dựa


trên xác suất
◼ Dựa trên một mô hình (hàm) xác suất
◼ Việc phân loại dựa trên các giá trị xác suất của các khả
năng xảy ra của các giả thiết
◼ Là một trong các phương pháp học máy thường được
sử dụng trong các bài toán thực tế
◼ Dựa trên định lý Bayes (Bayes theorem)

51
HỌC MÁY (Machine learning)
Định lý Naïve Bayes

P(D | h).P(h)
P(h | D) =
P(D)
• P(h): Xác suất trước (prior probability) rằng giả thiết (phân
lớp) h là đúng
• P(D): Xác suất trước rằng tập dữ liệu D được quan sát (thu
được)
• P(D|h): Xác suất của việc quan sát được (thu được) tập dữ
liệu D, với điều kiện giả thiết h là đúng
• P(h|D): Xác suất của giả thiết h là đúng, với điều kiện tập
dữ liệu D được quan sát

52
HỌC MÁY (Machine learning)
Định lý Naïve Bayes
VD 1: Xét tập dữ liệu sau đây:
Day Outlook Temperature Humidity Wind Play Tennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes

22
HỌC MÁY (Machine learning)
Định lý Naïve Bayes
VD
◼ Tập ví dụ D. Tập các ngày mà thuộc tính Outlook có giá trị Sunny và
thuộc tính Wind có giá trị Strong
◼ Giả thiết (phân lớp) h. Anh ta chơi tennis
◼ Xác suất trước P(h). Xác suất anh ta chơi tennis (không phụ thuộc
vào các thuộc tính Outlook và Wind)
◼ Xác suất trước P(D). Xác suất của một ngày mà thuộc tính Outlook
có giá trị Sunny và thuộc tính Wind có giá trị Strong
◼ P(D|h). Xác suất của một ngày mà thuộc tính Outlook có giá trị
Sunny và Wind có giá trị Strong, với điều kiện (nếu biết rằng) anh ta
chơi tennis
◼ P(h|D). Xác suất anh ta chơi tennis, với điều kiện (nếu biết rằng)
thuộc tính Outlook có giá trị Sunny và Wind có giá trị Strong
→ Phương pháp phân lớp Naïve Bayes dựa trên xác suất có điều
kiện (posterior probability) này! 54
HỌC MÁY (Machine learning)
Cực đại hóa xác suất có điều kiện

◼ Với một tập các giả thiết (các phân lớp) có thể H, hệ thống học
sẽ tìm giả thiết có thể xảy ra nhất (the most probable
hypothesis) h(H) đối với các dữ liệu quan sát được D

◼ Giả thiết h này được gọi là giả thiết cực đại hóa xác suất có
điều kiện (maximum a posteriori – MAP)
hMAP = arg max P(h | D)
hH

P(D | h).P(h) (bởi định lý Bayes)


hMAP = arg max
hH P(D)
(P(D) là như nhau
hMAP = arg max P(D | h).P(h)
hH đối với các giả thiết h)

55
HỌC MÁY (Machine learning)

MAP – Ví dụ
◼ Tập H bao gồm 2 giả thiết (có thể)
• h1: Anh ta chơi tennis
• h2: Anh ta không chơi tennis
◼ Tính giá trị của 2 xác xuất có điều kiện: P(h1|D), P(h2|D)
◼ Giả thiết có thể nhất hMAP=h1 nếu P(h1|D) ≥ P(h2|D); ngược
lại thì hMAP=h2
◼ Bởi vì P(D)=P(D,h1)+P(D,h2) là như nhau đối với cả 2 giả
thiết h1 và h2, nên có thể bỏ qua đại lượng P(D)
◼ Vì vậy, cần tính 2 biểu thức: P(D|h1).P(h1) và
P(D|h2).P(h2), và đưa ra quyết định tương ứng
• Nếu P(D|h1).P(h1) ≥ P(D|h2).P(h2), thì kết luận là anh ta chơi tennis
• Ngược lại, thì kết luận là anh ta không chơi tennis

56
HỌC MÁY (Machine learning)

Đánh giá khả năng xảy ra cao nhất


◼ Phương pháp MAP: Với một tập các giả thiết có thể H, cần
tìm một giả thiết cực đại hóa giá trị: P(D|h).P(h)
◼ Giả sử (assumption) trong phương pháp đánh giá khả năng
xảy ra cao nhất (maximum likelihood estimation – MLE):
Tất cả các giả thiết đều có giá trị xác suất trước như nhau:
P(hi)=P(hj), hi,hjH
◼ Phương pháp MLE tìm giả thiết cực đại hóa giá trị P(D|h);
trong đó P(D|h) được gọi là khả năng xảy ra (likelihood) của
dữ liệu D đối với h
◼ Giả thiết cực đại hóa khả năng xảy ra (maximum likelihood
hypothesis)
hMLE = arg max P(D | h)
hH

57
HỌC MÁY (Machine learning)

MLE – Ví dụ
◼ Tập H bao gồm 2 giả thiết có thể
• h1: Anh ta chơi tennis
• h2: Anh ta không chơi tennis
D: Tập dữ liệu (các ngày) mà trong đó thuộc tính Outlook có giá trị Sunny
và thuộc tính Wind có giá trị Strong

◼ Tính 2 giá trị khả năng xảy ra (likelihood values) của dữ liệu D
đối với 2 giả thiết: P(D|h1) và P(D|h2)
• P(Outlook=Sunny, Wind=Strong|h1)= 1/8
• P(Outlook=Sunny, Wind=Strong|h2)= 1/4
◼ Giả thiết MLE hMLE=h1 nếu P(D|h1) ≥ P(D|h2); và ngược
lại thì hMLE=h2
→ Bởi vì P(Outlook=Sunny, Wind=Strong|h1) <
P(Outlook=Sunny, Wind=Strong|h2), hệ thống kết luận rằng:
Anh ta sẽ không chơi tennis!

58
HỌC MÁY (Machine learning)

Phân loại Naïve Bayes (1)


◼ Biểu diễn bài toán phân loại (classification problem)
• Một tập học D_train, trong đó mỗi ví dụ học x được biểu diễn là
một vectơ n chiều: (x1, x2, ..., xn)
• Một tập xác định các nhãn lớp: C={c1, c2, ..., cm}
• Với một ví dụ (mới) z, z sẽ được phân vào lớp nào?

◼ Mục tiêu: Xác định phân lớp có thể (phù hợp) nhất đối với z
cMAP = arg max P(ci | z)
ci C

cMAP = arg max P(ci | z1, z2 ,..., zn )


ci C
P(z 1 , z 2 ,..., z n | ci ).P(ci )
c MAP = arg max (bởi định lý Bayes)
ciC P(z1 , z 2 ,..., z n )

59
HỌC MÁY (Machine learning)

Phân loại Naïve Bayes (2)


◼ Để tìm được phân lớp có thể nhất đối với z…
(P(z1,z2,...,zn) là
cMAP = arg max P(z1 , z2 ,..., zn | ci ).P(ci )
ci C như nhau với các lớp)

◼ Giả sử (assumption) trong phương pháp phân loại Naïve


Bayes. Các thuộc tính là độc lập có điều kiện (conditionally
independent) đối với các lớp
n
P(z1, z2 ,..., zn | ci ) =  P(z j | ci )
j =1

◼ Phân loại Naïve Bayes tìm phân lớp có thể nhất đối với z
n
c NB = arg max P(ci ). P(z j | ci )
ci C j =1

60
HỌC MÁY (Machine learning)

Phân loại Naïve Bayes – Giải thuật


◼ Giai đoạn học (training phase), sử dụng một tập học
Đối với mỗi phân lớp có thể (mỗi nhãn lớp) ciC
• Tính giá trị xác suất trước: P(ci)
• Đối với mỗi giá trị thuộc tính xj, tính giá trị xác suất xảy ra
của giá trị thuộc tính đó đối với một phân lớp ci: P(xj|ci)

◼ Giai đoạn phân lớp (classification phase), đối với một ví dụ mới
• Đối với mỗi phân lớp ciC, tính giá trị của biểu thức:
n

P(ci ). P(x j | ci )


j =1

• Xác định phân lớp của z là lớp có thể nhất c*


n
c* = arg max P(ci ). P(x j | ci )
ci C j =1

61
HỌC MÁY (Machine learning)

Phân lớp Naïve Bayes – Ví dụ (1)


Một sinh viên trẻ với thu nhập trung bình và mức đánh giá tín
dụng bình thường sẽ mua một cái máy tính?
Rec. ID Age Income Student Credit_Rating Buy_Computer
1 Young High No Fair No
2 Young High No Excellent No
3 Medium High No Fair Yes
4 Old Medium No Fair Yes
5 Old Low Yes Fair Yes
6 Old Low Yes Excellent No
7 Medium Low Yes Excellent Yes
8 Young Medium No Fair No
9 Young Low Yes Fair Yes
10 Old Medium Yes Fair Yes
11 Young Medium Yes Excellent Yes
12 Medium Medium No Excellent Yes
13 Medium High Yes Fair Yes
14 Old Medium No Excellent No 31
HỌC MÁY (Machine learning)

Phân lớp Naïve Bayes – Ví dụ (2)


◼ Biểu diễn bài toán phân loại
• z = (Age=Young,Income=Medium,Student=Yes,Credit_Rating=Fair)
• Có 2 phân lớp có thể: c1 (“Mua máy tính”) và c2 (“Không mua máy tính”)

◼ Tính giá trị xác suất trước cho mỗi phân lớp
• P(c1) = 9/14
• P(c2) = 5/14

◼ Tính giá trị xác suất của mỗi giá trị thuộc tính đối với mỗi phân lớp
• P(Age=Young|c1) = 2/9; P(Age=Young|c2) = 3/5
• P(Income=Medium|c1) = 4/9; P(Income=Medium|c2) = 2/5
• P(Student=Yes|c1) = 6/9; P(Student=Yes|c2) = 1/5
• P(Credit_Rating=Fair|c1) = 6/9; P(Credit_Rating=Fair|c2) = 2/5

63
HỌC MÁY (Machine learning)

Phân lớp Naïve Bayes – Ví dụ (3)


◼ Tính toán xác suất có thể xảy ra (likelihood) của ví dụ z đối với mỗi
phân lớp
• Đối với phân lớp c1
P(z|c1) = P(Age=Young|c1).P(Income=Medium|c1).P(Student=Yes|c1).
P(Credit_Rating=Fair|c1) = (2/9).(4/9).(6/9).(6/9) = 0.044

• Đối với phân lớp c2


P(z|c2) = P(Age=Young|c2).P(Income=Medium|c2).P(Student=Yes|c2).
P(Credit_Rating=Fair|c2) = (3/5).(2/5).(1/5).(2/5) = 0.019

◼ Xác định phân lớp có thể nhất (the most probable class)
• Đối với phân lớp c1
P(c1).P(z|c1) = (9/14).(0.044) = 0.028

• Đối với phân lớp c2


P(c2).P(z|c2) = (5/14).(0.019) = 0.007
64

→ Kết luận: Anh ta (z) sẽ mua một máy tính!


HỌC MÁY (Machine learning)

Phân lớp Naïve Bayes – Vấn đề (1)


◼ Nếu không có ví dụ nào gắn với phân lớp ci có giá trị thuộc tính xj…
n
P(xj|ci)=0 , và vì vậy: P(c ). P(x | c ) = 0
i  j i
j =1

◼ Giải pháp: Sử dụng phương pháp Bayes để ước lượng P(xj|ci)


n(ci , x j ) + mp
P(x j | ci ) =
n(ci ) + m
• n(ci): số lượng các ví dụ học gắn với phân lớp ci
• n(ci,xj): số lượng các ví dụ học gắn với phân lớp ci có giá trị thuộc tính
xj
• p: ước lượng đối với giá trị xác suất P(xj|ci)
→ Các ước lượng đồng mức: p=1/k, với thuộc tính fj có k giá trị có thể
• m: một hệ số (trọng số)
→ Để bổ sung cho n(ci) các ví dụ thực sự được quan sát với thêm m
mẫu ví dụ với ước lượng p

65
HỌC MÁY (Machine learning)

Phân lớp Naïve Bayes – Vấn đề (2)


◼ Giới hạn về độ chính xác trong tính toán của máy tính
•P(xj|ci)<1, đối với mọi giá trị thuộc tính xj và phân lớp ci
• Vì vậy, khi số lượng các giá trị thuộc tính là rất lớn….

◼ Giải pháp: Sử dụng hàm lôgarit cho các giá trị xác suất

66
HỌC MÁY (Machine learning)

Phân loại văn bản bằng NB (1)


◼ Biểu diễn bài toán phân loại văn bản
• Tập học D_train, trong đó mỗi ví dụ học là một biểu diễn văn bản gắn với
một nhãn lớp: D = {(dk, ci)}
• Một tập các nhãn lớp xác định: C = {ci}

◼ Giai đoạn học


• Từ tập các văn bản trong D_train, trích ra tập các từ khóa
(keywords/terms): T = {tj}
• Gọi D_ci (D_train) là tập các văn bản trong D_train có nhãn lớp ci
• Đối với mỗi phân lớp ci
D _ ci
- Tính giá trị xác suất trước của phân lớp ci: P(ci ) =
D
- Đối với mỗi từ khóa tj, tính xác suất từ khóa tj xuất hiện đối với lớp ci
( d kD _ c i )
n(d k ,t j ) +1 (n(dk,tj): số lần xuất hiện của
P(t j | ci ) =
( d D _ c
k i
t T n(d k ,t m ))+ T
m
từ khóa tj trong văn bản d k)

67
HỌC MÁY (Machine learning)

Phân loại văn bản bằng NB (2)


◼ Để phân lớp cho một văn bản mới d
◼ Giai đoạn phân lớp
• Từ văn bản d, trích ra tập T_d gồm các từ khóa (keywords) tj đã
được định nghĩa trong tập T (T_d  T)
• Giả sử (assumption). Xác suất từ khóa tj xuất hiện đối với lớp
ci là độc lập đối với vị trí của từ khóa đó trong văn bản
P(tj ở vị trí k|ci) = P(tj ở vị trí m|ci), k,m
• Đối với mỗi phân lớp ci, tính giá trị likelihood của văn bản d đối
với ci
P(ci ).  P(t j | ci )
t j T _ d

• Phân lớp văn bản d thuộc vào lớp c*


c * = arg max P(ci ).  P(t j | ci )
ci C t jT _ d

68
HỌC MÁY (Machine learning)

Học dựa trên láng giềng gần nhất


◼ Một số tên gọi khác của phương pháp học dựa trên láng giềng
gần nhất (Nearest neighbor learning)
• Instance-based learning
• Lazy learning
• Memory-based learning

◼ Ý tưởng của phương pháp học dựa trên láng giềng gần nhất
• Với một tập các ví dụ học
─ (Đơn giản là) lưu lại các ví dụ học
─ Không cần xây dựng một mô hình (mô tả) rõ ràng và tổng quát
của hàm mục tiêu cần học
• Đối với một ví dụ cần phân loại/dự đoán
─ Kiểm tra (xét) quan hệ giữa ví dụ đó với các ví dụ học để gán
giá trị của hàm mục tiêu (một nhãn lớp, hoặc một giá trị thực)
69
HỌC MÁY (Machine learning)

Học dựa trên láng giềng gần nhất


◼ Biểu diễn đầu vào của bài toán
• Mỗi ví dụ x được biểu diễn là một vectơ n chiều trong không gian
các vectơ XRn
• x = (x1,x2,…,xn), trong đó xi (R) là một số thực

◼ Chúng ta xét 2 kiểu bài toán học


• Bài toán phân lớp (classification)
─ Để học một hàm mục tiêu có giá trị rời rạc (a discrete-valued target
function)
─ Đầu ra của hệ thống là một trong số các giá trị rời rạc đã xác định
trước (một trong các nhãn lớp)
• Bài toán dự đoán/hồi quy (prediction/regression)
─ Để học một hàm mục tiêu có giá trị liên tục (a continuous-valued
target function)
─ Đầu ra của hệ thống là một giá trị số thực

70
HỌC MÁY (Machine learning)

Học dựa trên láng giềng gần nhất


Lớp c1 Lớp c2
◼ Xét 1 láng giềng gần
nhất Ví dụ cần
phân lớp z
→ Gán z vào lớp c2

◼ Xét 3 láng giềng gần


nhất
→ Gán z vào lớp c1

◼ Xét 5 láng giềng gần


nhất
→ Gán z vào lớp c1

71
HỌC MÁY (Machine learning)

Phân lớp dựa trên láng giềng gần nhất


◼ Mỗi ví dụ học x được biểu diễn bởi 2 thành phần:
• Mô tả của ví dụ: x=(x1,x2,…,xn), trong đó xiR
• Nhãn lớp : c (C, với C là tập các nhãn lớp được xác định trước)

◼ Giai đoạn học


• Đơn giản là lưu lại các ví dụ học trong tập học D = {x}

◼ Giai đoạn phân lớp: Để phân lớp cho một ví dụ (mới) z


• Với mỗi ví dụ họcxD, tính khoảng cách giữa x và z
• Xác định tập NB(z) – các láng giềng gần nhất của z
→Gồm k ví dụ học trong D gần nhất với z tính theo một hàm
khoảng cách d
• Phân z vào lớp chiếm số đông (the majority class) trong số các lớp
của các ví dụ học trong NB(z)

72
HỌC MÁY (Machine learning)

Giải thuật dự đoán K láng giềng gần nhất


◼ Mỗi ví dụ học x được biểu diễn bởi 2 thành phần:
• Mô tả của ví dụ: x=(x1,x2,…,xn), trong đó xiR
• Giá trị đầu ra mong muốn: yxR (là một số thực)

◼ Giai đoạn học


• Đơn giản là lưu lại các ví dụ học trong tập học D
◼ Giai đoạn dự đoán: Để dự đoán giá trị đầu ra cho ví dụ z
• Đối với mỗi ví dụ học xD, tính khoảng cách giữa x và z
• Xác định tập NB(z) – các láng giềng gần nhất của z
→ Gồm k ví dụ học trong D gần nhất với z tính theo một hàm khoảng
cách d
• Dự đoán giá trị đầu ra đối với z:
 xNB(z) y x
1
yz =
k

73
HỌC MÁY (Machine learning)

Xét một hay nhiều láng giềng?


◼ Việc phân lớp (hay dự đoán) chỉ dựa trên duy nhất một láng
giềng gần nhất (là ví dụ học gần nhất với ví dụ cần phân
lớp/dự đoán) thường không chính xác
• Nếu ví dụ học này là một ví dụ bất thường, không điển hình (an
outlier) – rất khác so với các ví dụ khác
• Nếu ví dụ học này có nhãn lớp (phân lớp sai) – do lỗi trong quá
trình thu thập (xây dựng) tập dữ liệu

◼ Thường xét k (>1) các ví dụ học gần nhất với ví dụ cần phân
lớp, và gán ví dụ đó vào lớp chiếm số đông trong số k ví dụ
học gần nhất này
◼ k thường được chọn là một số lẻ, để tránh cân bằng về tỷ lệ
phân lớp (ties in classification)
• Ví dụ: k= 3, 5, 7,…
74
HỌC MÁY (Machine learning)

Hàm tính khoảng cách (1)


◼ Hàm tính khoảng cách d
• Đóng vai trò rất quan trọng trong phương pháp học dựa trên láng
giềng gần nhất
• Thường được xác định trước, và không thay đổi trong suốt quá
trình học và phân loại/dự đoán

◼ Lựa chọn hàm khoảng cách d


• Các hàm khoảng cách hình học: Dành cho các bài toán có các
thuộc tính đầu vào là kiểu số thực (xiR)
• Hàm khoảng cách Hamming: Dành cho các bái toán có các
thuộc tính đầu vào là kiểu nhị phân (xi{0,1})
• Hàm tính độ tương tự Cosine: Dành cho các bài toán phân lớp
văn bản (xi là giá trị trọng số TF/IDF của từ khóa thứ i)

Trí Tuệ Nhân 75


Tạo
HỌC MÁY (Machine learning)

Hàm tính khoảng cách (2)


◼ Các hàm tính khoảng cách hình học (Geometry distance
functions)
n

• Hàm Manhattan: d (x, z) =  xi − zi


i=1
n

• Hàm Euclid: d (x, z) =  (x − z ) i i


2

i=1

1/ p
n 
d (x, z) =  xi − zi 
p
• Hàm Minkowski (p-norm):
i=1 
p
1/ p
n
• Hàm Chebyshev: d (x, z) = lim  xi − zi 
p →
 i=1 
= max xi − zi
i

76
HỌC MÁY (Machine learning)

Hàm tính khoảng cách (3)


◼ Hàm khoảng cách n
d ( x, z) =  Difference ( x i , z i )
Hamming i =1

• Đối với các thuộc tính đầu 1,if (a  b)


vào là kiểu nhị phân Difference (a, b) = 
0,if (a = b)
• Ví dụ: x=(0,1,0,1,1)

n
◼ Hàm tính độ tương tự x.z x z i i

Cosine d (x, z) = = i=1


x z n n
• Đối với đầu vào là một vectơ
các giá trị trọng số (TF/IDF)
x z i
2
i
2

i=1 i=1
của các từ khóa

77
HỌC MÁY (Machine learning)

Chuẩn hóa miền giá trị thuộc tính


n
◼ Hàm tính khoảng cách Euclid: d (x, z) = (
 i i
x − z )2

i=1

◼ Giả sử mỗi ví dụ được biểu diễn bởi 3 thuộc tính: Age, Income (cho
mỗi tháng), và Height (đo theo mét)
• x = (Age=20, Income=12000, Height=1.68)
• z = (Age=40, Income=1300, Height=1.75)
◼ Khoảng cách giữa x và z
• d(x,z) = [(20-40)2 + (12000-1300)2 + (1.68-1.75)2]1/2
• Giá trị khoảng cách này bị quyết định chủ yếu bởi giá trị khoảng cách (sự
khác biệt) giữa 2 ví dụ đối với thuộc tính Income
→ Vì: Thuộc tính Income có miền giá trị rất lớn so với các thuộc tính khác
◼ Cần phải chuẩn hóa miền giá trị (đưa về cùng một khoảng giá trị)
• Khoảng giá trị [0,1] thường được sử dụng
• Đối với mỗi thuộc tính i: xi = xi/giá_trị_cực_đại_đối_với_thuộc_tính_i

78
HỌC MÁY (Machine learning)

Trọng số của các thuộc tính


Hàm khoảng cách Euclid: n

d (x, z) = (
 i i
x − z )2

i=1
• Tất cả các thuộc tính có cùng (như nhau) ảnh hưởng đối với giá trị
khoảng cách
◼ Các thuộc tính khác nhau có thể (nên) có mức độ ảnh hưởng khác
nhau đối với giá trị khoảng cách
◼ Cần phải tích hợp (đưa vào) các giá trị trọng số của các thuộc tính
trong hàm tính khoảng cách n

• wi là trọng số của thuộc tính i:


d (x, z) =  w (x − z )
i
2
i i
i=1

◼ Làm sao để xác định các giá trị trọng số của các thuộc tính?
• Dựa trên các tri thức cụ thể của bài toán (vd: được chỉ định bởi các
chuyên gia trong lĩnh vực của bài toán đang xét)
• Bằng một quá trình tối ưu hóa các giá trị trọng số (vd: sử dụng một tập
học để học một bộ các giá trị trọng số tối ưu)

79
HỌC MÁY (Machine learning)

Khoảng cách của các láng giềng (1)


◼ Xét tập NB(z) – gồm k ví dụ học gần
test instance z
nhất với ví dụ cần phân lớp/dự đoán z
• Mỗi ví dụ (láng giềng gần nhất) này có
khoảng cách khác nhau đến z
• Các láng giềng này có ảnh hưởng như
nhau đối với việc phân lớp/dự đoáncho
z? → KHÔNG!
◼ Cần gán các mức độ ảnh hưởng (đóng
góp) của mỗi láng giềng gần nhất tùy
theo khoảng cách của nó đến z
• Mức độ ảnh hưởng cao hơn cho các
láng giềng gần hơn!

80
HỌC MÁY (Machine learning)

Khoảng cách của các láng giềng (2)


◼ Gọi v là hàm xác định trọng số theo khoảng cách
• Đối với một giá trị d(x,z) – khoảng cách giữa x và z
• v(x,z) tỷ lệ nghịch với d(x,z)

◼ Đối với bài toán phân lớp: c(z) = arg max  v( x, z).Identical (c j , c( x))
c j C xNB ( z )

1,if (a = b)
Identical(a, b) = 
0,if (a  b)

 v(x, z). f (x)


◼ Đối với bài toán dự đoán (hồi quy): f (z) = xNB ( z )

 v(x, z)
xNB ( z )

◼ Lựa chọn một hàm xác định trọng số theo khoảng cách:
d ( x, z )2
1 1 −
v(x, z) = v(x, z) = v(x, z) = e 2
+ d (x, z) +[d (x, z)]2

81
HỌC MÁY (Machine learning)

Học NN – Khi nào?


◼ Các ví dụ được biểu diễn là các vectơ trong không gian số thực (Rn)
◼ Số lượng các thuộc tính (số chiều của không gian) đầu vào không lớn
◼ Tập học khá lớn (nhiều ví dụ học)
◼ Các ưu điểm
• Không cần bước học (hệ thống chỉ đơn giản là lưu lại các ví dụ học)
• Hoạt động tốt với các bài toán có số lớp khá lớn
→ Không cần phải học riêng rẽ n bộ phân lớp cho n lớp
• Phương pháp học k-NN (k >>1) có thể làm việc được cả với dữ liệu lỗi
→ Việc phân lớp/dự đoán dựa trên k láng giềng gần nhất

◼ Các nhược điểm


• Phải xác định hàm tính khoảng cách phù hợp
• Chi phí tính toán (về thời gian và bộ nhớ) tại thời điểm phân lớp/dự đoán
• Có thể phân lớp/dự đoán sai , do các thuộc tính không liên quan (irrelevant
attributes)
82

You might also like