1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án môn học chương 19 thiết kế và phân tích thí nghiệm máy học

49 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Nghĩa là, ví dụ, sau khi sử dụng một thuật toán phân loại để huấn luyện một bộ phân loại trên một tập dữ liệu được rút ra từ một ứng dụng nào đó, chúng ta có thể khẳng định với đủ sự tự

Trang 1

TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC CHƯƠNG 19

Chuyên ngành: Công nghệ thông tin

Giảng viên hướng dẫn: Sinh viên thực hiện:

Trần Văn Trường Phạm Đức Trọng Vũ Nam Phương Lớp: 19CN4

Hà Nội, 05/2

Trang 2

19.5 Hướng dẫn cho Thí nghiệm Học máy 10

19.6 Phương pháp Cross-Validation và Resampling 14

19.6.1 Phương pháp K-Fold Cross-Validation 14

19.12 So sánh nhiều thuật toán: Phân tích phương sai 32

19.13 So sánh trên nhiều bộ dữ liệu 37

19.13.1 So sánh hai thuật toánkiểm tra dấu hiệu 38

19.13.2 Nhiều thuật toán 40

19.14 Thử nghiệm đa biến 41

Trang 3

19.14.1 So sánh hai thuật toán 42

19.14.2 So sánh nhiều thuật toán 43

19.15 Ghi chú 44

19.16 Bài tập 45

19.17 Tài liệu tham khảo 47

Trang 4

Chương 19: Thiết kế và phân tích thí nghiệm Máy học

Chương này chúng ta sẽ thảo luận về việc thiết kế các thí nghiệm máy học để đánh giá và so sánh hiệu suất của các thuật toán học trong thực tế, cũng như các kiểm định thống kê để phân tích kết quả của những thí nghiệm này

19.1 Giới thiệu

Trong các chương trước, chúng ta đã thảo luận về một số thuật toán học và thấy rằng, đối với một ứng dụng cụ thể, có nhiều thuật toán có thể áp dụng Bây giờ, chúng ta quan tâm đến hai câu hỏi:

1 Làm thế nào chúng ta có thể đánh giá được lỗi dự kiến của một thuật toán học trên một vấn đề? Nghĩa là, ví dụ, sau khi sử dụng một thuật toán phân loại để huấn luyện một bộ phân loại trên một tập dữ liệu được rút ra từ một ứng dụng nào đó, chúng ta có thể khẳng định với đủ sự tự tin rằng khi nó được sử dụng trong thực tế, tỷ lệ lỗi dự kiến của nó sẽ nhỏ hơn, ví dụ như 2 phần trăm?

2 Cho hai thuật toán học, làm thế nào chúng ta có thể khẳng định rằng một thuật toán có lỗi nhỏ hơn thuật toán khác đối với một ứng dụng cụ thể? Các thuật toán so sánh có thể khác nhau, ví dụ như đối với các thuật toán tham số hoặc không tham số, hoặc chúng có thể sử dụng các thiết lập siêu tham số khác nhau Ví dụ, cho một perceptron đa tầng (chương 11) với bốn đơn vị ẩn và một perceptron khác với tám đơn vị ẩn, chúng ta muốn có thể nói rằng cái nào có lỗi dự kiến nhỏ hơn Hoặc với bộ phân loại kế thừa gần nhất (chương 8), chúng ta muốn tìm giá trị tốt nhất của k

Chúng ta không thể nhìn vào lỗi huấn luyện và quyết định dựa trên những điều đó Tỷ lệ lỗi trên tập huấn luyện, theo định nghĩa, luôn nhỏ hơn tỷ lệ lỗi trên một tập thử nghiệm chứa các trường hợp chưa được nhìn thấy trong quá trình huấn luyện

Tương tự, lỗi huấn luyện không thể được sử dụng để so sánh hai thuật toán Điều này bởi vì trên tập huấn luyện, mô hình phức tạp hơn với nhiều tham số hầu hết luôn cho ra ít lỗi hơn so với mô hình đơn giản Như chúng ta đã thảo luận nhiều lần, chúng ta cần một tập xác thực khác với tập huấn luyện Ngay cả trên tập xác thực, một lần chạy có thể không đủ Có hai lý do cho điều này: Thứ nhất, tập huấn luyện và xác thực có thể nhỏ và có thể chứa các trường hợp đặc biệt, như nhiễu và ngoại lệ, có thể đánh lừa chúng ta Thứ hai, phương pháp học có thể phụ thuộc vào các yếu tố ngẫu nhiên khác ảnh hưởng đến tổng quát hóa Ví dụ, với một perceptron đa tầng được huấn luyện bằng phương pháp lan truyền ngược, vì

Trang 5

gradient descent hội tụ đến điểm cực tiểu cục bộ gần nhất, các trọng số ban đầu ảnh hưởng đến trọng số cuối cùng, và với cùng một kiến trúc và tập huấn luyện cụ thể, bắt đầu từ các trọng số ban đầu khác nhau, có thể có nhiều bộ phân loại cuối cùng có tỷ lệ lỗi khác nhau trên cùng một tập xác thực Do đó, chúng ta muốn có nhiều lần chạy để lấy trung bình qua các nguồn ngẫu nhiên như vậy Nếu chúng ta chỉ huấn luyện và xác thực một lần, chúng ta không thể kiểm tra tác động của những yếu tố như vậy; điều này chỉ được chấp nhận nếu phương pháp học quá tốn kém để chỉ được huấn luyện và xác thực một lần Chúng ta sử dụng một thuật toán học trên một tập dữ liệu và tạo ra một bộ học Nếu chúng ta huấn luyện chỉ một lần, chúng ta có một bộ học và một lỗi xác thực Để lấy trung bình qua sự ngẫu nhiên (trong dữ liệu huấn luyện, trọng số ban đầu, v.v.), chúng ta sử dụng cùng một thuật toán và tạo ra nhiều bộ học Chúng ta kiểm tra chúng trên nhiều tập xác thực và ghi lại một mẫu của lỗi xác thực (Tất nhiên, tất cả các tập huấn luyện và xác thực nên được lấy từ cùng một ứng dụng.) Chúng ta dựa trên phân phối này để đánh giá lỗi kỳ vọng của thuật toán học cho vấn đề đó, hoặc so sánh nó với phân phối tỷ lệ lỗi của một thuật toán học khác Trước khi tiếp tục với cách thực hiện điều này, quan trọng để nhấn mạnh một số điểm:

1 Chúng ta nên nhớ rằng bất kỳ kết luận nào chúng ta rút ra từ phân tích của mình đều được điều kiện bởi tập dữ liệu chúng ta được cung cấp Chúng ta không so sánh các thuật toán học theo một cách độc lập với miền, mà chỉ trong một ứng dụng cụ thể Chúng ta không nói gì về lỗi kỳ vọng của một thuật toán học, hoặc so sánh một thuật toán học với thuật toán học khác, nói chung Bất kỳ kết quả nào chúng ta có chỉ đúng cho ứng dụng cụ thể đó, và chỉ trong phạm vi ứng dụng đó được đại diện trong mẫu chúng ta có Và dù sao, như được nêu trong Định lý No Free Lunch (Wolpert 1995), không có gì như "thuật toán học tốt nhất" Đối với bất kỳ thuật toán học nào, đều có một tập dữ liệu nơi nó rất chính xác và một tập dữ liệu khác nơi nó rất kém Khi chúng ta nói rằng một thuật toán học là tốt, chúng ta chỉ định rõ mức độ phù hợp về mặt khái niệm của nó so với các thuộc tính của dữ liệu

