Thuật toán là các chiến bình tinh nhuệ và mạnh mẽ cho một mô hình machine learning phức tạp. Đồng thời, các thuật toán machine learning cũng là nền tảng gốc trong xử lý dữ liệu cũng như huấn luyện mô hình.

Bài viết này sẽ nhắc tới 10 thuật toán Machine learning chủ yếu cũng như các ứng dụng của những thuật toán này.

Qua bài viết, người đọc sẽ hiểu biết sâu hơn về chủ đề này, đồng thời đạt được những kiến thức cần thiết về các thuật toán machine learning.

Bài viết cũng sẽ giải đáp những câu hỏi như: mục tiêu của các thuật toán machine learning, nơi sử dụng, cách sử dụng, và cách thức sử dụng các thuật toán này.

1. Naive Bayes

Naive Bayes là một thuật toán machine learning dựa trên thuyết Bayes, trong đó giả định rằng các yếu tố dự đoán là độc lập với nhau. Đây là một thuật toán machine learning đơn giản với năng lực cao, và vô cùng phù hợp cho mô hình hóa dự đoán.

Naïve Bayes được gọi là “naïve” (ngây thơ) do thuật toán này giả định rằng các biến đầu vào đều độc lập – một giả định phi thực tế với dữ liệu thật. Tuy nhiên, kỹ thuật này lại vẫn đạt hiệu quả rất cao trên nhiều vấn đề phức tạp.

Thuyết Bayes là một phương thức để đo xác suất có điều kiện – tức xác suất xảy ra một sự kiện trong điều kiện cụ thể, trong đó, sự kiện đó có quan hệ với một hay nhiều sự kiện khác.

Cụ thể, xác suất của việc bạn tìm được chỗ đỗ xe sẽ liên quan tới thời gian bạn đỗ xe, địa điểm đỗ xe, cũng như những thao tác đỗ xe…

Thông qua việc sử dụng thuật toán machine learning này, ta sẽ học được cách xử lý các phân phối xác suất của những biến trong bộ dữ liệu, cũng như dự đoán các xác suất phản ứng biến thiên trên một giá trị xác định, dựa vào các đặc điểm của thời điểm mới.

Trong Naïve Bayes, bộ phân loại sẽ tự giả định rằng, sự xuất hiện của các đặc điểm trong cùng cấp là không liên quan tới nhau.

Mô hình của thuật toán này bao gồm 2 loại xác suất, có thể được tính trực tiếp từ dữ liệu huấn luyện, cụ thể như sau:

1) Xác suất của từng cấp, và 2) Xác suất có điều kiện của từng cấp dựa trên mỗi giá trị x

Trong machine learning, ta sẽ lựa chọn giả định tốt nhất (c) từ một dữ liệu (x) cho sẵn. Đối với bài toán phân loại, giả định (c) sẽ là cấp của dữ liệu mới (x). Và Thuyết Bayes sẽ giúp ta có thể tính toán xác suất xảy ra một giả định, dựa trên các lý thuyết đã biết sẵn.

Thuyết Bayes được diễn giải như sau:

Trong đó:

  1. P(c|x) = Được gọi là xác suất hậu nghiệm. Tức xác suất giả định h là đúng, với dữ liệu d, trong đó P(c|x)= P(x1| c) P(x2| c)….P(xn| c) P(d)
  2. P(x|c) = Được gọi là khả năng. Tức xác suất tồn tại dữ liệu d trong trường hợp giả định h là đúng.
  3. P(c) = Được gọi là xác suất tiền cấp (Class prior probability). Tức xác suất rằng giả định h là đúng khi chưa xét tới dữ liệu.
  4. P(x) = Được gọi là xác suất tiền dự báo (Predictor prior probability). Tức xác suất tồn tại dữ liệu khi chưa xét tới giả định.

Sau khi tính xác suất hậu nghiệm cho nhiều giả định khác nhau, bạn có thể chọn ra giả định với xác suất cao nhất. Đây sẽ là giả định khả thi nhất, và có thể được coi là giả định hậu nghiệm tối ưu (giả định MAP).

Mô hình xác suất đã được tính có thể được sử dụng để dự đoán các dữ liệu mới, phỏng theo Thuyết Bayes. Nếu dữ liệu có là các giá trị thật, thì thường xảy ra phân phối Gaussian (đường cong chuông hay phân phối chuẩn), và qua đó bạn có thể dễ dàng ước tính các xác suất.

