Input và output của học không giám sát là gì?

Phân nhóm các thuật toán Machine Learning dựa trên hai phương thức. Một là dựa trên phương thức học [learning style], hai là dựa trên chức năng [function]

1. Dùng Phương Thức Học Để Phân Nhóm

Trong phương thức học, thuật toán Machine Learning được chia làm 4 nhóm: Supervise learning, Unsupervised, Semi – supervised lerning và Reinforcement learning.

- Học có giám sát  [Supervised Learning]

Supervises Learning là một thuật toán dự đoán đầu ra [outcome] của một dữ liệu mới [new input] dựa trên các cặp [input, outcome] đã biết từ trước. Cặp dữ liệu này còn hay được gọi là [data, label]. Nghĩa [dữ liệu, nhãn]. Supervised learning là nhóm thuật toán phổ biến nhất trong các thuật toán Machine Learning.

Supervised learning có nghĩa là khi chúng ta có một tập hợp biến đầu vào X = {x1,x2,…,xN} và một tập hợp nhãn tương ứng Y = {y1,y2,…,yN},  trong đó xi,yixi,yi là các vector. Các cặp dữ liệu biết trước [xi,yi]∈ X × Y được gọi là tập training data [dữ liệu huấn luyện]. Từ các tập traing data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử [xấp xỉ] tương ứng từ tập YY:

Yi ≈ f[xi], ∀I = 1,2,…,N

Mục đích là để xấp xỉ hàm số f thật tốt để khi có một dữ liệu X mới, chúng ta có thể tính được nhãn tương ứng từ đó y = f[x].

Ví dụ: Trong nhận dạng các chữ viết hoa. Chúng ta có ảnh của hàng nghìn ví dụ từ mỗi chữ số và được viết từ nhiều người khác nhau. Sau khi đưa bức ảnh này vào thuật toán và chỉ ra nó biết mỗi đến một hàm số mà đầu vào sẽ là một chữ số. Sau khi nhận được bức ảnh mới mà mô hình chưa từng nhìn thấy bao giờ. Từ đó, nó sẽ dự đoán bức ảnh trong đó chứa những chữ số như nào.

Ví dụ trên rất giống với cách học của con người khi nhỏ. Chúng ta đưa bảng chữ cái cho đứa trẻ bất kỳ và chỉ ra cho chúng thấy đâu là A, đâu là B. Qua nhiều lần được dạy thì trẻ con hoàn toàn có thể nhận biết đâu là chữ A, và chữ B thông qua những cuốn sách mà chúng chưa từng thấy.

Bên cạnh đó, còn có nhiều thuật toán dò tìm khuôn mặt trong các hình ảnh. Có thể thấy facebook đã sử dụng thuật toán này để chỉ ra các khuôn mặt của họ trong bức ảnh và yêu cầu người dùng tag tên bạn bè…

Xem thêm: Giới thiệu về Artificial Inteligent [AI]/ Machine Learning [ML]

- Phân Loại [Classification]

Bài toán được gọi là Classification nếu như các label của input data chia thành các số hữu hạn nhóm.

Tương tự như gmail xác định xem một email có phải là email spam hay không, các hãng tín dụng xác định xem khách hàng có khả năng thanh toán nợ hay là không….

- Hồi Quy [Regression]

Nếu như label không thể chia thành nhiều nhóm mà là các giá trị thực cụ thể.

Ví dụ: Căn nhà rộng x m2 có y phòng ngủ cách trung tâm thành phố z km thì sẽ có mức giá là bao nhiêu?

Cụ thể gần đây Microsoft có ứng dụng dự đoán giới tính và tuổi dựa trên khuôn mặt mỗi người. Phần dự đoán giới tính này có thể coi là thuật toán Regression.

- Học không giám sát [Unsupervised Learning]

Đối với thuật toán này, chúng ta không biết được outcome hay nhãn mà chỉ có duy nhất dữ liệu đầu vào. Các thuật toán Unsupervised Learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện các công việc đó. 

Ví dụ như khi phân loại nhóm hay giảm số chiều của dữ liệu sao cho thuận tiện khi lưu trữ và tính toán dữ liệu.

- Phân nhóm [Clustering]

Các bài toán được phân nhóm toàn bộ dữ liệu X thành nhiều nhóm nhỏ có sự liên quan giữa các dữ liệu trong nhóm.

Ví dụ: Phân nhóm khách hàng dựa trên các hành vi mua hàng của họ. Tương tự như việc chúng ta đưa cho đứa trẻ nhiều mảnh ghép với nhiều hình thù và màu sắc khác nhau. Ví dụ như các tam giác, vuông, tròn cùng màu xanh, đỏ…Mặc dù không cho trẻ biết mảnh ghép nào ứng với hình nào. Nhưng nhiều khả năng trẻ vẫn có thể tự phân loại được các mảnh ghép theo màu hay hình dạng nào.

- Association

Đây là dạng bài toán khi mà chúng ta muốn khám phá ra một quy luật dựa trên những dữ liệu cho trước.

Ví dụ: Các khách hàng nam khi mua quần áo thường có xu hướng mua thêm nhiều đồng hồ hay thắt lưng. Nhiều khán giả khi xem phim thường có xu hướng xem thêm nhiều bộ phim khác cùng thể loại khác nhau, điều này là thúc đẩy nhu cầu mua sắm…

-  Học bán giám sát [Semi – Supervised Learning]

Khi ta có một dữ liệu lớn X nhưng chỉ có một phần nhỏ được gán nhãn thì được gọi là Semi – Supervised Learning.

Ví dụ: Điển hình của nhóm này chỉ có một phần hình ảnh và văn bản được gán nhãn. Và hầu hết, các bức ảnh văn bản chưa được dán nhãn được thu thập từ internet.

- Học củng cố [Reinforcement Learning]

Reinforcement Learning là bài toán giúp hệ thống tự động xác định hành vi khách hàng dựa trên hoàn cảnh để đạt được những lợi ích cao nhất.

Thời điểm hiện tại, Reinforcement Learning chủ yếu được áp dụng vào các lý thuyết game. Các thuật toán này cần xác định nước các nước đi tiếp để đạt được điểm số cao nhất.

- Dựa trên chức năng để phân nhóm

Cách thứ hai để phân nhóm đó chính là dựa trên chức năng của thuật toán. Bạn đọc sẽ được tìm hiểu kỹ hơn ở những phần tiếp theo.

Dựa trên đặc điểm của bộ dữ liệu [data set] mà ta chia các thuật toán machine learning thành 2 loại chính:

  • Học giám sát – Supervised
  • Học không giám sát – Unsuppervised

Suppervised learning [học giám sát], đây là loại phổ biến nhất hiện nay. Đặc điểm chính của nó là trong data set, các dữ liệu của chúng ta đều chia thành các cặp Input và output, tức là một cặp [x,y], trong đó y = f[x], và quá trình xây dựng thuật toán của chúng ta chính là quá trình đi tìm hàm f sao cho chính xác nhất có thể. Để từ đó ta đem sử dụng với x mới được kết quả y gần sát nhất với thực tế.

VD1: Ví dụ bài toán phân loại ảnh con chó và con mèo. Input của chúng ta gồm: 500 bức ảnh đã biết sẵn là con có, và 500 bức ảnh đã biết chính xác là con mèo! => Input và output đều đã được xác định.

Sau khi xây dựng xong thuật toán, ta expect rằng ta đưa vào 1 ảnh con chó nó sẽ nhận ra con chó, và đưa vào 1 ảnh con mèo nó sẽ nhận ra đó là con mèo.

Cùng với Supervised Learning [Học có giám sát], Unsupervised Learning [Học không giám sát] là một trong những phương pháp được biết đến rộng rãi trong lĩnh vực Machine Learning [Học Máy hay Máy Học].Trong bài viết này, ta sẽ tìm hiểu những khái niệm căn bản và kiến thức chung về phương pháp này.  

Unsupervised Learning là một nhóm thuật toán hay phương pháp kỹ thuật cho phép máy tự học hỏi và tìm ra một mô hình hay cấu trúc nào đó ẩn trong một bộ dữ liệu không được gắn nhãn trước. Điều này đồng nghĩa với việc chúng ta chỉ có bộ dữ liệu đầu vào và hoàn toàn không biết outcome là gì.

Sự khác biệt của Unsupervised Machine Learning & Supervised Machine Learning

Nguồn: algorithmia.com

Hiểu một cách đơn giản nhất, hãy hình dung bạn đang làm toán, đề bài của bạn là 1+1 = ? Khi bạn học tiểu học kết quả chắc chắn là 2. Ở tình huống khác nó có thể là 11. Thỉnh thoảng, vì lý do nào đó, nó có thể = 0, là 10 hay là ½. Càng về sau, khi thoát khỏi trường lớp, bạn sẽ thấy không có đáp án chính xác, không có giáo viên hướng dẫn cũng không có điểm số tuyệt đối nào cho phép toán này. Bản thân phép toán là một loại kết quả. Đây chính là cách thức vận hành của phương pháp Unsupervised Learning trong Machine Learning. Phương pháp cho phép máy tự học mà không có giám sát, đáp án hay mẫu chuẩn. Trên thực tế, nó cũng không cần hay đánh giá cao mẫu hay đáp án nào vì khi này, giá trị đầu ra nằm ở chính thuật toán Unsupervised Learning. 

Mục tiêu của Học Không Giám Sát là mô hình hóa cấu trúc, nền tảng hoặc sự phân bổ trong bộ dữ liệu để hiểu hơn về nó. Các thuật toán Unsupervised Learning được tạo ra để khám phá, phân tích và thể hiện những cấu trúc có ích ẩn bên trong bộ dữ liệu được nạp vào.

Trong cuộc sống hàng ngày, UL được ứng dụng ở nhiều ngành nghề như marketing hay sales, trong các dịch vụ như dịch vụ tài chính, tổ chức chính phủ hoạt động về an ninh cộng đồng hay tiện ích xã hội, chăm sóc sức khỏe, các ngành công nghiệp như dầu khí và vận tải.

Trong công nghệ thông tin, cụ thể là lĩnh vực Machine Learning [Học Máy], UL thường được ứng dụng  để chia hay phân loại nhóm và kết hợp, trong đó:

  • Phân nhóm hay chia nhóm là khi máy phân tích, tìm hiểu và khám phá các nhóm vốn có bên trong bộ dữ liệu, từ đó giúp bạn phân nhóm các khách hàng của mình theo hành vi mua hàng hay phân loại các bài viết, hình ảnh có cùng nội dung chẳng hạn. 
  • Kết hợp: được vận dụng khi máy khám phá các quy tắc mô tả dữ liệu, ví dụ như người mua món hàng này sẽ có xu hướng mua một món hàng tương ứng nào đó có liên quan.

Ngoài Generative Model – Mô hình sinh mẫu hay Data Compression – Nén dữ liệu, ứng dụng phổ biến nhất của UL mà ta thấy chính là ở thuật toán Clustering – Phân cụm

Đây là thuật toán được sử dụng khi doanh nghiệp muốn tập trung tìm hiểu khách hàng cùng hành vi của họ, như: họ là ai, họ có xu hướng sử dụng loại phương tiện nào?

Trong tập người dùng của mình chẳng hạn, bạn sẽ luôn có các nhóm người dùng khác nhau và được chia theo những tiêu chuẩn khác nhau từ đơn giản như giới tính hay độ tuổi cho tới phức tạp hơn như địa vị hay mức thu nhập.  Thuật toán Clustering sẽ phân tích và tìm các đặc trưng của dữ liệu rồi đưa vào thành các cụm khác nhau theo từng đặc trưng tìm được, sau đó, phân chia các cụm đầu vào [input] mới vào từng cụm đã có sẵn theo từng loại đặc trưng của đầu vào. 

Thuật toán này có 3 loại điển hình:

  • K-Means Clustering: Phân nhóm dữ liệu vào một số K cụm với quy luật nhất định.
  • Hierarchical Clustering: Phân loại theo thứ bậc.
  • Probabilistic Clustering: Phân loại theo xác suất

Học Unsupervised Learning như thế nào?

Khi đã động tới các thuật toán nói chung và Unsupervised Learning nói riêng, đồng nghĩa với việc bạn đã biết cơ bản về tin học ứng dụng cũng như lĩnh vực Machine Learning. Lúc này, việc bạn có thể tự đọc sách tham khảo, mày mò học thêm được hay không tùy thuộc vào những gì bạn đã biết. 

Tuy nhiên, con đường chính xác nhất cho bạn lúc này vẫn là đăng ký một lớp học [insert link đăng ký]. Bạn học trực tuyến hay học trực tiếp là tùy thuộc vào thời gian và các điều kiện cá nhân của bạn. Hiện nay trên thị trường có rất nhiều cơ sở đào tạo với nhiều giáo viên hướng dẫn giỏi và tâm huyết với nghề. 

Để học Unsupervised Learning bạn cần học căn  bản về Machine Learning và Deep Learning cũng như nắm rõ các kiến thức căn bản về AI – trí tuệ nhân tạo.  Nếu chưa hoàn toàn hiểu rõ những vấn đề này, lời khuyên cho bạn là khoan hãy chú ý tới UL. Bạn có thể tham khảo một số khóa học cơ bạn tại đây: [insert link khóa học]

Một số nguồn tham khảo thêm cho bạn trong trường hợp bạn đang quan tâm lĩnh vực này:

Và đồng thời bạn có thể đăng ký học một khoá học Machine Learning cơ bảnNordic CoderTrung tâm đào tạo lập trình hàng đầu Việt Nam. Để từ đó làm bàn đạp phát triển trong sự nghiệp Machine Learning của bạn, đồng thời tạo ra các mạng lưới liên hệ trong công việc.

Video liên quan

Chủ Đề