Thuật toán K-nn

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật hồi quy trong học máy và ứng dụng nội suy trên ảnh mặt người (Trang 52 - 59)

5. Cấu trúc luận văn

2.5.2. Thuật toán K-nn

Trong thuật toán này, biến phụ thuộc y đƣợc ƣớc tính nhờ vào trung bình các giá trị biến phụ thuộc của k điểm láng giềng gần nhất với k>0 xác định trƣớc. Khoảng cách từ mẫu mới có biến phụ thuộc y0 đến mẫu m có biến phụ thuộc ym đƣợc định nghĩa theo các phƣơng pháp sau

Các phƣơng pháp tính khoảng cách giữa các điểm [3]

Khoảng cách Euclide: Khoảng cách Euclide đƣợc tính là căn bậc hai của tổng số chênh lệch bình phƣơng của các biến độc lập giữa một mẫu mới ( ) và một mẫu hiện có ( ).

√∑ ( ) (2.31)

Khoảng cách Manhattan: Đây là khoảng cách giữa các vectơ thực bằng cách sử dụng tổng của sự khác biệt tuyệt đối của chúng.

∑ | | (2.32) Khi khoảng cách của một mẫu mới đến các mẫu trong tập huấn luyện của ta đã đƣợc đo, bƣớc tiếp theo là chọn các điểm gần nhất. Số lƣợng điểm cần xem xét đƣợc xác định bởi giá trị của k. Giá trị y0 đƣợc xác định bằng giá trị trung bình của các biến phụ thuộc của k điểm gần nhất.

2.5.3. Ví dụ

Xem xét bảng sau - nó bao gồm giá trị chiều cao, tuổi và cân nặng (biến phụ thuộc) cho 10 ngƣời (ID) [10]68. Nhƣ bạn có thể thấy, giá trị trọng lƣợng của ID11 bị thiếu. Chúng ta cần dự đoán cân nặng của ngƣời này dựa trên chiều cao và tuổi của ngƣời đó.

Bảng 2-22 Ví dụ hồi quy K-nn chiều cao, tuổi, cân nặng

ID Height Age Weight

1 5,3 39 77 2 5,11 26 47 3 5,6 30 55 4 5,9 34 59 5 4,8 38 72 6 6 35 60 7 5,3 19 40 8 5,8 28 60 9 5,5 23 45 10 5,6 32 58 11 5,5 37

Để hiểu rõ hơn về điều này, dƣới đây là biểu đồ về chiều cao so với tuổi từ bảng trên:

Trong biểu đồ trên, trục y biểu thị chiều cao của một ngƣời (tính bằng feet) và trục x đại diện cho tuổi (tính theo năm). Các điểm đƣợc đánh số theo các giá trị ID. Điểm vàng (ID 11) là điểm kiểm tra.

Thuật toán KNN hoạt động nhƣ thế nào?

Từ ví dụ, ta tính đƣợc khoảng cách từ ID11 đến các mẫu khác theo bảng sau. Ta thấy ID11 có chiều cao và tuổi gần nhất với ID1 và ID5, vì vậy cân nặng cũng sẽ xấp xỉ nhƣ nhau.

Bảng 2-23 Khoảng cách từ điểm mới đến các điểm huấn luyện

ID Height Age Weight D(x,11)

1 5,3 39 77 2,01 2 5,11 26 47 11,01 3 5,6 30 55 7,00 4 5,9 34 59 3,03 5 4,8 38 72 1,22 6 6 35 60 2,06 7 5,3 19 40 18,00 8 5,8 28 60 9,00 9 5,5 23 45 14,00 10 5,6 32 58 5,00 11 5,5 37 0,00

Trong trƣờng hợp này, ta có hai giá trị trọng số 77 và 72. Bạn có đoán đƣợc giá trị cuối cùng sẽ đƣợc tính nhƣ thế nào không? Trung bình của các giá trị đƣợc coi là dự đoán cuối cùng.

Dƣới đây là giải thích từng bƣớc của thuật toán:

Đầu tiên, khoảng cách giữa điểm mới và từng điểm huấn luyện đƣợc tính toán.

