Không ai dám phủ nhận rằng sự phát triển của lĩnh vực máy học (Machine Learning) hay trí tuệ nhân tạo (AI) ngày nay càng trở nên thân thiết với con người. Một trong số đó là Big Data, một trong những xu hướng hot nhất của lĩnh vực này. Học máy hoạt động với hiệu suất vô cùng lớn để đưa ra được những dự đoán hoặc những gợi ý được tính dựa trên những dữ liệu lớn. Ví dụ phổ biến về thuật toán machine learning là những thuật toán của Netflix để đưa ra nhưng list phim mà bạn đã xem trước đây. Chính hệ thống trong gợi ý đó (Recommended System) đem lại lại ích cho người dùng trong việc đưa ra những lựa chọn của mình.
Ngoài ra sản phẩm AI còn có thể tạo ra bằng nhiều loại ngôn ngữ lập trình khác nhau với rất nhiều khả năng khác nhau như nhận dạng biển số xe một cách tự động, tự động sửa lỗi chính tả, hoặc tạo các con robot có khả năng tương tác với con người,… và còn nhiều hơn thế nữa. AI đã và đang là xu hướng phát triển mạnh mẽ.
Machine Learning được phân thành 3 loại chính: supervised learning (học có giám sát), unsupervised learning (học không có sự giám sát), reinforcement learing (học tăng cường).
Dưới đây là TOP 10 Thuật toán Machine Learning chủ yếu rơi vào hai loại đầu. Tuy nhiên chúng lại là những thuật toán mà các kỹ sư cần biết.
Cây quyết định (Decision Tree) là công cụ hỗ trợ đắc lực cho việc ra quyết định của các kỹ sư. Với mô hình dạng cây chỉ ra những quyết định và kết quả có thể xảy ra của những quyết định đó (bao gồm cả kết quả ngẫu nhiên, chi phí cho tài nguyên và lợi ích). Dưới đây là mô hình trực quan cho các bạn dễ hình dung:
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.
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.
Thuật toán Machine Learning trên được ứng dụng trong một số bài toán sau:
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.
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,…)
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.
Hồi quy được sử dụng trong các bài toán như sau:
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ể.
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).
Đâ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.
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 đó:
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.
Phép biến đổi này tạo ra những ưu điểm với dữ liệu như:
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.
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.
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ự.
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.
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ý.
Để 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.