Hình 2.4: Mơ hình thuật tốn Rừng ngẫu nhiên

Một phần của tài liệu Luận văn thạc sỹ: ÁP DỤNG MỘT SỐ THUẬT TOÁN HỌC MÁY TRONG NHẬN DẠNG TIN TUYỂN DỤNG GIẢ (Trang 40 - 44)

một tập hợp của hàng trăm Decision Tree, trong đĩ mỗi Decision Tree được tạo nên ngẫu nhiên từ việc tái chọn mẫu (chọn random 1 phần của data để xây dựng) và random các biến từ tồn bộ các biến trong trong data. Với một cơ chế như vậy, Random Forest cho ta một kết quả chính xác rất cao nhưng đánh đổi bằng việc ta khơng thể hiểu cơ chế hoạt động của thuật tốn này do cấu trúc quá phức tạp của mơ hình này - do vậy thuật tốn này là một trong những phương thức Black Box - tức ta sử dụng và cĩ được kết quả chứ khơng thể giải thích được cơ chế hoạt động của mơ hình.

2.4.3.Thuật tốn K-Nearest Neighbor (KNN)

Thuật tốn KNN là một trong những phương pháp học cĩ giám sát tức dựa trên biến mục tiêu đã được xác định trước đĩ, thuật tốn sẽ xem xét dữ liệu đã chứa biến mục tiêu (đã phân loại) để “học” và tìm ra những biến cĩ thể tác động đến biến mục tiêu.

KNN dựa trên giả định là những thứ tương tự hay cĩ tính chất gần giống nhau sẽ nằm ở vị trí gần nhau, do đĩ KNN được xây dựng trên các cơng thức tốn học phục vụ để tính khoảng cách giữa 2 điểm dữ liệu (Data Points) để xem xét mức

độ giống nhau của chúng.

KNN cịn gọi là “Lazy learning method” vì tính đơn giản của nĩ, cĩ nghĩa là quá trình training khơng quá phức tạp để hồn thiện mơ hình (tất cả các dữ liệu đào tạo cĩ thể được sử dụng để kiểm tra mơ hình KNN). Điều này làm cho việc xây dựng mơ hình nhanh hơn nhưng giai đoạn thử nghiệm chậm hơn và tốn kém hơn về mặt thời gian và bộ nhớ lưu trữ, đặc biệt khi bộ dữ liệu lớn và phức tạp với nhiều biến khác nhau.

Trong trường hợp xấu nhất, KNN cần thêm thời gian để quét tất cả các điểm dữ liệu và việc này sẽ cần nhiều khơng gian bộ nhớ hơn để lưu trữ dữ liệu. Ngồi ra KNN khơng cần dựa trên các tham số khác nhau để tiến hành phân loại dữ liệu, khơng đưa ra bất kỳ kết luận cụ thể nào giữa biến đầu vào và biến mục tiêu, mà chỉ dựa trên khoảng cách giữa data point cần phân loại với data point đã phân loại trước đĩ. Đây là một đặc điểm cực kỳ hữu ích vì hầu hết dữ liệu trong thế giới thực tại khơng thực sự tuân theo bất kỳ giả định lý thuyết nào ví dụ như phân phối chuẩn trong thống kê.

Các bước thực hiện thuật tốn cĩ thể đơn giản như sau:

Bước 1: Chuẩn bị dữ liệu (dữ liệu đã được làm sạch, chuyển đổi, sẵn sàng đưa vào phân tích), chia tập dữ liệu ra làm 2: train dataset (để train model) và test dataset (để kiểm chứng mơ hình)

Bước 2: Chọn một số K bất kỳ, K là một số nguyên, tức là số điểm dữ liệu đã phân loại cĩ khoảng cách ngần nhất (láng giềng gần nhất) với điểm dữ liệu chưa phân loại.

Bước 3: Tính tốn khoảng cách giữa điểm dữ liệu chưa phân loại với các điểm dữ liệu đã được phân loại. Với kết quả cĩ được sắp xếp theo thứ tự với giá trị khoảng cách từ nhỏ nhất đến lớn nhất.

Chọn ra các điểm dữ liệu cĩ giá trị khoảng cách nhỏ nhất với điểm dữ liệu cần phân loại dựa trên K cho trước, ví dụ nếu K = 2 tức chọn ra 2 điểm dữ liệu gần nhất, K = 3 là 3 điểm dữ liệu gần nhất.

Tiếp theo xem xét giá trị của biến mục tiêu (biến phân loại) của các điểm dữ liệu gần nhất, chọn ra giá trị xuất hiện nhiều nhất và gán cho điểm dữ liệu chưa phân loại, ví dụ K = 3, trong đĩ cĩ 2 điểm dữ liệu được phân loại là A, điểm cịn lại là B thì điểm dữ liệu chưa phân loại lúc này sẽ được phân loại là A.

Bước 4: Kiểm chứng lại độ hiệu quả của model trên test dataset, và sử dụng các phương pháp đánh giá khác nhau. (các phương pháp đánh giá mơ hình phân loại sẽ được chúng tơi trình bày tổng quan trong bài viết sau).

Bước 5 : Thay đổi giá trị K khác nhau và thực hiện lại quy trình để tìm được K tối ưu nhất cho tập dữ liệu.

