Machine Learning (ML) là một nhánh của Trí tuệ Nhân tạo (AI), tập trung vào việc phát triển các thuật toán và mô hình mà máy tính có thể sử dụng để thực hiện các nhiệm vụ mà không cần được lập trình cụ thể cho từng nhiệm vụ đó. Nói cách khác, ML cho phép máy tính “học” từ dữ liệu và cải thiện hiệu suất của chúng qua thời gian với ít sự can thiệp của con người. Điểm khác biệt chính giữa ML và AI nói chung là ML tập trung vào việc máy tính học cách thực hiện nhiệm vụ dựa trên dữ liệu, trong khi AI bao gồm một phạm vi rộng lớn hơn các hệ thống được thiết kế để mô phỏng trí thông minh con người, bao gồm cả học và các khả năng như nhận thức, hiểu biết và tự quyết định.
Lịch sử phát triển của Machine Learning bắt đầu từ những năm 1950, với các nghiên cứu đầu tiên về mạng nơ-ron và thuật toán Perceptron. Tuy nhiên, phải đến cuối những năm 1990 và đầu 2000s, với sự tiến bộ trong lưu trữ và xử lý dữ liệu, cùng với sự phát triển của các thuật toán mới, ML mới thực sự bùng nổ. Ngày nay, ML là một phần không thể thiếu trong nhiều sản phẩm công nghệ, từ tìm kiếm trực tuyến và hệ thống gợi ý đến xe tự lái và trợ lý ảo.
Machine Learning trở nên quan trọng bởi khả năng phân tích và học hỏi từ dữ liệu ở quy mô lớn, giúp giải quyết các vấn đề phức tạp mà trước đây là không thể. Với ML, các doanh nghiệp có thể tận dụng dữ liệu của họ để tối ưu hóa quy trình, cải thiện dịch vụ khách hàng, phát triển sản phẩm mới và thậm chí dự đoán xu hướng tương lai. Trong y học, ML giúp phát triển các phương pháp chẩn đoán và điều trị mới. Trong nghiên cứu khoa học, nó mở ra những cơ hội mới cho việc phân tích dữ liệu phức tạp. Vì vậy, Machine Learning không chỉ định hình lại cách chúng ta sử dụng công nghệ mà còn cách chúng ta hiểu và tương tác với thế giới xung quanh.
Machine learning là gì?
Machine learning là một khái niệm quan trọng trong lĩnh vực Trí Tuệ Nhân Tạo (AI). Đây là cách mà hệ thống máy tính có khả năng tự động học hỏi và đưa ra các quyết định mà không cần sự can thiệp từ con người hoặc các quy tắc lập trình cứng.
Cách hoạt động của machine learning bắt đầu từ việc thu thập và xử lý dữ liệu. Máy tính sẽ học từ dữ liệu này và nhận biết các mẫu và thông tin quan trọng. Sau đó, thông qua việc so sánh các mẫu và thực hiện phân tích chi tiết, máy tính có thể đưa ra các quyết định hoặc dự đoán về tương lai.
Trong machine learning, quá trình học được thực hiện thông qua việc áp dụng các thuật toán và mô hình. Máy tính xây dựng các mô hình này dựa trên dữ liệu và chúng có thể được sử dụng để giải quyết nhiều loại vấn đề, bao gồm phân loại (classification), dự đoán (prediction), và hồi quy (regression).
Tóm lại, machine learning cho phép máy tính học hỏi và tự động cải thiện khả năng của nó từ dữ liệu, từ đó giúp máy tính thực hiện các nhiệm vụ thông minh và đưa ra các quyết định quan trọng. Đây là một phần quan trọng của lĩnh vực AI và có rất nhiều ứng dụng thú vị trong thế giới thực.
Xem thêm cách học machine learning
Các loại Learning trong Machine Learning
Trong Machine Learning, có bốn loại học chính, mỗi loại có phương pháp và ứng dụng riêng biệt:
Học Có Giám Sát (Supervised Learning)
Học có giám sát là loại học mà mô hình được huấn luyện trên một tập dữ liệu đã được gán nhãn, nghĩa là mỗi mẫu dữ liệu đầu vào đã được liên kết với một đầu ra cụ thể. Mục tiêu là dạy mô hình dự đoán đầu ra chính xác cho dữ liệu mới dựa trên các quan hệ đã học. Ví dụ: Một mô hình học có giám sát có thể được sử dụng trong việc nhận diện email spam, nơi mỗi email được gán nhãn là “spam” hoặc “không spam”.
Trong chế độ học có giám sát (Supervised Learning), mô hình Machine Learning được huấn luyện sử dụng một tập dữ liệu đã được gán nhãn, nơi mỗi mẫu dữ liệu đầu vào đã được liên kết với một nhãn hoặc đầu ra cụ thể. Mục tiêu là mô hình hóa mối quan hệ giữa dữ liệu đầu vào và đầu ra sao cho khi được cung cấp dữ liệu mới, mô hình có thể dự đoán nhãn hoặc giá trị đầu ra một cách chính xác. Dưới đây là một số thuật toán phổ biến thuộc chế độ học có giám sát:
- Hồi Quy Tuyến Tính (Linear Regression): Một trong những thuật toán cơ bản nhất, sử dụng để dự đoán giá trị liên tục dựa trên mối quan hệ tuyến tính giữa các biến độc lập và phụ thuộc.
- Phân Loại Logistic (Logistic Regression): Dùng để dự đoán xác suất một biến cố có xảy ra hoặc không, thường được sử dụng trong các bài toán phân loại nhị phân.
- Máy Vector Hỗ Trợ (Support Vector Machine – SVM): Một thuật toán mạnh mẽ cho cả bài toán phân loại và hồi quy, tìm ra mặt phẳng quyết định tối ưu phân tách dữ liệu thành các lớp khác nhau.
- Cây Quyết Định (Decision Trees): Sử dụng một cấu trúc cây nơi mỗi nút đại diện cho một thuộc tính, mỗi cành đại diện cho một quyết định và mỗi lá đại diện cho một kết quả, hữu ích trong việc phân loại và hồi quy.
- Rừng Ngẫu Nhiên (Random Forests): Một phương pháp kết hợp nhiều cây quyết định để cải thiện độ chính xác và kiểm soát sự quá mức trong bài toán phân loại và hồi quy.
- Gradient Boosting: Một kỹ thuật tạo ra một mô hình dự đoán mạnh mẽ bằng cách kết hợp nhiều mô hình dự đoán yếu, thường được áp dụng cho cả bài toán phân loại và hồi quy.
Các thuật toán học có giám sát đều chia sẻ một mục tiêu chung là tối ưu hóa hiệu suất của mô hình trong việc dự đoán hoặc phân loại dữ liệu mới dựa trên tập dữ liệu đã được học trước đó. Sự lựa chọn thuật toán phù hợp phụ thuộc vào bản chất của dữ liệu và yêu cầu cụ thể của bài toán.
Học Không Giám Sát (Unsupervised Learning)
Trong học không giám sát, mô hình được huấn luyện trên dữ liệu không được gán nhãn. Mục tiêu ở đây không phải là dự đoán đầu ra cụ thể, mà là phát hiện các mẫu, cấu trúc, hoặc thông tin hữu ích từ dữ liệu. Ví dụ: Phân cụm khách hàng dựa trên sở thích và hành vi mua hàng là một ứng dụng của học không giám sát, nơi mô hình cố gắng nhóm các khách hàng có đặc điểm tương tự.
Học Tăng Cường (Reinforcement Learning)
Học tăng cường là loại học mà một “tác tử” tìm cách hành xử trong một môi trường để tối đa hóa một số “phần thưởng” cụ thể. Quá trình học dựa trên việc thử và sai, nơi tác tử điều chỉnh hành vi dựa trên phản hồi từ môi trường. Ví dụ: Một hệ thống chơi game tự động có thể sử dụng học tăng cường để học cách đạt điểm số cao nhất.
Học Bán Giám Sát (Semi-supervised Learning) và Học Chuyển Giao (Transfer Learning)
Học bán giám sát xảy ra khi mô hình được huấn luyện sử dụng cả dữ liệu được gán nhãn và không được gán nhãn. Phương pháp này hữu ích khi có một lượng lớn dữ liệu không được gán nhãn và một lượng nhỏ dữ liệu được gán nhãn. Ví dụ: Phát hiện sản phẩm mới trong ảnh từ một tập dữ liệu lớn chứa ít ảnh đã được gán nhãn.
Học chuyển giao là kỹ thuật tái sử dụng một mô hình được huấn luyện cho một nhiệm vụ như là điểm khởi đầu cho một mô hình trên một nhiệm vụ khác. Ví dụ: Sử dụng một mô hình được huấn luyện để nhận diện đối tượng trong ảnh để bắt đầu xây dựng một mô hình nhận diện cảnh quan đặc trưng.
Mỗi loại học này mở ra những cơ hội và thách thức riêng biệt, đồng thời cung cấp một bộ công cụ đa dạng cho các nhà khoa học dữ liệu và nhà phát triển để xây dựng các giải pháp Machine Learning hiệu quả.
Xây dựng một mô hình Machine Learning
Xây dựng một mô hình Machine Learning là một quy trình phức tạp và đa bước, bao gồm từ việc thu thập dữ liệu cho đến triển khai mô hình vào sản phẩm cuối cùng. Dưới đây là một cái nhìn tổng quan về các bước cơ bản trong quy trình này:
Thu Thập và Tiền Xử Lý Dữ liệu
Bước đầu tiên và quan trọng nhất là thu thập dữ liệu từ nhiều nguồn khác nhau như cơ sở dữ liệu, tệp log, hoặc dữ liệu mở. Sau khi thu thập, dữ liệu cần được tiền xử lý để loại bỏ các lỗi, dữ liệu thiếu, hoặc dữ liệu nhiễu. Các phương pháp như chuẩn hóa, mã hóa dữ liệu phân loại, và xử lý dữ liệu thiếu thường được áp dụng để làm sạch và chuẩn bị dữ liệu cho việc huấn luyện mô hình.
Chọn Lựa Mô Hình và Thuật Toán
Tùy thuộc vào loại vấn đề cần giải quyết (phân loại, hồi quy, phân cụm, v.v.), cần chọn lựa mô hình và thuật toán Machine Learning phù hợp. Lựa chọn có thể bao gồm mô hình hồi quy tuyến tính cho bài toán dự đoán, mô hình cây quyết định cho phân loại, hoặc mạng nơ-ron sâu cho xử lý hình ảnh.
Huấn Luyện Mô Hình
Sau khi chọn được mô hình, bước tiếp theo là huấn luyện mô hình trên tập dữ liệu đã được chuẩn bị. Quá trình này bao gồm việc cung cấp dữ liệu cho mô hình và cho phép nó “học” các mối quan hệ giữa đầu vào và đầu ra. Đối với học có giám sát, mô hình sẽ được huấn luyện để tối thiểu hóa sự khác biệt giữa kết quả dự đoán và thực tế.
Đánh Giá Mô Hình và Tinh Chỉnh
Sau khi mô hình đã được huấn luyện, bước tiếp theo là đánh giá hiệu suất của nó trên một tập dữ liệu kiểm thử không được sử dụng trong quá trình huấn luyện. Điều này giúp xác định độ chính xác của mô hình và phát hiện ra bất kỳ vấn đề nào như overfitting. Từ đây, mô hình có thể được tinh chỉnh thêm bằng cách điều chỉnh các tham số hoặc sử dụng các kỹ thuật khác như kỹ thuật bagging và boosting.
Triển Khai Mô Hình
Mô hình cuối cùng sau khi đã được tinh chỉnh và đánh giá kỹ lưỡng sẽ được triển khai vào môi trường sản xuất để thực hiện dự đoán thực tế. Việc triển khai có thể bao gồm việc tích hợp mô hình vào ứng dụng web, hệ thống quyết định tự động, hoặc bất kỳ sản phẩm công nghệ nào khác.
Quy trình xây dựng mô hình Machine Learning là một quá trình lặp đi lặp lại.
Phân loại thuật toán trong Machine learning
Có hai cách để chúng ta phân loại các thuật toán trong máy học một là chúng ta dựa vào phương thức học và hai là chúng ta dựa vào chức năng của thuật toán.
Khi ta dựa vào phương thức học thì thuật toán học máy của chúng ta được chia lại thành bốn loại như:
- Học tăng cường (reinforcement learning)
- Học có giám sát (supervised learning)
- Học không giám sát (unsupervised learning)
- Học bán giám sát (semi-supervised learning).
Học tăng cường (reinforcement learning)
Học tăng cường (reinforcement learning) là học củng cố hay tăng cường, là lĩnh vực liên quan đến dạy cho máy (agent) thực hiện tốt một nhiệm vụ (task) bằng cách tương tác với môi trường (environment) thông qua hành động (action) và nhận được kết quả (reward).
Cách học như thế này tương tự như con người học từ môi trường xung quanh bằng cách thử sai, ví dụ khi mùa đông đến con người thường tiếp cận bếp lửa để sưởi ấm lúc đó ta cảm nhận được khi càng tiến lại gần thì càng ấm ngược lại càng xa thì sẽ ít ấm hơn, và khi chúng ta tiếp cận đến lúc chạm vào bếp lửa thì chúng ta sẽ bị bỏng. Trong ví dụ trên, reward là kết quả của việc ta thực hiện hành động (action) tiếp cận càng gần bếp lửa.
Trường hợp sử dụng học tăng cường
Hệ thống Trả lời Truy vấn Chủ động (AQA) của Google làm cho sử dụng học tập củng cố. Nó định dạng lại các câu hỏi mà người dùng yêu cầu.
Ví dụ: nếu bạn hỏi bot AQA câu hỏi – “Ngày sinh của Nikola Tesla là gì” thì bot sẽ định dạng lại thành các câu hỏi khác nhau như “Năm sinh của Nikola Tesla là gì”, “Tesla ra đời khi nào?” và “Sinh nhật của Tesla là khi nào”.
Quá trình định dạng lại này sử dụng mô hình trình tự theo trình tự truyền thống, nhưng Google đã tích hợp tính năng Học tập tăng cường vào hệ thống của mình để tương tác tốt hơn với hệ thống môi trường dựa trên truy vấn.
Xem thêm 11 phần mềm machine learning hàng đầu
Học có giám sát (supervised learning)
Trong chế độ học có giám sát (Supervised Learning), mô hình Machine Learning được huấn luyện sử dụng một tập dữ liệu đã được gán nhãn, nơi mỗi mẫu dữ liệu đầu vào đã được liên kết với một nhãn hoặc đầu ra cụ thể. Mục tiêu là mô hình hóa mối quan hệ giữa dữ liệu đầu vào và đầu ra sao cho khi được cung cấp dữ liệu mới, mô hình có thể dự đoán nhãn hoặc giá trị đầu ra một cách chính xác. Dưới đây là một số thuật toán phổ biến thuộc chế độ học có giám sát:
- Hồi Quy Tuyến Tính (Linear Regression): Một trong những thuật toán cơ bản nhất, sử dụng để dự đoán giá trị liên tục dựa trên mối quan hệ tuyến tính giữa các biến độc lập và phụ thuộc.
- Phân Loại Logistic (Logistic Regression): Dùng để dự đoán xác suất một biến cố có xảy ra hoặc không, thường được sử dụng trong các bài toán phân loại nhị phân.
- Máy Vector Hỗ Trợ (Support Vector Machine – SVM): Một thuật toán mạnh mẽ cho cả bài toán phân loại và hồi quy, tìm ra mặt phẳng quyết định tối ưu phân tách dữ liệu thành các lớp khác nhau.
- Cây Quyết Định (Decision Trees): Sử dụng một cấu trúc cây nơi mỗi nút đại diện cho một thuộc tính, mỗi cành đại diện cho một quyết định và mỗi lá đại diện cho một kết quả, hữu ích trong việc phân loại và hồi quy.
- Rừng Ngẫu Nhiên (Random Forests): Một phương pháp kết hợp nhiều cây quyết định để cải thiện độ chính xác và kiểm soát sự quá mức trong bài toán phân loại và hồi quy.
- Gradient Boosting: Một kỹ thuật tạo ra một mô hình dự đoán mạnh mẽ bằng cách kết hợp nhiều mô hình dự đoán yếu, thường được áp dụng cho cả bài toán phân loại và hồi quy.
Các thuật toán học có giám sát đều chia sẻ một mục tiêu chung là tối ưu hóa hiệu suất của mô hình trong việc dự đoán hoặc phân loại dữ liệu mới dựa trên tập dữ liệu đã được học trước đó. Sự lựa chọn thuật toán phù hợp phụ thuộc vào bản chất của dữ liệu và yêu cầu cụ thể của bài toán.
Học không giám sát (unsupervised learning)
Học không giám sát (unsupervised learning) đây là bài toán mà chúng ta có dữ liệu đầu vào input data mà không biết kết quả đầu ra outcome. Chúng ta chỉ có thể dựa vào những đặc tính của cấu trúc dữ liệu đầu vào mà chúng ta sẽ có thể phân nhóm (clustering) hoặc giảm số chiều (dimension reduction) để dễ tính toán.
Bài toán học không giám sát được chia thành hai loại: Bài toán phân nhóm (clustering), bài toán kết hợp (association). Bài toán phân nhóm (clustering) là bài toán mà ta dựa vào sự liên quan về những đặc tính của dữ liệu đầu vào input data để ta có thể phân chúng thành những mối nhóm khác nhau
Ví dụ: phân nhóm khách hàng dựa trên hành vi mua hàng, giống như ta cho những đứa trẻ những mảnh giấy có màu sắc khác nhau và rồi tập hợp chúng lại theo từng màu sắc. Bài toán kết hợp (association) là bài toán khi chúng ta muốn tìm ra một quy luật chung cho những dữ liệu cho trước ví dụ những người mua mì gói thường sẽ mua thêm xúc xích, hay khi mua giày sẽ mua thêm vớ.
Trong trường hợp thuật toán học tập không được giám sát, dữ liệu không được gắn nhãn rõ ràng thành các lớp khác nhau, tức là không có nhãn. Mô hình có thể học hỏi từ dữ liệu bằng cách tìm ra các mẫu ẩn.
Các thuật toán Học không giám sát xác định dữ liệu dựa trên mật độ, cấu trúc, các phân đoạn tương tự và các đặc điểm tương tự khác của chúng. Các thuật toán học không giám sát dựa trên Học Hebbian.
Trong chế độ Học Không Giám Sát (Unsupervised Learning), các mô hình Machine Learning được huấn luyện trên dữ liệu không được gán nhãn, nghĩa là mô hình phải tự tìm ra cấu trúc và mối quan hệ trong dữ liệu mà không có sự hướng dẫn cụ thể nào về cách phân loại hoặc dự đoán. Mục tiêu của học không giám sát là khám phá ra các mẫu, nhóm, hoặc điểm dữ liệu bất thường từ dữ liệu đầu vào. Dưới đây là một số thuật toán phổ biến trong chế độ học không giám sát:
- K-means Clustering: Một trong những thuật toán phân cụm phổ biến nhất, K-means nhằm mục đích phân chia dữ liệu thành các nhóm (hoặc “cụm”) dựa trên tính chất tương tự của chúng. Mỗi cụm được đại diện bởi trung tâm của nó, và mỗi điểm dữ liệu được gán vào cụm gần nó nhất.
- Phân Cụm Phân Cấp (Hierarchical Clustering): Phương pháp này tạo ra một cây phân cụm, hoặc dendrogram, của dữ liệu, cho phép phân tích dữ liệu ở nhiều mức độ độ chi tiết khác nhau. Nó thường được sử dụng trong phân tích dữ liệu sinh học và phân tích dữ liệu văn bản.
- DBSCAN (Density-Based Spatial Clustering of Applications with Noise): Thuật toán này phân cụm dữ liệu dựa trên mật độ, cho phép nó xác định cụm trong dữ liệu có hình dạng không đều và loại bỏ nhiễu. DBSCAN đặc biệt hữu ích khi có dữ liệu nhiễu và các cụm không đồng nhất về kích thước và hình dạng.
- Phân tích Nhân tố (Principal Component Analysis – PCA): PCA là một kỹ thuật giảm chiều dữ liệu được sử dụng rộng rãi, nhằm mục đích giảm số lượng biến dữ liệu bằng cách chọn ra các thành phần chính có khả năng thể hiện thông tin nhiều nhất.
- Autoencoders: Là một mô hình mạng nơ-ron được sử dụng trong học không giám sát, autoencoders học cách nén (encode) dữ liệu vào một dạng biểu diễn ngắn gọn, sau đó tái tạo (decode) dữ liệu từ dạng biểu diễn đó. Mục tiêu là học các đặc trưng sâu và hiệu quả của dữ liệu.
- T-SNE (t-distributed Stochastic Neighbor Embedding): Là một kỹ thuật giảm chiều dữ liệu phức tạp dùng để trực quan hóa dữ liệu nhiều chiều bằng cách chuyển đổi chúng thành không gian hai hoặc ba chiều.
Các thuật toán học không giám sát có khả năng tự động phát hiện cấu trúc và mẫu trong dữ liệu, mở ra khả năng áp dụng trong nhiều tình huống thực tế như phân tích khách hàng, phát hiện gian lận, và phân tích cảm xúc từ văn bản.
Học bán giám sát (semi-supervised learning)
Học bán giám sát (semi-supervised learning) là bài toán mà ta có tập dữ liệu X mà chúng ta chỉ xác định được một số label thôi không xác định được toàn bộ label của tập dữ liệu X. Ví dụ điển hình của nhóm này là chỉ có một phần ảnh của con người và động vật được gán nhãn những ảnh còn lại thì không biết được nhãn, chúng ta có thể sử dụng unsupervised learning để khám phá ra các cấu trúc của dữ liệu đầu vào.
Phân loại bài toán dựa trên chức năng của các thuật toán, các thuật toán hồi quy (linear regression, logistic regression, stepwise regression), thuật toán phân loại (support vector machine, kernel svm), thuật toán phân cụm (k-mean clustering, k-Medians), artificial neural network algorithms (perceptron, softmax regression).
Thách Thức và Hướng Phát Triển
Trong khi Machine Learning (ML) mang lại những tiến bộ vượt bậc và cải tiến không ngừng cho nhiều lĩnh vực, các nhà nghiên cứu và nhà phát triển cũng đối mặt với nhiều thách thức và vấn đề cần giải quyết. Dưới đây là một số thách thức chính và hướng phát triển tiềm năng trong lĩnh vực ML:
Thách Thức
- Dữ liệu Mất Cân Bằng, Quá Mức và Thiếu Mức: Một trong những thách thức lớn là xử lý dữ liệu mất cân bằng, nơi một số lớp được đại diện nhiều hơn so với các lớp khác. Điều này có thể dẫn đến mô hình thiên vị và kém hiệu quả. Tương tự, vấn đề với dữ liệu quá mức và thiếu mức cũng ảnh hưởng đến chất lượng và độ chính xác của mô hình.
- Vấn đề về Quyền Riêng Tư và An Ninh Dữ liệu: Khi ML ngày càng dựa vào lượng lớn dữ liệu, việc bảo vệ dữ liệu và đảm bảo quyền riêng tư người dùng trở nên quan trọng. Các vấn đề liên quan đến an ninh dữ liệu và lạm dụng dữ liệu cá nhân cần được giải quyết cẩn thận.
- Minh Bạch và Giải Thích Khả Năng của Mô Hình: Một số mô hình ML, đặc biệt là mạng nơ-ron sâu, thường được coi là “hộp đen” do thiếu minh bạch và khó giải thích. Điều này làm cho việc đánh giá và tin tưởng vào quyết định của mô hình trở nên khó khăn.
Hướng Phát Triển
- Cải Tiến Thuật Toán để Xử lý Dữ liệu Mất Cân Bằng: Phát triển các thuật toán và kỹ thuật mới để cải thiện việc xử lý dữ liệu mất cân bằng, quá mức và thiếu mức, giúp mô hình có hiệu suất tốt hơn trên tất cả các lớp dữ liệu.
- Tăng Cường Quyền Riêng Tư và An Ninh Dữ liệu: Áp dụng các công nghệ mới như học máy liên kết (Federated Learning) và mã hóa bảo mật (Secure Encryption) để tăng cường bảo vệ dữ liệu và quyền riêng tư cho người dùng.
- Nâng Cao Minh Bạch và Khả Năng Giải Thích: Phát triển các công cụ và kỹ thuật để tăng cường minh bạch và giải thích khả năng của mô hình ML, giúp người dùng và nhà quản lý dễ dàng hiểu và tin tưởng vào quyết định của mô hình.
- Khám Phá Xu Hướng và Cơ Hội Mới: Tiếp tục khám phá các xu hướng mới như học máy tự giải thích (Explainable AI), học máy tăng cường (Augmented Machine Learning), và hợp tác giữa con người và máy tính (Human-in-the-loop computing) để mở rộng ảnh hưởng và khả năng ứng dụng của ML.