Để có thể ứng dụng, cần phải giảm độ phức tạp của bộ phân loại Bayes. Và thuật toán Naïve Bayes có thể thực hiện được điều này, thông qua việc lập một giả định về tính độc lập có điều kiện trong bộ dữ liệu, giúp bài toán trở nên đơn giản hơn rất nhiều.

Các mô hình sử dụng thuật toán Naïve Bayes thường rất dễ để xây dựng, phù hợp với các bộ dữ liệu lớn, và đạt hiệu quả trên nhiều vấn đề phức tạp khác nhau. Tuy đơn giản, song Naïve Bayes vẫn vượt xa các mô hình phân loại phức tạp khác.

Thuật toán machine learning này có thể được ứng dụng cho rất nhiều tác vụ khác nhau, như phân loại tin tức, phát hiện email spam, nhận diện gương mặt, phân tích cảm xúc, chẩn đoán y tế, nhận diện vân tay, hay thậm chí là dự báo thời tiết.

Không thể phủ nhận sự tuyệt vời của Naïve Bayes với tư cách là một thuật toán machine learning.

Để biết thêm về thuật toán này, bạn có thể thử đọc bài báo “Naïve Bayesian Model” của Nhà khoa học dữ liệu Abhay Kumar.

2. Decision Tree

Decision Tree (cây quyết định) là một trong những thuật toán machine learning được biết đến rộng rãi nhất. Đây là một cấu trúc lưu đồ có dạng như các nhánh cây, được dùng để biểu diễn các quyết định và mọi hệ quả có thể xảy ra của các quyết định đó.

Đây là biểu hiện dạng sơ đồ cho các hướng giải quyết cho một quyết định dựa trên một vài điều kiện cụ thể. Tên gọi “Decision Tree” bắt nguồn từ việc lưu đồ này bắt nguồn từ một hộp duy nhất (rễ), sau đó phân nhánh thành nhiều giải pháp – tựa như các nhánh cây.

“Cây” trong lưu đồ bao gồm 2 thành phần là “nút quyết định” (decision node) và “lá” (leaf). Trong đó, các “lá” là các quyết định hoặc hệ quả cuối cùng, còn các nút lại là kiểm thử của một biến cụ thể. Nút cũng là nơi dữ liệu được phân tách.

Thuật toán Decision Tree là một thuật toán supervised learning, có thể được sử dụng cho cả biến phân cấp và biến liên hệ.

Decision tree được vẽ ngược với phần rễ ở trên đầu. Trong bên trái của hình ảnh, phần chữ in đậm màu đen biểu diễn cho một điều kiện/nút nội bộ (internal node), dựa vào các nhánh cây được phân tách ra.

Phía cuối của các nhánh khi kết thúc phân tách là các quyết định/lá. Trong ví dụ minh họa, thì đây sẽ là 2 trường hợp người đi đường sống hoặc chết, được biểu hiện bởi 2 phần chữ đỏ và xanh lá.

Thuật toán machine learning Decision Tree là một thuật toán supervised learning, chủ yếu được sử dụng trong các bài toán về phân loại.

Có 2 loại Decision Tree chính, đó là Classification Tree (Cây phân loại – với các vấn đề Có/Không) và Regression Tree (Cây hồi quy – dùng cho các loại dữ liệu liên tục).

Các mô hình cây trong đó biến mục tiêu có thể đạt những giá trị cụ thể sẽ được gọi là cây phân loại, trong đó lá biểu hiện cho các nhãn về phân cấp, còn nhánh biểu hiện cho tổng hợp các đặc điểm hình thành phân cấp đó.

Còn nếu biến mục tiêu có thể đạt các giá trị liên tục (thường là số thực), thì cây quyết định sẽ được gọi là cây hồi quy.

Thông thường, khi bắt đầu sử dụng các thuật toán machine learning, ta sẽ giả định bộ dữ liệu huấn luyện là rễ, đồng thời chuộng các giá trị đặc điểm có phân cấp hơn. Nếu các giá trị là liên tục, thì ta sẽ cần rời rạc hóa chúng trước khi xây dựng mô hình.