2.4.4.Thuật tốn SVM

SVM (Support Vector Machine) là một thuật tốn Học máy cĩ giám sát được sử dụng rất phổ biến ngày nay trong các bài tốn phân lớp. SVM dạng chuẩn nhận dữ liệu đầu vào và phân loại chúng vào hai lớp khác nhau. Do đĩ, SVM là một thuật tốn phân loại nhị phân. Với một bộ các dữ liệu huấn luyện thuộc hai lớp cho trước, thuật tốn huấn luyện SVM xây dựng để phân phân loại các dữ liệu khác vào hai thể loại đĩ. Một mơ hình SVM là một cách biểu diễn các điểm trong khơng gian và lựa chọn ranh giới giữa hai thể loại sao cho khoảng cách từ các dữ liệu huấn luyện tới ranh giới là xa nhất cĩ thể. Các dữ liệu mới cũng được biểu diễn trong cùng một khơng gian và được thuật tốn dự đốn thuộc một trong hai thể loại đĩ tùy vào ví dụ đĩ nằm ở phía nào của ranh giới.

SVM xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một một khơng gian nhiều chiều hoặc vơ hạn chiều, cĩ thể được sử dụng cho phân loại, hồi quy hoặc các nhiệm vụ khác.

Một cách trực giác, để phân loại tốt nhất thì các siêu phẳng nằm ở càng xa các điểm dữ liệu của tất cả các lớp (gọi là hàm lề) càng tốt, vì nĩi chung lề càng lớn thì sai số tổng quát hĩa của thuật tốn phân loại càng nhỏ.

Trong nhiều trường hợp, khơng thể phân chia các lớp dữ liệu một cách tuyến tính trong một khơng gian ban đầu được dùng để mơ tả một vấn đề. Vì vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong khơng gian ban đầu vào một khơng gian mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong khơng gian mới.

Để việc tính tốn được hiệu quả, ánh xạ sử dụng trong thuật tốn SVM chỉ địi hỏi tích vơ hướng của các vector dữ liệu trong khơng gian mới cĩ thể được tính dễ dàng từ các tọa độ trong khơng gian cũ. Tích vơ hướng này được xác định bằng một hàm hạt nhân K(x,y) phù hợp.

cĩ tích vơ hướng với một vectơ cố định trong khơng gian đĩ là một hằng số. Vector xác định một siêu phẳng sử dụng trong SVM là một tổ hợp tuyến tính của các vector dữ liệu luyện tập trong khơng gian mới với các hệ số αi.

Với siêu phẳng lựa chọn như trên, các điểm x trong khơng gian đặc trưng được

ánh xạ vào một siêu mặt phẳng là các điểm thỏa mãn: Σi αi K(xi,x) = hằng số. Nếu K(x,y) nhận giá trị ngày càng nhỏ khi y xa dần khỏi x thì mỗi số hạng của tổng trên được dùng để đo độ tương tự giữa x với điểm xi tương ứng trong dữ liệu luyện tập.

Như vậy, tác dụng của tổng trên chính là so sánh khoảng cách giữa điểm cần dự đốn với các điểm dữ liệu đã biết. Lưu ý là tập hợp các điểm x được ánh xạ vào một siêu phẳng cĩ thể cĩ độ phức tạp tùy ý trong khơng gian ban đầu, nên cĩ thể phân tách các tập hợp thậm chí khơng lồi trong khơng gian ban đầu.

Phân loại thống kê là một nhiệm vụ phổ biến trong Học máy. Trong mơ hình học cĩ giám sát, thuật tốn được cho trước một số điểm dữ liệu cùng với nhãn của chúng thuộc một trong hai lớp cho trước. Mục tiêu của thuật tốn là xác định một điểm dữ liệu mới sẽ được thuộc về lớp nào.

Mỗi điểm dữ liệu được biểu diễn dưới dạng một vector p chiều và ta muốn biết liệu cĩ thể chia tách hai lớp dữ liệu bằng một siêu phẳng p - 1 chiều, đây gọi là phân loại tuyến tính. Cĩ nhiều siêu phẳng cĩ thể phân loại được dữ liệu. Một lựa chọn hợp lý trong chúng là siêu phẳng cĩ lề lớn nhất giữa hai lớp.

Xây dựng bài tốn SVM

Giả sử rằng các cặp dữ liệu của train dataset là (, ), (, ),.., (d, d) với vector thể hiện đầu vào của một điểm dữ liệu và nhãn của điểm dữ liệu đĩ, d là số chiều của dữ liệu và N là số điểm dữ liệu. Giả sử rằng nhãn của mỗi điểm dữ liệu được xác định bởi = 1 (lớp 1) hoặc = -1 (lớp 2).

Để dễ hình dung, Ta cùng xét trường hợp trong khơng gian hai chiều dưới đây, các phép tốn hồn tồn cĩ thể được tổng quát lên khơng gian nhiều chiều.

Hình 2.5: Phân tích bài tốn SVM

Một phần của tài liệu Luận văn thạc sỹ: ÁP DỤNG MỘT SỐ THUẬT TOÁN HỌC MÁY TRONG NHẬN DẠNG TIN TUYỂN DỤNG GIẢ (Trang 40 - 44)

Tải bản đầy đủ (DOCX)

(95 trang)
w