Bài giảng Lý thuyết nhận dạng – Chương 5: Sự phân lớp dựa trên láng giềng gần nhất thông tin đến các bạn những kiến thức về luật K láng giềng gần nhất; quy tắc xây dựng đồ thị và/hoặc; tìm kiếm trên đồ thị và/hoặc.
Trang 1Biên soạn: TS Ngô Hữu Phúc
Bộ môn: Khoa học máy tính
LÝ THUYẾT NHẬN DẠNG
Chương 5: Sự phân lớp dựa trên láng giềng gần nhất
Trang 2Giới thiệu
Việc xác định kích thước cửa sổ “tốt nhất” có thể áp đặt số
mẫu trong khối
Ví dụ: Để ước lượng p(x) từ n mẫu, xác định phần tử trung tâm
x và tăng kích thước cho đến khi có đủ k n mẫu Các mẫu này là
k n-LGGN của x
Hàm mật độ được xác định:
Ta mong muốn:
n
n n
V
n k x
0 /
lim
k and k n n
n n
n
Trang 3Ví dụ về ước lượng mật độ của k-LGGN
Ước lượng mật độ của k-LGGN với k=3 và k=5
Trang 4Giới thiệu (t)
Trong thực tế, bộ phân lớp thường phi tuyến.
Phương pháp phân lớp “tốt” có thể dựa trên ước lượng mật
độ k-láng giềng gần nhất (LGGN).
Quy tắc về LGGN: Chọn lớp của mẫu huấn luyện gần
nhất.
Khi N → vô cùng, sai số của phân lớp LGGN với xác suất
PNN được giới hạn bởi:
trong đó, PB là sai số Beyes Như vậy, sai số của phương pháp LGGN không quá 2 lần sai số tối ưu.
B B
B NN
M
M P
P
1
Trang 55.1 Luật k láng giềng gần nhất.
Luật:
huấn luyên.
Cận của lỗi phân lớp được xác định
khi k tăng, giá trị này gần đến sai số tốt nhất Beyes
k
P P
P
P B k NN B 2 NN
Trang 6Ví dụ về phân lớp sử dụng k-LGGN
Mẫu kiểm tra (xanh lá cây) được đưa vào lớp mầu đỏ nếu k=3, được đưa vào lớp mầu xanh dương nếu k=5
Trang 75.1 Luật k láng giềng gần nhất (t)
Khoảng cách được sử dụng để tìm k-LGGN: có thể dùng khoảng cách Mahalanobis hay Euclidean.
Độ phức tạp của việc phân lớp:
Phương pháp này có độ phức tạp O(lN).
Có thể tăng sự hiệu quả bằng việc sử dụng cấu trúc dữ liệu dạng cây tìm kiếm
Trang 8Ví dụ về đồ thị and/or cho tìm kiếm
Đồ thị and/or được dùng để tăng hiệu quả tìm kiếm k-LGGN
Trang 9Quy tắc xây dựng đồ thị và/hoặc.
thị
về một bài toán khác, ví dụ R: a→b,
thì trong đồ thị có cung gán nhãn đi từ
đỉnh a tới đỉnh b.
về một số bài toán con, ví dụ R:
này biểu diễn tập các bài toán con
Trang 10Ví dụ về đồ thị và/hoặc
Xét bài toán sau:
R1: a→d,e,f
R2: a→d,k
R3: a→g,h
R4: d→b,c
R5: f→i
R6: f→c,j
R7: k→e,l
R8: k→h
Trang 11Ví dụ về đồ thị và/hoặc
Trang 12Tìm kiếm trên đồ thị và/hoặc
Thông thường, sử dụng tìm kiếm theo chiều sâu để tìm lời giải cho bài toán.
Tìm đến đỉnh u, đỉnh này có thể giải được hay không tùy thuộc nó thuộc lớp bài toán nào Hàm Solvable sau sẽ trả về TRUE nếu giải được, nếu không là FALSE.
Function Solvable(u);
Begin
If u là đỉnh kết thúc then {Solvable(u) ← true; stop }
If u không là đỉnh kết thúc và không có đỉnh kề then {Solvable(u) ← false; stop } For mỗi toán tử R áp dụng được tại u do
{ Ok ← true;
For mỗi v kề u theo R do
If Solvable(v) = false then {Ok ← false; exit }
If Ok then Solvable(u) ← true; Operator(u) ← R; stop}
Solvable(u) ← false;
End;
Trang 13Tìm kiếm trên đồ thị và/hoặc(tiếp)
Biến Ok: với mỗi toán tử R áp dụng được tại u, biến Ok nhận
giá trị true nếu tất cả các đỉnh v kề u theo R đều giải được, và
Ok nhận giá trị false nếu có một đỉnh v kề u theo R không
giải được
Hàm Operator(u) ghi lại toán tử áp dụng thành công tại u, tức
là Operator(u) = R nếu mọi đỉnh v kề u theo R đều giải được