Hình 2-8 Khoảng cách từ điểm mới đến các điểm huấn luyện

2. Các điểm dữ liệu k gần nhất đƣợc chọn (dựa trên khoảng cách). Trong ví dụ này, các điểm 1, 5, 6 sẽ đƣợc chọn nếu giá trị của k là 3. Chúng ta sẽ tìm hiểu thêm về phƣơng pháp để chọn đúng giá trị của k sau.

Hình 2-9 Các điểm huấn luyện lân cận với K=3

3. Trung bình của các điểm dữ liệu này là dự đoán cuối cùng cho điểm mới. Ở đây, chúng ta có trọng lƣợng ID11 = (77 + 72 + 60) / 3 = 69,66 kg.

4. Cách chọn hệ số k?

Bƣớc thứ hai là chọn giá trị k. Điều này xác định số lƣợng hàng xóm chúng ta nhìn vào khi chúng ta gán giá trị cho bất kỳ quan sát mới nào.

Trong ví dụ, với giá trị k = 3, các điểm gần nhất là ID1, ID5 và ID6. Dự đoán về trọng lƣợng cho ID11 sẽ là:

ID11 = (77 + 72 + 60) / 3

Bảng 2-24 Khoảng cách từ điểm mới đến các điểm tạo. K=3

ID Height Age Weight D(x,11)

1 5,3 39 77 2,01

5 4,8 38 72 1,22

6 6 35 60 2,06

ID11 = 69,66 kg

Đối với giá trị k = 5, điểm gần nhất sẽ là ID1, ID4, ID5, ID6, ID10.

Bảng 2-25 Khoảng cách đến 5 điểm lân cận

ID Height Age Weight D(x,11)

1 5,3 39 77 2,01

4 5,9 34 59 3,03

5 4,8 38 72 1,22

6 6 35 60 2,06

10 5,6 32 58 5,00

Dự đoán cho ID11 sẽ là:

ID 11 = (77 + 59 + 72 + 60 + 58) / 5 ID 11 = 65,2 kg

Ta nhận thấy rằng dựa trên giá trị k, kết quả cuối cùng có xu hƣớng thay đổi. Vậy thì làm thế nào chúng ta có thể tìm ra giá trị tối ƣu của k?

Quyết định dựa trên tính toán sai số cho kết quả tập huấn và két quả thực (giảm thiểu sai số là đầu ra cuối cùng của chúng ta!).

Hãy xem các biểu đồ dƣới đây về sai số huấn luyện (training error) và sai số xác nhận (validation error) cho các giá trị khác nhau của k.

Hình 2-12 Biểu đồ sai số đánh giá theo giá trị k

Đối với giá trị k rất thấp (giả sử k = 1), mô hình sẽ thay đổi dữ liệu huấn luyện, dẫn đến tỷ lệ sai số cao trên tập đánh giá. Mặt khác, với giá trị k cao, mô hình hoạt động kém trên cả tập huấn luyện và tập đánh giá. Nếu bạn quan sát kỹ, đƣờng cong sai số đánh gia đạt cực tiểu ở giá trị k = 9. Giá trị này của k là giá trị tối ƣu của mô hình (nó sẽ thay đổi cho các tập dữ liệu khác nhau). Đƣờng cong này đƣợc gọi là " đƣờng cong khuỷu tay " (vì nó có hình dạng giống nhƣ khuỷu tay) và thƣờng đƣợc sử dụng để xác định giá trị k.

2.6. Kết luận

Chƣơng 3 đã trình bày các kiến thức tổng quan về học máy và các thuật toán rất quan trọng thƣờng sử dụng trong học máy là hồi quy tuyến tính, hồi quy Ridge, cây quyết định và K-nn. Chƣơng tiếp theo ta vận dụng các thuật toán trên trong bài toán nội suy ảnh mặt ngƣời dựa trên tập dữ liệu mẫu cũng nhƣ tập dữ liệu tự sƣu tập

CHƢƠNG 3. XÂY DỰNG CHƢƠNG TRÌNH VÀ THỰC NGHIỆM

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật hồi quy trong học máy và ứng dụng nội suy trên ảnh mặt người (Trang 52 - 59)