Các ghi chép sẽ được phân bố đệ quy trên nền tảng các giá trị thuộc tính. Một số cách thức thống kê sẽ được sử dụng để phân phối các thuộc tính về rễ hoặc nút nội bộ của cây quyết định.

Decision Tree có thể được ứng dụng trên rất nhiều lĩnh vực khác nhau, ví dụ như dự đoán và giảm thiểu luồng khách hàng trên các thị trường, phát hiện lừa đảo trong lĩnh vực bảo hiểm, cũng như đánh giá rủi ro tín dụng trong lĩnh vực dịch vụ tài chính – ngân hàng.

Nếu bạn đang tìm kiếm sách về thuật toán machine learning, bạn có thể đọc các sách Understanding Machine Learning: From Theory to Algorithms, Machine Learning for Dummies, và Machine Learning Yearning miễn phí.

3. Linear Regression

Linear Regression (Hồi quy tuyến tính) là một trong những thuật toán machine learning phổ biến nhất, đồng thời cũng là một phương thức vô cùng đơn giản để tiếp cận supervised learning.

Hồi quy tuyến tính là loại hồi quy cơ bản nhất, vốn được phát triển từ lĩnh vực thống kê, sau đó được nghiên cứu như một mô hình giúp phân tích mối tương quan giữa các biến số đầu ra và đầu vào. Hiện tại, phương thức này cũng rất phổ biến trong lĩnh vực machine learning.

Hồi quy tuyến tính là một mô hình hồi quy – tức một mô hình với giả định về mối liên hệ hồi quy giữa nhiều biến đầu vào (x) với một biến đầu ra duy nhất (y). Cụ thể hơn, y có thể được tính bằng phương pháp hồi quy từ giá trị của các biến đầu vào (x).

Trong machine learning, ta sẽ có một bộ các biến đầu vào (x) được sử dụng để xác định biến đầu ra (y). Sẽ tồn tại một mối tương quan giữa x và y, và mục tiêu của machine learning là lượng hóa mối tương quan này.

Trong trường hợp chỉ tồn tại một biến đầu vào (x), phương thức này sẽ được gọi là hồi quy tuyến tính cơ bản. Còn với trường hợp có nhiều biến đầu vào, phương thức sẽ mang tên là hồi quy tuyến tính nhiều biến.

Để có thể hiểu rõ hơn về tính năng ứng dụng của hồi quy tuyến tính, trước tiên hãy tưởng tượng về cách bạn sẽ dùng để sắp xếp các khúc gỗ theo trọng lượng tăng dần.

Cần lưu ý là, bạn không thể cân từng khúc gỗ này, mà phải dự đoán trọng lượng của chúng thông qua chiều cao và chu vi thiết diện (phân tích thị giác), sau đó sắp xếp các khối gỗ này dựa trên các thang đo thị giác nói trên. Và đó chính là định nghĩa của hồi quy tuyến tính.

Ta có thể biểu diễn toán học một mối tương quan hồi quy như sau:

Trong đó:

1) \(y\) là phản hồi

2) Các giá trị \(β\) là hệ số của mô hình, đã được “học” trong quá trình huấn luyện/thử nghiệm mô hình.

3) \(β0 \) là hệ số chặn

4) \(β1\) là hệ số của X1 (đặc tính thứ 1)

5) \(βn\) là hệ số của Xn (đặc tính thứ n)

Đây là các kỹ thuật khác nhau, được sử dụng để học mô hình hồi quy tuyến tính từ dữ liệu. VD: Giải pháp hồi quy đại số cho phương pháp bình phương nhỏ nhất và tối ưu lặp (gradient descent optimization).

Hồi quy tuyến tính đã tồn tại trong hơn 200 năm, và đã được nghiên cứu vô cùng kỹ lưỡng.

Khi sử dụng kỹ thuật này, cần luôn lưu ý phải loại bỏ các biến tương quan cũng như độ nhiễu khỏi dữ liệu (nếu có thể). Kỹ thuật này khá nhanh và đơn giản, và rất phù hợp cho lần đầu tiên thử sức với thuật toán.

Để biết chi tiết hơn về hồi quy tuyến tính, bạn có thể đọc các bài viết “Linear Regression for Machine Learning” của Tiến sỹ Jason Brownlee, một chuyên gia về machine learning.

(Còn nữa)

Theo Techgrabyte

Tin liên quan: