Các ví dụ về phát triển thuật toán năm 2024

Khi nhìn vào cây quyết định các bạn sẽ đưa ra cho mình được những lựa chọn đúng đắn hơn. Như ví dụ trên các bạn sẽ có được gợi ý về việc có nên đi đá bóng hay không. Giả sử trời nắng đẹp các bạn sẽ đưa ra quyết định đi đá bóng. Ngược lại nếu thời tiết mưa, gió mạnh các bạn sẽ ở nhà xem đá bóng chẳng hạn.

Tuy đây là một mô hình cũ nhưng cây quyết định vẫn là sự lựa chọn hữu ích đối với các kỹ sư còn non trẻ. Đứng dưới góc nhìn của một người làm chủ dự án cây quyết định chính là danh sách tối ưu các phương án lựa chọn.

2. Phân loại tự động Bayes (Naïve Bayes Classification)

Phân loại Bayes dựa trên định lý Bayes với những giả định hoàn toàn độc lập (naïve) của các đặc tính. Từ đó cho ra các loại xác xuất đơn giản.

Trong đó: P(A|B) được hiểu là xác suất có điều kiện là A khi biết B, P(A) là xác suất giả thuyết A (tức là tri thức về A là có trước khi dữ liệu B xuất hiện), P(B|A) chính là xác suất có điều kiện B khi biết gỉ thuyết A, P(B) là xác suất của quan sát B mà không có liên quan đến bất kỳ giả thuyết A nào khác.

Các ví dụ về phát triển thuật toán năm 2024

Thuật toán Machine Learning trên được ứng dụng trong một số bài toán sau:

  • Đánh dấu email là spam hay không
  • Phân loại bài viết tin tức thuộc các lĩnh vực như công nghệ, thể thao hay chính trị
  • Kiểm tra đoạn văn để biết chúng mang tích cực hay tiêu cực
  • Sử dụng cho những phần mềm nhận diện khuôn mặt…

3. Thuật toán Machine Learning Hồi quy tuyến tính ( Ordinary Least Squares Regression)

Chắc hẳn với những ai được học về thống kê đều thấy hồi quy tuyến tính thật quen thuộc. Phương pháp được sử dụng để hồi quy trong trường hợp này chính là bình phương nhỏ nhất. Để đơn giản hóa bạn hãy nghĩ về hồi quy tuyến đơn giản chỉ là kẻ một đường thẳng đi qua tập hợp các điểm. Khi có được đường thẳng các bạn tiến hành đo khoảng cách thẳng đứng giữa điểm và đường thẳng. Đường mà các bạn lựa chọn chính là đường có độ dài nhỏ nhất. Ngoài phương pháp bình phương nhỏ nhất còn nhiều phương pháp mà các bạn có thể sử dụng.

Các ví dụ về phát triển thuật toán năm 2024

Mô hình này phù hợp cho các bài toán về dự đoán giá cả (chứng khoán, nhà đất,…)

4. Thuật toán Machine Learning Hồi quy Logistic (Logistic Regression)

Hồi quy là một cách thống kế toàn bộ qua đó nhằm mô hình hóa cho một kết quả nhị thức với một hoặc nhiều hơn một biến giải thích. Cách làm này đo lường mối quan hệ giữa biến phụ thuộc phân loại hoặc nhiều biến độc lập với nhau thông qua cách ước tính xác suất của một hàm logistic, là sự phân bố tích lũy logistic.

Các ví dụ về phát triển thuật toán năm 2024

Hồi quy được sử dụng trong các bài toán như sau:

  • Đếm tín dụng (nhằm đưa ra quyết định nên hay không nên cho khách hàng vay vốn)
  • Kiểm tra mức độ đạt được của một chiến dịch marketing
  • Dự đoán doanh thu một sản phẩm cụ thể
  • Dự đoán thời thời tiết: động đất,…

5. Support Vector Machines (SVM)

SVM được dùng cho bài toán nhị phân. Giả sử đầu bài cho tập hợp các điểm thuộc 2 loại trong môi trường N chiều, SVM là phương pháp để tìm ra N-1 mặt phẳng để ngăn các điểm thành 2 nhóm. Một ví dụ cụ thể đó là cho một tập hợp các thuộc 2 loại như hình mô tả phía dưới, SVM có nhiệm vụ tìm ra một đường thẳng để phân tách những điểm đó thành 2 loại sao cho độ dài khoảng cách giữa đường thẳng và những điểm là xa nhất có thể.

