Cách lựa chọn đặc trưng dữ liệu một cách hiệu quả?

Một mô hình học máy đạt độ chính xác cao cần một tập đặc trưng dữ liệu phù hợp

Trung Truong
Coding For Fun
5 min readMay 1, 2020

--

Photo by franki on Unsplash

Đặc trưng dữ liệu

Trong lĩnh vực Trí tuệ nhân tạo, tồn tại nhóm các bài toán phân lớp thuộc phương pháp học có giám sát (supervised machine learning). Mục tiêu của các bài toán này chính là tạo ra một mô hình giúp phân lớp dữ liệu đầu vào thành các lớp khác nhau thông qua việc “dạy” cho các mô hình cách nhìn nhận và đánh giá dữ liệu.

Mỗi lớp khác nhau thì tương ứng với tập đặc trưng khác nhau, một quả táo bị hỏng thì có các đặc trưng như ôi thiu, sẫm màu, bốc mùi v.v... Nếu bạn dạy cho một đứa trẻ về cách phân biệt giữa một quả táo hỏng và một quả táo bình thường bằng những đặc điểm trên thì có lẽ ở những lần sau đó nó sẽ phân biệt được. Nhưng nếu bạn dạy những đứa trẻ đánh giá thông qua giá tiền, dĩ nhiên, đó sẽ là một thử thách khó cho đứa trẻ bởi giá tiền không phải là đặc trưng gắn liền với quả táo, nó chỉ là thước đo về mặt giá trị do con người quy ước và đặt ra

Lựa chọn đặc trưng dữ liệu phù hợp

Việc lựa chọn các đặc trưng phù hợp lẫn về chất lượng và số lượng luôn là công việc đầu tiên mà bạn cần phải nghĩ đến. Tìm kiếm được một tập đặc trưng mang nhiều thông tin sẽ giúp bạn giảm thiểu được thời gian xây dựng mô hình và nâng cao độ chính xác.

Vậy lựa chọn như thế nào? Có thể bạn sẽ dựa vào kiến thức nghiệp vụ của bạn, trực giác của bạn để lựa chọn đặc trưng phù hợp. Nhưng nếu đó là một bài toán mà nhận thức nghiệp vụ của bạn về bài toán lại bằng 0, bạn sẽ làm như thế nào? Bạn sẽ lựa từng tập đặc trưng, đánh giá độ chính xác của từng mô hình xây dựng được và so sánh chúng? Nếu số lượng đặc trưng dữ liệu lên đến hàng trăm hoặc thậm chí hàng nghìn, bạn sẽ cần một nỗ lực và một sự kiên nhẫn phi thường đấy.

May mắn thay, có một thước đo giúp bạn đánh giá liệu rằng đặc trưng bạn chọn có thực sự mang lại nhiều thông tin hay không, đó chính là Information Gain (IG), và Information Gain dựa trên khái niệm Entropy.

Entropy là gì?

Entropy là một phép đo đo sự bất ổn định giữa các lớp có trong một tập dữ liệu. Một góc nhìn khác về kỹ thuật, Entropy được tính toán dựa vào công thức như sau [1]:

Giả sử, tôi có 10 quả táo, với 2 tập con là táo hỏng và táo bình thường. Lần lượt tôi cho các giá trị của 2 thuộc tính này thay đổi và kết quả Entropy thay đổi tương ứng như sau

Bảng biến thiên Entropy

Bạn thấy đấy, Entropy càng bé thì mức độ “tinh khiết” của tập càng lớn, và ngược lại khi cả 2 tập cân bằng thì giá trị Entropy lại lớn nhất. Vậy nếu bây giờ, mỗi lớp táo hỏng và táo bình thường được phân loại nhờ vào duy nhất đặc trưng về màu sắc, trong đó bao gồm 2 thuộc tính lần lượt là màu sẫm và màu tươi thì dĩ nhiên rằng mức độ tinh khiết của tập táo hỏng hoặc táo bình thường sẽ phụ thuộc vào mức độ tinh khiết của tập đặc trưng về màu sắc có trong 10 quả táo.

Information Gain (IG) là gì?

Tuy nhiên trong thực tế, đôi khi cũng có sự nhầm lẫn, một quả táo sẫm màu chưa chắc là quả táo hư hoặc ngược lại, vì thế chúng ta sẽ không có sự tương quan về theo tỉ lệ 1:1. Vậy nên chúng ta mới cần thước đo Information Gain (IG), Information Gain được thể hiện theo công thức như sau¹.

Parent chính là tập cha, hay trong ngữ cảnh hiện tại đó chính là tập táo đã được phân loại hỏng hoặc bình thường. Children lần lượt là các tập thuộc tính con có trong đặc trưng được sử dụng cho việc phân loại — màu sẫm hoặc màu tươi. Xét ví dụ như sau.

Sơ đồ phân bố đặc trưng

Tính Entropy các tập tương ứng.

Tính IG.

Trong thực tế, sẽ có nhiều hơn một đặc trưng cần xét đến trong tập dữ liệu. IG càng lớn thì đặc trưng lựa chọn mang càng nhiều thông tin. Vì vậy, hãy tính toán IG của các đặc trưng và thực hiện so sánh chúng để chọn ra đặc trưng phù hợp để xây dựng mô hình.

Tài liệu tham khảo

[1] Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking by Foster Provost and Tom Fawcett

--

--