2 Việc chia một tập dữ liệu đã cho thành một số cặp tập huấn luyện và xác thực chỉ để kiểm tra mục đích Khi tất cả các kiểm tra hoàn thành và chúng ta đã chọn thuật toán học tốt nhất cho ứng dụng cụ thể, chúng ta muốn huấn luyện nó bằng toàn bộ dữ liệu đã cho Điều này chúng ta có thể làm đơn giản bằng cách gộp các tập huấn luyện và xác thực và sử dụng cùng một thuật toán học

Trang 6

3 Vì chúng ta cũng sử dụng tập xác thực để kiểm tra mục đích, ví dụ như để chọn ra thuật toán học tốt hơn trong hai thuật toán, hoặc để quyết định nơi để dừng quá trình học, nó hiệu quả trở thành một phần của dữ liệu chúng ta sử dụng Khi sau tất cả các kiểm tra đó, chúng ta quyết định về một thuật toán cụ thể và muốn báo cáo lỗi kỳ vọng của nó, chúng ta nên sử dụng một tập dữ liệu kiểm tra riêng biệt cho mục đích này, không được sử dụng trong quá trình huấn luyện hệ thống cuối cùng này Dữ liệu này không nên được sử dụng trước đó để huấn luyện hoặc xác thực và nên có kích thước lớn để ước lượng lỗi có ý nghĩa Vì vậy, khi có một tập dữ liệu, chúng ta nên lấy một phần như là tập kiểm tra và sử dụng phần còn lại cho huấn luyện và xác thực Thông thường, chúng ta có thể để một phần ba của mẫu là tập kiểm tra, sau đó sử dụng hai phần ba còn lại cho kiểm tra chéo để tạo ra nhiều cặp tập huấn luyện/xác thực, như chúng ta sẽ thấy sau đây Vì vậy, tập huấn luyện được sử dụng để tối ưu hóa các tham số, với một thuật toán học và cấu trúc mô hình cụ thể; tập xác thực được sử dụng để tối ưu hóa siêu tham số của thuật toán học hoặc cấu trúc mô hình; và tập kiểm tra được sử dụng ở cuối, sau khi cả hai đã được tối ưu hóa Ví dụ, với MLP, tập huấn luyện được sử dụng để tối ưu hóa các trọng số, tập xác thực được sử dụng để quyết định số đơn vị ẩn, thời gian huấn luyện, tỷ lệ học, và v.v Sau khi đã chọn cấu hình MLP tốt nhất, lỗi cuối cùng được tính trên tập kiểm tra Với k-NN, tập huấn luyện được lưu trữ như bảng tra cứu; chúng ta tối ưu hóa phép đo khoảng cách và k trên tập xác thực và cuối cùng kiểm tra trên tập kiểm tra

4 Nói chung, chúng ta so sánh các thuật toán học dựa trên tỷ lệ lỗi của chúng, nhưng cần lưu ý rằng trong thực tế, lỗi chỉ là một trong các tiêu chí ảnh hưởng đến quyết định của chúng ta Một số tiêu chí khác bao gồm (Turney 2000):

• Rủi ro khi lỗi được tổng quát hóa bằng các hàm mất mát, thay vì sử dụng hàm mất mát 0/1 (phần 3.3)

• Thời gian huấn luyện và độ phức tạp không gian • Thời gian kiểm tra và độ phức tạp không gian

• Khả năng giải thích, tức là phương pháp cho phép rút trích kiến thức có thể được kiểm tra và xác nhận bởi các chuyên gia

• Khả năng lập trình dễ dàng

Tầm quan trọng tương đối của những yếu tố này thay đổi tùy thuộc vào ứng dụng cụ thể Ví dụ, nếu việc huấn luyện chỉ được thực hiện một lần tại nhà máy, thì thời gian huấn luyện và độ phức tạp không gian không quan trọng; nếu yêu

Trang 7

cầu tính linh hoạt trong quá trình sử dụng, thì chúng trở nên quan trọng Hầu hết các thuật toán học sử dụng hàm mất mát 0/1 và coi lỗi là tiêu chí duy nhất cần được giảm thiểu; gần đây, các biến thể của các thuật toán này nhạy cảm với chi phí đã được đề xuất để xem xét các tiêu chí chi phí khác

Khi chúng ta huấn luyện một mô hình trên một tập dữ liệu bằng cách sử dụng tập huấn luyện và kiểm tra độ chính xác trên một tập xác thực và cố gắng rút ra kết luận, điều chúng ta đang làm là thực hiện thí nghiệm Thống kê định nghĩa một phương pháp để thiết kế thí nghiệm một cách chính xác và phân tích dữ liệu thu thập được một cách sao cho có thể rút ra kết luận có ý nghĩa (Montgomery 2005) Trong chương này, chúng ta sẽ thấy làm thế nào phương pháp này có thể được sử dụng trong ngữ cảnh của học máy

19.2 Các yếu tố, Phản ứng và Chiến lược của Thí nghiệm

Giống như trong các ngành khoa học và kỹ thuật khác, trong học máy cũng thực hiện các thí nghiệm để thu thập thông tin về quá trình đang được xem xét Trong trường hợp của chúng ta, đó là một bộ học, sau khi được huấn luyện trên một tập dữ liệu, tạo ra một đầu ra cho một đầu vào cụ thể Một thí nghiệm là một bài kiểm tra hoặc một loạt bài kiểm tra trong đó chúng ta thay đổi các yếu tố ảnh hưởng đến đầu ra Những yếu tố này có thể là thuật toán sử dụng, tập huấn luyện, đặc trưng đầu vào, và vân vân, và chúng ta quan sát những thay đổi trong phản ứng để có thể rút ra thông tin Mục tiêu có thể là xác định những yếu tố quan trọng nhất, loại bỏ những yếu tố không quan trọng, hoặc tìm cấu hình của các yếu tố tối ưu hóa phản ứng - ví dụ, độ chính xác phân loại trên một tập kiểm tra cụ thể

Trang 8

Mục tiêu của chúng ta là lên kế hoạch và tiến hành các thí nghiệm về học máy và phân tích dữ liệu thu được từ các thí nghiệm, để có thể loại bỏ ảnh hưởng của ngẫu nhiên và thu được kết luận có thể coi là có ý nghĩa thống kê Trong học máy, chúng ta nhắm đến một bộ học có độ chính xác tổng quát cao nhất và độ phức tạp tối thiểu (để việc triển khai nó nhanh chóng và tiết kiệm không gian) Một bộ học đã được huấn luyện có thể được biểu diễn như trong hình 19.1; nó cho ra một đầu ra, ví dụ như một mã lớp cho một đầu vào kiểm tra, và điều này phụ thuộc vào hai loại yếu tố Các yếu tố có thể kiểm soát, như tên gọi, là những yếu tố mà chúng ta có thể kiểm soát Cái cơ bản nhất là thuật toán học Có cả các siêu tham số của thuật toán, ví dụ như số đơn vị ẩn cho một mạng nơ-ron nhân tạo đa tầng, k cho kỷ lục gần nhất, C cho máy vector hỗ trợ, và còn nhiều hơn nữa Các tập dữ liệu được sử dụng và biểu diễn đầu vào, tức cách mã hóa đầu vào thành một vector, là các yếu tố kiểm soát khác