Các ví dụ về phát triển thuật toán năm 2024

Xét trên quy mô SVM đã giải quyết được nhiều vấn đề lớn như hiển thị quảng cáo, phát hiện ra giới tính bằng hình ảnh, phân loại hình ảnh có phạm vi rộng (cần sửa đổi SVM cho phù hợp).

6. Kết hợp nhiều phương pháp (Ensemble Methods)

Đây là phương pháp tích hợp từ nhiều phương pháp khác nhau nhằm dự đoán kết quả. Qua đó rút ra kết luận dựa vào trọng số của từng phương pháp được áp dụng. Dưới đây là mô tả cách làm của phương pháp kết hợp.

Các ví dụ về phát triển thuật toán năm 2024

  • Trung bình sai số (bias): với một số phương pháp các bạn sẽ nhận được sai số nhỏ, ngược lại có những phương pháp lại cho các bạn sai số lớn. Trung bình của hai hoặc nhiều phương pháp các bạn sẽ được một số chấp nhận được. Có thể là số được chấp nhận nhỏ hơn sai số khi sử dụng một phương pháp duy nhất.
  • Giảm độ phụ thuộc vào tập dữ liệu (variance): tập hợp của nhiều ý kiến của nhiều mô hình sẽ tốt hơn là ý kiến của một mô hình. Đối với lĩnh vực tài chính đây là cách đa dạng hóa một – một danh mục hỗn hợp từ nhiều cổ phiếu sẽ thu được tính ổn định hơn là cổ phiếu riêng lẻ.
  • Giảm over-fit: là hiện tượng mà mô hình hoạt động kém với dữ liệu test nhưng lại tốt với training. Với việc sử dụng nhiều mô hình sẽ giảm tối đa được vấn đề nêu ra.

7. Thuật toán sắp xếp gom cụm (Clustering Algorithms)

Gom cụm là việc nhóm tất cả các đối tượng giống nhau vào trong một nhóm. Việc gom cụm có nhiều phương pháp khách nhau, dưới đây là một vài trong số phương pháp đó:

Các ví dụ về phát triển thuật toán năm 2024

  • Gom cụm dựa vào tam điểm (Centroid-based algorithms)
  • Gom cụm dựa vào liên kết (Connectivity-based algorithms)
  • Gom cụm dựa theo xác suất (Probabilistic)
  • Gom cụm dựa vào tỉ lệ mật độ (Density-based algorithms)

8. Phân tích dữ liệu thành phần cốt lõi (Principal Component Analysis-PCA)

PCA là một thuật toán Machine Learning thống kê sử dụng phép biến đổi một tập hợp các dữ liệu từ một không gian nhiều chiều qua không gian ít chiều hơn. Việc làm này nhằm tối ưu việc thể hiện sự biến thiên của tập dữ liệu.

Các ví dụ về phát triển thuật toán năm 2024

Phép biến đổi này tạo ra những ưu điểm với dữ liệu như:

  • Giảm tối đa số lượng không gian chứa dữ liệu nếu chúng có quá nhiều chiều khiến chúng ta khó hình dung.
  • Loại bỏ trục tọa độ cũ thay vào đó là trục tọa độ mới và vẫn đảm bảo độ biến thiên của dữ liệu trên trục tọa độ mới đó.
  • Tạo điều kiện để những liên kết bị ẩn có thể xuất hiện trên không gian mới.
  • Đảm bảo những trục tọa độ trong không gian luôn trực quan đôi một, có thể trong không gian ban đầu các trục có thể khó nhìn.

PCA được ứng dụng trong một số bài toán bao gồm nén, đơn giản hóa luồng dữ liệu để thuận tiện cho quá trình học tập. Các bạn cần chú ý kiến thức miền rất quan trọng để các bạn đưa ra được quyết định có nên dùng PCA hay không. PCA không phù hợp trong trường hợp dữ liệu nhiễu.

9. Singular Value Decomposition