Cũng có các yếu tố không thể kiểm soát mà chúng ta không có khả năng kiểm soát, gây thêm sự biến thiên không mong muốn cho quy trình và không muốn ảnh hưởng đến quyết định của chúng ta Trong số đó có nhiễu trong dữ liệu, các tập con đào tạo cụ thể nếu chúng ta đang lấy mẫu lại từ một tập lớn, ngẫu nhiên trong quá trình tối ưu hóa, ví dụ như trạng thái ban đầu trong gradient descent với mạng nơ-ron nhân tạo đa tầng, và nhiều hơn nữa

Hình 19.2 Các chiến lược thí nghiệm khác nhau với hai yếu tố và mỗi yếu tố có năm mức

Chúng ta sử dụng đầu ra để tạo ra biến phản hồi - ví dụ, sai số phân loại trung bình trên tập kiểm tra, hoặc rủi ro dự kiến sử dụng hàm mất mát, hoặc một số đo lường khác, như độ chính xác và độ phủ, như chúng ta sẽ thảo luận trong thời gian tới

Trang 9

Với nhiều yếu tố, chúng ta cần tìm cách thiết lập tốt nhất cho phản hồi tốt nhất, hoặc trong trường hợp tổng quát, xác định ảnh hưởng của chúng lên biến phản hồi Ví dụ, chúng ta có thể sử dụng bộ phân tích thành phần chính (PCA) để giảm số chiều xuống d trước khi sử dụng bộ phân loại kỷ lục gần nhất (k-NN) Hai yếu tố là d và k, và câu hỏi là quyết định kết hợp nào của d và k dẫn đến hiệu suất cao nhất Hoặc chúng ta có thể sử dụng bộ phân loại máy vector hỗ trợ với hạt nhân Gaussian, và chúng ta có tham số điều chỉnh C và sự phân tán của Gaussian s2 để điều chỉnh cùng nhau

Có một số chiến lược thí nghiệm, như được hiển thị trong hình 19.2 Trong phương pháp đoán đúng nhất, chúng ta bắt đầu từ một cài đặt của các yếu tố mà chúng ta tin rằng là một cấu hình tốt Chúng ta kiểm tra phản hồi ở đó và chúng ta thay đổi các yếu tố một (hoặc rất ít) lần một lần, kiểm tra mỗi kết hợp cho đến khi chúng ta đạt được trạng thái mà chúng ta cho là đủ tốt Nếu người thực hiện có một trực giác tốt về quy trình, điều này có thể hoạt động tốt; nhưng lưu ý rằng không có phương pháp hệ thống để sửa đổi các yếu tố và khi chúng ta dừng lại, chúng ta không có đảm bảo tìm ra cấu hình tốt nhất

Chiến lược khác là sửa đổi một yếu tố một lần, trong đó chúng ta quyết định một giá trị cơ sở (mặc định) cho tất cả các yếu tố, sau đó chúng ta thử các mức khác nhau cho một yếu tố trong khi giữ tất cả các yếu tố khác ở mức cơ sở Nhược điểm lớn của phương pháp này là nó giả định rằng không có sự tương tác giữa các yếu tố, điều này không luôn đúng Trong chuỗi chúng ta đã thảo luận trước đó, mỗi lựa chọn cho d xác định một không gian đầu vào khác nhau cho k-NN, trong đó một giá trị k khác nhau có thể phù hợp

Phương pháp chính xác là sử dụng thiết kế theo yếu tố, trong đó các yếu tố được thay đổi cùng nhau, thay vì một cách một cách một lần; điều này được gọi lóng ngữ là tìm kiếm theo lưới Với F yếu tố ở mỗi mức L, việc tìm kiếm một yếu tố một lần mất O(L · F) thời gian, trong khi thí nghiệm theo yếu tố lấy thời gian

19.3 Thiết kế bề mặt phản hồi

Để giảm số lần chạy cần thiết, một khả năng là chạy một thiết kế mẫu một phần, trong đó chúng ta chỉ chạy một phần con số lượng, một khả năng khác là cố gắng sử dụng kiến thức thu thập từ các lần chạy trước để ước tính các cấu hình có khả năng có phản hồi cao Trong việc tìm kiếm một yếu tố một lần, nếu chúng ta có thể giả định rằng phản hồi thường là hàm bậc hai (với một giá trị cực đại duy nhất, giả sử chúng ta đang tối đa hóa một giá trị phản hồi, như độ chính xác kiểm

Trang 10

tra), thì thay vì thử tất cả các giá trị, chúng ta có thể có một quy trình lặp trong đó, bắt đầu từ một số lần chạy ban đầu, chúng ta phù hợp với một hàm bậc hai, tìm giá trị cực đại theo phân tích, lấy đó làm ước tính tiếp theo, chạy một thí nghiệm tại đó, thêm dữ liệu kết quả vào mẫu, và sau đó tiếp tục phù hợp và lấy mẫu, cho đến khi không còn cải thiện nữa

Với nhiều yếu tố, phương pháp thiết kế bề mặt phản hồi được tổng quát hóa như một hàm phản hồi tham số hóa cho các yếu tố như sau:

r = g(f1, f2, ,fF |φ)

Trong đó r là phản hồi và fi, i = 1, ,F là các yếu tố Hàm tham số hóa phù hợp này được xác định dựa trên các tham số φ và là mô hình kinh nghiệm của chúng ta ước tính phản hồi cho một cấu hình cụ thể của các yếu tố (có thể điều khiển); hiệu ứng của các yếu tố không thể điều khiển được mô hình là nhiễu Hàm g(·) là một mô hình hồi quy (thường là hàm bậc hai), và sau một số lần chạy xung quanh một trạng thái cơ bản (như được xác định bởi ma trận thiết kế), chúng ta có đủ dữ liệu để phù hợp với g(·) Sau đó, chúng ta có thể tính toán giá trị của fi mà g đã phù hợp đạt giá trị cực đại, và đó là ước đoán tiếp theo của chúng ta, chạy một thí nghiệm tại đó, thu được một mẫu dữ liệu, thêm vào mẫu, phù hợp lại với g, và tiếp tục quá trình này cho đến khi đạt được sự hội tụ Việc phương pháp này hoạt động tốt hay không phụ thuộc vào việc liệu phản hồi có thực sự có thể được viết dưới dạng hàm bậc hai của các yếu tố với một giá trị cực đại duy nhất hay không

19.4 Nguyên tắc cơ bản của thiết kế thí nghiệm (Ngẫu nhiên, lặp lại và chặn)

Bây giờ chúng ta sẽ nói về ba nguyên tắc cơ bản của thiết kế thí nghiệm

• Nguyên tắc ngẫu nhiên đòi hỏi thứ tự thực hiện các lần chạy phải được xác định ngẫu nhiên để kết quả độc lập Điều này thường là một vấn đề trong các thí nghiệm thực tế liên quan đến các đối tượng vật lý; ví dụ, máy móc yêu cầu một thời gian để khởi động trước khi hoạt động trong khoảng thông thường của chúng, vì vậy các thử nghiệm nên được thực hiện theo thứ tự ngẫu nhiên để không làm sai lệch kết quả theo thời gian Tuy nhiên, việc xác định thứ tự thường không là vấn đề trong các thí nghiệm phần mềm • Nguyên tắc lặp lại ngụ ý rằng đối với cùng một cấu hình của các yếu tố có

thể điều khiển được, thí nghiệm nên được chạy nhiều lần để lấy trung bình qua hiệu ứng của các yếu tố không thể kiểm soát Trong máy học, điều này thường được thực hiện bằng cách chạy cùng một thuật toán trên một số

Trang 11

phiên bản resampled của cùng một tập dữ liệu; điều này được gọi là validation, chúng ta sẽ thảo luận về điều này trong mục 19.6 Cách phản hồi biến thiên trên các lặp lại khác nhau của cùng một thí nghiệm cho phép chúng ta ước tính sai số thí nghiệm (hiệu ứng của các yếu tố không thể kiểm soát), mà chúng ta có thể sử dụng để xác định các sự khác biệt cần đạt để coi là có ý nghĩa thống kê

cross-• Chặn được sử dụng để giảm hoặc loại bỏ sự biến thiên do các yếu tố phiền nhiễu ảnh hưởng đến phản hồi nhưng chúng ta không quan tâm đến Ví dụ, các khuyết điểm được tạo ra trong một nhà máy cũng có thể phụ thuộc vào các lô nguyên liệu khác nhau, và hiệu ứng này nên được cô lập khỏi các yếu tố có thể kiểm soát trong nhà máy, chẳng hạn như thiết bị, nhân viên, và như vậy Trong thí nghiệm máy học, khi chúng ta sử dụng phương pháp resampling và sử dụng các tập con khác nhau của dữ liệu cho các lặp lại khác nhau, chúng ta cần đảm bảo rằng nếu chẳng hạn chúng ta đang so sánh các thuật toán học, tất cả các thuật toán đều sử dụng cùng một tập các tập con đã resample, nếu không sự khác biệt trong độ chính xác sẽ không chỉ phụ thuộc vào các thuật toán mà còn vào các tập con khác nhau Để có thể đo lường sự khác biệt do thuật toán mà không bị ảnh hưởng bởi các tập huấn luyện khác nhau trong các lần chạy được lặp lại, chúng ta cần thực hiện chặn

• Trong thống kê, nếu có hai quần thể, điều này được gọi là ghép cặp và được sử dụng trong các kiểm tra ghép cặp

19.5 Hướng dẫn cho Thí nghiệm Học máy

Trước khi chúng ta bắt đầu thực hiện thí nghiệm, chúng ta cần có một ý tưởng tốt về những gì chúng ta đang nghiên cứu, cách thu thập dữ liệu và cách chúng ta định phân tích nó Các bước trong học máy tương tự như bất kỳ loại thí nghiệm nào (Montgomery 2005) Lưu ý rằng tại thời điểm này, không quan trọng nhiệm vụ là phân loại hay hồi quy, hoặc nó là một ứng dụng học không giám sát hay học tăng cường Cuộc thảo luận tổng quan là giống nhau; khác biệt chỉ nằm ở phân phối mẫu của dữ liệu đáp ứng được thu thập

A Mục tiêu của nghiên cứu

Chúng ta cần bắt đầu bằng việc nêu rõ vấn đề một cách rõ ràng, định nghĩa mục tiêu của nghiên cứu Trong học máy, có thể có nhiều khả năng khác nhau Như đã thảo luận trước đó, chúng ta có thể quan tâm đến việc đánh giá sai số dự

Trang 12

kiến (hoặc một độ đo phản hồi khác) của một thuật toán học trên một vấn đề cụ thể và kiểm tra rằng, ví dụ, sai số thấp hơn một mức chấp nhận được nhất định

Cho hai thuật toán học và một vấn đề cụ thể được xác định bởi một tập dữ liệu, chúng ta có thể muốn xác định xem thuật toán nào có sai số tổng quát ít hơn Đây có thể là hai thuật toán khác nhau, hoặc một thuật toán có thể được đề xuất cải tiến so với thuật toán khác, ví dụ như sử dụng bộ trích xuất đặc trưng tốt hơn

Trong trường hợp tổng quát hơn, chúng ta có thể có nhiều hơn hai thuật toán học và có thể muốn chọn thuật toán có sai số nhỏ nhất, hoặc sắp xếp chúng theo sai số, cho một tập dữ liệu cụ thể

Trong một bối cảnh tổng quát hơn nữa, thay vì trên một tập dữ liệu duy nhất, chúng ta có thể muốn so sánh hai hoặc nhiều thuật toán trên hai hoặc nhiều tập dữ liệu

B Lựa chọn Biến phản hồi

Chúng ta cần quyết định về độ đo chất lượng mà chúng ta nên sử dụng Thông thường, sai số được sử dụng, tức là sai số phân loại sai cho bài toán phân loại và sai số bình phương trung bình cho bài toán hồi quy Chúng ta cũng có thể sử dụng một biến thể khác; ví dụ, từ việc tổng quát từ 0/1 đến một hàm mất mát tùy ý, chúng ta có thể sử dụng một độ đo rủi ro Trong truy xuất thông tin, chúng ta sử dụng các độ đo như độ chính xác và độ phục hồi; chúng ta sẽ thảo luận về các độ đo như vậy trong mục 19.7 Trong một môi trường nhạy cảm về chi phí, không chỉ đầu ra mà còn các thông số hệ thống, ví dụ như độ phức tạp, cũng được xem xét

C Lựa chọn Yếu tố và Mức độ

Những yếu tố phụ thuộc vào mục tiêu của nghiên cứu Nếu chúng ta giữ nguyên một thuật toán và muốn tìm ra các siêu tham số tốt nhất, thì đó chính là các yếu tố Nếu chúng ta đang so sánh các thuật toán, thuật toán học là một yếu tố Nếu chúng ta có các tập dữ liệu khác nhau, chúng cũng trở thành một yếu tố

Các mức độ của một yếu tố nên được lựa chọn cẩn thận để không bỏ qua một cấu hình tốt và tránh làm các thí nghiệm không cần thiết Luôn tốt khi cố gắng chuẩn hóa các mức độ yếu tố Ví dụ, trong tối ưu hóa k của k-nearest neighbor, chúng ta có thể thử các giá trị như 1, 3, 5, và cứ tiếp tục như vậy, nhưng trong việc tối ưu hóa độ lan rộng h của cửa sổ Parzen, chúng ta không nên thử các giá trị tuyệt đối như 1.0, 2.0, và cứ tiếp tục như vậy, vì điều đó phụ thuộc vào tỷ lệ của dữ liệu đầu vào; tốt hơn hết là tìm một số liệu thống kê nào đó là chỉ số của

Trang 13

tỷ lệ - ví dụ như khoảng cách trung bình giữa một mẫu và mẫu gần nhất - và thử h với các bội số khác nhau của số liệu thống kê đó

Mặc dù kiến thức chuyên môn trước đây là một điểm cộng chung, nhưng cũng quan trọng để điều tra tất cả các yếu tố và mức độ yếu tố có thể quan trọng và không bị ảnh hưởng quá nhiều bởi kinh nghiệm trước đây

D Lựa chọn Thiết kế Thí nghiệm

Luôn tốt hơn nếu thực hiện một thiết kế mô phỏng toàn diện trừ khi chúng ta chắc chắn rằng các yếu tố không tương tác với nhau, vì hầu hết chúng tương tác Số lần nhân bản phụ thuộc vào kích thước tập dữ liệu; nó có thể được giữ nhỏ khi tập dữ liệu lớn; chúng tôi sẽ thảo luận về điều này trong phần tiếp theo khi nói về tái chọn mẫu Tuy nhiên, quá ít nhân bản sẽ tạo ra ít dữ liệu và điều này sẽ làm cho việc so sánh phân phối trở nên khó khăn; trong trường hợp cụ thể của các kiểm định tham số, giả định về tính chuẩn có thể không được chấp nhận

Thông thường, khi có một tập dữ liệu, chúng ta để lại một phần để làm tập kiểm tra và sử dụng phần còn lại để làm tập huấn luyện và xác thực, có thể lặp lại nhiều lần bằng cách lấy mẫu lại Cách phân chia này rất quan trọng Trong thực tế, sử dụng các tập dữ liệu nhỏ sẽ dẫn đến phản hồi với phương sai cao, và sự khác biệt sẽ không đáng kể và kết quả sẽ không có tính thuyết phục

E Thực hiện Thí nghiệm

Trước khi tiến hành một thí nghiệm mô phỏng lớn với nhiều yếu tố và mức độ, nếu có thể, tốt nhất là thực hiện một số lần chạy thử với một số cài đặt ngẫu nhiên để kiểm tra xem mọi thứ có như mong đợi không Trong một thí nghiệm lớn, luôn nên lưu lại các kết quả trung gian (hoặc nguồn gốc của bộ tạo số ngẫu nhiên), để một phần của toàn bộ thí nghiệm có thể được chạy lại khi cần Tất cả các kết quả nên có thể tái tạo Trong việc thực hiện một thí nghiệm lớn với nhiều yếu tố và mức độ, người thực hiện nên nhận thức về những tác động tiêu cực có thể xảy ra do lỗi phần mềm theo thời gian

Trong quá trình thực hiện thí nghiệm, việc người thực hiện không thiên vị là rất quan trọng Trong việc so sánh thuật toán ưa thích của mình với một đối thủ, cả hai nên được nghiên cứu một cách công bằng và cẩn thận Trong các nghiên cứu quy mô lớn, có thể có ý định rằng người thử nghiệm khác với những người phát triển thuật toán

Trang 14

Người ta nên tránh cám dỗ tự viết "thư viện" riêng và thay vào đó, trong khả năng có thể, sử dụng mã từ các nguồn đáng tin cậy; mã nguồn như vậy đã được kiểm tra và tối ưu hóa tốt hơn

Như trong bất kỳ nghiên cứu phát triển phần mềm nào, không thể đánh giá thấp được lợi ích của tài liệu tốt, đặc biệt là khi làm việc trong nhóm Tất cả các phương pháp được phát triển cho kỹ thuật phần mềm chất lượng cao cũng nên được sử dụng trong các thí nghiệm học máy

F Phân tích thống kê dữ liệu

Điều này tương ứng với việc phân tích dữ liệu theo cách sao cho bất kỳ kết luận nào chúng ta đạt được không phụ thuộc vào quan điểm cá nhân hoặc do sự tình cờ Chúng ta đưa ra các câu hỏi mà chúng ta muốn trả lời trong khung viện lý thuyết kiểm định giả thuyết và kiểm tra xem mẫu dữ liệu có hỗ trợ giả thuyết hay không Ví dụ, câu hỏi "Có phải A là thuật toán chính xác hơn B không?" trở thành giả thuyết "Chúng ta có thể nói rằng sai số trung bình của các mô hình được huấn luyện bằng A thấp hơn đáng kể so với sai số trung bình của các mô hình được huấn luyện bằng B không?"

Như thường lệ, phân tích hình ảnh hữu ích và chúng ta có thể sử dụng biểu đồ histogram của phân phối lỗi, biểu đồ hình hộp và râu, biểu đồ khoảng, và những thứ tương tự

G Kết luận và Đề xuất

Sau khi thu thập và phân tích tất cả dữ liệu, chúng ta có thể rút ra những kết luận khách quan Một kết luận thường gặp là sự cần thiết của thí nghiệm tiếp theo Hầu hết các nghiên cứu thống kê, và do đó cũng là các nghiên cứu học máy hoặc khai phá dữ liệu, đều là quá trình lặp đi lặp lại Đó là lý do tại sao chúng ta không bắt đầu với tất cả các thí nghiệm từ đầu Đề xuất rằng không nên đầu tư quá 25% tài nguyên có sẵn vào thí nghiệm đầu tiên (Montgomery 2005) Những lần chạy đầu tiên chỉ dùng cho mục đích nghiên cứu Đó cũng là lý do tại sao việc không bắt đầu với kỳ vọng cao hoặc hứa hẹn với sếp hoặc cố vấn luận án là một ý tưởng tốt

Chúng ta luôn phải nhớ rằng kiểm định thống kê không bao giờ cho chúng ta biết giả thuyết đúng hay sai, mà chỉ cho biết mức độ mà mẫu dữ liệu có nhất trí với giả thuyết Luôn có nguy cơ rằng chúng ta không có kết quả kết luận chính xác hoặc kết luận của chúng ta có thể sai, đặc biệt là khi dữ liệu nhỏ và nhiễu

Trang 15

Khi kỳ vọng của chúng ta không được đáp ứng, việc điều tra tại sao chúng không được đáp ứng là rất hữu ích Ví dụ, khi kiểm tra tại sao thuật toán ưa thích của chúng ta A đã hoạt động rất tệ trên một số trường hợp, chúng ta có thể có ý tưởng tuyệt vời cho một phiên bản cải tiến của A Mọi cải tiến đều xuất phát từ những khuyết điểm của phiên bản trước đó; việc tìm ra một khuyết điểm chỉ là một gợi ý hữu ích rằng chúng ta có thể cải tiến được!

Tuy nhiên, chúng ta không nên tiến tới bước kiểm thử phiên bản cải tiến cho đến khi chúng ta chắc chắn rằng đã phân tích hoàn toàn dữ liệu hiện tại và học hết những gì có thể học từ nó Ý tưởng là điều rẻ tiền và vô dụng cho đến khi được kiểm tra, điều đó lại tốn kém