SVD trong đại số tuyến tính là một thừa số của ma trận phức tạp. Ma trận m*n đã xác định M và tồn tại một phân rã thỏa mãn M = UΣV, với U và V là các ma trận đơn nhất và Σ là một ma trận chéo.

Các ví dụ về phát triển thuật toán năm 2024

PCA mà được nhắc ở trên là một ứng dụng từ SVD. Kể cả trong khoa học máy tính những thuật toán liên quan đến nhận dạng khuôn mặt sơ khai đều được ứng dụng từ PCA và SVD để biểu diễn khuôn mặt như là sự kết hợp tuyến tính “egenfaces”. Sau đó kết hợp với khuôn mặt với những tính chất thông qua những phương pháp đơn giản. Cho dù các kỹ thuật hiện đại sẽ làm quá trình diễn ra nhanh hơn nhưng lại phức tạp hơn. Do đó nhiều người vẫn dùng kỹ thuật tương tự.

10. Phân tích dữ liệu thành phần độc lập (Independent Component Analysis)

ICA là kỹ thuật thống kê nhằm mục đích tìm ra các yếu tố còn ẩn dưới các bộ biến ngẫu nhiên, những phép đo hoặc tín hiệu. ICA định nghĩa một mô hình phát sinh cho dữ liệu đa biến quan sát được, và thường được đưa ra như một cơ sở dữ liệu lớn các mẫu. Trong mô hình những biến số liệu được giả định mang tính hỗn hợp tuyến tính của một biến tiềm ẩn bất kỳ, và hệ thống hỗn hợp cũng không rõ ràng. Những biến tiềm ẩn được gán gaussian và hoàn toàn độc lập với nhau, và chúng được gọi là các thành phần độc lập của tập dữ liệu được quan sát.

Các ví dụ về phát triển thuật toán năm 2024

ICA cũng có mối quan hệ với PCA, nhưng thực tế nó là một kỹ thuật mạnh hơn nhiều so với PCA. ICA có khả năng tìm ra những yếu tố tiềm ẩn của nguồn trong khi các phương pháp khác không đảm nhận được. ICA giúp hiển thị hình ảnh kỹ thuật số, cơ sở dữ liệu, những chỉ số liên quan đến kinh tế và đo lường tâm lý.

III. Kết luận

Để có thể hiểu sâu hơn về Machine Learning đây là 10 thuật toán bề mặt mà bạn cần tìm hiểu kĩ. Nắm được những thuật toán cơ bản, Machine Learning Engineer sẽ dễ dàng hơn trong việc phát triển phần mềm, kĩ năng và học thêm nhiều loại thuật toán với cấu trúc phức tạp hơn.

Thuật toán là gì cho ví dụ?

Về bản chất, các thuật toán là một loạt các chỉ dẫn được tuân theo từng bước để làm điều gì đó hữu ích hoặc giải quyết một vấn đề. Ví dụ, bạn có thể coi một công thức nấu ăn là một thuật toán để làm một chiếc bánh. Và chìa khóa là “thuật toán” để giải quyết “vấn đề” là chiếc hòm.

Thuật toán là gì ngắn gọn?

Trong toán học và khoa học máy tính, một thuật toán, còn gọi là giải thuật, là một tập hợp hữu hạn các hướng dẫn được xác định rõ ràng, có thể thực hiện được bằng máy tính, thường để giải quyết một lớp vấn đề hoặc để thực hiện một phép tính.

Lý thuyết thuật toán là gì?

Lý thuyết thông tin thuật toán là một lĩnh vực của lý thuyết thông tin và khoa học máy tính liên quan đến mối quan hệ giữa tính toán và thông tin. Theo Gregory Chaitin, đó là "kết quả của việc đưa lý thuyết thông tin của Shannon và lý thuyết tính toán của Turing vào một bình lắc cocktail và lắc mạnh."

Đâu là thuật toán?

Thuật toán là gì? Thuật toán hay còn gọi là giải thuật có khá nhiều định nghĩa khác nhau. Hiểu một cách đơn giản thuật toán là một tập hợp hữu hạn bao gồm các hướng dẫn được xác định rõ ràng, bạn có thể thực hiện được bằng máy tính, thường được dùng để giải quyết một lớp vấn đề hoặc để thực hiện một phép tính.