19.6 Phương pháp Cross-Validation và Resampling

Với mục đích nhân bản, điều cần thiết đầu tiên là có một số cặp tập huấn luyện và tập xác thực từ tập dữ liệu X (sau khi đã để lại một phần làm tập kiểm tra) Để làm điều này, nếu tập X đủ lớn, chúng ta có thể chia ngẫu nhiên thành K phần, sau đó chia ngẫu nhiên mỗi phần thành hai phần và sử dụng một nửa cho huấn luyện và nửa còn lại cho xác thực K thường là 10 hoặc 30 Rất tiếc, tập dữ liệu không bao giờ đủ lớn để làm được điều này Do đó, chúng ta nên làm tốt nhất với các tập dữ liệu nhỏ Điều này được thực hiện bằng cách lặp lại việc sử dụng cùng một phân chia dữ liệu khác nhau; điều này được gọi là cross-validation Vấn đề là các phần trăm lỗi sẽ phụ thuộc vào nhau do các tập dữ liệu khác nhau chia sẻ dữ liệu

Vì vậy, với một tập dữ liệu X, chúng ta muốn tạo ra K cặp tập huấn luyện/xác thực, {Ti, Vi}Ki=1, từ tập dữ liệu này Chúng ta muốn giữ các tập huấn luyện và xác thực càng lớn càng tốt để ước tính lỗi có độ tin cậy cao, và đồng thời, chúng ta muốn giữ sự trùng lặp giữa các tập khác nhau càng nhỏ càng tốt Chúng ta cũng cần đảm bảo rằng các lớp được đại diện theo tỷ lệ phù hợp khi các tập con dữ liệu được giữ lại, để không làm thay đổi xác suất lớp trước đó; điều này được gọi là sự phân tầng Nếu một lớp có 20% ví dụ trong toàn bộ tập dữ liệu, trong tất cả các mẫu được lấy từ tập dữ liệu, nó cũng nên có khoảng 20% ví dụ

19.6.1 Phương pháp K-Fold Cross-Validation

Trong K-fold cross-validation, tập dữ liệu X được chia ngẫu nhiên thành K phần bằng nhau, gọi là Xi, i = 1, ,K Để tạo ra mỗi cặp dữ liệu, chúng ta giữ một trong K phần ra làm tập validation và kết hợp K - 1 phần còn lại để tạo thành tập training Thực hiện điều này K lần, mỗi lần bỏ đi một phần trong K phần, ta thu được K cặp dữ liệu:

Trang 16

Có hai vấn đề xảy ra với phương pháp này Thứ nhất, để giữ cho tập training lớn, chúng ta cho phép tập validation nhỏ Thứ hai, các tập training có sự chồng chéo đáng kể, nghĩa là bất kỳ hai tập training nào cũng chia sẻ K - 2 phần dữ liệu chung

K thường là 10 hoặc 30 Khi K tăng, tỷ lệ các mẫu huấn luyện tăng lên và chúng ta có được các ước lượng mạnh mẽ hơn, nhưng tập validation trở nên nhỏ hơn Hơn nữa, có chi phí để huấn luyện bộ phân loại K lần, và chi phí này tăng khi K tăng Khi N tăng, K có thể nhỏ hơn; nếu N nhỏ, K nên lớn để đảm bảo có đủ các tập huấn luyện lớn Một trường hợp cực đoan của K-fold cross-validation là leave-one-out, trong đó, cho một tập dữ liệu gồm N mẫu, chỉ có một mẫu bị bỏ qua để làm tập validation, và huấn luyện sử dụng N - 1 mẫu còn lại Chúng ta thu được N cặp riêng biệt bằng cách bỏ qua một mẫu khác nhau ở mỗi vòng lặp Phương pháp này thường được sử dụng trong các ứng dụng như chẩn đoán y tế, nơi dữ liệu được gán nhãn khó khăn Leave-one-out không cho phép stratification Gần đây, với việc tính toán trở nên rẻ hơn, đã trở thành khả năng để thực hiện nhiều lần chạy của K-fold cross-validation, ví dụ như 10×10-fold, và sử dụng trung bình của các trung bình để có được ước lượng lỗi đáng tin cậy hơn (Bouckaert 2003)

19.6.2 5 × 2 Cross-Validation

Dietterich (1998) đề xuất phương pháp 5 × 2 cross-validation, trong đó sử dụng các tập huấn luyện và xác thực có kích thước bằng nhau Chúng ta chia tập dữ liệu X ngẫu nhiên thành hai phần, 𝑋1(1) và 𝑋1(2), tạo thành cặp đầu tiên của tập huấn luyện và tập xác thực, 𝑇1 = 𝑋1(1) và 𝑉1 = 𝑋1(2) Sau đó, chúng ta hoán đổi vai trò của hai nửa và thu được cặp thứ hai: 𝑇2 = 𝑋1(2) và 𝑉2 = 𝑋1(1) Đây là fold

đầu tiên; 𝑋𝑖(𝑗)chỉ ra nửa thứ j của fold thứ i

Để thu được fold thứ hai, chúng ta xáo trộn X một cách ngẫu nhiên và chia fold mới này thành hai phần, 𝑋2(1) và 𝑋2(2) Điều này có thể được thực hiện bằng cách rút ngẫu nhiên các phần này từ X mà không có sự thay thế, tức là 𝑋(1) ∪

Trang 17

𝑋1(2) = 𝑋2(1) ∪ 𝑋2(2) = X Sau đó, chúng ta hoán đổi hai nửa này để thu được một cặp khác Chúng ta làm điều này cho ba fold nữa và vì từ mỗi fold, chúng ta thu được hai cặp, khi thực hiện năm fold, chúng ta thu được mười tập huấn luyện và xác thực:

Tất nhiên, chúng ta có thể thực hiện điều này cho nhiều hơn năm fold và thu được nhiều tập huấn luyện/xác thực hơn, nhưng Dietterich (1998) chỉ ra rằng sau năm fold, các tập này chia sẻ nhiều ví dụ và chồng lắp đến mức các thống kê tính toán từ các tập này, chẳng hạn như tỷ lệ lỗi xác thực, trở nên quá phụ thuộc và không cung cấp thông tin mới Ngay cả với năm fold, các tập giao nhau và các thống kê phụ thuộc vào nhau, nhưng chúng ta có thể chấp nhận điều này cho đến năm fold Tuy nhiên, nếu chúng ta có ít hơn năm fold, chúng ta chỉ có ít dữ liệu hơn (ít hơn mười tập) và sẽ không có một mẫu lớn đủ để phù hợp với một phân phối và kiểm tra giả thuyết của chúng ta

Bảng 19.1: Ma trận nhầm lẫn cho hai lớp

19.6.3 Bootstrapping

Để tạo ra nhiều mẫu từ một mẫu duy nhất, một phương pháp thay thế cho cross-validation là bootstrap, nó tạo ra các mẫu mới bằng cách lấy các trường hợp từ mẫu gốc với việc thay thế Chúng ta đã thấy việc sử dụng bootstrap trong phần 17.6 để tạo ra các tập huấn luyện cho các bộ phân loại khác nhau trong bagging Các mẫu bootstrap có thể chồng chéo nhiều hơn các mẫu cross-validation và do

Trang 18

đó các ước tính từ chúng có sự phụ thuộc cao hơn; tuy nhiên, đây được coi là cách tốt nhất để thực hiện tái lấy mẫu cho các tập dữ liệu rất nhỏ Trong bootstrap, chúng ta lấy mẫu N trường hợp từ một tập dữ liệu có kích thước N với việc thay thế Tập dữ liệu gốc được sử dụng làm tập xác thực Xác suất chúng ta chọn một trường hợp là 1/N; xác suất chúng ta không chọn nó là 1 - 1/N Xác suất chúng ta không chọn nó sau N lần rút là

(1 −𝑁)1 𝑁 ≈ 𝑒−1 = 0.368

Điều này có nghĩa rằng dữ liệu huấn luyện chứa khoảng 63,2% các trường hợp; tức là hệ thống sẽ không được huấn luyện trên 36,8% dữ liệu, và ước tính lỗi sẽ thiên về tiêu cực Giải pháp là sao chép, tức là lặp lại quá trình nhiều lần và xem xét hành vi trung bình

19.7 Đo lường hiệu suất của bộ phân loại

Cho bài toán phân loại, đặc biệt là đối với bài toán hai lớp, đã được đề xuất một loạt các độ đo khác nhau Có bốn trường hợp có thể xảy ra, như được thể hiện trong bảng 19.1 Đối với một ví dụ tích cực, nếu dự đoán cũng là tích cực, đó là một dương tính chính xác; nếu dự đoán của chúng ta là tiêu cực đối với một ví dụ tích cực, đó là một âm tính sai Đối với một ví dụ tiêu cực, nếu dự đoán cũng là tiêu cực,

Bảng 19.2 Độ đo hiệu suất được sử dụng trong bài toán hai lớp

Chúng ta có một true negative (đúng âm), và chúng ta có một false positive (sai dương) nếu chúng ta dự đoán một ví dụ âm là dương

Trang 19

Trong một số bài toán hai lớp, chúng ta phân biệt giữa hai lớp và do đó hai loại lỗi, false positive (dương giả) và false negative (âm giả) Các đo lường khác nhau phù hợp trong các tình huống khác nhau được nêu trong bảng 19.2 Hãy tưởng tượng một ứng dụng xác thực nơi người dùng đăng nhập vào tài khoản của họ bằng giọng nói Một false positive là đăng nhập sai của một kẻ giả mạo và một false negative là từ chối một người dùng hợp lệ Rõ ràng rằng hai loại lỗi không tương đương; lỗi false positive nghiêm trọng hơn nhiều Tỷ lệ true positive, tp-rate, còn được gọi là tỷ lệ đúng, đo lường tỷ lệ bao nhiêu người dùng hợp lệ chúng ta xác thực và tỷ lệ false positive, fp-rate, còn được gọi là tỷ lệ báo động sai, đo lường tỷ lệ bao nhiêu kẻ giả mạo chúng ta chấp nhận nhầm

Giả sử hệ thống trả về 𝑃̂(C1|x), xác suất của lớp positive, và đối với lớp negative, chúng ta có 𝑃̂ (C2|x) = 1 - 𝑃̂ (C1|x), và chúng ta chọn "positive" nếu 𝑃̂ (C1|x) > θ Nếu θ gần bằng 1, chúng ta rất ít khi chọn lớp positive; tức là, chúng ta sẽ không có false positive nhưng cũng không có nhiều true positive Khi chúng ta giảm giá trị của θ để tăng số lượng true positive, chúng ta đối mặt với nguy cơ giới thiệu false positive

Với các giá trị khác nhau của θ, chúng ta có thể thu được một số cặp giá trị (tp-rate, fp-rate) và kết nối chúng để tạo thành đường cong đặc trưng của bộ nhận dạng (ROC curve), như được hiển thị trong hình 19.3a Lưu ý rằng các giá trị khác nhau của θ tương ứng với các ma trận lỗi khác nhau cho hai loại sai sót và đường cong ROC cũng có thể được xem là hành vi của một bộ phân loại

Trang 20

Hình 19.3 (a) Đường cong ROC điển hình

Mỗi bộ phân loại có một ngưỡng cho phép chúng ta di chuyển trên đường cong này và chúng ta quyết định trên một điểm, dựa trên sự quan trọng tương đối giữa kết quả đúng và các báo động sai, tức là số lượng true positives và false positives Diện tích dưới đường cong ROC được gọi là AUC (Area Under the Curve) (b) Một bộ phân loại được ưa chuộng nếu đường cong ROC của nó gần với góc trên bên trái (AUC lớn hơn) B và C được ưa chuộng hơn A; B và C được ưa chuộng dưới các ma trận lỗi khác nhau

Lý tưởng nhất, một bộ phân loại có tp-rate bằng 1 và fp-rate bằng 0, và do đó, một bộ phân loại càng tốt khi đường cong ROC của nó càng gần góc trên bên trái Trên đường chéo, chúng ta đưa ra cùng số quyết định đúng và sai, và đây là tình huống tồi nhất mà một bộ phân loại có thể làm (bất kỳ bộ phân loại nào nằm dưới đường chéo có thể được cải thiện bằng cách đảo ngược quyết định của nó) Cho hai bộ phân loại, chúng ta có thể nói rằng một bộ phân loại tốt hơn bộ phân loại khác nếu đường cong ROC của nó nằm trên đường cong ROC của bộ phân loại kia; nếu hai đường cong giao nhau, chúng ta có thể nói rằng hai bộ phân loại đó tốt hơn trong các điều kiện mất mát khác nhau, như được thể hiện trong hình 19.3b

Đường cong ROC cho phép phân tích trực quan; nếu chúng ta muốn giảm đường cong thành một con số duy nhất, chúng ta có thể làm điều này bằng cách tính diện tích dưới đường cong (AUC) Một bộ phân loại lý tưởng có AUC bằng 1 và các giá trị AUC của các bộ phân loại khác nhau có thể được so sánh để đưa ra đánh giá tổng quát về hiệu suất trung bình qua các điều kiện mất mát khác nhau Trong truy xuất thông tin, có một cơ sở dữ liệu gồm các bản ghi; chúng ta tạo một truy vấn, ví dụ như sử dụng một số từ khóa, và hệ thống (cơ bản là một bộ phân loại hai lớp) trả về một số bản ghi Trong cơ sở dữ liệu, có các bản ghi liên quan và đối với một truy vấn, hệ thống có thể truy xuất một số trong số chúng (true positives) nhưng có thể không truy xuất hết (false negatives); nó cũng có thể truy xuất sai các bản ghi không liên quan (false positives) Tập hợp các bản ghi liên quan và được truy xuất có thể được minh họa bằng sơ đồ Venn, như được hiển thị trong hình 19.4a Độ chính xác (precision) là số bản ghi được truy xuất và có liên quan chia cho tổng số bản ghi được truy xuất; nếu độ chính xác bằng 1, tất cả các bản ghi được truy xuất có thể có liên quan, nhưng vẫn có thể có các bản ghi có liên quan nhưng không được truy xuất Độ phục hồi (recall) là số bản ghi có liên quan được truy xuất chia cho tổng số bản ghi có liên quan; ngay cả khi độ phục hồi bằng 1, tất cả các bản ghi có liên quan có thể được truy xuất nhưng cũng

Trang 21

có thể có các bản ghi không liên quan được truy xuất, như được hiển thị trong hình 19.4c Tương tự như đường cong ROC, với các giá trị ngưỡng khác nhau, người ta có thể vẽ đường cong cho độ chính xác và độ phục hồi

Từ một góc độ khác nhưng với cùng mục đích, có hai độ đo là độ nhạy và độ đặc hiệu Độ nhạy tương đương với tp-rate và recall Độ đặc hiệu là mức độ chúng ta phát hiện được các trường hợp âm, tức là số true negatives chia cho tổng số negatives; điều này bằng 1 trừ đi tỷ lệ false alarm rate Người ta cũng có thể vẽ đường cong độ nhạy và độ đặc hiệu bằng cách sử dụng các ngưỡng khác nhau

Trong trường hợp K > 2 lớp, nếu chúng ta sử dụng lỗi 0/1, ma trận nhầm lẫn lớp là một ma trận K×K, trong đó phần tử (i, j) chứa số lượng các trường hợp thuộc lớp Ci nhưng được gán vào lớp Cj Lý tưởng, tất cả các phần tử nằm ngoài đường chéo chính của ma trận nên bằng 0, tức không có sai phân lớp Ma trận nhầm lẫn lớp cho phép chúng ta xác định được các loại sai phân lớp nào xảy ra, chẳng hạn nếu có hai lớp thường bị nhầm lẫn với nhau Hoặc, chúng ta có thể xác định K bài toán phân loại hai lớp riêng biệt, mỗi bài toán phân loại một lớp khỏi K - 1 lớp còn lại

19.8 Interval Estimation

Hãy cùng xem lại về ước lượng khoảng (interval estimation) mà chúng ta sẽ sử dụng trong kiểm định giả thuyết Một bộ ước lượng điểm (point estimator), ví dụ như bộ ước lượng hợp lý tối đa (maximum likelihood estimator), chỉ định một giá trị cho một tham số θ Trong ước lượng khoảng, chúng ta xác định một khoảng giá trị mà θ có thể nằm trong đó với một mức độ tin cậy nhất định Để có được bộ ước lượng khoảng như vậy, chúng ta sử dụng phân phối xác suất của bộ ước lượng điểm

Trang 22

Hình 19.4 (a) Định nghĩa của độ chính xác (precision) và độ phủ (recall) sử dụng

biểu đồ Venn (b) Độ chính xác là 1; tất cả các bản ghi được truy xuất đều có ý nghĩa nhưng có thể có những bản ghi có ý nghĩa nhưng không được truy xuất (c) Độ phủ là 1; tất cả các bản ghi có ý nghĩa đều được truy xuất nhưng cũng có thể có các bản ghi không có ý nghĩa được truy xuất

Ví dụ, giả sử chúng ta đang cố gắng ước tính giá trị trung bình μ của một phân phối chuẩn từ một mẫu 𝑋 = {𝑥𝑡}𝑡=1𝑁 𝑚 = ∑ 𝑥𝑡 𝑡/𝑁 là giá trị trung bình mẫu và là trình ước lượng điểm cho giá trị trung bình m là tổng các biến ngẫu nhiên có phân phối chuẩn, do đó m cũng có phân phối chuẩn, m ∼ N(μ, σ2/N) Chúng ta định nghĩa thống kê với phân phối chuẩn hóa:

(𝑚 − 𝜇)𝜎/√𝑁 ~𝑍

Chúng ta biết rằng 95% của Z nằm trong khoảng (−1.96, 1.96), tức là P{−1.96 < Z < 1.96} = 0.95, và chúng ta có thể viết (xem hình 19.5)

𝑃 {−1.96 < √𝑁(𝑚 − 𝜇)𝜎 < 1.96} = 0.95

Trang 23

hoặc tương đương

𝑃 {𝑚 − 1.96 𝜎

√𝑁 < 𝜇 < 𝑚 + 1.96𝜎

√𝑁} = 0.95

Hình 19.5: 95% của phân phối chuẩn đơn vị nằm giữa -1.96 và 1.96

Điều đó có nghĩa là "với mức tin cậy 95%", μ sẽ nằm trong khoảng từ m - 1.96σ /√N đến m + 1.96σ /√N đơn vị so với trung bình mẫu Đây là một khoảng tin cậy hai mặt Với mức tin cậy 99%, μ sẽ nằm trong khoảng từ m - 2.58σ /√N đến m + 2.58σ /√N; nghĩa là, nếu chúng ta muốn có mức tin cậy cao hơn, khoảng tin cậy sẽ trở nên lớn hơn Khoảng tin cậy sẽ trở nên nhỏ hơn khi kích thước mẫu N tăng lên

Điều này có thể được tổng quát hóa cho bất kỳ độ tin cậy yêu cầu nào như sau Chúng ta ký hiệu zα để:

P {Z > 𝑧α} = α , 0 < α < 1

Vì Z là đối xứng xung quanh giá trị trung bình, nên 𝑍1−𝛼/2 = −𝑍𝛼/2, và P{X < −𝑍𝛼/2} = P{X > 𝑍𝛼/2 } = α/2 Do đó, với bất kỳ mức độ tin cậy đã chỉ định là 1 - α, chúng ta có:

Trang 24

P {−𝑧𝛼/2 < 𝑍 < 𝑧𝛼/2} = 1 – α Và

𝑃 {−𝑍𝛼/2 < √𝑁(𝑚 − 𝜇)𝜎 < 𝑍𝛼/2} = 1 − 𝛼 Hoặc

𝑃 {𝑚 − 𝑍𝛼/2 𝜎

√𝑁 < 𝜇 < 𝑚 + 𝑍𝛼/2𝜎

𝑃{𝑚 − 1.64 𝜎

√𝑁 < 𝜇} = 0.95

và (m - 1.64σ /√N, ∞) là một khoảng tin cậy một chiều phía trên với độ tin cậy 95% cho μ, định nghĩa một giới hạn dưới Tổng quát hóa, một khoảng tin cậy một chiều với độ tin cậy 100(1 - α) % cho μ có thể được tính từ

𝑆2 = ∑(𝑥𝑡 − 𝑚)2/(𝑁 − 1)

Thay vào đó, ta sử dụng 𝑆2thay cho σ2 Ta biết rằng khi 𝑥𝑡 ~ N(μ, σ2), thì

(N - 1) 𝑆2/σ2tuân theo phân phối chi-square với N - 1 độ tự do Chúng ta cũng biết rằng m và 𝑆2 là độc lập Khi đó, √N(m - μ)/S tuân theo phân phối t với N - 1 độ tự do (xem phần A.3.7), được ký hiệu là

Ngày đăng: 22/07/2024, 16:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w